modern-canvas
Version:
A JavaScript WebGL rendering engine. only the ESM.
32 lines (31 loc) • 1.35 kB
TypeScript
import type { NodeEvents, NodeProperties } from './Node';
import { Node } from './Node';
export interface TimelineEvents extends NodeEvents {
updateCurrentTime: [current: number, delta: number];
}
export interface Timeline {
on: <K extends keyof TimelineEvents & string>(event: K, listener: (...args: TimelineEvents[K]) => void) => this;
once: <K extends keyof TimelineEvents & string>(event: K, listener: (...args: TimelineEvents[K]) => void) => this;
off: <K extends keyof TimelineEvents & string>(event: K, listener: (...args: TimelineEvents[K]) => void) => this;
emit: <K extends keyof TimelineEvents & string>(event: K, ...args: TimelineEvents[K]) => this;
}
export interface TimelineProperties extends NodeProperties {
startTime: number;
currentTime: number;
endTime: number;
loop: boolean;
paused: boolean;
}
export declare class Timeline extends Node {
startTime: number;
currentTime: number;
endTime: number;
loop: boolean;
paused: boolean;
static from(range: number | number[], loop?: boolean): Timeline;
constructor(properties?: Partial<TimelineProperties>);
setProperties(properties?: Record<string, any>): this;
protected _updateProperty(key: string, value: any, oldValue: any): void;
addTime(delta: number): this;
protected _process(delta: number): void;
}