@visactor/vrender-animate
Version:
This module provides a graph-based animation system for VRender.
45 lines (44 loc) • 1.59 kB
TypeScript
import { EventEmitter } from '@visactor/vutils';
import type { IStage, ITimeline } from '@visactor/vrender-core';
import { type ITickHandler, type ITicker, STATUS } from '@visactor/vrender-core';
export declare class DefaultTicker extends EventEmitter implements ITicker {
protected interval: number;
protected tickerHandler: ITickHandler;
protected status: STATUS;
protected lastFrameTime: number;
protected tickCounts: number;
protected stage: IStage;
timelines: ITimeline[];
autoStop: boolean;
protected _jitter: number;
protected timeOffset: number;
_lastTickTime: number;
protected frameTimeHistory: number[];
constructor(stage?: IStage);
bindStage(stage: IStage): void;
computeTimeOffsetAndJitter(): void;
init(): void;
addTimeline(timeline: ITimeline): void;
remTimeline(timeline: ITimeline): void;
getTimelines(): ITimeline[];
protected initHandler(force?: boolean): void;
protected setupTickHandler(force?: boolean): boolean;
setInterval(interval: number): void;
getInterval(): number;
setFPS(fps: number): void;
getFPS(): number;
tick(interval: number): void;
tickTo(t: number): void;
pause(): boolean;
resume(): boolean;
ifCanStop(): boolean;
start(force?: boolean): boolean;
stop(): void;
trySyncTickStatus(): void;
release(): void;
protected checkSkip(delta: number): boolean;
protected handleTick: (handler: ITickHandler, params?: {
once?: boolean;
}) => boolean;
protected _handlerTick: (delta: number) => void;
}