Created
January 27, 2016 10:19
-
-
Save kaorun343/1ebf645a84b491efc652 to your computer and use it in GitHub Desktop.
p5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Type definitions for p2.js v0.7.1 | |
// Project: https://github.com/processing/p5.js | |
// Definitions by: kaorun343 <https://github.com/kaorun343> | |
// Definitions: https://github.com/borisyankov/DefinitelyTyped | |
declare namespace p5js { | |
interface p5Prototype { | |
// core/constants.js | |
// GRAPHICS RENDERER | |
P2D: string; | |
WEBGL: string; | |
// ENVIRONMENT | |
ARROW: string; | |
CROSS: string; | |
HAND: string; | |
TEXT: string; | |
WAIT: string; | |
// TRIGONOMETRY | |
HALF_PI: number; | |
PI: number; | |
QUARTER_PI: number; | |
TAU: number; | |
TWO_PI: number; | |
DEGREES: string; | |
RADIANS: string; | |
// SHAPE | |
CORNER: string; | |
CORNERS: string; | |
RADIUS: string; | |
RIGHT: string; | |
LEFT: string; | |
CENTER: string; | |
TOP: string; | |
BOTTOM: string; | |
BASELINE: string; | |
POINTS: string; | |
LINES: string; | |
TRIANGLES: string; | |
TRIANGLES_FAN: string; | |
TRIANGLES_STRIP: string; | |
QUADS: string; | |
QUAD_STRIP: string; | |
CLOSE: string; | |
OPEN: string; | |
CHORD: string; | |
PIE: string; | |
PROJECT: string; | |
SQUARE: string; | |
ROUND: string; | |
BEVEL: string; | |
MITER: string; | |
// COLOR | |
RGB: string; | |
HSB: string; | |
HSL: string; | |
// DOM EXTENSION | |
AUTO: string; | |
// INPUT | |
ALT: number; | |
BACKSPACE: number; | |
CONTROL: number; | |
DELETE: number; | |
DOWN_ARROW: number; | |
ENTER: number; | |
ESCAPE: number; | |
LEFT_ARROW: number; | |
OPTION: number; | |
RETURN: number; | |
RIGHT_ARROW: number; | |
SHIFT: number; | |
TAB: number; | |
UP_ARROR: number; | |
// RENDERING | |
BLEND: string; | |
ADD: string; | |
DARKSET: string; | |
LIGHTSET: string; | |
DIFFERENCE: string; | |
EXCLUSION: string; | |
MULTIPLY: string; | |
SCREEN: string; | |
REPLACE: string; | |
OVERLAY: string; | |
HARD_LIGHT: string; | |
SOFT_LIGHT: string; | |
DODGE: string; | |
BURN: string; | |
// FILTERS | |
THRESHOLD: string; | |
GRAY: string; | |
OPAQUE: string; | |
INVERT: string; | |
POSTERIZE: string; | |
DILATE: string; | |
ERODE: string; | |
BLUR: string; | |
// TYPOGRAPHY | |
NORMAL: string; | |
ITALIC: string; | |
BOLD: string; | |
// VERTICES | |
LINEAR: string; | |
QUADRATIC: string; | |
BEZIER: string; | |
CURVE: string; | |
// core/2d_primitives.js | |
arc(a: number, b: number, c: number, d: number, start: number, stop: number, mode?: string): this; | |
ellipse(a: number, b: number, c: number, d: number): this; | |
line(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): this; | |
line(x1: number, y1: number, x2: number, y2: number): this; | |
point(x: number, y: number, z: number): this; | |
point(x: number, y: number): this; | |
quad(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number, x5: number, y5: number, x6: number, y6: number): this; | |
quad(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number): this; | |
rect(x: number, y: number, w: number, h: number, tl?: number, tr?: number, br?: number, bl?: number): this; | |
triangle(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, x3: number, y3: number, z3: number): this; | |
triangle(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): this; | |
// core/attributes.js | |
ellipseMode(mode: string): this; | |
noSmooth(): this; | |
rectMode(mode: string): this; | |
smooth(): this; | |
strokeCap(cap: string): this; | |
strokeJoin(join: string): this; | |
strokeWeight(weight: number): this; | |
// core/curves.js | |
bezier(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number): this; | |
bezierDetail(detail: number): this; | |
bezierPoint(a: number, b: number, c: number, d: number, t: number): number; | |
bezierTangent(a: number, b: number, c: number, d: number, t: number): number; | |
curve(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number): this; | |
curveDetail(detail: number): this; | |
curveTightness(tightness: number): void; | |
curvePoint(a: number, b: number, c: number, d: number, t: number): number; | |
curveTangent(a: number, b: number, c: number, d: number, t: number): number; | |
print(args: any): void; | |
println(args: any): void; | |
frameCount: number; | |
focused: boolean; | |
cursor(type: string, x: number, y: number): void; | |
frameRate(): number; | |
frameRate(fps: number): this; | |
getFrameRate(): number; | |
setFrameRate(fps: number): number; | |
noCursor(): void; | |
displayWidth: number; | |
displayHeight: number; | |
windowWidth: number; | |
windowHeight: number; | |
width: number; | |
height: number; | |
fullScrenn(val?: boolean): void; | |
pixelDensity(val: number): void; | |
pixelDensity(): number; | |
displayDensity(): number; | |
getURL(): string; | |
getURLPath(): string[]; | |
getURLParams(): { [key: string]: string }; | |
// core/rendering.js | |
createCanvas(w: number, h: number, renderer: string | boolean): p5Renderer2D; | |
resizeCanvas(w: number, h: number, noRedraw: boolean): void; | |
noCanvas(): void; | |
createGraphics(w: number, h: number, renderer: string): p5Graphics; | |
blendMode(mode: string): void; | |
// core/structure.js | |
noLoop(): void; | |
loop(): void; | |
push(): void; | |
pop(): void; | |
redraw(): void; | |
// core/transform.js | |
applyMatrix(n00: number, n01: number, n02: number, n10: number, n11: number, n12: number): this; | |
resetMatrix(): this; | |
rotate(rad: number, mode?: string): this; | |
rotateX(rad: number): this; | |
rotateY(rad: number): this; | |
rotateZ(rad: number): this; | |
scale(s: number | p5Vector | number[][]): this; | |
shearX(angle: number): this; | |
shearY(angle: number): this; | |
translate(x: number, y: number, z: number): this; | |
// core/vertex.js | |
beginContour(): this; | |
beginShape(kind: string): this; | |
bezierVertext(x2: number, y2: number, x3: number, y3: number, x4: number, y4: number): this; | |
curveVertext(x: number, y: number): this; | |
endContour(): this; | |
endShape(mode: string): this; | |
quadraticVertex(cx: number, cy: number, x3: number, y3: number): this; | |
vertex(x: number, y: number, moveTo: boolean); | |
// events/acceleration.js | |
deviceOrientation: string; | |
accelerationX: number; | |
accelerationY: number; | |
accelerationZ: number; | |
pAccelerationX: number; | |
pAccelerationY: number; | |
pAccelerationZ: number; | |
rotationX: number; | |
rotationY: number; | |
rotationZ: number; | |
pRotationX: number; | |
pRotationY: number; | |
pRotationZ: number; | |
turnAxis: any; | |
setMoveThreshold(val: number): void; | |
setShakeThreshold(val: number): void; | |
// events/keyboard.js | |
iskeyPressed: boolean; | |
keyIsPressed: boolean; | |
key: string; | |
keyCode: number; | |
keyIsDown(code: number): boolean; | |
} | |
interface p5 extends p5Prototype { | |
// core/core.js | |
setup(): void; | |
draw(): void; | |
// events/acceleration.js | |
deviceMoved(): void; | |
deviceTurned(): void; | |
deviceShaken(): void; | |
// events/keyboard.js | |
keyPressed(): void; | |
keyReleased(): void; | |
keyTyped(): void; | |
} | |
interface p5ElementPrototype { | |
parent(parent: p5Element): this; | |
id(): string; | |
id(id: string): this; | |
class(): string; | |
class(c: string): this; | |
mousePressed(fxn: Function): this; | |
mouseWheel(fxn: Function): this; | |
mouseReleased(fxn: Function): this; | |
mouseClicked(fxn: Function): this; | |
mouseMoved(fxn: Function): this; | |
mouseOver(fxn: Function): this; | |
changed(fxn: Function): this; | |
input(fxn: Function): this; | |
mouseOut(fxn: Function): this; | |
touchStarted(fxn: Function): this; | |
touchMoved(fxn: Function): this; | |
touchEnded(fxn: Function): this; | |
dragOver(fxn: Function): this; | |
dragLeave(fxn: Function): this; | |
drop(fxn: Function): this; | |
} | |
interface p5Element extends p5ElementPrototype { | |
elt: HTMLElement; | |
width: number; | |
height: number; | |
} | |
interface p5ElementStatic { | |
new (elt: HTMLElement, pInst?: p5): p5Element; | |
prototype: p5ElementPrototype; | |
} | |
interface p5GraphicsPrototype extends p5ElementPrototype, p5 { } | |
interface p5Graphics extends p5GraphicsPrototype, p5Element { | |
width: number; | |
height: number; | |
} | |
interface p5GraphicsStatic { | |
new (w: number, h: number, elt: string, pInst?: p5): p5Graphics; | |
prototype: p5GraphicsPrototype; | |
} | |
interface p5RendererPrototype extends p5ElementPrototype { | |
resize(w: number, h: number): void; | |
textLeading(l: number): this; | |
textLeading(): number; | |
textSize(s: number): p5; | |
textSize(): number; | |
textStyle(s: string): this; | |
textStyle(): p5; | |
textAscent(): any; | |
textDescent(): any; | |
} | |
interface p5Renderer extends p5RendererPrototype, p5Element { | |
canvas: HTMLCanvasElement; | |
} | |
interface p5RendererStatic { | |
new (elt: HTMLCanvasElement, pInst: p5, isMainCanvas: boolean): p5Renderer; | |
prototype: p5RendererPrototype; | |
} | |
interface p5Renderer2DPrototype extends p5RendererPrototype { | |
resize(w: number, h: number): void; | |
// color | setting | |
background(image?: p5Image): void; | |
clear(): void; | |
fill(): void; | |
stroke(): void; | |
// image | loading & displaying | |
image(img: any, sx: number, sy: number, sWidth: number, sHeight: number, dx: number, dy: number, dWidth: number, dHeight: number): void; | |
// image | pixels | |
blendmode(mode: string): void; | |
copy(pInst: p5, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void; | |
copy(sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void; | |
get(x: number, y: number, w: number, h: number): p5Image; | |
get(): p5Image; | |
get(x: number, y: number): p5Image; | |
loadPixels(): void; | |
set(x: number, y: number, imgOrCol: (p5Image | number | [number, number, number, number] | p5Color)): void; | |
updatePixels(x: number, y: number, w: number, h: number): void; | |
// shape | 2d primitives | |
arc(x: number, y: number, w: number, h: number, start: number, stop: number, mode: string): this; | |
ellipse(x: number, y: number, w: number, h: number): (this | void); | |
line(x1: number, y1: number, x2: number, y2: number): this; | |
point(x: number, y: number): (this | void); | |
quad(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number): this; | |
rect(x: number, y: number, w: number, h: number, tl?: number, tr?: number, br?: number, bl?: number): this; | |
triangle(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): (this | void); | |
endShape(mode: string, verticles: number[][], isCurve: boolean, isBezier: boolean, isQuadraic: boolean, isContour: boolean, shapeKind?: string): this; | |
// shape | attributes | |
noSmooth(): this; | |
smooth(): this; | |
strokeCap(cap: string): this; | |
strokeJoin(join: string): this; | |
strokeWeight(w: number): this; | |
// shape | curves | |
bezier(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number): this; | |
curve(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number): this; | |
// shape | vertex | |
// transform | |
applyMatrix(n00: number, n01: number, n02: number, n10: number, n11: number, n12: number): void; | |
resetMatrix(): this; | |
rotate(r: number): void; | |
scale(x: number, y: number): this; | |
shearX(angle: number): this; | |
shearY(angle: number): this; | |
translate(x: number, y: number): this; | |
// typography | |
text(str: string, x: number, y: number, maxWidth?: number, maxHeight?: number): p5; | |
textWidth(s: string): number; | |
textAlign(h: string, v: string): p5; | |
textAlign(): { horizontal: number, vertical: number }; | |
// structure | |
push(): void; | |
pop(): void; | |
} | |
interface p5Renderer2D extends p5Renderer2DPrototype, p5Renderer { | |
drawingContext: CanvasRenderingContext2D; | |
} | |
interface p5Renderer2DStatic { | |
new (elt: HTMLCanvasElement, pInst: p5, isMainCanvas: boolean): p5Renderer2D; | |
prototype: p5Renderer2DPrototype; | |
} | |
interface p5Image { } | |
interface p5Color { } | |
interface p5Vector { } | |
interface p5Static { | |
new (sketch: (sketch: p5) => void, node: HTMLElement, sync?: boolean): p5; | |
prototype: p5; | |
Element: p5ElementStatic; | |
Graphics: p5GraphicsStatic; | |
Renderer2D: p5Renderer2DStatic; | |
} | |
} | |
declare var p5: p5js.p5Static; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment