typescript-closure-tools
Version:
Command-line tools to convert closure-style JSDoc annotations to typescript, and to convert typescript sources to closure externs files
448 lines (378 loc) • 10.5 kB
TypeScript
// 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[];
}