96 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
| import Clip from './Clip';
 | |
| import { ArrayLike, Dictionary } from '../core/types';
 | |
| import { AnimationEasing } from './easing';
 | |
| import Animation from './Animation';
 | |
| declare type NumberArray = ArrayLike<number>;
 | |
| declare type InterpolatableType = string | number | NumberArray | NumberArray[];
 | |
| export declare function cloneValue(value: InterpolatableType): number | any[];
 | |
| declare type ValueType = 0 | 1 | 2 | 3 | 4 | 5 | 6;
 | |
| declare type Keyframe = {
 | |
|     time: number;
 | |
|     value: unknown;
 | |
|     percent: number;
 | |
|     rawValue: unknown;
 | |
|     easing?: AnimationEasing;
 | |
|     easingFunc?: (percent: number) => number;
 | |
|     additiveValue?: unknown;
 | |
| };
 | |
| declare class Track {
 | |
|     keyframes: Keyframe[];
 | |
|     propName: string;
 | |
|     valType: ValueType;
 | |
|     discrete: boolean;
 | |
|     _invalid: boolean;
 | |
|     private _finished;
 | |
|     private _needsSort;
 | |
|     private _additiveTrack;
 | |
|     private _additiveValue;
 | |
|     private _lastFr;
 | |
|     private _lastFrP;
 | |
|     constructor(propName: string);
 | |
|     isFinished(): boolean;
 | |
|     setFinished(): void;
 | |
|     needsAnimate(): boolean;
 | |
|     getAdditiveTrack(): Track;
 | |
|     addKeyframe(time: number, rawValue: unknown, easing?: AnimationEasing): Keyframe;
 | |
|     prepare(maxTime: number, additiveTrack?: Track): void;
 | |
|     step(target: any, percent: number): void;
 | |
|     private _addToTarget;
 | |
| }
 | |
| declare type DoneCallback = () => void;
 | |
| declare type AbortCallback = () => void;
 | |
| export declare type OnframeCallback<T> = (target: T, percent: number) => void;
 | |
| export declare type AnimationPropGetter<T> = (target: T, key: string) => InterpolatableType;
 | |
| export declare type AnimationPropSetter<T> = (target: T, key: string, value: InterpolatableType) => void;
 | |
| export default class Animator<T> {
 | |
|     animation?: Animation;
 | |
|     targetName?: string;
 | |
|     scope?: string;
 | |
|     __fromStateTransition?: string;
 | |
|     private _tracks;
 | |
|     private _trackKeys;
 | |
|     private _target;
 | |
|     private _loop;
 | |
|     private _delay;
 | |
|     private _maxTime;
 | |
|     private _force;
 | |
|     private _paused;
 | |
|     private _started;
 | |
|     private _allowDiscrete;
 | |
|     private _additiveAnimators;
 | |
|     private _doneCbs;
 | |
|     private _onframeCbs;
 | |
|     private _abortedCbs;
 | |
|     private _clip;
 | |
|     constructor(target: T, loop: boolean, allowDiscreteAnimation?: boolean, additiveTo?: Animator<any>[]);
 | |
|     getMaxTime(): number;
 | |
|     getDelay(): number;
 | |
|     getLoop(): boolean;
 | |
|     getTarget(): T;
 | |
|     changeTarget(target: T): void;
 | |
|     when(time: number, props: Dictionary<any>, easing?: AnimationEasing): this;
 | |
|     whenWithKeys(time: number, props: Dictionary<any>, propNames: string[], easing?: AnimationEasing): this;
 | |
|     pause(): void;
 | |
|     resume(): void;
 | |
|     isPaused(): boolean;
 | |
|     duration(duration: number): this;
 | |
|     private _doneCallback;
 | |
|     private _abortedCallback;
 | |
|     private _setTracksFinished;
 | |
|     private _getAdditiveTrack;
 | |
|     start(easing?: AnimationEasing): this;
 | |
|     stop(forwardToLast?: boolean): void;
 | |
|     delay(time: number): this;
 | |
|     during(cb: OnframeCallback<T>): this;
 | |
|     done(cb: DoneCallback): this;
 | |
|     aborted(cb: AbortCallback): this;
 | |
|     getClip(): Clip;
 | |
|     getTrack(propName: string): Track;
 | |
|     getTracks(): Track[];
 | |
|     stopTracks(propNames: string[], forwardToLast?: boolean): boolean;
 | |
|     saveTo(target: T, trackKeys?: readonly string[], firstOrLast?: boolean): void;
 | |
|     __changeFinalValue(finalProps: Dictionary<any>, trackKeys?: readonly string[]): void;
 | |
| }
 | |
| export declare type AnimatorTrack = Track;
 | |
| export {};
 |