UNPKG

@lightningjs/renderer

Version:
63 lines (62 loc) 1.76 kB
import { EventEmitter } from '../../common/EventEmitter.js'; import type { AnimationManager } from './AnimationManager.js'; import { type TimingFunction } from './utils.js'; export declare enum StopMethodFlags { Immediate = 0, Reset = 1, Reverse = 2 } export type StopMethodOptions = 'reverse' | 'reset' | 'immediate'; export declare const getStopMethodFlag: (method: string | undefined) => StopMethodFlags; export interface PlaybackSettings { delay: number; duration: number; easing: string | TimingFunction; loop: boolean; repeat: number; reverse: boolean; stopMethod: StopMethodOptions; } export declare enum PlaybackState { Idle = 0, Destroyed = 1, Stopped = 2, Finished = 3, Paused = 4, Playing = 5, Stopping = 6 } export declare const PlaybackSettingsKeys: { delay: boolean; duration: boolean; easing: boolean; loop: boolean; repeat: boolean; reverse: boolean; stopMethod: boolean; }; export declare function getPlaybackId(): number; export default class Playback extends EventEmitter { readonly animationManager: AnimationManager; readonly id: number; delay: number; duration: number; easing: TimingFunction | null; loop: boolean; repeat: number; reverse: boolean; stopMethod: StopMethodFlags; state: PlaybackState; startTime: number | null; pauseTime: number | null; endTime: number | null; currentTime: number; iteration: number; constructor(animationManager: AnimationManager, settings?: Partial<PlaybackSettings>); update(currentFrameTime: number): void; updateValues(currentTime: number): void; applyStartValues(): void; start(): this; stop(): void; finish(): void; }