UNPKG

@lightningjs/renderer

Version:
47 lines (46 loc) 1.35 kB
import { type CoreNode, type CoreNodeAnimateProps } from '../CoreNode.js'; import { type TimingFunction } from '../utils.js'; import { EventEmitter } from '../../common/EventEmitter.js'; export interface AnimationSettings { duration: number; delay: number; easing: string | TimingFunction; loop: boolean; repeat: number; stopMethod: 'reverse' | 'reset' | false; } type PropValues = { start: number; target: number; isColor: boolean; }; type PropGroup = { keys: string[]; values: PropValues[]; }; type PropValuesMap = { props: PropGroup | null; shaderProps: PropGroup | null; }; export declare class CoreAnimation extends EventEmitter { private node; private props; readonly id: number; 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(isColor: boolean, propValue: number, startValue: number, easing: string | TimingFunction | undefined): number; private updateValues; update(dt: number): void; } export {};