UNPKG

modern-canvas

Version:

A JavaScript WebGL rendering engine. only the ESM.

25 lines (24 loc) 1.13 kB
import type { ObservableEvents } from 'modern-idoc'; import type { GlRenderer } from '../GlRenderer'; import type { GlRenderingContext } from '../types'; import { Observable } from 'modern-idoc'; export interface GlSystemEvents extends ObservableEvents { updateContext: [gl: GlRenderingContext]; setup: []; } export interface GlSystem { on: <K extends keyof GlSystemEvents & string>(event: K, listener: (...args: GlSystemEvents[K]) => void) => this; once: <K extends keyof GlSystemEvents & string>(event: K, listener: (...args: GlSystemEvents[K]) => void) => this; off: <K extends keyof GlSystemEvents & string>(event: K, listener: (...args: GlSystemEvents[K]) => void) => this; emit: <K extends keyof GlSystemEvents & string>(event: K, ...args: GlSystemEvents[K]) => this; } export declare abstract class GlSystem extends Observable { protected _renderer: GlRenderer; protected get _gl(): GlRenderingContext; constructor(); install(renderer: GlRenderer): void; protected _updateContext(gl: GlRenderingContext): void; protected _setup(): void; flush(): void; reset(): void; }