UNPKG

@lightningjs/renderer

Version:
72 lines (71 loc) 1.91 kB
import type { TimingFunction } from "./utils"; 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 TickerSettings { delay: number; duration: number; easing: string | TimingFunction; loop: boolean; repeat: number; reverse: boolean; stopMethod: StopMethodOptions; autoPlay: boolean; } export interface TickerLifecycle { onStart?: (ticker: Ticker) => void; onProgress?: (ticker: Ticker) => void; onEnd?: (ticker: Ticker) => void; onStop?: (ticker: Ticker) => void; onPause?: (ticker: Ticker) => void; onResume?: (ticker: Ticker) => void; onRepeat?: (ticker: Ticker) => void; } export declare enum TickerState { Pending = 0, Playing = 1, Stopping = 2, Paused = 3, Destroyed = 4, Stopped = 5, Finished = 6 } export interface Ticker extends Omit<TickerSettings, 'stopMethod'>, TickerLifecycle { id: number; state: TickerState; stopMethod: StopMethodFlags; repeatCount: number; startedAt: number; pausedAt: number; progressTime: number; } export declare const TickerSettingsKeys: { delay: boolean; duration: boolean; loop: boolean; repeat: boolean; reverse: boolean; stopMethod: boolean; autoPlay: boolean; }; export declare function generateTickerId(): number; export declare class TickerClass { readonly id: number; delay: number; duration: number; loop: boolean; repeat: number; reverse: boolean; stopMethod: StopMethodFlags; pausedAt: number; startTime: number; endTime: number; progressTime: number; constructor(settings: TickerSettings); firstTick(time: number): void; tick(time: number): void; }