@visactor/vrender-core
Version:
```typescript import { xxx } from '@visactor/vrender-core'; ```
40 lines (39 loc) • 1.25 kB
TypeScript
import type { EventEmitter } from '@visactor/vutils';
import type { ITimeline } from './timeline';
import type { IStage } from '../stage';
export type TickerMode = 'raf' | 'timeout' | 'manual';
export declare enum STATUS {
INITIAL = 0,
RUNNING = 1,
PAUSE = 2
}
export interface ITickHandler {
tick: (interval: number, cb: (handler: ITickHandler) => void) => void;
tickTo?: (t: number, cb: (handler: ITickHandler, params?: {
once: boolean;
}) => void) => void;
getTime: () => number;
release: () => void;
}
export interface ITickerHandlerStatic {
new (): ITickHandler;
}
export interface ITicker extends EventEmitter {
setFPS?: (fps: number) => void;
setInterval?: (interval: number) => void;
getFPS?: () => number;
getInterval?: () => number;
tick: (interval: number) => void;
tickAt?: (time: number) => void;
pause: () => boolean;
resume: () => boolean;
start: (force?: boolean) => boolean;
stop: () => void;
addTimeline: (timeline: ITimeline) => void;
remTimeline: (timeline: ITimeline) => void;
trySyncTickStatus: () => void;
getTimelines: () => ITimeline[];
release: () => void;
bindStage: (stage: IStage) => void;
autoStop: boolean;
}