modern-canvas
Version:
A JavaScript WebGL rendering engine. only the ESM.
42 lines (41 loc) • 1.68 kB
TypeScript
import type { NodeEvents, NodeProperties } from './Node';
import type { Timeline } from './Timeline';
import { Node } from './Node';
export interface TimelineNodeProperties extends NodeProperties {
loop: boolean;
delay: number;
duration: number;
paused: boolean;
}
export interface TimelineNodeEvents extends NodeEvents {
updateCurrentTime: [currentTime: number];
}
export interface TimelineNode {
on: <K extends keyof TimelineNodeEvents & string>(event: K, listener: (...args: TimelineNodeEvents[K]) => void) => this;
once: <K extends keyof TimelineNodeEvents & string>(event: K, listener: (...args: TimelineNodeEvents[K]) => void) => this;
off: <K extends keyof TimelineNodeEvents & string>(event: K, listener: (...args: TimelineNodeEvents[K]) => void) => this;
emit: <K extends keyof TimelineNodeEvents & string>(event: K, ...args: TimelineNodeEvents[K]) => this;
}
export declare class TimelineNode extends Node {
loop: boolean;
delay: number;
duration: number;
paused: boolean;
insideTimeRange: boolean;
constructor(properties?: Partial<TimelineNodeProperties>, nodes?: Node[]);
/** Timeline */
_currentTime: number;
_duration: number;
_globalStartTime: number;
get timeline(): Timeline | undefined;
get globalCurrentTime(): number;
get parentGlobalStartTime(): number;
get currentTime(): number;
get globalStartTime(): number;
set globalStartTime(val: number);
get globalEndTime(): number;
get currentTimeProgress(): number;
isInsideTimeRange(): boolean;
protected _updateCurrentTime(force?: boolean): void;
protected _process(delta: number): void;
}