UNPKG

gl-react

Version:

Universal React library, write and compose WebGL shaders, implement complex effects using a descriptive paradigm

66 lines 2.17 kB
import Bus from "./Bus"; import type { NDArray } from "ndarray"; import type { ShaderIdentifier, ShaderInfo } from "./Shaders"; import type { Shader } from "gl-shader"; import type { VisitorLike } from "./Visitor"; import type { WebGLTextureLoader } from "webgltexture-loader"; import type Node from "./Node"; type SurfaceProps = { children?: any; style?: any; preload?: Array<any>; onLoad?: () => void; onLoadError?: (e: Error) => void; onContextLost?: () => void; onContextRestored?: () => void; visitor?: VisitorLike; [key: string]: any; }; export interface Surface { props: SurfaceProps; gl: WebGLRenderingContext | null; RenderLessElement: any; root: Node | null; id: number; mapRenderableContent: ((inst: any) => any) | undefined; getVisitors(): Array<VisitorLike>; getGLSize(): [number, number]; getGLName(): string; getGLShortName(): string; captureAsDataURL(...args: any[]): string; captureAsBlob(...args: any[]): Promise<Blob>; capture(x?: number, y?: number, w?: number, h?: number): NDArray; redraw(): void; flush(): void; getEmptyTexture(): WebGLTexture; glIsAvailable(): boolean; rebootForDebug(): void; _addGLNodeChild(node: Node): void; _removeGLNodeChild(node: Node): void; _resolveTextureLoader(raw: any): { loader: WebGLTextureLoader | null; input: any; }; _getShader(shaderId: ShaderIdentifier): Shader; _makeShader(shaderInfo: ShaderInfo): Shader; _draw(): void; _bindRootNode(): void; } export type SurfaceContext = { glParent: Node | Surface | Bus; glSurface: Surface; glSizable: { getGLSize(): [number, number]; }; }; export declare const list: () => Array<Surface>; type SurfaceOpts = { GLView: any; RenderLessElement: any; mapRenderableContent?: (instance: any) => any; requestFrame: (f: Function) => number; cancelFrame: (id: number) => void; }; declare const _default: ({ GLView, RenderLessElement, mapRenderableContent, requestFrame, cancelFrame, }: SurfaceOpts) => any; export default _default; //# sourceMappingURL=createSurface.d.ts.map