mirror of
https://github.com/Eaglercraft-TeaVM-Fork/eagler-teavm.git
synced 2024-12-22 16:14:10 -08:00
WebGL wrappers. Additional core JS wrappers
This commit is contained in:
parent
871667cacb
commit
1b0b47985d
40
teavm-dom/src/main/java/org/teavm/dom/browser/Screen.java
Normal file
40
teavm-dom/src/main/java/org/teavm/dom/browser/Screen.java
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.dom.browser;
|
||||||
|
|
||||||
|
import org.teavm.jso.JSObject;
|
||||||
|
import org.teavm.jso.JSProperty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface Screen extends JSObject {
|
||||||
|
@JSProperty
|
||||||
|
int getWidth();
|
||||||
|
|
||||||
|
@JSProperty
|
||||||
|
int getHeight();
|
||||||
|
|
||||||
|
@JSProperty
|
||||||
|
int getAvailWidth();
|
||||||
|
|
||||||
|
@JSProperty
|
||||||
|
int getAvailHeight();
|
||||||
|
|
||||||
|
@JSProperty
|
||||||
|
int getColorDepth();
|
||||||
|
}
|
|
@ -32,6 +32,9 @@ public interface Window extends JSGlobal {
|
||||||
@JSProperty
|
@JSProperty
|
||||||
HTMLDocument getDocument();
|
HTMLDocument getDocument();
|
||||||
|
|
||||||
|
@JSProperty
|
||||||
|
Screen getScreen();
|
||||||
|
|
||||||
void alert(JSObject message);
|
void alert(JSObject message);
|
||||||
|
|
||||||
void alert(String message);
|
void alert(String message);
|
||||||
|
@ -67,4 +70,22 @@ public interface Window extends JSGlobal {
|
||||||
|
|
||||||
@JSConstructor("Uint8ClampedArray")
|
@JSConstructor("Uint8ClampedArray")
|
||||||
Int8Array createUintClamped8Array(ArrayBuffer buffer, int offset, int length);
|
Int8Array createUintClamped8Array(ArrayBuffer buffer, int offset, int length);
|
||||||
|
|
||||||
|
@JSConstructor("Int32Array")
|
||||||
|
Int8Array createInt32Array(int length);
|
||||||
|
|
||||||
|
@JSConstructor("Int32Array")
|
||||||
|
Int8Array createInt32Array(ArrayBuffer buffer);
|
||||||
|
|
||||||
|
@JSConstructor("Int32Array")
|
||||||
|
Int8Array createInt32Array(ArrayBuffer buffer, int offset, int length);
|
||||||
|
|
||||||
|
@JSConstructor("Float32Array")
|
||||||
|
Int8Array createFloat32Array(int length);
|
||||||
|
|
||||||
|
@JSConstructor("Float32Array")
|
||||||
|
Int8Array createFloat32Array(ArrayBuffer buffer);
|
||||||
|
|
||||||
|
@JSConstructor("Float32Array")
|
||||||
|
Int8Array createFloat32Array(ArrayBuffer buffer, int offset, int length);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.dom.typedarrays;
|
||||||
|
|
||||||
|
import org.teavm.jso.JSIndexer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface Float32Array extends ArrayBufferView {
|
||||||
|
@JSIndexer
|
||||||
|
float get(int index);
|
||||||
|
|
||||||
|
@JSIndexer
|
||||||
|
void set(int index, float value);
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.dom.typedarrays;
|
||||||
|
|
||||||
|
import org.teavm.jso.JSIndexer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface Int32Array extends ArrayBufferView {
|
||||||
|
@JSIndexer
|
||||||
|
int get(int index);
|
||||||
|
|
||||||
|
@JSIndexer
|
||||||
|
void set(int index, int value);
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.dom.webgl;
|
||||||
|
|
||||||
|
import org.teavm.jso.JSObject;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface WebGLActiveInfo extends JSObject {
|
||||||
|
|
||||||
|
}
|
|
@ -23,6 +23,6 @@ import org.teavm.jso.JSObject;
|
||||||
* @author Alexey Andreev
|
* @author Alexey Andreev
|
||||||
*/
|
*/
|
||||||
public interface WebGLContextAttributesFactory extends JSObject {
|
public interface WebGLContextAttributesFactory extends JSObject {
|
||||||
@JSConstructor("WebGLContextAttributes")
|
@JSConstructor("Object")
|
||||||
WebGLContextAttributes createWebGLContextAttributes();
|
WebGLContextAttributes createWebGLContextAttributes();
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,5 +22,4 @@ import org.teavm.jso.JSObject;
|
||||||
* @author Alexey Andreev
|
* @author Alexey Andreev
|
||||||
*/
|
*/
|
||||||
public interface WebGLProgram extends JSObject {
|
public interface WebGLProgram extends JSObject {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,12 +15,14 @@
|
||||||
*/
|
*/
|
||||||
package org.teavm.dom.webgl;
|
package org.teavm.dom.webgl;
|
||||||
|
|
||||||
|
import org.teavm.dom.canvas.ImageData;
|
||||||
import org.teavm.dom.html.HTMLCanvasElement;
|
import org.teavm.dom.html.HTMLCanvasElement;
|
||||||
|
import org.teavm.dom.html.HTMLImageElement;
|
||||||
import org.teavm.dom.typedarrays.ArrayBuffer;
|
import org.teavm.dom.typedarrays.ArrayBuffer;
|
||||||
import org.teavm.dom.typedarrays.ArrayBufferView;
|
import org.teavm.dom.typedarrays.ArrayBufferView;
|
||||||
import org.teavm.jso.JSArrayReader;
|
import org.teavm.dom.typedarrays.Float32Array;
|
||||||
import org.teavm.jso.JSObject;
|
import org.teavm.dom.typedarrays.Int32Array;
|
||||||
import org.teavm.jso.JSProperty;
|
import org.teavm.jso.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -385,7 +387,10 @@ public interface WebGLRenderingContext extends JSObject {
|
||||||
|
|
||||||
boolean isContextLost();
|
boolean isContextLost();
|
||||||
|
|
||||||
JSArrayReader<JSObject> getSupportedExtensions();
|
JSStringArrayReader getSupportedExtensions();
|
||||||
|
|
||||||
|
@JSMethod("getSupportedExtensions")
|
||||||
|
String[] getSupportedExtensionArray();
|
||||||
|
|
||||||
JSObject getExtension(String name);
|
JSObject getExtension(String name);
|
||||||
|
|
||||||
|
@ -437,4 +442,310 @@ public interface WebGLRenderingContext extends JSObject {
|
||||||
void colorMask(boolean red, boolean green, boolean blue, boolean alpha);
|
void colorMask(boolean red, boolean green, boolean blue, boolean alpha);
|
||||||
|
|
||||||
void compileShader(WebGLShader shader);
|
void compileShader(WebGLShader shader);
|
||||||
|
|
||||||
|
void compressedTexImage2D(int target, int level, int internalformat, int width, int height, int border,
|
||||||
|
ArrayBufferView data);
|
||||||
|
|
||||||
|
void compressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format,
|
||||||
|
ArrayBufferView data);
|
||||||
|
|
||||||
|
void copyTexImage2D(int target, int level, int internalformat, int x, int y, int width, int height, int border);
|
||||||
|
|
||||||
|
void copyTexSubImage2D(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height);
|
||||||
|
|
||||||
|
|
||||||
|
WebGLBuffer createBuffer();
|
||||||
|
|
||||||
|
WebGLFramebuffer createFramebuffer();
|
||||||
|
|
||||||
|
WebGLProgram createProgram();
|
||||||
|
|
||||||
|
WebGLRenderbuffer createRenderbuffer();
|
||||||
|
|
||||||
|
WebGLShader createShader(int type);
|
||||||
|
|
||||||
|
WebGLTexture createTexture();
|
||||||
|
|
||||||
|
void cullFace(int mode);
|
||||||
|
|
||||||
|
void deleteBuffer(WebGLBuffer buffer);
|
||||||
|
|
||||||
|
void deleteFramebuffer(WebGLFramebuffer framebuffer);
|
||||||
|
|
||||||
|
void deleteProgram(WebGLProgram program);
|
||||||
|
|
||||||
|
void deleteRenderbuffer(WebGLRenderbuffer renderbuffer);
|
||||||
|
|
||||||
|
void deleteShader(WebGLShader shader);
|
||||||
|
|
||||||
|
void deleteTexture(WebGLTexture texture);
|
||||||
|
|
||||||
|
void depthFunc(int func);
|
||||||
|
|
||||||
|
void depthMask(boolean flag);
|
||||||
|
|
||||||
|
void depthRange(float zNear, float zFar);
|
||||||
|
|
||||||
|
void detachShader(WebGLProgram program, WebGLShader shader);
|
||||||
|
|
||||||
|
void disable(int cap);
|
||||||
|
|
||||||
|
void disableVertexAttribArray(int index);
|
||||||
|
|
||||||
|
void drawArrays(int mode, int first, int count);
|
||||||
|
|
||||||
|
void drawElements(int mode, int count, int type, int offset);
|
||||||
|
|
||||||
|
void enable(int cap);
|
||||||
|
|
||||||
|
void enableVertexAttribArray(int index);
|
||||||
|
|
||||||
|
void finish();
|
||||||
|
|
||||||
|
void flush();
|
||||||
|
|
||||||
|
void framebufferRenderbuffer(int target, int attachment, int renderbuffertarget, WebGLRenderbuffer renderbuffer);
|
||||||
|
|
||||||
|
void framebufferTexture2D(int target, int attachment, int textarget, WebGLTexture texture, int level);
|
||||||
|
|
||||||
|
void frontFace(int mode);
|
||||||
|
|
||||||
|
void generateMipmap(int target);
|
||||||
|
|
||||||
|
WebGLActiveInfo getActiveAttrib(WebGLProgram program, int index);
|
||||||
|
|
||||||
|
WebGLActiveInfo getActiveUniform(WebGLProgram program, int index);
|
||||||
|
|
||||||
|
JSArrayReader<WebGLShader> getAttachedShaders(WebGLProgram program);
|
||||||
|
|
||||||
|
@JSMethod("getAttachedShaders")
|
||||||
|
WebGLShader[] getAttachedShadersArray(WebGLProgram program);
|
||||||
|
|
||||||
|
int getAttribLocation(WebGLProgram program, String name);
|
||||||
|
|
||||||
|
JSObject getBufferParameter(int target, int pname);
|
||||||
|
|
||||||
|
JSObject getParameter(int pname);
|
||||||
|
|
||||||
|
int getError();
|
||||||
|
|
||||||
|
JSObject getFramebufferAttachmentParameter(int target, int attachment, int pname);
|
||||||
|
|
||||||
|
JSObject getProgramParameter(WebGLProgram program, int pname);
|
||||||
|
|
||||||
|
String getProgramInfoLog(WebGLProgram program);
|
||||||
|
|
||||||
|
JSObject getRenderbufferParameter(int target, int pname);
|
||||||
|
|
||||||
|
JSObject getShaderParameter(WebGLShader shader, int pname);
|
||||||
|
|
||||||
|
WebGLShaderPrecisionFormat getShaderPrecisionFormat(int shadertype, int precisiontype);
|
||||||
|
|
||||||
|
String getShaderInfoLog(WebGLShader shader);
|
||||||
|
|
||||||
|
String getShaderSource(WebGLShader shader);
|
||||||
|
|
||||||
|
JSObject getTexParameter(int target, int pname);
|
||||||
|
|
||||||
|
JSObject getUniform(WebGLProgram program, WebGLUniformLocation location);
|
||||||
|
|
||||||
|
WebGLUniformLocation getUniformLocation(WebGLProgram program, String name);
|
||||||
|
|
||||||
|
JSObject getVertexAttrib(int index, int pname);
|
||||||
|
|
||||||
|
int getVertexAttribOffset(int index, int pname);
|
||||||
|
|
||||||
|
void hint(int target, int mode);
|
||||||
|
|
||||||
|
boolean isBuffer(WebGLBuffer buffer);
|
||||||
|
|
||||||
|
boolean isEnabled(int cap);
|
||||||
|
|
||||||
|
boolean isFramebuffer(WebGLFramebuffer framebuffer);
|
||||||
|
|
||||||
|
boolean isProgram(WebGLProgram program);
|
||||||
|
|
||||||
|
boolean isRenderbuffer(WebGLRenderbuffer renderbuffer);
|
||||||
|
|
||||||
|
boolean isShader(WebGLShader shader);
|
||||||
|
|
||||||
|
boolean isTexture(WebGLTexture texture);
|
||||||
|
|
||||||
|
void lineWidth(float width);
|
||||||
|
|
||||||
|
void linkProgram(WebGLProgram program);
|
||||||
|
|
||||||
|
void pixelStorei(int pname, int param);
|
||||||
|
|
||||||
|
void polygonOffset(float factor, float units);
|
||||||
|
|
||||||
|
void readPixels(int x, int y, int width, int height, int format, int type, ArrayBufferView pixels);
|
||||||
|
|
||||||
|
void renderbufferStorage(int target, int internalformat, int width, int height);
|
||||||
|
|
||||||
|
void sampleCoverage(float value, boolean invert);
|
||||||
|
|
||||||
|
void scissor(int x, int y, int width, int height);
|
||||||
|
|
||||||
|
void shaderSource(WebGLShader shader, String source);
|
||||||
|
|
||||||
|
void stencilFunc(int func, int ref, int mask);
|
||||||
|
|
||||||
|
void stencilFuncSeparate(int face, int func, int ref, int mask);
|
||||||
|
|
||||||
|
void stencilMask(int mask);
|
||||||
|
|
||||||
|
void stencilMaskSeparate(int face, int mask);
|
||||||
|
|
||||||
|
void stencilOp(int fail, int zfail, int zpass);
|
||||||
|
|
||||||
|
void stencilOpSeparate(int face, int fail, int zfail, int zpass);
|
||||||
|
|
||||||
|
void texImage2D(int target, int level, int internalformat, int width, int height, int border, int format,
|
||||||
|
int type, ArrayBufferView pixels);
|
||||||
|
|
||||||
|
void texImage2D(int target, int level, int internalformat, int format, int type, ImageData pixels);
|
||||||
|
|
||||||
|
void texImage2D(int target, int level, int internalformat, int format, int type, HTMLImageElement image);
|
||||||
|
|
||||||
|
void texImage2D(int target, int level, int internalformat, int format, int type, HTMLCanvasElement canvas);
|
||||||
|
|
||||||
|
//void texImage2D(int target, int level, int internalformat, int format, int type, HTMLVideoElement video);
|
||||||
|
|
||||||
|
void texParameterf(int target, int pname, float param);
|
||||||
|
|
||||||
|
void texParameteri(int target, int pname, int param);
|
||||||
|
|
||||||
|
void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type,
|
||||||
|
ArrayBufferView pixels);
|
||||||
|
|
||||||
|
void texSubImage2D(int target, int level, int xoffset, int yoffset, int format, int type, ImageData pixels);
|
||||||
|
|
||||||
|
void texSubImage2D(int target, int level, int xoffset, int yoffset, int format, int type, HTMLImageElement image);
|
||||||
|
|
||||||
|
void texSubImage2D(int target, int level, int xoffset, int yoffset, int format, int type, HTMLCanvasElement canvas);
|
||||||
|
|
||||||
|
//void texSubImage2D(int target, int level, int xoffset, int yoffset, int format, int type, HTMLVideoElement video);
|
||||||
|
|
||||||
|
void uniform1f(WebGLUniformLocation location, float x);
|
||||||
|
|
||||||
|
void uniform1fv(WebGLUniformLocation location, Float32Array v);
|
||||||
|
|
||||||
|
void uniform1fv(WebGLUniformLocation location, JSFloatArrayReader v);
|
||||||
|
|
||||||
|
void uniform1fv(WebGLUniformLocation location, float[] v);
|
||||||
|
|
||||||
|
void uniform1i(WebGLUniformLocation location, int x);
|
||||||
|
|
||||||
|
void uniform1iv(WebGLUniformLocation location, Int32Array v);
|
||||||
|
|
||||||
|
void uniform1iv(WebGLUniformLocation location, JSIntArrayReader v);
|
||||||
|
|
||||||
|
void uniform1iv(WebGLUniformLocation location, int[] v);
|
||||||
|
|
||||||
|
void uniform2f(WebGLUniformLocation location, float x, float y);
|
||||||
|
|
||||||
|
void uniform2fv(WebGLUniformLocation location, Float32Array v);
|
||||||
|
|
||||||
|
void uniform2fv(WebGLUniformLocation location, JSFloatArrayReader v);
|
||||||
|
|
||||||
|
void uniform2fv(WebGLUniformLocation location, float[] v);
|
||||||
|
|
||||||
|
void uniform2i(WebGLUniformLocation location, int x, int y);
|
||||||
|
|
||||||
|
void uniform2iv(WebGLUniformLocation location, Int32Array v);
|
||||||
|
|
||||||
|
void uniform2iv(WebGLUniformLocation location, JSIntArrayReader v);
|
||||||
|
|
||||||
|
void uniform2iv(WebGLUniformLocation location, int[] v);
|
||||||
|
|
||||||
|
void uniform3f(WebGLUniformLocation location, float x, float y, float z);
|
||||||
|
|
||||||
|
void uniform3fv(WebGLUniformLocation location, Float32Array v);
|
||||||
|
|
||||||
|
void uniform3fv(WebGLUniformLocation location, JSFloatArrayReader v);
|
||||||
|
|
||||||
|
void uniform3fv(WebGLUniformLocation location, float[] v);
|
||||||
|
|
||||||
|
void uniform3i(WebGLUniformLocation location, int x, int y, int z);
|
||||||
|
|
||||||
|
void uniform3iv(WebGLUniformLocation location, Int32Array v);
|
||||||
|
|
||||||
|
void uniform3iv(WebGLUniformLocation location, JSIntArrayReader v);
|
||||||
|
|
||||||
|
void uniform3iv(WebGLUniformLocation location, int[] v);
|
||||||
|
|
||||||
|
void uniform4f(WebGLUniformLocation location, float x, float y, float z, float w);
|
||||||
|
|
||||||
|
void uniform4fv(WebGLUniformLocation location, Float32Array v);
|
||||||
|
|
||||||
|
void uniform4fv(WebGLUniformLocation location, JSFloatArrayReader v);
|
||||||
|
|
||||||
|
void uniform4fv(WebGLUniformLocation location, float[] v);
|
||||||
|
|
||||||
|
void uniform4i(WebGLUniformLocation location, int x, int y, int z, int w);
|
||||||
|
|
||||||
|
void uniform4iv(WebGLUniformLocation location, Int32Array v);
|
||||||
|
|
||||||
|
void uniform4iv(WebGLUniformLocation location, JSIntArrayReader v);
|
||||||
|
|
||||||
|
void uniform4iv(WebGLUniformLocation location, int[] v);
|
||||||
|
|
||||||
|
void uniformMatrix2fv(WebGLUniformLocation location, boolean transpose, Float32Array value);
|
||||||
|
|
||||||
|
void uniformMatrix2fv(WebGLUniformLocation location, boolean transpose, JSFloatArrayReader value);
|
||||||
|
|
||||||
|
void uniformMatrix2fv(WebGLUniformLocation location, boolean transpose, float[] value);
|
||||||
|
|
||||||
|
void uniformMatrix3fv(WebGLUniformLocation location, boolean transpose, Float32Array value);
|
||||||
|
|
||||||
|
void uniformMatrix3fv(WebGLUniformLocation location, boolean transpose, JSFloatArrayReader value);
|
||||||
|
|
||||||
|
void uniformMatrix3fv(WebGLUniformLocation location, boolean transpose, float[] value);
|
||||||
|
|
||||||
|
void uniformMatrix4fv(WebGLUniformLocation location, boolean transpose, Float32Array value);
|
||||||
|
|
||||||
|
void uniformMatrix4fv(WebGLUniformLocation location, boolean transpose, JSFloatArrayReader value);
|
||||||
|
|
||||||
|
void uniformMatrix4fv(WebGLUniformLocation location, boolean transpose, float[] value);
|
||||||
|
|
||||||
|
void useProgram(WebGLProgram program);
|
||||||
|
|
||||||
|
void validateProgram(WebGLProgram program);
|
||||||
|
|
||||||
|
void vertexAttrib1f(int indx, float x);
|
||||||
|
|
||||||
|
void vertexAttrib1fv(int indx, Float32Array values);
|
||||||
|
|
||||||
|
void vertexAttrib1fv(int indx, JSFloatArrayReader values);
|
||||||
|
|
||||||
|
void vertexAttrib1fv(int indx, float[] values);
|
||||||
|
|
||||||
|
void vertexAttrib2f(int indx, float x, float y);
|
||||||
|
|
||||||
|
void vertexAttrib2fv(int indx, Float32Array values);
|
||||||
|
|
||||||
|
void vertexAttrib2fv(int indx, JSFloatArrayReader values);
|
||||||
|
|
||||||
|
void vertexAttrib2fv(int indx, float[] values);
|
||||||
|
|
||||||
|
void vertexAttrib3f(int indx, float x, float y, float z);
|
||||||
|
|
||||||
|
void vertexAttrib3fv(int indx, Float32Array values);
|
||||||
|
|
||||||
|
void vertexAttrib3fv(int indx, JSFloatArrayReader values);
|
||||||
|
|
||||||
|
void vertexAttrib3fv(int indx, float[] values);
|
||||||
|
|
||||||
|
void vertexAttrib4f(int indx, float x, float y, float z, float w);
|
||||||
|
|
||||||
|
void vertexAttrib4fv(int indx, Float32Array values);
|
||||||
|
|
||||||
|
void vertexAttrib4fv(int indx, JSFloatArrayReader values);
|
||||||
|
|
||||||
|
void vertexAttrib4fv(int indx, float[] values);
|
||||||
|
|
||||||
|
void vertexAttribPointer(int indx, int size, int type, boolean normalized, int stride, int offset);
|
||||||
|
|
||||||
|
void viewport(int x, int y, int width, int height);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.dom.webgl;
|
||||||
|
|
||||||
|
import org.teavm.jso.JSObject;
|
||||||
|
import org.teavm.jso.JSProperty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface WebGLShaderPrecisionFormat extends JSObject {
|
||||||
|
@JSProperty
|
||||||
|
int getRangeMin();
|
||||||
|
|
||||||
|
@JSProperty
|
||||||
|
int getRangeMax();
|
||||||
|
|
||||||
|
@JSProperty
|
||||||
|
int getPrecision();
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.dom.webgl;
|
||||||
|
|
||||||
|
import org.teavm.jso.JSObject;
|
||||||
|
import org.teavm.jso.JSProperty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface WebGLUniformLocation extends JSObject {
|
||||||
|
@JSProperty
|
||||||
|
int getSize();
|
||||||
|
|
||||||
|
@JSProperty
|
||||||
|
int getType();
|
||||||
|
|
||||||
|
@JSProperty
|
||||||
|
String getName();
|
||||||
|
}
|
|
@ -47,6 +47,12 @@ public final class JS {
|
||||||
|
|
||||||
public static native <T extends JSObject> JSArray<T> createArray(int size);
|
public static native <T extends JSObject> JSArray<T> createArray(int size);
|
||||||
|
|
||||||
|
public static native JSIntArray createIntArray(int size);
|
||||||
|
|
||||||
|
public static native JSStringArray createStringArray(int size);
|
||||||
|
|
||||||
|
public static native JSFloatArray createFloatArray(int size);
|
||||||
|
|
||||||
@InjectedBy(JSNativeGenerator.class)
|
@InjectedBy(JSNativeGenerator.class)
|
||||||
public static native JSObject getTypeName(JSObject obj);
|
public static native JSObject getTypeName(JSObject obj);
|
||||||
|
|
||||||
|
@ -95,6 +101,78 @@ public final class JS {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static JSIntArray wrap(int[] array) {
|
||||||
|
JSIntArray result = createIntArray(array.length);
|
||||||
|
for (int i = 0; i < array.length; ++i) {
|
||||||
|
result.set(i, array[i]);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static JSArray<JSIntArray> wrap(int[][] array) {
|
||||||
|
JSArray<JSIntArray> result = createArray(array.length);
|
||||||
|
for (int i = 0; i < array.length; ++i) {
|
||||||
|
result.set(i, wrap(array[i]));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static JSArray<JSArray<JSIntArray>> wrap(int[][][] array) {
|
||||||
|
JSArray<JSArray<JSIntArray>> result = createArray(array.length);
|
||||||
|
for (int i = 0; i < array.length; ++i) {
|
||||||
|
result.set(i, wrap(array[i]));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static JSStringArray wrap(String[] array) {
|
||||||
|
JSStringArray result = createStringArray(array.length);
|
||||||
|
for (int i = 0; i < array.length; ++i) {
|
||||||
|
result.set(i, array[i]);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static JSArray<JSStringArray> wrap(String[][] array) {
|
||||||
|
JSArray<JSStringArray> result = createArray(array.length);
|
||||||
|
for (int i = 0; i < array.length; ++i) {
|
||||||
|
result.set(i, wrap(array[i]));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static JSArray<JSArray<JSStringArray>> wrap(String[][][] array) {
|
||||||
|
JSArray<JSArray<JSStringArray>> result = createArray(array.length);
|
||||||
|
for (int i = 0; i < array.length; ++i) {
|
||||||
|
result.set(i, wrap(array[i]));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static JSFloatArray wrap(float[] array) {
|
||||||
|
JSFloatArray result = createFloatArray(array.length);
|
||||||
|
for (int i = 0; i < array.length; ++i) {
|
||||||
|
result.set(i, array[i]);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static JSArray<JSFloatArray> wrap(float[][] array) {
|
||||||
|
JSArray<JSFloatArray> result = createArray(array.length);
|
||||||
|
for (int i = 0; i < array.length; ++i) {
|
||||||
|
result.set(i, wrap(array[i]));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static JSArray<JSArray<JSFloatArray>> wrap(float[][][] array) {
|
||||||
|
JSArray<JSArray<JSFloatArray>> result = createArray(array.length);
|
||||||
|
for (int i = 0; i < array.length; ++i) {
|
||||||
|
result.set(i, wrap(array[i]));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@InjectedBy(JSNativeGenerator.class)
|
@InjectedBy(JSNativeGenerator.class)
|
||||||
public static native boolean unwrapBoolean(JSObject obj);
|
public static native boolean unwrapBoolean(JSObject obj);
|
||||||
|
|
||||||
|
|
|
@ -37,13 +37,13 @@ public interface JSArray<T extends JSObject> extends JSArrayReader<T> {
|
||||||
|
|
||||||
String join();
|
String join();
|
||||||
|
|
||||||
JSArray<T> concat(JSArray<T> a);
|
JSArray<T> concat(JSArrayReader<T> a);
|
||||||
|
|
||||||
JSArray<T> concat(JSArray<T> a, JSArray<T> b);
|
JSArray<T> concat(JSArrayReader<T> a, JSArrayReader<T> b);
|
||||||
|
|
||||||
JSArray<T> concat(JSArray<T> a, JSArray<T> b, JSArray<T> c);
|
JSArray<T> concat(JSArrayReader<T> a, JSArrayReader<T> b, JSArrayReader<T> c);
|
||||||
|
|
||||||
JSArray<T> concat(JSArray<T> a, JSArray<T> b, JSArray<T> c, JSArray<T> d);
|
JSArray<T> concat(JSArrayReader<T> a, JSArrayReader<T> b, JSArrayReader<T> c, JSArrayReader<T> d);
|
||||||
|
|
||||||
T pop();
|
T pop();
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.jso;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface JSBooleanArrayReader extends JSObject {
|
||||||
|
@JSProperty
|
||||||
|
int getLength();
|
||||||
|
|
||||||
|
@JSIndexer
|
||||||
|
boolean get(int index);
|
||||||
|
}
|
28
teavm-jso/src/main/java/org/teavm/jso/JSByteArrayReader.java
Normal file
28
teavm-jso/src/main/java/org/teavm/jso/JSByteArrayReader.java
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.jso;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface JSByteArrayReader extends JSObject {
|
||||||
|
@JSProperty
|
||||||
|
int getLength();
|
||||||
|
|
||||||
|
@JSIndexer
|
||||||
|
byte get(int index);
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.jso;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface JSDoubleArrayReader extends JSObject {
|
||||||
|
@JSProperty
|
||||||
|
int getLength();
|
||||||
|
|
||||||
|
@JSIndexer
|
||||||
|
double get(int index);
|
||||||
|
}
|
24
teavm-jso/src/main/java/org/teavm/jso/JSFloatArray.java
Normal file
24
teavm-jso/src/main/java/org/teavm/jso/JSFloatArray.java
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.jso;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface JSFloatArray extends JSFloatArrayReader {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,83 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.jso;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface JSFloatArrayReader extends JSObject {
|
||||||
|
@JSProperty
|
||||||
|
int getLength();
|
||||||
|
|
||||||
|
@JSIndexer
|
||||||
|
float get(int index);
|
||||||
|
|
||||||
|
@JSIndexer
|
||||||
|
void set(int index, float value);
|
||||||
|
|
||||||
|
int push(float a);
|
||||||
|
|
||||||
|
int push(float a, float b);
|
||||||
|
|
||||||
|
int push(float a, float b, float c);
|
||||||
|
|
||||||
|
int push(float a, float b, float c, float d);
|
||||||
|
|
||||||
|
float shift();
|
||||||
|
|
||||||
|
String join(String separator);
|
||||||
|
|
||||||
|
String join();
|
||||||
|
|
||||||
|
JSFloatArray concat(JSFloatArrayReader a);
|
||||||
|
|
||||||
|
JSFloatArray concat(JSFloatArray a, JSFloatArray b);
|
||||||
|
|
||||||
|
JSFloatArray concat(JSFloatArray a, JSFloatArray b, JSFloatArray c);
|
||||||
|
|
||||||
|
JSFloatArray concat(JSFloatArray a, JSFloatArray b, JSFloatArray c, JSFloatArray d);
|
||||||
|
|
||||||
|
float pop();
|
||||||
|
|
||||||
|
int unshift(float a);
|
||||||
|
|
||||||
|
int unshift(float a, float b);
|
||||||
|
|
||||||
|
int unshift(float a, float b, float c);
|
||||||
|
|
||||||
|
int unshift(float a, float b, float c, float d);
|
||||||
|
|
||||||
|
JSFloatArray slice(int start);
|
||||||
|
|
||||||
|
JSFloatArray slice(int start, int end);
|
||||||
|
|
||||||
|
JSFloatArray reverse();
|
||||||
|
|
||||||
|
JSFloatArray sort(JSFloatSortFunction function);
|
||||||
|
|
||||||
|
JSFloatArray sort();
|
||||||
|
|
||||||
|
JSFloatArray splice(int start, int count);
|
||||||
|
|
||||||
|
JSFloatArray splice(int start, int count, float a);
|
||||||
|
|
||||||
|
JSFloatArray splice(int start, int count, float a, float b);
|
||||||
|
|
||||||
|
JSFloatArray splice(int start, int count, float a, float b, float c);
|
||||||
|
|
||||||
|
JSFloatArray splice(int start, int count, float a, float b, float c, float d);
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.jso;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
@JSFunctor
|
||||||
|
public interface JSFloatSortFunction {
|
||||||
|
int compare(float a, float b);
|
||||||
|
}
|
|
@ -28,4 +28,22 @@ public interface JSGlobal extends JSObject {
|
||||||
|
|
||||||
@JSConstructor
|
@JSConstructor
|
||||||
<T extends JSObject> JSArray<T> newArray(int sz);
|
<T extends JSObject> JSArray<T> newArray(int sz);
|
||||||
|
|
||||||
|
@JSConstructor("Array")
|
||||||
|
JSStringArray newStringArray();
|
||||||
|
|
||||||
|
@JSConstructor("Array")
|
||||||
|
JSStringArray newStringArray(int sz);
|
||||||
|
|
||||||
|
@JSConstructor("Array")
|
||||||
|
JSIntArray newIntArray();
|
||||||
|
|
||||||
|
@JSConstructor("Array")
|
||||||
|
JSIntArray newIntArray(int sz);
|
||||||
|
|
||||||
|
@JSConstructor("Array")
|
||||||
|
JSFloatArray newFloatArray();
|
||||||
|
|
||||||
|
@JSConstructor("Array")
|
||||||
|
JSFloatArray newFloatArray(int sz);
|
||||||
}
|
}
|
||||||
|
|
77
teavm-jso/src/main/java/org/teavm/jso/JSIntArray.java
Normal file
77
teavm-jso/src/main/java/org/teavm/jso/JSIntArray.java
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.jso;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface JSIntArray extends JSIntArrayReader {
|
||||||
|
@JSIndexer
|
||||||
|
void set(int index, int value);
|
||||||
|
|
||||||
|
int push(int a);
|
||||||
|
|
||||||
|
int push(int a, int b);
|
||||||
|
|
||||||
|
int push(int a, int b, int c);
|
||||||
|
|
||||||
|
int push(int a, int b, int c, int d);
|
||||||
|
|
||||||
|
int shift();
|
||||||
|
|
||||||
|
int join(int separator);
|
||||||
|
|
||||||
|
int join();
|
||||||
|
|
||||||
|
JSIntArray concat(JSIntArrayReader a);
|
||||||
|
|
||||||
|
JSIntArray concat(JSIntArrayReader a, JSIntArrayReader b);
|
||||||
|
|
||||||
|
JSIntArray concat(JSIntArrayReader a, JSIntArrayReader b, JSIntArrayReader c);
|
||||||
|
|
||||||
|
JSIntArray concat(JSIntArrayReader a, JSIntArrayReader b, JSIntArrayReader c, JSIntArrayReader d);
|
||||||
|
|
||||||
|
int pop();
|
||||||
|
|
||||||
|
int unshift(int a);
|
||||||
|
|
||||||
|
int unshift(int a, int b);
|
||||||
|
|
||||||
|
int unshift(int a, int b, int c);
|
||||||
|
|
||||||
|
int unshift(int a, int b, int c, int d);
|
||||||
|
|
||||||
|
JSIntArray slice(int start);
|
||||||
|
|
||||||
|
JSIntArray slice(int start, int end);
|
||||||
|
|
||||||
|
JSIntArray reverse();
|
||||||
|
|
||||||
|
JSIntArray sort(JSIntSortFunction function);
|
||||||
|
|
||||||
|
JSIntArray sort();
|
||||||
|
|
||||||
|
JSIntArray splice(int start, int count);
|
||||||
|
|
||||||
|
JSIntArray splice(int start, int count, int a);
|
||||||
|
|
||||||
|
JSIntArray splice(int start, int count, int a, int b);
|
||||||
|
|
||||||
|
JSIntArray splice(int start, int count, int a, int b, int c);
|
||||||
|
|
||||||
|
JSIntArray splice(int start, int count, int a, int b, int c, int d);
|
||||||
|
}
|
28
teavm-jso/src/main/java/org/teavm/jso/JSIntArrayReader.java
Normal file
28
teavm-jso/src/main/java/org/teavm/jso/JSIntArrayReader.java
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.jso;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface JSIntArrayReader extends JSObject {
|
||||||
|
@JSProperty
|
||||||
|
int getLength();
|
||||||
|
|
||||||
|
@JSIndexer
|
||||||
|
int get(int index);
|
||||||
|
}
|
25
teavm-jso/src/main/java/org/teavm/jso/JSIntSortFunction.java
Normal file
25
teavm-jso/src/main/java/org/teavm/jso/JSIntSortFunction.java
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.jso;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
@JSFunctor
|
||||||
|
public interface JSIntSortFunction extends JSObject {
|
||||||
|
int compare(int a, int b);
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.jso;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface JSShortArrayReader extends JSObject {
|
||||||
|
@JSProperty
|
||||||
|
int getLength();
|
||||||
|
|
||||||
|
@JSIndexer
|
||||||
|
short get(int index);
|
||||||
|
}
|
77
teavm-jso/src/main/java/org/teavm/jso/JSStringArray.java
Normal file
77
teavm-jso/src/main/java/org/teavm/jso/JSStringArray.java
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.jso;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
public interface JSStringArray extends JSStringArrayReader {
|
||||||
|
@JSIndexer
|
||||||
|
void set(int index, String value);
|
||||||
|
|
||||||
|
int push(String a);
|
||||||
|
|
||||||
|
int push(String a, String b);
|
||||||
|
|
||||||
|
int push(String a, String b, String c);
|
||||||
|
|
||||||
|
int push(String a, String b, String c, String d);
|
||||||
|
|
||||||
|
String shift();
|
||||||
|
|
||||||
|
String join(String separator);
|
||||||
|
|
||||||
|
String join();
|
||||||
|
|
||||||
|
JSStringArray concat(JSStringArrayReader a);
|
||||||
|
|
||||||
|
JSStringArray concat(JSStringArrayReader a, JSStringArrayReader b);
|
||||||
|
|
||||||
|
JSStringArray concat(JSStringArrayReader a, JSStringArrayReader b, JSStringArrayReader c);
|
||||||
|
|
||||||
|
JSStringArray concat(JSStringArrayReader a, JSStringArrayReader b, JSStringArrayReader c, JSStringArrayReader d);
|
||||||
|
|
||||||
|
String pop();
|
||||||
|
|
||||||
|
int unshift(String a);
|
||||||
|
|
||||||
|
int unshift(String a, String b);
|
||||||
|
|
||||||
|
int unshift(String a, String b, String c);
|
||||||
|
|
||||||
|
int unshift(String a, String b, String c, String d);
|
||||||
|
|
||||||
|
JSStringArray slice(int start);
|
||||||
|
|
||||||
|
JSStringArray slice(int start, int end);
|
||||||
|
|
||||||
|
JSStringArray reverse();
|
||||||
|
|
||||||
|
JSStringArray sort(JSStringSortFunction function);
|
||||||
|
|
||||||
|
JSStringArray sort();
|
||||||
|
|
||||||
|
JSStringArray splice(int start, int count);
|
||||||
|
|
||||||
|
JSStringArray splice(int start, int count, String a);
|
||||||
|
|
||||||
|
JSStringArray splice(int start, int count, String a, String b);
|
||||||
|
|
||||||
|
JSStringArray splice(int start, int count, String a, String b, String c);
|
||||||
|
|
||||||
|
JSStringArray splice(int start, int count, String a, String b, String c, String d);
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2015 Alexey Andreev.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.teavm.jso;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alexey Andreev <konsoletyper@gmail.com>
|
||||||
|
*/
|
||||||
|
@JSFunctor
|
||||||
|
public interface JSStringSortFunction extends JSObject {
|
||||||
|
int compare(String a, String b);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user