modern-canvas
Version:
A JavaScript WebGL rendering engine. only the ESM.
47 lines (46 loc) • 1.57 kB
TypeScript
import type { GlRenderer } from '../GlRenderer';
import type { GlRenderingContext } from '../types';
import { GlSystem } from '../system';
import { GlBlendMode } from './GlBlendMode';
export interface GlState {
blend: boolean;
offsets: boolean;
culling: boolean;
depthTest: boolean;
clockwiseFrontFace: boolean;
depthMask: boolean;
}
export declare class GlState {
static readonly _properties: string[];
static _init(): void;
static for2D(): GlState;
protected _blendMode: GlBlendMode;
protected _polygonOffset: number;
bitmap: number;
get blendMode(): GlBlendMode;
set blendMode(value: GlBlendMode);
get polygonOffset(): number;
set polygonOffset(value: number);
constructor(options?: Partial<GlState>);
}
export declare class GlStateSystem extends GlSystem {
install(renderer: GlRenderer): void;
protected _blendEq: boolean;
protected _setters: any[];
boundStateBitmap: number;
boundBlendMode?: string;
blendModes: Record<GlBlendMode, any>;
defaultState: GlState;
protected _updateContext(gl: GlRenderingContext): void;
toggle(boundPoint: number, enable: boolean): void;
setBlend(value: boolean): void;
setOffsets(value: boolean): void;
setCulling(value: boolean): void;
setDepthTest(value: boolean): void;
setDepthMask(value: boolean): void;
setClockwiseFrontFace(value: boolean): void;
setBlendMode(value: GlBlendMode): void;
setPolygonOffset(value: number, scale: number): void;
bind(state: GlState): void;
reset(): void;
}