UNPKG

modern-canvas

Version:

A JavaScript WebGL rendering engine. only the ESM.

62 lines (61 loc) 2.43 kB
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; }