webglimpse
Version:
Webglimpse is a data visualization library for the web.
97 lines (96 loc) • 4.33 kB
TypeScript
import { Painter, Pane } from './core';
import { BoundsUnmodifiable, Size } from './bounds';
import { Color } from './color';
import { Program, UniformColor, Attribute, Uniform1f } from './shader';
import { DynamicBuffer } from './buffer';
import { Texture2D, TextureDrawOptions } from './texture';
import { Notification } from './util/notification';
export declare function newGroupPainter(...painters: Painter[]): Painter;
export declare function newBlendingBackgroundPainter(color: Color): Painter;
export declare class Highlight {
private _color;
private _dashPattern;
private _dashLength;
program: Program;
u_Color: UniformColor;
a_XyNdc: Attribute;
u_yOffset: Uniform1f;
u_DashPattern: Uniform1f;
u_DashLength: Uniform1f;
numVertices: number;
xy_NDC: Float32Array;
xyBuffer_NDC: DynamicBuffer;
constructor(color?: Color);
get color(): Color;
set color(color: Color);
get dashPattern(): number;
set dashPattern(pattern: number);
get dashLength(): number;
set dashLength(length: number);
newPainter(): (gl: WebGLRenderingContext, viewport: BoundsUnmodifiable) => void;
}
export declare class Background {
private _color;
constructor(color?: Color);
get color(): Color;
set color(color: Color);
newPainter(): (gl: WebGLRenderingContext, viewport: BoundsUnmodifiable) => void;
}
export declare function newBackgroundPainter(color: Color): Painter;
export declare function newTexturePainter(texture: Texture2D, xFrac: number, yFrac: number, options: TextureDrawOptions): (gl: WebGLRenderingContext, viewport: BoundsUnmodifiable) => void;
export declare function newSolidPane(color: Color): Pane;
export declare function fitToTexture(texture: Texture2D): (parentPrefSize: Size) => void;
export declare function fixedSize(w: number, h: number): (parentPrefSize: Size) => void;
/**
* Takes (x,y) in NDC (Normalized Device Coords), in attribute a_XyNdc
*/
export declare let xyNdc_VERTSHADER: string;
/**
* Takes (x,y) as fractions of the viewport, in attribute a_XyFrac
*/
export declare let xyFrac_VERTSHADER: string;
export declare let solid_FRAGSHADER: string;
export declare let dash_FRAGSHADER: string;
export declare let dash2_FRAGSHADER: string;
export declare let varyingColor_FRAGSHADER: string;
export declare let modelview_VERTSHADER: string;
export declare let nearestPixelCenter_GLSLFUNC: string;
export declare enum Side {
TOP = 0,
BOTTOM = 1,
RIGHT = 2,
LEFT = 3
}
/**
* Converts viewport-fraction to NDC (Normalized Device Coords)
*/
export declare function fracToNdc(frac: number): number;
export declare function nearestPixel(viewportFrac: number, viewportSize: number, imageAnchor: number, imageSize: number): number;
export declare function putQuadXys(xys: Float32Array, index: number, xLeft: number, xRight: number, yTop: number, yBottom: number): number;
export declare function putUpperLeftTriangleXys(xys: Float32Array, index: number, xLeft: number, xRight: number, yTop: number, yBottom: number): number;
export declare function putLowerRightTriangleXys(xys: Float32Array, index: number, xLeft: number, xRight: number, yTop: number, yBottom: number): number;
export declare function putUpperRightTriangleXys(xys: Float32Array, index: number, xLeft: number, xRight: number, yTop: number, yBottom: number): number;
export declare function putLowerLeftTriangleXys(xys: Float32Array, index: number, xLeft: number, xRight: number, yTop: number, yBottom: number): number;
export declare function putQuadRgbas(rgbas: Float32Array, index: number, color: Color): number;
export declare function putRgbas(rgbas: Float32Array, index: number, color: Color, count: number): number;
export declare function clearSelection(): void;
export declare class SimpleModel<V> {
private _value;
private _changed;
constructor(value?: V);
get value(): V;
get changed(): Notification;
set value(value: V);
}
export declare class XyModel {
private _x;
private _y;
private _changed;
constructor(x?: number, y?: number);
get x(): number;
get y(): number;
get changed(): Notification;
set x(x: number);
set y(y: number);
setXy(x: number, y: number): void;
}