Skip to content

Commit 11f87c1

Browse files
authored
jso: Add Buffer support to WebGLRenderingContext methods (#1153)
1 parent 9764942 commit 11f87c1

1 file changed

Lines changed: 45 additions & 2 deletions

File tree

jso/apis/src/main/java/org/teavm/jso/webgl/WebGLRenderingContext.java

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
package org.teavm.jso.webgl;
1717

1818
import java.nio.Buffer;
19+
import java.nio.FloatBuffer;
20+
import java.nio.IntBuffer;
1921
import org.teavm.jso.JSByRef;
2022
import org.teavm.jso.JSMethod;
2123
import org.teavm.jso.JSObject;
@@ -421,17 +423,20 @@ public interface WebGLRenderingContext extends JSObject {
421423

422424
void blendFuncSeparate(int srcRGB, int dstRGB, int srcAlpha, int dstAlpha);
423425

424-
425426
void bufferData(int target, int size, int usage);
426427

427428
void bufferData(int target, ArrayBufferView data, int usage);
428429

429430
void bufferData(int target, ArrayBuffer data, int usage);
430431

432+
void bufferData(int target, Buffer data, int usage);
433+
431434
void bufferSubData(int target, int offset, ArrayBufferView data);
432435

433436
void bufferSubData(int target, int offset, ArrayBuffer data);
434437

438+
void bufferSubData(int target, int offset, Buffer data);
439+
435440
int checkFramebufferStatus(int target);
436441

437442
void clear(int mask);
@@ -449,14 +454,19 @@ public interface WebGLRenderingContext extends JSObject {
449454
void compressedTexImage2D(int target, int level, int internalformat, int width, int height, int border,
450455
ArrayBufferView data);
451456

457+
void compressedTexImage2D(int target, int level, int internalformat, int width, int height, int border,
458+
Buffer data);
459+
452460
void compressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format,
453461
ArrayBufferView data);
462+
463+
void compressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format,
464+
Buffer data);
454465

455466
void copyTexImage2D(int target, int level, int internalformat, int x, int y, int width, int height, int border);
456467

457468
void copyTexSubImage2D(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height);
458469

459-
460470
WebGLBuffer createBuffer();
461471

462472
WebGLFramebuffer createFramebuffer();
@@ -646,6 +656,9 @@ void texImage2D(int target, int level, int internalformat, int width, int height
646656
void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type,
647657
ArrayBufferView pixels);
648658

659+
void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type,
660+
Buffer pixels);
661+
649662
void texSubImage2D(int target, int level, int xoffset, int yoffset, int format, int type, ImageData pixels);
650663

651664
void texSubImage2D(int target, int level, int xoffset, int yoffset, int format, int type, HTMLImageElement image);
@@ -662,6 +675,8 @@ void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, i
662675

663676
void uniform1fv(WebGLUniformLocation location, @JSByRef(optional = true) float[] v);
664677

678+
void uniform1fv(WebGLUniformLocation location, FloatBuffer v);
679+
665680
void uniform1i(WebGLUniformLocation location, int x);
666681

667682
void uniform1iv(WebGLUniformLocation location, Int32Array v);
@@ -670,6 +685,8 @@ void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, i
670685

671686
void uniform1iv(WebGLUniformLocation location, @JSByRef(optional = true) int[] v);
672687

688+
void uniform1iv(WebGLUniformLocation location, IntBuffer v);
689+
673690
void uniform2f(WebGLUniformLocation location, float x, float y);
674691

675692
void uniform2fv(WebGLUniformLocation location, Float32Array v);
@@ -678,6 +695,8 @@ void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, i
678695

679696
void uniform2fv(WebGLUniformLocation location, @JSByRef(optional = true) float[] v);
680697

698+
void uniform2fv(WebGLUniformLocation location, FloatBuffer v);
699+
681700
void uniform2i(WebGLUniformLocation location, int x, int y);
682701

683702
void uniform2iv(WebGLUniformLocation location, Int32Array v);
@@ -686,6 +705,8 @@ void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, i
686705

687706
void uniform2iv(WebGLUniformLocation location, @JSByRef(optional = true) int[] v);
688707

708+
void uniform2iv(WebGLUniformLocation location, IntBuffer v);
709+
689710
void uniform3f(WebGLUniformLocation location, float x, float y, float z);
690711

691712
void uniform3fv(WebGLUniformLocation location, Float32Array v);
@@ -694,6 +715,8 @@ void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, i
694715

695716
void uniform3fv(WebGLUniformLocation location, @JSByRef(optional = true) float[] v);
696717

718+
void uniform3fv(WebGLUniformLocation location, FloatBuffer v);
719+
697720
void uniform3i(WebGLUniformLocation location, int x, int y, int z);
698721

699722
void uniform3iv(WebGLUniformLocation location, Int32Array v);
@@ -702,6 +725,8 @@ void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, i
702725

703726
void uniform3iv(WebGLUniformLocation location, @JSByRef(optional = true) int[] v);
704727

728+
void uniform3iv(WebGLUniformLocation location, IntBuffer v);
729+
705730
void uniform4f(WebGLUniformLocation location, float x, float y, float z, float w);
706731

707732
void uniform4fv(WebGLUniformLocation location, Float32Array v);
@@ -710,6 +735,8 @@ void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, i
710735

711736
void uniform4fv(WebGLUniformLocation location, @JSByRef(optional = true) float[] v);
712737

738+
void uniform4fv(WebGLUniformLocation location, FloatBuffer v);
739+
713740
void uniform4i(WebGLUniformLocation location, int x, int y, int z, int w);
714741

715742
void uniform4iv(WebGLUniformLocation location, Int32Array v);
@@ -718,24 +745,32 @@ void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, i
718745

719746
void uniform4iv(WebGLUniformLocation location, @JSByRef(optional = true) int[] v);
720747

748+
void uniform4iv(WebGLUniformLocation location, IntBuffer v);
749+
721750
void uniformMatrix2fv(WebGLUniformLocation location, boolean transpose, Float32Array value);
722751

723752
void uniformMatrix2fv(WebGLUniformLocation location, boolean transpose, JSArrayReader<JSNumber> value);
724753

725754
void uniformMatrix2fv(WebGLUniformLocation location, boolean transpose, @JSByRef(optional = true) float[] value);
726755

756+
void uniformMatrix2fv(WebGLUniformLocation location, boolean transpose, FloatBuffer value);
757+
727758
void uniformMatrix3fv(WebGLUniformLocation location, boolean transpose, Float32Array value);
728759

729760
void uniformMatrix3fv(WebGLUniformLocation location, boolean transpose, JSArrayReader<JSNumber> value);
730761

731762
void uniformMatrix3fv(WebGLUniformLocation location, boolean transpose, @JSByRef(optional = true) float[] value);
732763

764+
void uniformMatrix3fv(WebGLUniformLocation location, boolean transpose, FloatBuffer value);
765+
733766
void uniformMatrix4fv(WebGLUniformLocation location, boolean transpose, Float32Array value);
734767

735768
void uniformMatrix4fv(WebGLUniformLocation location, boolean transpose, JSArrayReader<JSNumber> value);
736769

737770
void uniformMatrix4fv(WebGLUniformLocation location, boolean transpose, @JSByRef(optional = true) float[] value);
738771

772+
void uniformMatrix4fv(WebGLUniformLocation location, boolean transpose, FloatBuffer value);
773+
739774
void useProgram(WebGLProgram program);
740775

741776
void validateProgram(WebGLProgram program);
@@ -748,6 +783,8 @@ void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, i
748783

749784
void vertexAttrib1fv(int indx, @JSByRef(optional = true) float[] values);
750785

786+
void vertexAttrib1fv(int indx, FloatBuffer values);
787+
751788
void vertexAttrib2f(int indx, float x, float y);
752789

753790
void vertexAttrib2fv(int indx, Float32Array values);
@@ -756,6 +793,8 @@ void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, i
756793

757794
void vertexAttrib2fv(int indx, @JSByRef(optional = true) float[] values);
758795

796+
void vertexAttrib2fv(int indx, FloatBuffer values);
797+
759798
void vertexAttrib3f(int indx, float x, float y, float z);
760799

761800
void vertexAttrib3fv(int indx, Float32Array values);
@@ -764,6 +803,8 @@ void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, i
764803

765804
void vertexAttrib3fv(int indx, @JSByRef(optional = true) float[] values);
766805

806+
void vertexAttrib3fv(int indx, FloatBuffer values);
807+
767808
void vertexAttrib4f(int indx, float x, float y, float z, float w);
768809

769810
void vertexAttrib4fv(int indx, Float32Array values);
@@ -772,6 +813,8 @@ void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, i
772813

773814
void vertexAttrib4fv(int indx, @JSByRef(optional = true) float[] values);
774815

816+
void vertexAttrib4fv(int indx, FloatBuffer values);
817+
775818
void vertexAttribPointer(int indx, int size, int type, boolean normalized, int stride, int offset);
776819

777820
void viewport(int x, int y, int width, int height);

0 commit comments

Comments
 (0)