-
-
Notifications
You must be signed in to change notification settings - Fork 169
/
Copy pathKrom.hx
158 lines (151 loc) · 11.7 KB
/
Krom.hx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
extern class Krom {
static inline var KROM_API: Int = 6;
static function clear(flags: Int, color: Int, depth: Float, stencil: Int): Void;
static function createVertexShader(data: haxe.io.BytesData, name: String): Dynamic;
static function createVertexShaderFromSource(source: String): Dynamic;
static function createFragmentShader(data: haxe.io.BytesData, name: String): Dynamic;
static function createFragmentShaderFromSource(source: String): Dynamic;
static function createGeometryShader(data: haxe.io.BytesData, name: String): Dynamic;
static function createTessellationControlShader(data: haxe.io.BytesData, name: String): Dynamic;
static function createTessellationEvaluationShader(data: haxe.io.BytesData, name: String): Dynamic;
static function deleteShader(shader: Dynamic): Dynamic;
static function createPipeline(): Dynamic;
static function deletePipeline(pipeline: Dynamic): Dynamic;
static function compilePipeline(pipeline: Dynamic, structure0: Dynamic, structure1: Dynamic, structure2: Dynamic, structure3: Dynamic, length: Int,
vertexShader: Dynamic, fragmentShader: Dynamic, geometryShader: Dynamic, tessellationControlShader: Dynamic, tessellationEvaluationShader: Dynamic,
state: Dynamic): Void;
static function setPipeline(pipeline: Dynamic): Void;
static function getConstantLocation(pipeline: Dynamic, name: String): Dynamic;
static function getTextureUnit(pipeline: Dynamic, name: String): Dynamic;
static function setTexture(stage: kha.graphics4.TextureUnit, texture: Dynamic): Void;
static function setRenderTarget(stage: kha.graphics4.TextureUnit, renderTarget: Dynamic): Void;
static function setTextureDepth(unit: kha.graphics4.TextureUnit, texture: Dynamic): Void;
static function setImageTexture(stage: kha.graphics4.TextureUnit, texture: Dynamic): Void;
static function setTextureParameters(texunit: kha.graphics4.TextureUnit, uAddressing: Int, vAddressing: Int, minificationFilter: Int,
magnificationFilter: Int, mipmapFilter: Int): Void;
static function setTexture3DParameters(texunit: kha.graphics4.TextureUnit, uAddressing: Int, vAddressing: Int, wAddressing: Int, minificationFilter: Int,
magnificationFilter: Int, mipmapFilter: Int): Void;
static function setTextureCompareMode(texunit: kha.graphics4.TextureUnit, enabled: Bool): Void;
static function setCubeMapCompareMode(texunit: kha.graphics4.TextureUnit, enabled: Bool): Void;
static function setBool(location: kha.graphics4.ConstantLocation, value: Bool): Void;
static function setInt(location: kha.graphics4.ConstantLocation, value: Int): Void;
static function setFloat(location: kha.graphics4.ConstantLocation, value: Float): Void;
static function setFloat2(location: kha.graphics4.ConstantLocation, value1: Float, value2: Float): Void;
static function setFloat3(location: kha.graphics4.ConstantLocation, value1: Float, value2: Float, value3: Float): Void;
static function setFloat4(location: kha.graphics4.ConstantLocation, value1: Float, value2: Float, value3: Float, value4: Float): Void;
static function setFloats(location: kha.graphics4.ConstantLocation, values: js.lib.ArrayBuffer): Void;
static function setMatrix(location: kha.graphics4.ConstantLocation, matrix: js.lib.ArrayBuffer): Void;
static function setMatrix3(location: kha.graphics4.ConstantLocation, matrix: js.lib.ArrayBuffer): Void;
static function begin(renderTarget: kha.Canvas, additionalRenderTargets: Array<kha.Canvas>): Void;
static function beginFace(renderTarget: kha.Canvas, face: Int): Void;
static function end(): Void;
static function renderTargetsInvertedY(): Bool;
static function viewport(x: Int, y: Int, width: Int, height: Int): Void;
static function scissor(x: Int, y: Int, width: Int, height: Int): Void;
static function disableScissor(): Void;
static function createRenderTarget(width: Int, height: Int, depthBufferBits: Int, format: Int, stencilBufferBits: Int, contextId: Int): Dynamic;
static function createRenderTargetCubeMap(cubeMapSize: Int, depthBufferBits: Int, format: Int, stencilBufferBits: Int, contextId: Int): Dynamic;
static function createTexture(width: Int, height: Int, format: Int): Dynamic;
static function createTexture3D(width: Int, height: Int, depth: Int, format: Int): Dynamic;
static function createTextureFromBytes(data: haxe.io.BytesData, width: Int, height: Int, format: Int, readable: Bool): Dynamic;
static function createTextureFromBytes3D(data: haxe.io.BytesData, width: Int, height: Int, depth: Int, format: Int, readable: Bool): Dynamic;
static function createTextureFromEncodedBytes(data: haxe.io.BytesData, format: String, readable: Bool): Dynamic;
static function getTexturePixels(texture: Dynamic): haxe.io.BytesData;
static function getRenderTargetPixels(renderTarget: Dynamic, data: haxe.io.BytesData): Void;
static function lockTexture(texture: Dynamic, level: Int): js.lib.ArrayBuffer;
static function unlockTexture(texture: Dynamic): Void;
static function generateTextureMipmaps(texture: Dynamic, levels: Int): Void;
static function generateRenderTargetMipmaps(renderTarget: Dynamic, levels: Int): Void;
static function setMipmaps(texture: Dynamic, mipmaps: Array<kha.Image>): Void;
static function setDepthStencilFrom(target: Dynamic, source: Dynamic): Void;
static function clearTexture(target: Dynamic, x: Int, y: Int, z: Int, width: Int, height: Int, depth: Int, color: Int): Void;
static function createIndexBuffer(count: Int): Dynamic;
static function deleteIndexBuffer(buffer: Dynamic): Dynamic;
static function lockIndexBuffer(buffer: Dynamic): kha.arrays.Uint32Array;
static function unlockIndexBuffer(buffer: Dynamic): Void;
static function setIndexBuffer(buffer: Dynamic): Void;
static function createVertexBuffer(count: Int, structure: Array<kha.graphics4.VertexElement>, usage: Int, instanceDataStepRate: Int): Dynamic;
static function deleteVertexBuffer(buffer: Dynamic): Dynamic;
static function lockVertexBuffer(buffer: Dynamic, start: Int, count: Int): js.lib.ArrayBuffer;
static function unlockVertexBuffer(buffer: Dynamic, count: Int): Void;
static function setVertexBuffer(buffer: Dynamic): Void;
static function setVertexBuffers(vertexBuffers: Array<kha.graphics4.VertexBuffer>): Void;
static function drawIndexedVertices(start: Int, count: Int): Void;
static function drawIndexedVerticesInstanced(instanceCount: Int, start: Int, count: Int): Void;
static function loadImage(file: String, readable: Bool): Dynamic;
static function unloadImage(image: kha.Image): Void;
static function loadSound(file: String): Dynamic;
static function writeAudioBuffer(buffer: js.lib.ArrayBuffer, samples: Int): Void;
static function loadBlob(file: String): js.lib.ArrayBuffer;
static function init(title: String, width: Int, height: Int, samplesPerPixel: Int, vSync: Bool, windowMode: Int, windowFeatures: Int, kromApi: Int): Void;
static function log(v: Dynamic): Void;
static function setCallback(callback: Void->Void): Void;
static function setDropFilesCallback(callback: String->Void): Void;
static function setCutCopyPasteCallback(cutCallback: Void->String, copyCallback: Void->String, pasteCallback: String->Void): Void;
static function setApplicationStateCallback(foregroundCallback: Void->Void, resumeCallback: Void->Void, pauseCallback: Void->Void,
backgroundCallback: Void->Void, shutdownCallback: Void->Void): Void;
static function setKeyboardDownCallback(callback: Int->Void): Void;
static function setKeyboardUpCallback(callback: Int->Void): Void;
static function setKeyboardPressCallback(callback: Int->Void): Void;
static function setMouseDownCallback(callback: Int->Int->Int->Void): Void;
static function setMouseUpCallback(callback: Int->Int->Int->Void): Void;
static function setMouseMoveCallback(callback: Int->Int->Int->Int->Void): Void;
static function setMouseWheelCallback(callback: Int->Void): Void;
static function setPenDownCallback(callback: Int->Int->Float->Void): Void;
static function setPenUpCallback(callback: Int->Int->Float->Void): Void;
static function setPenMoveCallback(callback: Int->Int->Float->Void): Void;
static function setGamepadAxisCallback(callback: Int->Int->Float->Void): Void;
static function setGamepadButtonCallback(callback: Int->Int->Float->Void): Void;
static function lockMouse(): Void;
static function unlockMouse(): Void;
static function canLockMouse(): Bool;
static function isMouseLocked(): Bool;
static function setMousePosition(windowId: Int, x: Int, y: Int): Void;
static function showMouse(show: Bool): Void;
static function setAudioCallback(callback: Int->Void): Void;
static function getTime(): Float;
static function windowWidth(id: Int): Int;
static function windowHeight(id: Int): Int;
static function setWindowTitle(id: Int, title: String): Void;
static function screenDpi(): Int;
static function systemId(): String;
static function requestShutdown(): Void;
static function displayCount(): Int;
static function displayWidth(index: Int): Int;
static function displayHeight(index: Int): Int;
static function displayX(index: Int): Int;
static function displayY(index: Int): Int;
static function displayIsPrimary(index: Int): Bool;
static function writeStorage(name: String, data: haxe.io.BytesData): Void;
static function readStorage(name: String): haxe.io.BytesData;
static function fileSaveBytes(path: String, bytes: haxe.io.BytesData): Void;
static function sysCommand(cmd: String, ?args: Array<String>): Int;
static function savePath(): String;
static function getArgCount(): Int;
static function getArg(index: Int): String;
static function getFilesLocation(): String;
static function setBoolCompute(location: kha.compute.ConstantLocation, value: Bool): Void;
static function setIntCompute(location: kha.compute.ConstantLocation, value: Int): Void;
static function setFloatCompute(location: kha.compute.ConstantLocation, value: Float): Void;
static function setFloat2Compute(location: kha.compute.ConstantLocation, value1: Float, value2: Float): Void;
static function setFloat3Compute(location: kha.compute.ConstantLocation, value1: Float, value2: Float, value3: Float): Void;
static function setFloat4Compute(location: kha.compute.ConstantLocation, value1: Float, value2: Float, value3: Float, value4: Float): Void;
static function setFloatsCompute(location: kha.compute.ConstantLocation, values: js.lib.ArrayBuffer): Void;
static function setMatrixCompute(location: kha.compute.ConstantLocation, matrix: js.lib.ArrayBuffer): Void;
static function setMatrix3Compute(location: kha.compute.ConstantLocation, matrix: js.lib.ArrayBuffer): Void;
static function setTextureCompute(unit: kha.compute.TextureUnit, texture: Dynamic, access: Int): Void;
static function setRenderTargetCompute(unit: kha.compute.TextureUnit, renderTarget: Dynamic, access: Int): Void;
static function setSampledTextureCompute(unit: kha.compute.TextureUnit, texture: Dynamic): Void;
static function setSampledRenderTargetCompute(unit: kha.compute.TextureUnit, renderTarget: Dynamic): Void;
static function setSampledDepthTextureCompute(unit: kha.compute.TextureUnit, texture: Dynamic): Void;
static function setTextureParametersCompute(texunit: kha.compute.TextureUnit, uAddressing: Int, vAddressing: Int, minificationFilter: Int,
magnificationFilter: Int, mipmapFilter: Int): Void;
static function setTexture3DParametersCompute(texunit: kha.compute.TextureUnit, uAddressing: Int, vAddressing: Int, wAddressing: Int,
minificationFilter: Int, magnificationFilter: Int, mipmapFilter: Int): Void;
static function setShaderCompute(shader: Dynamic): Void;
static function deleteShaderCompute(shader: Dynamic): Void;
static function createShaderCompute(bytes: haxe.io.BytesData): Dynamic;
static function getConstantLocationCompute(shader: Dynamic, name: String): Dynamic;
static function getTextureUnitCompute(shader: Dynamic, name: String): Dynamic;
static function compute(x: Int, y: Int, z: Int): Void;
}