smoke-distance
Version:
tweening engine for Typescript
81 lines (78 loc) • 1.81 kB
text/typescript
declare const easing: {
bounceIn: (t: number) => number;
bounceInOut: (t: number) => number;
bounceOut: (t: number) => number;
sineInOut: (t: number) => number;
sineOut: (t: number) => number;
sineIn: (t: number) => number;
quintInOut: (t: number) => number;
quintOut: (t: number) => number;
quintIn: (t: number) => number;
quartInOut: (t: number) => number;
quartOut: (t: number) => number;
quartIn: (t: number) => number;
cubicInOut: (t: number) => number;
cubicIn: (t: number) => number;
cubicOut: (t: number) => number;
quadInOut: (t: number) => number;
quadOut: (t: number) => number;
quadIn: (t: number) => number;
linear: (t: number) => number;
};
declare type easingType = keyof typeof easing;
declare interface SmokeDistanceOptions {
/**
*
*/
from: Record<string, any>;
/**
*
*/
to: Record<string, any>;
/**
*
*/
duration: number;
/**
*
*/
delay: number;
/**
*
*/
easing: easingType;
/**
*
*/
onStart?: (keys: Record<string, number>) => void;
/**
*
*/
onUpdate?: (keys: Record<string, number>) => void;
/**
*
*/
onFinish?: (keys: Record<string, number>) => void;
}
declare class SmokeDistance {
private _from;
private _to;
private _duration;
private _delay;
private _easing;
private _onStart;
private _onUpdate;
private _onFinish;
private _startTime;
private _started;
private _finished;
private _timer;
private _time;
private _elapsed;
private _keys;
constructor(options: SmokeDistanceOptions);
update(): void;
start(): void;
stop(): void;
}
export { SmokeDistance, SmokeDistanceOptions, easingType };