diff --git a/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContext.idl b/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContext.idl index 75b2dbe79ee..f5cc645ae82 100644 --- a/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContext.idl +++ b/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContext.idl @@ -1,4 +1,5 @@ #import +#import // https://registry.khronos.org/webgl/specs/latest/1.0/#5.14 [Exposed=(Window,Worker)] @@ -6,3 +7,4 @@ interface WebGLRenderingContext { }; WebGLRenderingContext includes WebGLRenderingContextBase; +WebGLRenderingContext includes WebGLRenderingContextOverloads; diff --git a/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.idl b/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.idl index 12b031856e9..df40103c673 100644 --- a/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.idl +++ b/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.idl @@ -22,7 +22,14 @@ interface mixin WebGLRenderingContextBase { // FIXME: The type should be (HTMLCanvasElement or OffscreenCanvas). [ImplementedAs=canvas_for_binding] readonly attribute HTMLCanvasElement canvas; + [FIXME] readonly attribute GLsizei drawingBufferWidth; + [FIXME] readonly attribute GLsizei drawingBufferHeight; + [FIXME] readonly attribute GLenum drawingBufferFormat; + [FIXME] attribute PredefinedColorSpace drawingBufferColorSpace; + [FIXME] attribute PredefinedColorSpace unpackColorSpace; + + [FIXME] WebGLContextAttributes? getContextAttributes(); boolean isContextLost(); sequence? getSupportedExtensions(); diff --git a/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContextOverloads.idl b/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContextOverloads.idl new file mode 100644 index 00000000000..f9a5b9c27e7 --- /dev/null +++ b/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContextOverloads.idl @@ -0,0 +1,31 @@ +// https://registry.khronos.org/webgl/specs/latest/1.0/#5.14 +interface mixin WebGLRenderingContextOverloads { + [FIXME] undefined bufferData(GLenum target, GLsizeiptr size, GLenum usage); + [FIXME] undefined bufferData(GLenum target, AllowSharedBufferSource? data, GLenum usage); + [FIXME] undefined bufferSubData(GLenum target, GLintptr offset, AllowSharedBufferSource data); + + [FIXME] undefined compressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, [AllowShared] ArrayBufferView data); + [FIXME] undefined compressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, [AllowShared] ArrayBufferView data); + + [FIXME] undefined readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, [AllowShared] ArrayBufferView? pixels); + + [FIXME] undefined texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, [AllowShared] ArrayBufferView? pixels); + [FIXME] undefined texImage2D(GLenum target, GLint level, GLint internalformat, GLenum format, GLenum type, TexImageSource source); // May throw DOMException + + [FIXME] undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, [AllowShared] ArrayBufferView? pixels); + [FIXME] undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLenum format, GLenum type, TexImageSource source); // May throw DOMException + + [FIXME] undefined uniform1fv(WebGLUniformLocation? location, Float32List v); + [FIXME] undefined uniform2fv(WebGLUniformLocation? location, Float32List v); + [FIXME] undefined uniform3fv(WebGLUniformLocation? location, Float32List v); + [FIXME] undefined uniform4fv(WebGLUniformLocation? location, Float32List v); + + [FIXME] undefined uniform1iv(WebGLUniformLocation? location, Int32List v); + [FIXME] undefined uniform2iv(WebGLUniformLocation? location, Int32List v); + [FIXME] undefined uniform3iv(WebGLUniformLocation? location, Int32List v); + [FIXME] undefined uniform4iv(WebGLUniformLocation? location, Int32List v); + + [FIXME] undefined uniformMatrix2fv(WebGLUniformLocation? location, GLboolean transpose, Float32List value); + [FIXME] undefined uniformMatrix3fv(WebGLUniformLocation? location, GLboolean transpose, Float32List value); + [FIXME] undefined uniformMatrix4fv(WebGLUniformLocation? location, GLboolean transpose, Float32List value); +};