Added PixiJS def files

This commit is contained in:
Pedro Casaubon 2013-08-22 17:35:14 +02:00 committed by gstamac
parent 3c4ffca167
commit 6799bfe8d3
5 changed files with 2194 additions and 0 deletions

22
.gitignore vendored
View File

@ -28,3 +28,25 @@ Properties
!_infrastructure/tests/*/*.js
!_infrastructure/tests/*/*/*.js
!_infrastructure/tests/*/*/*/*.js
.idea/.name
.idea/DefinitelyTyped.iml
.idea/encodings.xml
.idea/libraries/Generated_files.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/vcs.xml
.idea/workspace.xml
.idea/watcherTasks.xml
.idea/watcherTasks.xml

View File

@ -154,6 +154,7 @@ List of Definitions
* [Persona](http://www.mozilla.org/en-US/persona) (by [James Frasca](https://github.com/Nycto))
* [PhantomJS](http://phantomjs.org) (by [Jed Hunsaker](https://github.com/jedhunsaker))
* [PhoneGap](http://phonegap.com) (by [Boris Yankov](https://github.com/borisyankov))
* [PixiJS](https://github.com/GoodBoyDigital/pixi.js) (by [Pedro Casaubon](https://github.com/xperiments))
* [Platform](https://github.com/bestiejs/platform.js) (by [Jake Hickman](https://github.com/JakeH))
* [PouchDB](http://pouchdb.com) (by [Bill Sears](https://github.com/MrBigDog2U/))
* [PreloadJS](http://www.createjs.com/#!/PreloadJS) (by [Pedro Ferreira](https://bitbucket.org/drk4))

1190
pixi/pixi-tests.ts Normal file

File diff suppressed because it is too large Load Diff

447
pixi/pixi.d.ts vendored Normal file
View File

@ -0,0 +1,447 @@
// Type definitions for PIXI 1.3
// Project: https://github.com/GoodBoyDigital/pixi.js/
// Definitions by: xperiments <http://github.com/xperiments>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
///<reference path="webgl.d.ts"/>
declare module PIXI
{
/* STATICS */
export var gl:WebGLRenderingContext;
export var BaseTextureCache: {};
export var texturesToUpdate: BaseTexture[];
export var texturesToDestroy: BaseTexture[];
export var TextureCache: {};
export var FrameCache: {};
export var blendModes:{ NORMAL:number; SCREEN:number; };
/* MODULE FUNCTIONS */
export function autoDetectRenderer(width: number, height: number, view?: HTMLCanvasElement, transparent?: boolean, antialias?: boolean): IPixiRenderer;
export function FilterBlock( mask:Graphics ):void;
export function MaskFilter( graphics:Graphics ):void;
/* DEBUG METHODS */
export function runList( x ):void;
/*INTERFACES*/
export interface IBasicCallback
{
():void
}
export interface IEvent
{
type: string;
content: any;
}
export interface IHitArea
{
contains(x: number, y: number):boolean;
}
export interface IInteractionDataCallback
{
(interactionData: InteractionData):void
}
export interface IPixiRenderer
{
view: HTMLCanvasElement;
render(stage: Stage): void;
}
export interface IBitmapTextStyle
{
font?: string;
align?: string;
}
export interface ITextStyle
{
font?: string;
stroke?: string;
fill?: string;
align?: string;
strokeThickness?: number;
wordWrap?: boolean;
wordWrapWidth?:number;
}
/* CLASES */
export class AssetLoader extends EventTarget
{
assetURLs: string[];
onComplete: IBasicCallback;
onProgress: IBasicCallback;
constructor(assetURLs: string[], crossorigin?:boolean );
load(): void;
}
export class BaseTexture extends EventTarget
{
height: number;
width: number;
source: string;
constructor(source: HTMLImageElement);
constructor(source: HTMLCanvasElement);
destroy():void;
static fromImage(imageUrl: string, crossorigin?:boolean ): BaseTexture;
}
export class BitmapFontLoader extends EventTarget
{
baseUrl:string;
crossorigin:boolean;
texture:Texture;
url:string;
constructor(url: string, crossorigin?: boolean);
load():void;
}
export class BitmapText extends DisplayObjectContainer
{
width:number;
height:number;
constructor(text: string, style: IBitmapTextStyle);
setStyle(style: IBitmapTextStyle): void;
setText(text: string): void;
}
export class CanvasRenderer implements IPixiRenderer
{
context: CanvasRenderingContext2D;
height: number;
view: HTMLCanvasElement;
width: number;
constructor(width: number, height: number, view?: HTMLCanvasElement, transparent?: boolean);
render(stage: Stage): void;
resize(width: number, height: number):void;
}
export class Circle implements IHitArea
{
x: number;
y: number;
radius: number;
constructor(x: number, y: number, radius: number);
clone(): Circle;
contains(x: number, y: number):boolean;
}
// TODO what is renderGroup
export class CustomRenderable extends DisplayObject
{
constructor();
renderCanvas(renderer: CanvasRenderer): void;
initWebGL(renderer: WebGLRenderer): void;
renderWebGL(renderGroup: any, projectionMatrix: any): void;
}
export class DisplayObject
{
alpha: number;
buttonMode: boolean;
filter:boolean;
hitArea: IHitArea;
parent: DisplayObjectContainer;
pivot: Point;
position: Point;
rotation: number;
renderable: boolean;
scale: Point;
stage: Stage;
visible: boolean;
worldAlpha: number;
constructor();
static autoDetectRenderer(width: number, height: number, view?: HTMLCanvasElement, transparent?: boolean): IPixiRenderer;
click: IInteractionDataCallback;
mousedown: IInteractionDataCallback;
mouseout: IInteractionDataCallback;
mouseover: IInteractionDataCallback;
mouseup: IInteractionDataCallback;
mouseupoutside: IInteractionDataCallback;
mousemove: IInteractionDataCallback;
tap: IInteractionDataCallback;
touchend: IInteractionDataCallback;
touchendoutside: IInteractionDataCallback;
touchstart: IInteractionDataCallback;
touchmove: IInteractionDataCallback;
//deprecated
setInteractive(interactive: boolean): void;
// getters setters
interactive:boolean;
mask:Graphics;
}
export class DisplayObjectContainer extends DisplayObject
{
children: DisplayObject[];
constructor();
addChild(child: DisplayObject): void;
addChildAt(child: DisplayObject, index: number): void;
getChildAt(index:number):DisplayObject;
removeChild(child: DisplayObject): void;
swapChildren(child: DisplayObject, child2: DisplayObject): void;
}
export class Ellipse implements IHitArea
{
x: number;
y: number;
width: number;
height: number;
constructor(x: number, y: number, width: number, height: number);
clone(): Ellipse;
contains(x: number, y: number):boolean;
getBounds():Rectangle;
}
export class EventTarget
{
addEventListener(type: string, listener: (event: IEvent) => void );
removeEventListener(type: string, listener: (event: IEvent) => void );
dispatchEvent(event: IEvent);
}
export class Graphics extends DisplayObjectContainer
{
lineWidth:number;
lineColor:string;
constructor();
beginFill(color?: number, alpha?: number): void;
clear(): void;
drawCircle(x: number, y: number, radius: number): void;
drawElipse(x: number, y: number, width: number, height: number): void;
drawRect(x: number, y: number, width: number, height: number): void;
endFill(): void;
lineStyle(lineWidth?: number, color?: number, alpha?: number ): void;
lineTo(x: number, y: number): void;
moveTo(x: number, y: number): void;
static POLY:number;
static RECT:number;
static CIRC:number;
static ELIP:number;
}
export class ImageLoader extends EventTarget
{
texture:Texture;
constructor(url: string, crossorigin?: boolean);
load(): void;
}
/* TODO determine type of originalEvent*/
export class InteractionData
{
global: Point;
target: Sprite;
constructor();
originalEvent:any;
getLocalPosition(displayObject: DisplayObject): Point;
}
export class InteractionManager
{
mouse: InteractionData;
stage: Stage;
touchs:{ [id:string]:InteractionData };
constructor(stage: Stage);
}
export class JsonLoader extends EventTarget
{
url:string;
crossorigin: boolean;
baseUrl:string;
loaded:boolean;
constructor(url: string, crossorigin?: boolean);
load(): void;
}
export class MovieClip extends Sprite
{
animationSpeed: number;
currentFrame:number;
loop: boolean;
playing: boolean;
textures: Texture[];
constructor(textures: Texture[]);
onComplete:IBasicCallback;
gotoAndPlay(frameNumber: number): void;
gotoAndStop(frameNumber: number): void;
play(): void;
stop(): void;
}
export class Point
{
x: number;
y: number;
constructor(x: number, y: number);
clone(): Point;
}
export class Polygon implements IHitArea
{
points: Point[];
constructor(points: Point[]);
constructor(points: number[]);
constructor(...points: Point[]);
constructor(...points: number[]);
clone(): Polygon;
contains( x:number, y:number ):boolean;
}
export class Rectangle implements IHitArea
{
x: number;
y: number;
width: number;
height: number;
constructor(x: number, y: number, width: number, height: number);
clone(): Rectangle;
contains(x: number, y: number):boolean
}
export class RenderTexture extends Texture
{
constructor(width: number, height: number);
resize(width: number, height: number): void;
}
export class Sprite extends DisplayObjectContainer
{
anchor: Point;
blendMode: number;
texture: Texture;
//getters setters
height: number;
width: number;
constructor(texture: Texture);
static fromFrame(frameId: string): Sprite;
static fromImage(url: string): Sprite;
setTexture(texture: Texture): void;
}
/* TODO determine type of frames */
export class SpriteSheetLoader extends EventTarget
{
url:string;
crossorigin:boolean;
baseUrl:string;
texture:Texture;
frames:Object;
constructor(url: string, crossorigin?: boolean);
load();
}
export class Stage extends DisplayObjectContainer
{
interactive:boolean;
interactionManager:InteractionManager;
constructor(backgroundColor: number, interactive?: boolean);
getMousePosition(): Point;
setBackgroundColor(backgroundColor: number): void;
}
export class Text extends Sprite
{
constructor(text: string, style: ITextStyle);
destroy(destroyTexture:boolean):void;
setText(text: string): void;
setStyle(style: ITextStyle): void;
}
export class Texture extends EventTarget
{
baseTexture: BaseTexture;
frame: Rectangle;
trim:Point;
render( displayObject:DisplayObject, position:Point, clear:boolean ):void;
constructor(baseTexture: BaseTexture, frame?: Rectangle);
destroy(destroyBase:boolean):void;
setFrame(frame: Rectangle): void;
static addTextureToCache(texture: Texture, id: string): void;
static fromCanvas(canvas: HTMLCanvasElement): Texture;
static fromFrame(frameId: string): Texture;
static fromImage(imageUrl: string, crossorigin?: boolean): Texture;
static removeTextureFromCache(id: any): Texture;
}
export class TilingSprite extends DisplayObjectContainer
{
width:number;
height:number;
texture:Texture;
tilePosition: Point;
tileScale: Point;
constructor(texture: Texture, width: number, height: number);
setTexture( texture: Texture ):void;
}
export class WebGLBatch
{
constructor(webGLContext: WebGLRenderingContext);
clean():void;
restoreLostContext(gl:WebGLRenderingContext)
init(sprite: Sprite): void;
insertAfter(sprite: Sprite, previousSprite: Sprite): void;
insertBefore(sprite: Sprite, nextSprite: Sprite): void;
growBatch(): void;
merge(batch: WebGLBatch): void;
refresh(): void;
remove(sprite: Sprite): void;
render(): void;
split(sprite: Sprite): WebGLBatch;
update(): void;
}
/* Determine type of Object */
export class WebGLRenderGroup
{
render(projection:Object):void;
}
export class WebGLRenderer implements IPixiRenderer
{
view: HTMLCanvasElement;
constructor(width: number, height: number, view?: HTMLCanvasElement, transparent?: boolean, antialias?:boolean );
render(stage: Stage): void;
resize(width: number, height: number): void;
}
}
declare function requestAnimFrame( animate: PIXI.IBasicCallback );
declare module PIXI.PolyK
{
export function Triangulate( p:number[]):number[];
}

534
pixi/webgl.d.ts vendored Normal file
View File

@ -0,0 +1,534 @@
interface WebGLContextAttributes {
alpha : boolean;
depth : boolean;
stencil : boolean;
antialias : boolean;
premultipliedAlpha : boolean;
}
interface WebGLObject {
$__dummyprop__WebGLObject : any;
}
interface WebGLBuffer extends WebGLObject {
$__dummyprop__WebGLBuffer : any;
}
interface WebGLFramebuffer extends WebGLObject {
$__dummyprop__WebGLFramebuffer : any;
}
interface WebGLProgram extends WebGLObject {
$__dummyprop__WebGLProgram : any;
}
interface WebGLRenderbuffer extends WebGLObject {
$__dummyprop__WebGLRenderbuffer : any;
}
interface WebGLShader extends WebGLObject {
$__dummyprop__WebGLShader : any;
}
interface WebGLTexture extends WebGLObject {
$__dummyprop__WebGLTexture : any;
}
interface WebGLUniformLocation {
$__dummyprop__WebGLUniformLocation : any;
}
interface WebGLActiveInfo {
size : number;
type : number;
name : string;
}
interface WebGLRenderingContext {
DEPTH_BUFFER_BIT : number;
STENCIL_BUFFER_BIT : number;
COLOR_BUFFER_BIT : number;
POINTS : number;
LINES : number;
LINE_LOOP : number;
LINE_STRIP : number;
TRIANGLES : number;
TRIANGLE_STRIP : number;
TRIANGLE_FAN : number;
ZERO : number;
ONE : number;
SRC_COLOR : number;
ONE_MINUS_SRC_COLOR : number;
SRC_ALPHA : number;
ONE_MINUS_SRC_ALPHA : number;
DST_ALPHA : number;
ONE_MINUS_DST_ALPHA : number;
DST_COLOR : number;
ONE_MINUS_DST_COLOR : number;
SRC_ALPHA_SATURATE : number;
FUNC_ADD : number;
BLEND_EQUATION : number;
BLEND_EQUATION_RGB : number;
BLEND_EQUATION_ALPHA : number;
FUNC_SUBTRACT : number;
FUNC_REVERSE_SUBTRACT : number;
BLEND_DST_RGB : number;
BLEND_SRC_RGB : number;
BLEND_DST_ALPHA : number;
BLEND_SRC_ALPHA : number;
CONSTANT_COLOR : number;
ONE_MINUS_CONSTANT_COLOR : number;
CONSTANT_ALPHA : number;
ONE_MINUS_CONSTANT_ALPHA : number;
BLEND_COLOR : number;
ARRAY_BUFFER : number;
ELEMENT_ARRAY_BUFFER : number;
ARRAY_BUFFER_BINDING : number;
ELEMENT_ARRAY_BUFFER_BINDING : number;
STREAM_DRAW : number;
STATIC_DRAW : number;
DYNAMIC_DRAW : number;
BUFFER_SIZE : number;
BUFFER_USAGE : number;
CURRENT_VERTEX_ATTRIB : number;
FRONT : number;
BACK : number;
FRONT_AND_BACK : number;
TEXTURE_2D : number;
CULL_FACE : number;
BLEND : number;
DITHER : number;
STENCIL_TEST : number;
DEPTH_TEST : number;
SCISSOR_TEST : number;
POLYGON_OFFSET_FILL : number;
SAMPLE_ALPHA_TO_COVERAGE : number;
SAMPLE_COVERAGE : number;
NO_ERROR : number;
INVALID_ENUM : number;
INVALID_VALUE : number;
INVALID_OPERATION : number;
OUT_OF_MEMORY : number;
CW : number;
CCW : number;
LINE_WIDTH : number;
ALIASED_POINT_SIZE_RANGE : number;
ALIASED_LINE_WIDTH_RANGE : number;
CULL_FACE_MODE : number;
FRONT_FACE : number;
DEPTH_RANGE : number;
DEPTH_WRITEMASK : number;
DEPTH_CLEAR_VALUE : number;
DEPTH_FUNC : number;
STENCIL_CLEAR_VALUE : number;
STENCIL_FUNC : number;
STENCIL_FAIL : number;
STENCIL_PASS_DEPTH_FAIL : number;
STENCIL_PASS_DEPTH_PASS : number;
STENCIL_REF : number;
STENCIL_VALUE_MASK : number;
STENCIL_WRITEMASK : number;
STENCIL_BACK_FUNC : number;
STENCIL_BACK_FAIL : number;
STENCIL_BACK_PASS_DEPTH_FAIL : number;
STENCIL_BACK_PASS_DEPTH_PASS : number;
STENCIL_BACK_REF : number;
STENCIL_BACK_VALUE_MASK : number;
STENCIL_BACK_WRITEMASK : number;
VIEWPORT : number;
SCISSOR_BOX : number;
COLOR_CLEAR_VALUE : number;
COLOR_WRITEMASK : number;
UNPACK_ALIGNMENT : number;
PACK_ALIGNMENT : number;
MAX_TEXTURE_SIZE : number;
MAX_VIEWPORT_DIMS : number;
SUBPIXEL_BITS : number;
RED_BITS : number;
GREEN_BITS : number;
BLUE_BITS : number;
ALPHA_BITS : number;
DEPTH_BITS : number;
STENCIL_BITS : number;
POLYGON_OFFSET_UNITS : number;
POLYGON_OFFSET_FACTOR : number;
TEXTURE_BINDING_2D : number;
SAMPLE_BUFFERS : number;
SAMPLES : number;
SAMPLE_COVERAGE_VALUE : number;
SAMPLE_COVERAGE_INVERT : number;
NUM_COMPRESSED_TEXTURE_FORMATS : number;
COMPRESSED_TEXTURE_FORMATS : number;
DONT_CARE : number;
FASTEST : number;
NICEST : number;
GENERATE_MIPMAP_HINT : number;
BYTE : number;
UNSIGNED_BYTE : number;
SHORT : number;
UNSIGNED_SHORT : number;
INT : number;
UNSIGNED_INT : number;
FLOAT : number;
DEPTH_COMPONENT : number;
ALPHA : number;
RGB : number;
RGBA : number;
LUMINANCE : number;
LUMINANCE_ALPHA : number;
UNSIGNED_SHORT_4_4_4_4 : number;
UNSIGNED_SHORT_5_5_5_1 : number;
UNSIGNED_SHORT_5_6_5 : number;
FRAGMENT_SHADER : number;
VERTEX_SHADER : number;
MAX_VERTEX_ATTRIBS : number;
MAX_VERTEX_UNIFORM_VECTORS : number;
MAX_VARYING_VECTORS : number;
MAX_COMBINED_TEXTURE_IMAGE_UNITS : number;
MAX_VERTEX_TEXTURE_IMAGE_UNITS : number;
MAX_TEXTURE_IMAGE_UNITS : number;
MAX_FRAGMENT_UNIFORM_VECTORS : number;
SHADER_TYPE : number;
DELETE_STATUS : number;
LINK_STATUS : number;
VALIDATE_STATUS : number;
ATTACHED_SHADERS : number;
ACTIVE_UNIFORMS : number;
ACTIVE_UNIFORM_MAX_LENGTH : number;
ACTIVE_ATTRIBUTES : number;
ACTIVE_ATTRIBUTE_MAX_LENGTH : number;
SHADING_LANGUAGE_VERSION : number;
CURRENT_PROGRAM : number;
NEVER : number;
LESS : number;
EQUAL : number;
LEQUAL : number;
GREATER : number;
NOTEQUAL : number;
GEQUAL : number;
ALWAYS : number;
KEEP : number;
REPLACE : number;
INCR : number;
DECR : number;
INVERT : number;
INCR_WRAP : number;
DECR_WRAP : number;
VENDOR : number;
RENDERER : number;
VERSION : number;
NEAREST : number;
LINEAR : number;
NEAREST_MIPMAP_NEAREST : number;
LINEAR_MIPMAP_NEAREST : number;
NEAREST_MIPMAP_LINEAR : number;
LINEAR_MIPMAP_LINEAR : number;
TEXTURE_MAG_FILTER : number;
TEXTURE_MIN_FILTER : number;
TEXTURE_WRAP_S : number;
TEXTURE_WRAP_T : number;
TEXTURE : number;
TEXTURE_CUBE_MAP : number;
TEXTURE_BINDING_CUBE_MAP : number;
TEXTURE_CUBE_MAP_POSITIVE_X : number;
TEXTURE_CUBE_MAP_NEGATIVE_X : number;
TEXTURE_CUBE_MAP_POSITIVE_Y : number;
TEXTURE_CUBE_MAP_NEGATIVE_Y : number;
TEXTURE_CUBE_MAP_POSITIVE_Z : number;
TEXTURE_CUBE_MAP_NEGATIVE_Z : number;
MAX_CUBE_MAP_TEXTURE_SIZE : number;
TEXTURE0 : number;
TEXTURE1 : number;
TEXTURE2 : number;
TEXTURE3 : number;
TEXTURE4 : number;
TEXTURE5 : number;
TEXTURE6 : number;
TEXTURE7 : number;
TEXTURE8 : number;
TEXTURE9 : number;
TEXTURE10 : number;
TEXTURE11 : number;
TEXTURE12 : number;
TEXTURE13 : number;
TEXTURE14 : number;
TEXTURE15 : number;
TEXTURE16 : number;
TEXTURE17 : number;
TEXTURE18 : number;
TEXTURE19 : number;
TEXTURE20 : number;
TEXTURE21 : number;
TEXTURE22 : number;
TEXTURE23 : number;
TEXTURE24 : number;
TEXTURE25 : number;
TEXTURE26 : number;
TEXTURE27 : number;
TEXTURE28 : number;
TEXTURE29 : number;
TEXTURE30 : number;
TEXTURE31 : number;
ACTIVE_TEXTURE : number;
REPEAT : number;
CLAMP_TO_EDGE : number;
MIRRORED_REPEAT : number;
FLOAT_VEC2 : number;
FLOAT_VEC3 : number;
FLOAT_VEC4 : number;
INT_VEC2 : number;
INT_VEC3 : number;
INT_VEC4 : number;
BOOL : number;
BOOL_VEC2 : number;
BOOL_VEC3 : number;
BOOL_VEC4 : number;
FLOAT_MAT2 : number;
FLOAT_MAT3 : number;
FLOAT_MAT4 : number;
SAMPLER_2D : number;
SAMPLER_CUBE : number;
VERTEX_ATTRIB_ARRAY_ENABLED : number;
VERTEX_ATTRIB_ARRAY_SIZE : number;
VERTEX_ATTRIB_ARRAY_STRIDE : number;
VERTEX_ATTRIB_ARRAY_TYPE : number;
VERTEX_ATTRIB_ARRAY_NORMALIZED : number;
VERTEX_ATTRIB_ARRAY_POINTER : number;
VERTEX_ATTRIB_ARRAY_BUFFER_BINDING : number;
COMPILE_STATUS : number;
INFO_LOG_LENGTH : number;
SHADER_SOURCE_LENGTH : number;
LOW_FLOAT : number;
MEDIUM_FLOAT : number;
HIGH_FLOAT : number;
LOW_INT : number;
MEDIUM_INT : number;
HIGH_INT : number;
FRAMEBUFFER : number;
RENDERBUFFER : number;
RGBA4 : number;
RGB5_A1 : number;
RGB565 : number;
DEPTH_COMPONENT16 : number;
STENCIL_INDEX : number;
STENCIL_INDEX8 : number;
DEPTH_STENCIL : number;
RENDERBUFFER_WIDTH : number;
RENDERBUFFER_HEIGHT : number;
RENDERBUFFER_INTERNAL_FORMAT : number;
RENDERBUFFER_RED_SIZE : number;
RENDERBUFFER_GREEN_SIZE : number;
RENDERBUFFER_BLUE_SIZE : number;
RENDERBUFFER_ALPHA_SIZE : number;
RENDERBUFFER_DEPTH_SIZE : number;
RENDERBUFFER_STENCIL_SIZE : number;
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE : number;
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME : number;
FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL : number;
FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE : number;
COLOR_ATTACHMENT0 : number;
DEPTH_ATTACHMENT : number;
STENCIL_ATTACHMENT : number;
DEPTH_STENCIL_ATTACHMENT : number;
NONE : number;
FRAMEBUFFER_COMPLETE : number;
FRAMEBUFFER_INCOMPLETE_ATTACHMENT : number;
FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT : number;
FRAMEBUFFER_INCOMPLETE_DIMENSIONS : number;
FRAMEBUFFER_UNSUPPORTED : number;
FRAMEBUFFER_BINDING : number;
RENDERBUFFER_BINDING : number;
MAX_RENDERBUFFER_SIZE : number;
INVALID_FRAMEBUFFER_OPERATION : number;
UNPACK_FLIP_Y_WEBGL : number;
UNPACK_PREMULTIPLY_ALPHA_WEBGL : number;
CONTEXT_LOST_WEBGL : number;
UNPACK_COLORSPACE_CONVERSION_WEBGL : number;
BROWSER_DEFAULT_WEBGL : number;
canvas : HTMLCanvasElement;
getContextAttributes() : WebGLContextAttributes;
isContextLost() : boolean;
getSupportedExtensions() : string[];
getExtension(name : string) : any;
activeTexture(texture : number) : void;
attachShader(program : WebGLProgram, shader : WebGLShader) : void;
bindAttribLocation(program : WebGLProgram, index : number, name : string) : void;
bindBuffer(target : number, buffer : WebGLBuffer) : void;
bindFramebuffer(target : number, framebuffer : WebGLFramebuffer) : void;
bindRenderbuffer(target : number, renderbuffer : WebGLRenderbuffer) : void;
bindTexture(target : number, texture : WebGLTexture) : void;
blendColor(red : number, green : number, blue : number, alpha : number) : void;
blendEquation(mode : number) : void;
blendEquationSeparate(modeRGB : number, modeAlpha : number) : void;
blendFunc(sfactor : number, dfactor : number) : void;
blendFuncSeparate(srcRGB : number, dstRGB : number, srcAlpha : number, dstAlpha : number) : void;
bufferData(target : number, size : number, usage : number) : void;
bufferData(target : number, data : ArrayBufferView, usage : number) : void;
bufferData(target : number, data : ArrayBuffer, usage : number) : void;
bufferSubData(target : number, offset : number, data : ArrayBufferView) : void;
bufferSubData(target : number, offset : number, data : ArrayBuffer) : void;
checkFramebufferStatus(target : number) : number;
clear(mask : number) : void;
clearColor(red : number, green : number, blue : number, alpha : number) : void;
clearDepth(depth : number) : void;
clearStencil(s : number) : void;
colorMask(red : boolean, green : boolean, blue : boolean, alpha : boolean) : void;
compileShader(shader : WebGLShader) : void;
copyTexImage2D(target : number, level : number, internalformat : number, x : number, y : number, width : number, height : number, border : number) : void;
copyTexSubImage2D(target : number, level : number, xoffset : number, yoffset : number, x : number, y : number, width : number, height : number) : void;
createBuffer() : WebGLBuffer;
createFramebuffer() : WebGLFramebuffer;
createProgram() : WebGLProgram;
createRenderbuffer() : WebGLRenderbuffer;
createShader(type : number) : WebGLShader;
createTexture() : WebGLTexture;
cullFace(mode : number) : void;
deleteBuffer(buffer : WebGLBuffer) : void;
deleteFramebuffer(framebuffer : WebGLFramebuffer) : void;
deleteProgram(program : WebGLProgram) : void;
deleteRenderbuffer(renderbuffer : WebGLRenderbuffer) : void;
deleteShader(shader : WebGLShader) : void;
deleteTexture(texture : WebGLTexture) : void;
depthFunc(func : number) : void;
depthMask(flag : boolean) : void;
depthRange(zNear : number, zFar : number) : void;
detachShader(program : WebGLProgram, shader : WebGLShader) : void;
disable(cap : number) : void;
disableVertexAttribArray(index : number) : void;
drawArrays(mode : number, first : number, count : number) : void;
drawElements(mode : number, count : number, type : number, offset : number) : void;
enable(cap : number) : void;
enableVertexAttribArray(index : number) : void;
finish() : void;
flush() : void;
framebufferRenderbuffer(target : number, attachment : number, renderbuffertarget : number, renderbuffer : WebGLRenderbuffer) : void;
framebufferTexture2D(target : number, attachment : number, textarget : number, texture : WebGLTexture, level : number) : void;
frontFace(mode : number) : void;
generateMipmap(target : number) : void;
getActiveAttrib(program : WebGLProgram, index : number) : WebGLActiveInfo;
getActiveUniform(program : WebGLProgram, index : number) : WebGLActiveInfo;
getAttachedShaders(program : WebGLProgram) : WebGLShader[];
getAttribLocation(program : WebGLProgram, name : string) : number;
getParameter(pname : number) : any;
getBufferParameter(target : number, pname : number) : any;
getError() : number;
getFramebufferAttachmentParameter(target : number, attachment : number, pname : number) : any;
getProgramParameter(program : WebGLProgram, pname : number) : any;
getProgramInfoLog(program : WebGLProgram) : string;
getRenderbufferParameter(target : number, pname : number) : any;
getShaderParameter(shader : WebGLShader, pname : number) : any;
getShaderInfoLog(shader : WebGLShader) : string;
getShaderSource(shader : WebGLShader) : string;
getTexParameter(target : number, pname : number) : any;
getUniform(program : WebGLProgram, location : WebGLUniformLocation) : any;
getUniformLocation(program : WebGLProgram, name : string) : WebGLUniformLocation;
getVertexAttrib(index : number, pname : number) : any;
getVertexAttribOffset(index : number, pname : number) : number;
hint(target : number, mode : number) : void;
isBuffer(buffer : WebGLBuffer) : boolean;
isEnabled(cap : number) : boolean;
isFramebuffer(framebuffer : WebGLFramebuffer) : boolean;
isProgram(program : WebGLProgram) : boolean;
isRenderbuffer(renderbuffer : WebGLRenderbuffer) : boolean;
isShader(shader : WebGLShader) : boolean;
isTexture(texture : WebGLTexture) : boolean;
lineWidth(width : number) : void;
linkProgram(program : WebGLProgram) : void;
pixelStorei(pname : number, param : number) : void;
polygonOffset(factor : number, units : number) : void;
readPixels(x : number, y : number, width : number, height : number, format : number, type : number, pixels : ArrayBufferView) : void;
renderbufferStorage(target : number, internalformat : number, width : number, height : number) : void;
sampleCoverage(value : number, invert : boolean) : void;
scissor(x : number, y : number, width : number, height : number) : void;
shaderSource(shader : WebGLShader, source : string) : void;
stencilFunc(func : number, ref : number, mask : number) : void;
stencilFuncSeparate(face : number, func : number, ref : number, mask : number) : void;
stencilMask(mask : number) : void;
stencilMaskSeparate(face : number, mask : number) : void;
stencilOp(fail : number, zfail : number, zpass : number) : void;
stencilOpSeparate(face : number, fail : number, zfail : number, zpass : number) : void;
texImage2D(target : number, level : number, internalformat : number, width : number, height : number, border : number, format : number, type : number, pixels : ArrayBufferView) : void;
texImage2D(target : number, level : number, internalformat : number, format : number, type : number, pixels : ImageData) : void;
texImage2D(target : number, level : number, internalformat : number, format : number, type : number, image : HTMLImageElement) : void;
texImage2D(target : number, level : number, internalformat : number, format : number, type : number, canvas : HTMLCanvasElement) : void;
texImage2D(target : number, level : number, internalformat : number, format : number, type : number, video : HTMLVideoElement) : void;
texParameterf(target : number, pname : number, param : number) : void;
texParameteri(target : number, pname : number, param : number) : void;
texSubImage2D(target : number, level : number, xoffset : number, yoffset : number, width : number, height : number, format : number, type : number, pixels : ArrayBufferView) : void;
texSubImage2D(target : number, level : number, xoffset : number, yoffset : number, format : number, type : number, pixels : ImageData) : void;
texSubImage2D(target : number, level : number, xoffset : number, yoffset : number, format : number, type : number, image : HTMLImageElement) : void;
texSubImage2D(target : number, level : number, xoffset : number, yoffset : number, format : number, type : number, canvas : HTMLCanvasElement) : void;
texSubImage2D(target : number, level : number, xoffset : number, yoffset : number, format : number, type : number, video : HTMLVideoElement) : void;
uniform1f(location : WebGLUniformLocation, x : number) : void;
uniform1fv(location : WebGLUniformLocation, v : Float32Array) : void;
uniform1fv(location : WebGLUniformLocation, v : number[]) : void;
uniform1i(location : WebGLUniformLocation, x : number) : void;
uniform1iv(location : WebGLUniformLocation, v : Int32Array) : void;
uniform1iv(location : WebGLUniformLocation, v : number[]) : void;
uniform2f(location : WebGLUniformLocation, x : number, y : number) : void;
uniform2fv(location : WebGLUniformLocation, v : Float32Array) : void;
uniform2fv(location : WebGLUniformLocation, v : number[]) : void;
uniform2i(location : WebGLUniformLocation, x : number, y : number) : void;
uniform2iv(location : WebGLUniformLocation, v : Int32Array) : void;
uniform2iv(location : WebGLUniformLocation, v : number[]) : void;
uniform3f(location : WebGLUniformLocation, x : number, y : number, z : number) : void;
uniform3fv(location : WebGLUniformLocation, v : Float32Array) : void;
uniform3fv(location : WebGLUniformLocation, v : number[]) : void;
uniform3i(location : WebGLUniformLocation, x : number, y : number, z : number) : void;
uniform3iv(location : WebGLUniformLocation, v : Int32Array) : void;
uniform3iv(location : WebGLUniformLocation, v : number[]) : void;
uniform4f(location : WebGLUniformLocation, x : number, y : number, z : number, w : number) : void;
uniform4fv(location : WebGLUniformLocation, v : Float32Array) : void;
uniform4fv(location : WebGLUniformLocation, v : number[]) : void;
uniform4i(location : WebGLUniformLocation, x : number, y : number, z : number, w : number) : void;
uniform4iv(location : WebGLUniformLocation, v : Int32Array) : void;
uniform4iv(location : WebGLUniformLocation, v : number[]) : void;
uniformMatrix2fv(location : WebGLUniformLocation, transpose : boolean, value : Float32Array) : void;
uniformMatrix2fv(location : WebGLUniformLocation, transpose : boolean, value : number[]) : void;
uniformMatrix3fv(location : WebGLUniformLocation, transpose : boolean, value : Float32Array) : void;
uniformMatrix3fv(location : WebGLUniformLocation, transpose : boolean, value : number[]) : void;
uniformMatrix4fv(location : WebGLUniformLocation, transpose : boolean, value : Float32Array) : void;
uniformMatrix4fv(location : WebGLUniformLocation, transpose : boolean, value : number[]) : void;
useProgram(program : WebGLProgram) : void;
validateProgram(program : WebGLProgram) : void;
vertexAttrib1f(indx : number, x : number) : void;
vertexAttrib1fv(indx : number, values : Float32Array) : void;
vertexAttrib1fv(indx : number, values : number[]) : void;
vertexAttrib2f(indx : number, x : number, y : number) : void;
vertexAttrib2fv(indx : number, values : Float32Array) : void;
vertexAttrib2fv(indx : number, values : number[]) : void;
vertexAttrib3f(indx : number, x : number, y : number, z : number) : void;
vertexAttrib3fv(indx : number, values : Float32Array) : void;
vertexAttrib3fv(indx : number, values : number[]) : void;
vertexAttrib4f(indx : number, x : number, y : number, z : number, w : number) : void;
vertexAttrib4fv(indx : number, values : Float32Array) : void;
vertexAttrib4fv(indx : number, values : number[]) : void;
vertexAttribPointer(indx : number, size : number, type : number, normalized : boolean, stride : number, offset : number) : void;
viewport(x : number, y : number, width : number, height : number) : void;
}
interface WebGLContextEvent extends Event {
statusMessage : string;
initWebGLContextEvent(typeArg : string, canBubbleArg : boolean, cancelableArg : boolean, statusMessageArg : string) : void;
}
//Extend the window object with cross Browser callbacks so TS will not complain
//Also add the (non-standard) Canvas Element parameter for performance improvement
interface WindowAnimationTiming {
requestAnimationFrame(callback: FrameRequestCallback, canvas ?: HTMLCanvasElement): number;
//msRequestAnimationFrame(callback: FrameRequestCallback, canvas ?: HTMLCanvasElement): number;
mozRequestAnimationFrame(callback: FrameRequestCallback, canvas ?: HTMLCanvasElement): number;
webkitRequestAnimationFrame(callback: FrameRequestCallback, canvas ?: HTMLCanvasElement): number;
oRequestAnimationFrame(callback: FrameRequestCallback, canvas ?: HTMLCanvasElement): number;
cancelRequestAnimationFrame(handle: number): void;
//msCancelRequestAnimationFrame(handle: number): void;
mozCancelRequestAnimationFrame(handle: number): void;
webkitCancelRequestAnimationFrame(handle: number): void;
oCancelRequestAnimationFrame(handle: number): void;
}
//To make WebGL work
interface HTMLCanvasElement {
getContext(contextId: string, params : {}): WebGLRenderingContext;
}