From 7e17547824bb20d574999afe62064f9ea7c59cca Mon Sep 17 00:00:00 2001 From: leaferjs Date: Thu, 9 Jan 2025 17:30:06 +0800 Subject: [PATCH] =?UTF-8?q?feat(animate):=20=E5=BD=93=E5=89=8D=E5=90=8E?= =?UTF-8?q?=E4=B8=A4=E4=B8=AA=E5=8A=A8=E7=94=BB=E4=B8=8D=E5=86=B2=E7=AA=81?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=8F=AF=E4=BB=A5=E5=90=8C=E6=97=B6=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/display/src/UI.ts | 2 +- packages/interface/src/IAnimation.ts | 8 +++++++- packages/interface/src/IUI.ts | 2 +- packages/interface/src/index.ts | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/display/src/UI.ts b/packages/display/src/UI.ts index b615577..b070af4 100644 --- a/packages/display/src/UI.ts +++ b/packages/display/src/UI.ts @@ -471,7 +471,7 @@ export class UI extends Leaf implements IUI { // tip: rewrited Box return Plugin.need('animate') } - public killAnimate(_type?: IAnimateType, _killStyle?: IUIInputData): void { } + public killAnimate(_type?: IAnimateType, _nextStyle?: IUIInputData): void { } // create diff --git a/packages/interface/src/IAnimation.ts b/packages/interface/src/IAnimation.ts index afd638e..6e86a30 100644 --- a/packages/interface/src/IAnimation.ts +++ b/packages/interface/src/IAnimation.ts @@ -141,7 +141,6 @@ export interface IAnimateEventFunction { export interface IAnimate extends IAnimateOptions, IEventer { target: IUI | IObject - list?: IAnimate[] // AnimateList 专用 keyframes: IKeyframe[] config?: IAnimateOptions @@ -172,5 +171,12 @@ export interface IAnimate extends IAnimateOptions, IEventer { seek(time: number | IPercentData): void kill(complete?: boolean, killStyle?: IUIInputData): void + + destroy(complete?: boolean): void +} + +export interface IAnimateList extends IAnimate { + list: IAnimate[] + updateList(animation?: IAnimation[] | IAnimate[], isTemp?: boolean): void } \ No newline at end of file diff --git a/packages/interface/src/IUI.ts b/packages/interface/src/IUI.ts index d3b3ba9..29b4f96 100644 --- a/packages/interface/src/IUI.ts +++ b/packages/interface/src/IUI.ts @@ -410,7 +410,7 @@ export interface IUI extends IUIAttrData, IFillAttrData, IStrokeAttrData, ICorne __drawContent?(canvas: ILeaferCanvas, options: IRenderOptions): void animate(keyframe?: IUIInputData | IKeyframe[] | IAnimation | IAnimation[], options?: ITransition, type?: IAnimateType, isTemp?: boolean): IAnimate - killAnimate(type?: IAnimateType, killStyle?: IUIInputData): void + killAnimate(type?: IAnimateType, nextStyle?: IUIInputData): void export(filename: string, options?: IExportOptions | number | boolean): Promise clone(data?: IUIInputData): IUI diff --git a/packages/interface/src/index.ts b/packages/interface/src/index.ts index eae9c5f..f20b0b3 100644 --- a/packages/interface/src/index.ts +++ b/packages/interface/src/index.ts @@ -33,7 +33,7 @@ export { ICornerRadiusString, IStrokeWidthString, IPaintString, IShadowString, I export { ILeafFill, ILeafPaint, ILeafPaintPatternData, ILeafPaintColor, ILeafStrokePaint, ILeafShadowEffect } from './type/IComputedType' export { IStrokeAttrData, IStrokeInputData, IStrokeComputedData, ITextStyleAttrData, ITextStyleInputData, ITextStyleComputedData, IEffectAttrData, IEffectInputData, IEffectComputedData } from './ICommonAttr' -export { IAnimation, ITransition, IAnimate, IAnimateType, IKeyframe, IKeyframeId, IAnimateEasing, ICubicBezierEasing, IStepsEasing, IAnimateEasingFunction, IAnimateEasingName, IAnimateEnding, IAnimateEvents, IAnimateEventFunction, ICustomEasingFunction, IAnimateKeyframe, IComputedKeyframe, IStyleAnimation, IKeyframesAnimation, IAnimateOptions } from './IAnimation' +export { IAnimation, ITransition, IAnimate, IAnimateList, IAnimateType, IKeyframe, IKeyframeId, IAnimateEasing, ICubicBezierEasing, IStepsEasing, IAnimateEasingFunction, IAnimateEasingName, IAnimateEnding, IAnimateEvents, IAnimateEventFunction, ICustomEasingFunction, IAnimateKeyframe, IComputedKeyframe, IStyleAnimation, IKeyframesAnimation, IAnimateOptions } from './IAnimation' export { IUIRenderModule, IRectRenderModule, IImageRenderModule, ITextRenderModule, IGroupRenderModule, IFrameRenderModule } from './module/IUIRender' export { IUIBoundsModule } from './module/IUIBounds'