@lightningtv/renderer
Version:
Lightning 3 Renderer
38 lines (37 loc) • 1.15 kB
TypeScript
import { type CoreNode, type CoreNodeAnimateProps } from '../CoreNode.js';
import { EventEmitter } from '../../common/EventEmitter.js';
export interface AnimationSettings {
duration: number;
delay: number;
easing: string;
loop: boolean;
repeat: number;
repeatDelay: number;
stopMethod: 'reverse' | 'reset' | false;
}
type PropValues = {
start: number;
target: number;
};
type PropValuesMap = Record<string, Record<string, PropValues>>;
export declare class CoreAnimation extends EventEmitter {
private node;
private props;
settings: AnimationSettings;
private progress;
private delayFor;
private delay;
private timingFunction;
propValuesMap: PropValuesMap;
constructor(node: CoreNode, props: Partial<CoreNodeAnimateProps>, settings: Partial<AnimationSettings>);
reset(): void;
private restoreValues;
restore(): void;
private reverseValues;
reverse(): void;
private applyEasing;
updateValue(propName: string, propValue: number, startValue: number, easing: string | undefined): number;
private updateValues;
update(dt: number): void;
}
export {};