@lightningjs/renderer
Version:
Lightning 3 Renderer
72 lines (71 loc) • 1.91 kB
TypeScript
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;
}