UNPKG

modern-canvas

Version:

A JavaScript WebGL rendering engine. only the ESM.

62 lines (61 loc) 2.37 kB
import type { Node, SceneTreeEvents, SceneTreeProperties } from './scene'; import { GlRenderer } from './core'; import { SceneTree } from './scene'; export type EngineData = Record<string, any> | Node | (Node | Record<string, any>)[]; export interface EngineProperties extends WebGLContextAttributes, SceneTreeProperties { view?: HTMLCanvasElement | WebGLRenderingContext | WebGL2RenderingContext; width?: number; height?: number; pixelRatio?: number; autoResize: boolean; autoStart: boolean; data?: EngineData; } interface EngineEvents extends SceneTreeEvents { } export interface Engine { on: <K extends keyof EngineEvents>(event: K, listener: (...args: EngineEvents[K]) => void) => this; once: <K extends keyof EngineEvents>(event: K, listener: (...args: EngineEvents[K]) => void) => this; off: <K extends keyof EngineEvents>(event: K, listener: (...args: EngineEvents[K]) => void) => this; emit: <K extends keyof EngineEvents>(event: K, ...args: EngineEvents[K]) => this; } export declare const defaultOptions: { readonly alpha: true; readonly stencil: true; readonly antialias: false; readonly premultipliedAlpha: true; readonly preserveDrawingBuffer: false; readonly powerPreference: "default"; }; export declare class Engine extends SceneTree { autoResize: boolean; autoStart: boolean; readonly renderer: GlRenderer; get view(): HTMLCanvasElement | undefined; get gl(): WebGLRenderingContext | WebGL2RenderingContext; get screen(): { x: number; y: number; width: number; height: number; }; get width(): number; get height(): number; get pixelRatio(): number; set pixelRatio(val: number); protected _resizeObserver: ResizeObserver | undefined; constructor(properties?: Partial<EngineProperties>); protected _updateProperty(key: string, value: any, oldValue: any): void; protected _setupInput(): this; resize(width: number, height: number, updateCss?: boolean): this; nextTick(): Promise<void>; waitUntilLoad(): Promise<void>; waitAndRender(delta?: number): Promise<void>; render(delta?: number): void; start(): Promise<void>; toPixels(): Uint8ClampedArray<ArrayBuffer>; toImageData(): ImageData; toCanvas2D(): HTMLCanvasElement; destroy(): void; } export {};