mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-23 17:33:12 +00:00
Add OffscreenCanvas to TexImageSource and CanvasImageSource. Implement all the necessary features to make it work in all cases where these types are used.
47 lines
2.8 KiB
Text
47 lines
2.8 KiB
Text
#import <WebGL/Types.idl>
|
|
|
|
typedef (ImageBitmap or
|
|
ImageData or
|
|
HTMLImageElement or
|
|
HTMLCanvasElement or
|
|
HTMLVideoElement or
|
|
OffscreenCanvas
|
|
// FIXME: VideoFrame
|
|
) TexImageSource;
|
|
|
|
// FIXME: BufferSource should be a Int32Array
|
|
typedef (BufferSource or sequence<GLint>) Int32List;
|
|
|
|
// https://registry.khronos.org/webgl/specs/latest/1.0/#5.14
|
|
interface mixin WebGLRenderingContextOverloads {
|
|
undefined bufferData(GLenum target, GLsizeiptr size, GLenum usage);
|
|
// FIXME: BufferSource is really a AllowSharedBufferSource
|
|
undefined bufferData(GLenum target, BufferSource? data, GLenum usage);
|
|
undefined bufferSubData(GLenum target, GLintptr offset, BufferSource data);
|
|
|
|
undefined compressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, [AllowShared] ArrayBufferView data);
|
|
undefined compressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, [AllowShared] ArrayBufferView data);
|
|
|
|
undefined readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, [AllowShared] ArrayBufferView? pixels);
|
|
|
|
undefined texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, [AllowShared] ArrayBufferView? pixels);
|
|
undefined texImage2D(GLenum target, GLint level, GLint internalformat, GLenum format, GLenum type, TexImageSource source); // May throw DOMException
|
|
|
|
undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, [AllowShared] ArrayBufferView? pixels);
|
|
undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLenum format, GLenum type, TexImageSource source); // May throw DOMException
|
|
|
|
undefined uniform1fv(WebGLUniformLocation? location, Float32List v);
|
|
undefined uniform2fv(WebGLUniformLocation? location, Float32List v);
|
|
undefined uniform3fv(WebGLUniformLocation? location, Float32List v);
|
|
undefined uniform4fv(WebGLUniformLocation? location, Float32List v);
|
|
|
|
undefined uniform1iv(WebGLUniformLocation? location, Int32List v);
|
|
undefined uniform2iv(WebGLUniformLocation? location, Int32List v);
|
|
undefined uniform3iv(WebGLUniformLocation? location, Int32List v);
|
|
undefined uniform4iv(WebGLUniformLocation? location, Int32List v);
|
|
|
|
// FIXME: Float32Array should be a Float32List
|
|
undefined uniformMatrix2fv(WebGLUniformLocation? location, GLboolean transpose, Float32List value);
|
|
undefined uniformMatrix3fv(WebGLUniformLocation? location, GLboolean transpose, Float32List value);
|
|
undefined uniformMatrix4fv(WebGLUniformLocation? location, GLboolean transpose, Float32List value);
|
|
};
|