UNPKG

modern-canvas

Version:

A JavaScript WebGL rendering engine. only the ESM.

47 lines (46 loc) 1.57 kB
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; }