modern-canvas
Version:
A JavaScript WebGL rendering engine. only the ESM.
62 lines (61 loc) • 2.43 kB
TypeScript
import type { Fonts } from 'modern-font';
import type { Hex8Color } from 'modern-idoc';
import type { GlRenderer, InputEvents, MainLoopEvents, MainLoopProperties } from '../../core';
import type { Node } from './Node';
import type { Viewport } from './Viewport';
import { Color, Input, MainLoop } from '../../core';
import { RenderStack } from './RenderStack';
import { Timeline } from './Timeline';
import { Window } from './Window';
export interface SceneTreeEvents extends MainLoopEvents, InputEvents {
processing: [];
processed: [];
rendering: [];
rendered: [];
nodeEnter: [node: Node];
nodeExit: [node: Node];
nodeProcessing: [node: Node];
nodeProcessed: [node: Node];
}
export interface SceneTree {
on: <K extends keyof SceneTreeEvents & string>(event: K, listener: (...args: SceneTreeEvents[K]) => void) => this;
once: <K extends keyof SceneTreeEvents & string>(event: K, listener: (...args: SceneTreeEvents[K]) => void) => this;
off: <K extends keyof SceneTreeEvents & string>(event: K, listener: (...args: SceneTreeEvents[K]) => void) => this;
emit: <K extends keyof SceneTreeEvents & string>(event: K, ...args: SceneTreeEvents[K]) => this;
}
export interface SceneTreeProperties extends MainLoopProperties {
msaa: boolean;
pixelate: boolean;
roundPixels: boolean;
backgroundColor: Hex8Color;
debug: boolean;
processPaused: boolean;
fonts: Fonts;
timeline: Timeline;
}
export declare class SceneTree extends MainLoop {
msaa: boolean;
pixelate: boolean;
roundPixels: boolean;
backgroundColor?: Hex8Color;
debug: boolean;
processPaused: boolean;
fonts: Fonts | undefined;
timeline: Timeline;
readonly input: Input;
readonly renderStack: RenderStack;
readonly root: Window;
protected _backgroundColor: Color;
protected _previousViewport?: Viewport;
protected _currentViewport?: Viewport;
getPreviousViewport(): Viewport | undefined;
getCurrentViewport(): Viewport | undefined;
setCurrentViewport(viewport: Viewport | undefined): void;
constructor(properties?: Partial<SceneTreeProperties>);
protected _updateProperty(key: string, value: any, oldValue: any): void;
log(...args: any[]): void;
protected _process(delta?: number): void;
protected _render(renderer: GlRenderer): void;
protected _renderScreen(renderer: GlRenderer): void;
destroy(): void;
}