modern-canvas
Version:
A JavaScript WebGL rendering engine. only the ESM.
25 lines (24 loc) • 1.13 kB
TypeScript
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;
}