pub trait WebGL2RenderingContextMethods<D>where
D: DomTypes,{
Show 234 methods
// Required methods
fn CopyBufferSubData(
&self,
cx: &mut JSContext,
readTarget: u32,
writeTarget: u32,
readOffset: i64,
writeOffset: i64,
size: i64,
);
fn GetBufferSubData(
&self,
cx: &mut JSContext,
target: u32,
srcByteOffset: i64,
dstBuffer: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>,
dstOffset: u32,
length: u32,
);
fn BlitFramebuffer(
&self,
srcX0: i32,
srcY0: i32,
srcX1: i32,
srcY1: i32,
dstX0: i32,
dstY0: i32,
dstX1: i32,
dstY1: i32,
mask: u32,
filter: u32,
);
fn FramebufferTextureLayer(
&self,
target: u32,
attachment: u32,
texture: Option<&<D as DomTypes>::WebGLTexture>,
level: i32,
layer: i32,
);
fn InvalidateFramebuffer(&self, target: u32, attachments: Vec<u32>);
fn InvalidateSubFramebuffer(
&self,
target: u32,
attachments: Vec<u32>,
x: i32,
y: i32,
width: i32,
height: i32,
);
fn ReadBuffer(&self, src: u32);
fn GetInternalformatParameter(
&self,
cx: &mut JSContext,
target: u32,
internalformat: u32,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn RenderbufferStorageMultisample(
&self,
target: u32,
samples: i32,
internalformat: u32,
width: i32,
height: i32,
);
fn TexStorage2D(
&self,
target: u32,
levels: i32,
internalformat: u32,
width: i32,
height: i32,
);
fn TexStorage3D(
&self,
target: u32,
levels: i32,
internalformat: u32,
width: i32,
height: i32,
depth: i32,
);
fn TexImage3D(
&self,
cx: &NoGC,
target: u32,
level: i32,
internalformat: i32,
width: i32,
height: i32,
depth: i32,
border: i32,
format: u32,
type_: u32,
srcData: CustomAutoRooterGuard<'_, Option<TypedArray<ArrayBufferViewU8, *mut JSObject>>>,
) -> Result<(), Error>;
fn GetFragDataLocation(
&self,
program: &<D as DomTypes>::WebGLProgram,
name: DOMString,
) -> i32;
fn Uniform1ui(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
v0: u32,
);
fn Uniform2ui(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
v0: u32,
v1: u32,
);
fn Uniform3ui(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
v0: u32,
v1: u32,
v2: u32,
);
fn Uniform4ui(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
v0: u32,
v1: u32,
v2: u32,
v3: u32,
);
fn Uniform1uiv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
data: Uint32ArrayOrUnsignedLongSequence,
srcOffset: u32,
srcLength: u32,
);
fn Uniform2uiv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
data: Uint32ArrayOrUnsignedLongSequence,
srcOffset: u32,
srcLength: u32,
);
fn Uniform3uiv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
data: Uint32ArrayOrUnsignedLongSequence,
srcOffset: u32,
srcLength: u32,
);
fn Uniform4uiv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
data: Uint32ArrayOrUnsignedLongSequence,
srcOffset: u32,
srcLength: u32,
);
fn UniformMatrix3x2fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
transpose: bool,
data: Float32ArrayOrUnrestrictedFloatSequence,
srcOffset: u32,
srcLength: u32,
);
fn UniformMatrix4x2fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
transpose: bool,
data: Float32ArrayOrUnrestrictedFloatSequence,
srcOffset: u32,
srcLength: u32,
);
fn UniformMatrix2x3fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
transpose: bool,
data: Float32ArrayOrUnrestrictedFloatSequence,
srcOffset: u32,
srcLength: u32,
);
fn UniformMatrix4x3fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
transpose: bool,
data: Float32ArrayOrUnrestrictedFloatSequence,
srcOffset: u32,
srcLength: u32,
);
fn UniformMatrix2x4fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
transpose: bool,
data: Float32ArrayOrUnrestrictedFloatSequence,
srcOffset: u32,
srcLength: u32,
);
fn UniformMatrix3x4fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
transpose: bool,
data: Float32ArrayOrUnrestrictedFloatSequence,
srcOffset: u32,
srcLength: u32,
);
fn VertexAttribI4i(
&self,
cx: &mut JSContext,
index: u32,
x: i32,
y: i32,
z: i32,
w: i32,
);
fn VertexAttribI4iv(
&self,
cx: &mut JSContext,
index: u32,
values: Int32ArrayOrLongSequence,
);
fn VertexAttribI4ui(
&self,
cx: &mut JSContext,
index: u32,
x: u32,
y: u32,
z: u32,
w: u32,
);
fn VertexAttribI4uiv(
&self,
cx: &mut JSContext,
index: u32,
values: Uint32ArrayOrUnsignedLongSequence,
);
fn VertexAttribIPointer(
&self,
cx: &mut JSContext,
index: u32,
size: i32,
type_: u32,
stride: i32,
offset: i64,
);
fn VertexAttribDivisor(&self, cx: &mut JSContext, index: u32, divisor: u32);
fn DrawArraysInstanced(
&self,
cx: &mut JSContext,
mode: u32,
first: i32,
count: i32,
instanceCount: i32,
);
fn DrawElementsInstanced(
&self,
cx: &mut JSContext,
mode: u32,
count: i32,
type_: u32,
offset: i64,
instanceCount: i32,
);
fn DrawRangeElements(
&self,
cx: &mut JSContext,
mode: u32,
start: u32,
end: u32,
count: i32,
type_: u32,
offset: i64,
);
fn DrawBuffers(&self, buffers: Vec<u32>);
fn ClearBufferfv(
&self,
buffer: u32,
drawbuffer: i32,
values: Float32ArrayOrUnrestrictedFloatSequence,
srcOffset: u32,
);
fn ClearBufferiv(
&self,
buffer: u32,
drawbuffer: i32,
values: Int32ArrayOrLongSequence,
srcOffset: u32,
);
fn ClearBufferuiv(
&self,
buffer: u32,
drawbuffer: i32,
values: Uint32ArrayOrUnsignedLongSequence,
srcOffset: u32,
);
fn ClearBufferfi(
&self,
buffer: u32,
drawbuffer: i32,
depth: f32,
stencil: i32,
);
fn CreateQuery(
&self,
cx: &mut JSContext,
) -> Option<Root<Dom<<D as DomTypes>::WebGLQuery>>>;
fn DeleteQuery(&self, query: Option<&<D as DomTypes>::WebGLQuery>);
fn IsQuery(&self, query: Option<&<D as DomTypes>::WebGLQuery>) -> bool;
fn BeginQuery(&self, target: u32, query: &<D as DomTypes>::WebGLQuery);
fn EndQuery(&self, target: u32);
fn GetQuery(
&self,
target: u32,
pname: u32,
) -> Option<Root<Dom<<D as DomTypes>::WebGLQuery>>>;
fn GetQueryParameter(
&self,
cx: &mut JSContext,
query: &<D as DomTypes>::WebGLQuery,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn CreateSampler(
&self,
cx: &mut JSContext,
) -> Option<Root<Dom<<D as DomTypes>::WebGLSampler>>>;
fn DeleteSampler(&self, sampler: Option<&<D as DomTypes>::WebGLSampler>);
fn IsSampler(&self, sampler: Option<&<D as DomTypes>::WebGLSampler>) -> bool;
fn BindSampler(
&self,
unit: u32,
sampler: Option<&<D as DomTypes>::WebGLSampler>,
);
fn SamplerParameteri(
&self,
sampler: &<D as DomTypes>::WebGLSampler,
pname: u32,
param: i32,
);
fn SamplerParameterf(
&self,
sampler: &<D as DomTypes>::WebGLSampler,
pname: u32,
param: f32,
);
fn GetSamplerParameter(
&self,
cx: &mut JSContext,
sampler: &<D as DomTypes>::WebGLSampler,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn FenceSync(
&self,
cx: &mut JSContext,
condition: u32,
flags: u32,
) -> Option<Root<Dom<<D as DomTypes>::WebGLSync>>>;
fn IsSync(&self, sync: Option<&<D as DomTypes>::WebGLSync>) -> bool;
fn DeleteSync(&self, sync: Option<&<D as DomTypes>::WebGLSync>);
fn ClientWaitSync(
&self,
sync: &<D as DomTypes>::WebGLSync,
flags: u32,
timeout: u64,
) -> u32;
fn WaitSync(
&self,
sync: &<D as DomTypes>::WebGLSync,
flags: u32,
timeout: i64,
);
fn GetSyncParameter(
&self,
cx: &mut JSContext,
sync: &<D as DomTypes>::WebGLSync,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn CreateTransformFeedback(
&self,
cx: &mut JSContext,
) -> Option<Root<Dom<<D as DomTypes>::WebGLTransformFeedback>>>;
fn DeleteTransformFeedback(
&self,
tf: Option<&<D as DomTypes>::WebGLTransformFeedback>,
);
fn IsTransformFeedback(
&self,
tf: Option<&<D as DomTypes>::WebGLTransformFeedback>,
) -> bool;
fn BindTransformFeedback(
&self,
target: u32,
tf: Option<&<D as DomTypes>::WebGLTransformFeedback>,
);
fn BeginTransformFeedback(&self, primitiveMode: u32);
fn EndTransformFeedback(&self);
fn TransformFeedbackVaryings(
&self,
program: &<D as DomTypes>::WebGLProgram,
varyings: Vec<DOMString>,
bufferMode: u32,
);
fn GetTransformFeedbackVarying(
&self,
cx: &mut JSContext,
program: &<D as DomTypes>::WebGLProgram,
index: u32,
) -> Option<Root<Dom<<D as DomTypes>::WebGLActiveInfo>>>;
fn PauseTransformFeedback(&self);
fn ResumeTransformFeedback(&self);
fn BindBufferBase(
&self,
target: u32,
index: u32,
buffer: Option<&<D as DomTypes>::WebGLBuffer>,
);
fn BindBufferRange(
&self,
target: u32,
index: u32,
buffer: Option<&<D as DomTypes>::WebGLBuffer>,
offset: i64,
size: i64,
);
fn GetIndexedParameter(
&self,
cx: &mut JSContext,
target: u32,
index: u32,
rval: MutableHandle<'_, Value>,
);
fn GetUniformIndices(
&self,
program: &<D as DomTypes>::WebGLProgram,
uniformNames: Vec<DOMString>,
) -> Option<Vec<u32>>;
fn GetActiveUniforms(
&self,
cx: &mut JSContext,
program: &<D as DomTypes>::WebGLProgram,
uniformIndices: Vec<u32>,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetUniformBlockIndex(
&self,
program: &<D as DomTypes>::WebGLProgram,
uniformBlockName: DOMString,
) -> u32;
fn GetActiveUniformBlockParameter(
&self,
cx: &mut JSContext,
program: &<D as DomTypes>::WebGLProgram,
uniformBlockIndex: u32,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetActiveUniformBlockName(
&self,
program: &<D as DomTypes>::WebGLProgram,
uniformBlockIndex: u32,
) -> Option<DOMString>;
fn UniformBlockBinding(
&self,
program: &<D as DomTypes>::WebGLProgram,
uniformBlockIndex: u32,
uniformBlockBinding: u32,
);
fn CreateVertexArray(
&self,
cx: &mut JSContext,
) -> Option<Root<Dom<<D as DomTypes>::WebGLVertexArrayObject>>>;
fn DeleteVertexArray(
&self,
cx: &mut JSContext,
vertexArray: Option<&<D as DomTypes>::WebGLVertexArrayObject>,
);
fn IsVertexArray(
&self,
vertexArray: Option<&<D as DomTypes>::WebGLVertexArrayObject>,
) -> bool;
fn BindVertexArray(
&self,
array: Option<&<D as DomTypes>::WebGLVertexArrayObject>,
);
fn BufferData(&self, cx: &mut JSContext, target: u32, size: i64, usage: u32);
fn BufferData_(
&self,
cx: &mut JSContext,
target: u32,
srcData: Option<ArrayBufferViewOrArrayBuffer>,
usage: u32,
);
fn BufferData__(
&self,
cx: &mut JSContext,
target: u32,
srcData: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>,
usage: u32,
srcOffset: u32,
length: u32,
);
fn BufferSubData(
&self,
cx: &mut JSContext,
target: u32,
dstByteOffset: i64,
srcData: ArrayBufferViewOrArrayBuffer,
);
fn BufferSubData_(
&self,
cx: &mut JSContext,
target: u32,
dstByteOffset: i64,
srcData: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>,
srcOffset: u32,
length: u32,
);
fn TexImage2D(
&self,
cx: &NoGC,
target: u32,
level: i32,
internalformat: i32,
width: i32,
height: i32,
border: i32,
format: u32,
type_: u32,
pixels: CustomAutoRooterGuard<'_, Option<TypedArray<ArrayBufferViewU8, *mut JSObject>>>,
) -> Result<(), Error>;
fn TexImage2D_(
&self,
cx: &NoGC,
target: u32,
level: i32,
internalformat: i32,
format: u32,
type_: u32,
source: ImageBitmapOrImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement<D>,
) -> Result<(), Error>;
fn TexImage2D__(
&self,
cx: &NoGC,
target: u32,
level: i32,
internalformat: i32,
width: i32,
height: i32,
border: i32,
format: u32,
type_: u32,
pboOffset: i64,
) -> Result<(), Error>;
fn TexImage2D___(
&self,
cx: &NoGC,
target: u32,
level: i32,
internalformat: i32,
width: i32,
height: i32,
border: i32,
format: u32,
type_: u32,
source: ImageBitmapOrImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement<D>,
) -> Result<(), Error>;
fn TexImage2D____(
&self,
cx: &NoGC,
target: u32,
level: i32,
internalformat: i32,
width: i32,
height: i32,
border: i32,
format: u32,
type_: u32,
srcData: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>,
srcOffset: u32,
) -> Result<(), Error>;
fn TexSubImage2D(
&self,
cx: &NoGC,
target: u32,
level: i32,
xoffset: i32,
yoffset: i32,
width: i32,
height: i32,
format: u32,
type_: u32,
pixels: CustomAutoRooterGuard<'_, Option<TypedArray<ArrayBufferViewU8, *mut JSObject>>>,
) -> Result<(), Error>;
fn TexSubImage2D_(
&self,
cx: &NoGC,
target: u32,
level: i32,
xoffset: i32,
yoffset: i32,
format: u32,
type_: u32,
source: ImageBitmapOrImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement<D>,
) -> Result<(), Error>;
fn CompressedTexImage2D(
&self,
cx: &NoGC,
target: u32,
level: i32,
internalformat: u32,
width: i32,
height: i32,
border: i32,
srcData: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>,
srcOffset: u32,
srcLengthOverride: u32,
);
fn CompressedTexSubImage2D(
&self,
cx: &NoGC,
target: u32,
level: i32,
xoffset: i32,
yoffset: i32,
width: i32,
height: i32,
format: u32,
srcData: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>,
srcOffset: u32,
srcLengthOverride: u32,
);
fn Uniform1fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
data: Float32ArrayOrUnrestrictedFloatSequence,
srcOffset: u32,
srcLength: u32,
);
fn Uniform2fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
data: Float32ArrayOrUnrestrictedFloatSequence,
srcOffset: u32,
srcLength: u32,
);
fn Uniform3fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
data: Float32ArrayOrUnrestrictedFloatSequence,
srcOffset: u32,
srcLength: u32,
);
fn Uniform4fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
data: Float32ArrayOrUnrestrictedFloatSequence,
srcOffset: u32,
srcLength: u32,
);
fn Uniform1iv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
data: Int32ArrayOrLongSequence,
srcOffset: u32,
srcLength: u32,
);
fn Uniform2iv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
data: Int32ArrayOrLongSequence,
srcOffset: u32,
srcLength: u32,
);
fn Uniform3iv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
data: Int32ArrayOrLongSequence,
srcOffset: u32,
srcLength: u32,
);
fn Uniform4iv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
data: Int32ArrayOrLongSequence,
srcOffset: u32,
srcLength: u32,
);
fn UniformMatrix2fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
transpose: bool,
data: Float32ArrayOrUnrestrictedFloatSequence,
srcOffset: u32,
srcLength: u32,
);
fn UniformMatrix3fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
transpose: bool,
data: Float32ArrayOrUnrestrictedFloatSequence,
srcOffset: u32,
srcLength: u32,
);
fn UniformMatrix4fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
transpose: bool,
data: Float32ArrayOrUnrestrictedFloatSequence,
srcOffset: u32,
srcLength: u32,
);
fn ReadPixels(
&self,
cx: &NoGC,
x: i32,
y: i32,
width: i32,
height: i32,
format: u32,
type_: u32,
dstData: CustomAutoRooterGuard<'_, Option<TypedArray<ArrayBufferViewU8, *mut JSObject>>>,
);
fn ReadPixels_(
&self,
cx: &NoGC,
x: i32,
y: i32,
width: i32,
height: i32,
format: u32,
type_: u32,
offset: i64,
);
fn ReadPixels__(
&self,
cx: &NoGC,
x: i32,
y: i32,
width: i32,
height: i32,
format: u32,
type_: u32,
dstData: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>,
dstOffset: u32,
);
fn Canvas(&self) -> HTMLCanvasElementOrOffscreenCanvas<D>;
fn DrawingBufferWidth(&self) -> i32;
fn DrawingBufferHeight(&self) -> i32;
fn GetContextAttributes(&self) -> Option<WebGLContextAttributes>;
fn IsContextLost(&self) -> bool;
fn GetSupportedExtensions(&self) -> Option<Vec<DOMString>>;
fn GetExtension(
&self,
cx: &mut JSContext,
name: DOMString,
rval: MutableHandle<'_, *mut JSObject>,
);
fn ActiveTexture(&self, texture: u32);
fn AttachShader(
&self,
program: &<D as DomTypes>::WebGLProgram,
shader: &<D as DomTypes>::WebGLShader,
);
fn BindAttribLocation(
&self,
program: &<D as DomTypes>::WebGLProgram,
index: u32,
name: DOMString,
);
fn BindBuffer(
&self,
cx: &mut JSContext,
target: u32,
buffer: Option<&<D as DomTypes>::WebGLBuffer>,
);
fn BindFramebuffer(
&self,
target: u32,
framebuffer: Option<&<D as DomTypes>::WebGLFramebuffer>,
);
fn BindRenderbuffer(
&self,
target: u32,
renderbuffer: Option<&<D as DomTypes>::WebGLRenderbuffer>,
);
fn BindTexture(
&self,
target: u32,
texture: Option<&<D as DomTypes>::WebGLTexture>,
);
fn BlendColor(&self, red: f32, green: f32, blue: f32, alpha: f32);
fn BlendEquation(&self, mode: u32);
fn BlendEquationSeparate(&self, modeRGB: u32, modeAlpha: u32);
fn BlendFunc(&self, sfactor: u32, dfactor: u32);
fn BlendFuncSeparate(
&self,
srcRGB: u32,
dstRGB: u32,
srcAlpha: u32,
dstAlpha: u32,
);
fn CheckFramebufferStatus(&self, target: u32) -> u32;
fn Clear(&self, mask: u32);
fn ClearColor(&self, red: f32, green: f32, blue: f32, alpha: f32);
fn ClearDepth(&self, depth: f32);
fn ClearStencil(&self, s: i32);
fn ColorMask(&self, red: bool, green: bool, blue: bool, alpha: bool);
fn CompileShader(&self, shader: &<D as DomTypes>::WebGLShader);
fn CopyTexImage2D(
&self,
target: u32,
level: i32,
internalformat: u32,
x: i32,
y: i32,
width: i32,
height: i32,
border: i32,
);
fn CopyTexSubImage2D(
&self,
target: u32,
level: i32,
xoffset: i32,
yoffset: i32,
x: i32,
y: i32,
width: i32,
height: i32,
);
fn CreateBuffer(
&self,
cx: &mut JSContext,
) -> Option<Root<Dom<<D as DomTypes>::WebGLBuffer>>>;
fn CreateFramebuffer(
&self,
cx: &mut JSContext,
) -> Option<Root<Dom<<D as DomTypes>::WebGLFramebuffer>>>;
fn CreateProgram(
&self,
cx: &mut JSContext,
) -> Option<Root<Dom<<D as DomTypes>::WebGLProgram>>>;
fn CreateRenderbuffer(
&self,
cx: &mut JSContext,
) -> Option<Root<Dom<<D as DomTypes>::WebGLRenderbuffer>>>;
fn CreateShader(
&self,
cx: &mut JSContext,
type_: u32,
) -> Option<Root<Dom<<D as DomTypes>::WebGLShader>>>;
fn CreateTexture(
&self,
cx: &mut JSContext,
) -> Option<Root<Dom<<D as DomTypes>::WebGLTexture>>>;
fn CullFace(&self, mode: u32);
fn DeleteBuffer(
&self,
cx: &mut JSContext,
buffer: Option<&<D as DomTypes>::WebGLBuffer>,
);
fn DeleteFramebuffer(
&self,
framebuffer: Option<&<D as DomTypes>::WebGLFramebuffer>,
);
fn DeleteProgram(&self, program: Option<&<D as DomTypes>::WebGLProgram>);
fn DeleteRenderbuffer(
&self,
renderbuffer: Option<&<D as DomTypes>::WebGLRenderbuffer>,
);
fn DeleteShader(&self, shader: Option<&<D as DomTypes>::WebGLShader>);
fn DeleteTexture(&self, texture: Option<&<D as DomTypes>::WebGLTexture>);
fn DepthFunc(&self, func: u32);
fn DepthMask(&self, flag: bool);
fn DepthRange(&self, zNear: f32, zFar: f32);
fn DetachShader(
&self,
program: &<D as DomTypes>::WebGLProgram,
shader: &<D as DomTypes>::WebGLShader,
);
fn Disable(&self, cap: u32);
fn DisableVertexAttribArray(&self, cx: &mut JSContext, index: u32);
fn DrawArrays(&self, cx: &mut JSContext, mode: u32, first: i32, count: i32);
fn DrawElements(
&self,
cx: &mut JSContext,
mode: u32,
count: i32,
type_: u32,
offset: i64,
);
fn Enable(&self, cap: u32);
fn EnableVertexAttribArray(&self, cx: &mut JSContext, index: u32);
fn Finish(&self);
fn Flush(&self);
fn FramebufferRenderbuffer(
&self,
target: u32,
attachment: u32,
renderbuffertarget: u32,
renderbuffer: Option<&<D as DomTypes>::WebGLRenderbuffer>,
);
fn FramebufferTexture2D(
&self,
target: u32,
attachment: u32,
textarget: u32,
texture: Option<&<D as DomTypes>::WebGLTexture>,
level: i32,
);
fn FrontFace(&self, mode: u32);
fn GenerateMipmap(&self, target: u32);
fn GetActiveAttrib(
&self,
cx: &mut JSContext,
program: &<D as DomTypes>::WebGLProgram,
index: u32,
) -> Option<Root<Dom<<D as DomTypes>::WebGLActiveInfo>>>;
fn GetActiveUniform(
&self,
cx: &mut JSContext,
program: &<D as DomTypes>::WebGLProgram,
index: u32,
) -> Option<Root<Dom<<D as DomTypes>::WebGLActiveInfo>>>;
fn GetAttachedShaders(
&self,
program: &<D as DomTypes>::WebGLProgram,
) -> Option<Vec<Root<Dom<<D as DomTypes>::WebGLShader>>>>;
fn GetAttribLocation(
&self,
program: &<D as DomTypes>::WebGLProgram,
name: DOMString,
) -> i32;
fn GetBufferParameter(
&self,
cx: &mut JSContext,
target: u32,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetParameter(
&self,
cx: &mut JSContext,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetError(&self) -> u32;
fn GetFramebufferAttachmentParameter(
&self,
cx: &mut JSContext,
target: u32,
attachment: u32,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetProgramParameter(
&self,
cx: &mut JSContext,
program: &<D as DomTypes>::WebGLProgram,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetProgramInfoLog(
&self,
program: &<D as DomTypes>::WebGLProgram,
) -> Option<DOMString>;
fn GetRenderbufferParameter(
&self,
cx: &mut JSContext,
target: u32,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetShaderParameter(
&self,
cx: &mut JSContext,
shader: &<D as DomTypes>::WebGLShader,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetShaderPrecisionFormat(
&self,
cx: &mut JSContext,
shadertype: u32,
precisiontype: u32,
) -> Option<Root<Dom<<D as DomTypes>::WebGLShaderPrecisionFormat>>>;
fn GetShaderInfoLog(
&self,
shader: &<D as DomTypes>::WebGLShader,
) -> Option<DOMString>;
fn GetShaderSource(
&self,
shader: &<D as DomTypes>::WebGLShader,
) -> Option<DOMString>;
fn GetTexParameter(
&self,
cx: &mut JSContext,
target: u32,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetUniform(
&self,
cx: &mut JSContext,
program: &<D as DomTypes>::WebGLProgram,
location: &<D as DomTypes>::WebGLUniformLocation,
rval: MutableHandle<'_, Value>,
);
fn GetUniformLocation(
&self,
cx: &mut JSContext,
program: &<D as DomTypes>::WebGLProgram,
name: DOMString,
) -> Option<Root<Dom<<D as DomTypes>::WebGLUniformLocation>>>;
fn GetVertexAttrib(
&self,
cx: &mut JSContext,
index: u32,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetVertexAttribOffset(
&self,
cx: &mut JSContext,
index: u32,
pname: u32,
) -> i64;
fn Hint(&self, target: u32, mode: u32);
fn IsBuffer(&self, buffer: Option<&<D as DomTypes>::WebGLBuffer>) -> bool;
fn IsEnabled(&self, cap: u32) -> bool;
fn IsFramebuffer(
&self,
framebuffer: Option<&<D as DomTypes>::WebGLFramebuffer>,
) -> bool;
fn IsProgram(&self, program: Option<&<D as DomTypes>::WebGLProgram>) -> bool;
fn IsRenderbuffer(
&self,
renderbuffer: Option<&<D as DomTypes>::WebGLRenderbuffer>,
) -> bool;
fn IsShader(&self, shader: Option<&<D as DomTypes>::WebGLShader>) -> bool;
fn IsTexture(&self, texture: Option<&<D as DomTypes>::WebGLTexture>) -> bool;
fn LineWidth(&self, width: f32);
fn LinkProgram(&self, program: &<D as DomTypes>::WebGLProgram);
fn PixelStorei(&self, pname: u32, param: i32);
fn PolygonOffset(&self, factor: f32, units: f32);
fn RenderbufferStorage(
&self,
target: u32,
internalformat: u32,
width: i32,
height: i32,
);
fn SampleCoverage(&self, value: f32, invert: bool);
fn Scissor(&self, x: i32, y: i32, width: i32, height: i32);
fn ShaderSource(
&self,
shader: &<D as DomTypes>::WebGLShader,
source: DOMString,
);
fn StencilFunc(&self, func: u32, ref_: i32, mask: u32);
fn StencilFuncSeparate(&self, face: u32, func: u32, ref_: i32, mask: u32);
fn StencilMask(&self, mask: u32);
fn StencilMaskSeparate(&self, face: u32, mask: u32);
fn StencilOp(&self, fail: u32, zfail: u32, zpass: u32);
fn StencilOpSeparate(&self, face: u32, fail: u32, zfail: u32, zpass: u32);
fn TexParameterf(&self, target: u32, pname: u32, param: f32);
fn TexParameteri(&self, target: u32, pname: u32, param: i32);
fn Uniform1f(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
x: f32,
);
fn Uniform2f(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
x: f32,
y: f32,
);
fn Uniform3f(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
x: f32,
y: f32,
z: f32,
);
fn Uniform4f(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
x: f32,
y: f32,
z: f32,
w: f32,
);
fn Uniform1i(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
x: i32,
);
fn Uniform2i(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
x: i32,
y: i32,
);
fn Uniform3i(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
x: i32,
y: i32,
z: i32,
);
fn Uniform4i(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
x: i32,
y: i32,
z: i32,
w: i32,
);
fn UseProgram(&self, program: Option<&<D as DomTypes>::WebGLProgram>);
fn ValidateProgram(&self, program: &<D as DomTypes>::WebGLProgram);
fn VertexAttrib1f(&self, cx: &mut JSContext, indx: u32, x: f32);
fn VertexAttrib2f(&self, cx: &mut JSContext, indx: u32, x: f32, y: f32);
fn VertexAttrib3f(
&self,
cx: &mut JSContext,
indx: u32,
x: f32,
y: f32,
z: f32,
);
fn VertexAttrib4f(
&self,
cx: &mut JSContext,
indx: u32,
x: f32,
y: f32,
z: f32,
w: f32,
);
fn VertexAttrib1fv(
&self,
cx: &mut JSContext,
indx: u32,
values: Float32ArrayOrUnrestrictedFloatSequence,
);
fn VertexAttrib2fv(
&self,
cx: &mut JSContext,
indx: u32,
values: Float32ArrayOrUnrestrictedFloatSequence,
);
fn VertexAttrib3fv(
&self,
cx: &mut JSContext,
indx: u32,
values: Float32ArrayOrUnrestrictedFloatSequence,
);
fn VertexAttrib4fv(
&self,
cx: &mut JSContext,
indx: u32,
values: Float32ArrayOrUnrestrictedFloatSequence,
);
fn VertexAttribPointer(
&self,
cx: &mut JSContext,
indx: u32,
size: i32,
type_: u32,
normalized: bool,
stride: i32,
offset: i64,
);
fn Viewport(&self, x: i32, y: i32, width: i32, height: i32);
fn MakeXRCompatible(
&self,
cx: &mut JSContext,
) -> <<D as DomTypes>::Promise as PromiseHelpers<D>>::StackRoot;
}Required Methods§
fn CopyBufferSubData( &self, cx: &mut JSContext, readTarget: u32, writeTarget: u32, readOffset: i64, writeOffset: i64, size: i64, )
fn GetBufferSubData( &self, cx: &mut JSContext, target: u32, srcByteOffset: i64, dstBuffer: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>, dstOffset: u32, length: u32, )
fn BlitFramebuffer( &self, srcX0: i32, srcY0: i32, srcX1: i32, srcY1: i32, dstX0: i32, dstY0: i32, dstX1: i32, dstY1: i32, mask: u32, filter: u32, )
fn FramebufferTextureLayer( &self, target: u32, attachment: u32, texture: Option<&<D as DomTypes>::WebGLTexture>, level: i32, layer: i32, )
fn InvalidateFramebuffer(&self, target: u32, attachments: Vec<u32>)
fn InvalidateSubFramebuffer( &self, target: u32, attachments: Vec<u32>, x: i32, y: i32, width: i32, height: i32, )
fn ReadBuffer(&self, src: u32)
fn GetInternalformatParameter( &self, cx: &mut JSContext, target: u32, internalformat: u32, pname: u32, rval: MutableHandle<'_, Value>, )
fn RenderbufferStorageMultisample( &self, target: u32, samples: i32, internalformat: u32, width: i32, height: i32, )
fn TexStorage2D( &self, target: u32, levels: i32, internalformat: u32, width: i32, height: i32, )
fn TexStorage3D( &self, target: u32, levels: i32, internalformat: u32, width: i32, height: i32, depth: i32, )
fn TexImage3D( &self, cx: &NoGC, target: u32, level: i32, internalformat: i32, width: i32, height: i32, depth: i32, border: i32, format: u32, type_: u32, srcData: CustomAutoRooterGuard<'_, Option<TypedArray<ArrayBufferViewU8, *mut JSObject>>>, ) -> Result<(), Error>
fn GetFragDataLocation( &self, program: &<D as DomTypes>::WebGLProgram, name: DOMString, ) -> i32
fn Uniform1ui( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, v0: u32, )
fn Uniform2ui( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, v0: u32, v1: u32, )
fn Uniform3ui( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, v0: u32, v1: u32, v2: u32, )
fn Uniform4ui( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, v0: u32, v1: u32, v2: u32, v3: u32, )
fn Uniform1uiv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, data: Uint32ArrayOrUnsignedLongSequence, srcOffset: u32, srcLength: u32, )
fn Uniform2uiv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, data: Uint32ArrayOrUnsignedLongSequence, srcOffset: u32, srcLength: u32, )
fn Uniform3uiv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, data: Uint32ArrayOrUnsignedLongSequence, srcOffset: u32, srcLength: u32, )
fn Uniform4uiv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, data: Uint32ArrayOrUnsignedLongSequence, srcOffset: u32, srcLength: u32, )
fn UniformMatrix3x2fv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, transpose: bool, data: Float32ArrayOrUnrestrictedFloatSequence, srcOffset: u32, srcLength: u32, )
fn UniformMatrix4x2fv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, transpose: bool, data: Float32ArrayOrUnrestrictedFloatSequence, srcOffset: u32, srcLength: u32, )
fn UniformMatrix2x3fv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, transpose: bool, data: Float32ArrayOrUnrestrictedFloatSequence, srcOffset: u32, srcLength: u32, )
fn UniformMatrix4x3fv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, transpose: bool, data: Float32ArrayOrUnrestrictedFloatSequence, srcOffset: u32, srcLength: u32, )
fn UniformMatrix2x4fv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, transpose: bool, data: Float32ArrayOrUnrestrictedFloatSequence, srcOffset: u32, srcLength: u32, )
fn UniformMatrix3x4fv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, transpose: bool, data: Float32ArrayOrUnrestrictedFloatSequence, srcOffset: u32, srcLength: u32, )
fn VertexAttribI4i( &self, cx: &mut JSContext, index: u32, x: i32, y: i32, z: i32, w: i32, )
fn VertexAttribI4iv( &self, cx: &mut JSContext, index: u32, values: Int32ArrayOrLongSequence, )
fn VertexAttribI4ui( &self, cx: &mut JSContext, index: u32, x: u32, y: u32, z: u32, w: u32, )
fn VertexAttribI4uiv( &self, cx: &mut JSContext, index: u32, values: Uint32ArrayOrUnsignedLongSequence, )
fn VertexAttribIPointer( &self, cx: &mut JSContext, index: u32, size: i32, type_: u32, stride: i32, offset: i64, )
fn VertexAttribDivisor(&self, cx: &mut JSContext, index: u32, divisor: u32)
fn DrawArraysInstanced( &self, cx: &mut JSContext, mode: u32, first: i32, count: i32, instanceCount: i32, )
fn DrawElementsInstanced( &self, cx: &mut JSContext, mode: u32, count: i32, type_: u32, offset: i64, instanceCount: i32, )
fn DrawRangeElements( &self, cx: &mut JSContext, mode: u32, start: u32, end: u32, count: i32, type_: u32, offset: i64, )
fn DrawBuffers(&self, buffers: Vec<u32>)
fn ClearBufferfv( &self, buffer: u32, drawbuffer: i32, values: Float32ArrayOrUnrestrictedFloatSequence, srcOffset: u32, )
fn ClearBufferiv( &self, buffer: u32, drawbuffer: i32, values: Int32ArrayOrLongSequence, srcOffset: u32, )
fn ClearBufferuiv( &self, buffer: u32, drawbuffer: i32, values: Uint32ArrayOrUnsignedLongSequence, srcOffset: u32, )
fn ClearBufferfi(&self, buffer: u32, drawbuffer: i32, depth: f32, stencil: i32)
fn CreateQuery( &self, cx: &mut JSContext, ) -> Option<Root<Dom<<D as DomTypes>::WebGLQuery>>>
fn DeleteQuery(&self, query: Option<&<D as DomTypes>::WebGLQuery>)
fn IsQuery(&self, query: Option<&<D as DomTypes>::WebGLQuery>) -> bool
fn BeginQuery(&self, target: u32, query: &<D as DomTypes>::WebGLQuery)
fn EndQuery(&self, target: u32)
fn GetQuery( &self, target: u32, pname: u32, ) -> Option<Root<Dom<<D as DomTypes>::WebGLQuery>>>
fn GetQueryParameter( &self, cx: &mut JSContext, query: &<D as DomTypes>::WebGLQuery, pname: u32, rval: MutableHandle<'_, Value>, )
fn CreateSampler( &self, cx: &mut JSContext, ) -> Option<Root<Dom<<D as DomTypes>::WebGLSampler>>>
fn DeleteSampler(&self, sampler: Option<&<D as DomTypes>::WebGLSampler>)
fn IsSampler(&self, sampler: Option<&<D as DomTypes>::WebGLSampler>) -> bool
fn BindSampler( &self, unit: u32, sampler: Option<&<D as DomTypes>::WebGLSampler>, )
fn SamplerParameteri( &self, sampler: &<D as DomTypes>::WebGLSampler, pname: u32, param: i32, )
fn SamplerParameterf( &self, sampler: &<D as DomTypes>::WebGLSampler, pname: u32, param: f32, )
fn GetSamplerParameter( &self, cx: &mut JSContext, sampler: &<D as DomTypes>::WebGLSampler, pname: u32, rval: MutableHandle<'_, Value>, )
fn FenceSync( &self, cx: &mut JSContext, condition: u32, flags: u32, ) -> Option<Root<Dom<<D as DomTypes>::WebGLSync>>>
fn IsSync(&self, sync: Option<&<D as DomTypes>::WebGLSync>) -> bool
fn DeleteSync(&self, sync: Option<&<D as DomTypes>::WebGLSync>)
fn ClientWaitSync( &self, sync: &<D as DomTypes>::WebGLSync, flags: u32, timeout: u64, ) -> u32
fn WaitSync(&self, sync: &<D as DomTypes>::WebGLSync, flags: u32, timeout: i64)
fn GetSyncParameter( &self, cx: &mut JSContext, sync: &<D as DomTypes>::WebGLSync, pname: u32, rval: MutableHandle<'_, Value>, )
fn CreateTransformFeedback( &self, cx: &mut JSContext, ) -> Option<Root<Dom<<D as DomTypes>::WebGLTransformFeedback>>>
fn DeleteTransformFeedback( &self, tf: Option<&<D as DomTypes>::WebGLTransformFeedback>, )
fn IsTransformFeedback( &self, tf: Option<&<D as DomTypes>::WebGLTransformFeedback>, ) -> bool
fn BindTransformFeedback( &self, target: u32, tf: Option<&<D as DomTypes>::WebGLTransformFeedback>, )
fn BeginTransformFeedback(&self, primitiveMode: u32)
fn EndTransformFeedback(&self)
fn TransformFeedbackVaryings( &self, program: &<D as DomTypes>::WebGLProgram, varyings: Vec<DOMString>, bufferMode: u32, )
fn GetTransformFeedbackVarying( &self, cx: &mut JSContext, program: &<D as DomTypes>::WebGLProgram, index: u32, ) -> Option<Root<Dom<<D as DomTypes>::WebGLActiveInfo>>>
fn PauseTransformFeedback(&self)
fn ResumeTransformFeedback(&self)
fn BindBufferBase( &self, target: u32, index: u32, buffer: Option<&<D as DomTypes>::WebGLBuffer>, )
fn BindBufferRange( &self, target: u32, index: u32, buffer: Option<&<D as DomTypes>::WebGLBuffer>, offset: i64, size: i64, )
fn GetIndexedParameter( &self, cx: &mut JSContext, target: u32, index: u32, rval: MutableHandle<'_, Value>, )
fn GetUniformIndices( &self, program: &<D as DomTypes>::WebGLProgram, uniformNames: Vec<DOMString>, ) -> Option<Vec<u32>>
fn GetActiveUniforms( &self, cx: &mut JSContext, program: &<D as DomTypes>::WebGLProgram, uniformIndices: Vec<u32>, pname: u32, rval: MutableHandle<'_, Value>, )
fn GetUniformBlockIndex( &self, program: &<D as DomTypes>::WebGLProgram, uniformBlockName: DOMString, ) -> u32
fn GetActiveUniformBlockParameter( &self, cx: &mut JSContext, program: &<D as DomTypes>::WebGLProgram, uniformBlockIndex: u32, pname: u32, rval: MutableHandle<'_, Value>, )
fn GetActiveUniformBlockName( &self, program: &<D as DomTypes>::WebGLProgram, uniformBlockIndex: u32, ) -> Option<DOMString>
fn UniformBlockBinding( &self, program: &<D as DomTypes>::WebGLProgram, uniformBlockIndex: u32, uniformBlockBinding: u32, )
fn CreateVertexArray( &self, cx: &mut JSContext, ) -> Option<Root<Dom<<D as DomTypes>::WebGLVertexArrayObject>>>
fn DeleteVertexArray( &self, cx: &mut JSContext, vertexArray: Option<&<D as DomTypes>::WebGLVertexArrayObject>, )
fn IsVertexArray( &self, vertexArray: Option<&<D as DomTypes>::WebGLVertexArrayObject>, ) -> bool
fn BindVertexArray( &self, array: Option<&<D as DomTypes>::WebGLVertexArrayObject>, )
fn BufferData(&self, cx: &mut JSContext, target: u32, size: i64, usage: u32)
fn BufferData_( &self, cx: &mut JSContext, target: u32, srcData: Option<ArrayBufferViewOrArrayBuffer>, usage: u32, )
fn BufferData__( &self, cx: &mut JSContext, target: u32, srcData: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>, usage: u32, srcOffset: u32, length: u32, )
fn BufferSubData( &self, cx: &mut JSContext, target: u32, dstByteOffset: i64, srcData: ArrayBufferViewOrArrayBuffer, )
fn BufferSubData_( &self, cx: &mut JSContext, target: u32, dstByteOffset: i64, srcData: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>, srcOffset: u32, length: u32, )
fn TexImage2D( &self, cx: &NoGC, target: u32, level: i32, internalformat: i32, width: i32, height: i32, border: i32, format: u32, type_: u32, pixels: CustomAutoRooterGuard<'_, Option<TypedArray<ArrayBufferViewU8, *mut JSObject>>>, ) -> Result<(), Error>
fn TexImage2D_( &self, cx: &NoGC, target: u32, level: i32, internalformat: i32, format: u32, type_: u32, source: ImageBitmapOrImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement<D>, ) -> Result<(), Error>
fn TexImage2D__( &self, cx: &NoGC, target: u32, level: i32, internalformat: i32, width: i32, height: i32, border: i32, format: u32, type_: u32, pboOffset: i64, ) -> Result<(), Error>
fn TexImage2D___( &self, cx: &NoGC, target: u32, level: i32, internalformat: i32, width: i32, height: i32, border: i32, format: u32, type_: u32, source: ImageBitmapOrImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement<D>, ) -> Result<(), Error>
fn TexImage2D____( &self, cx: &NoGC, target: u32, level: i32, internalformat: i32, width: i32, height: i32, border: i32, format: u32, type_: u32, srcData: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>, srcOffset: u32, ) -> Result<(), Error>
fn TexSubImage2D( &self, cx: &NoGC, target: u32, level: i32, xoffset: i32, yoffset: i32, width: i32, height: i32, format: u32, type_: u32, pixels: CustomAutoRooterGuard<'_, Option<TypedArray<ArrayBufferViewU8, *mut JSObject>>>, ) -> Result<(), Error>
fn TexSubImage2D_( &self, cx: &NoGC, target: u32, level: i32, xoffset: i32, yoffset: i32, format: u32, type_: u32, source: ImageBitmapOrImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement<D>, ) -> Result<(), Error>
fn CompressedTexImage2D( &self, cx: &NoGC, target: u32, level: i32, internalformat: u32, width: i32, height: i32, border: i32, srcData: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>, srcOffset: u32, srcLengthOverride: u32, )
fn CompressedTexSubImage2D( &self, cx: &NoGC, target: u32, level: i32, xoffset: i32, yoffset: i32, width: i32, height: i32, format: u32, srcData: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>, srcOffset: u32, srcLengthOverride: u32, )
fn Uniform1fv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, data: Float32ArrayOrUnrestrictedFloatSequence, srcOffset: u32, srcLength: u32, )
fn Uniform2fv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, data: Float32ArrayOrUnrestrictedFloatSequence, srcOffset: u32, srcLength: u32, )
fn Uniform3fv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, data: Float32ArrayOrUnrestrictedFloatSequence, srcOffset: u32, srcLength: u32, )
fn Uniform4fv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, data: Float32ArrayOrUnrestrictedFloatSequence, srcOffset: u32, srcLength: u32, )
fn Uniform1iv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, data: Int32ArrayOrLongSequence, srcOffset: u32, srcLength: u32, )
fn Uniform2iv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, data: Int32ArrayOrLongSequence, srcOffset: u32, srcLength: u32, )
fn Uniform3iv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, data: Int32ArrayOrLongSequence, srcOffset: u32, srcLength: u32, )
fn Uniform4iv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, data: Int32ArrayOrLongSequence, srcOffset: u32, srcLength: u32, )
fn UniformMatrix2fv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, transpose: bool, data: Float32ArrayOrUnrestrictedFloatSequence, srcOffset: u32, srcLength: u32, )
fn UniformMatrix3fv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, transpose: bool, data: Float32ArrayOrUnrestrictedFloatSequence, srcOffset: u32, srcLength: u32, )
fn UniformMatrix4fv( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, transpose: bool, data: Float32ArrayOrUnrestrictedFloatSequence, srcOffset: u32, srcLength: u32, )
fn ReadPixels( &self, cx: &NoGC, x: i32, y: i32, width: i32, height: i32, format: u32, type_: u32, dstData: CustomAutoRooterGuard<'_, Option<TypedArray<ArrayBufferViewU8, *mut JSObject>>>, )
fn ReadPixels_( &self, cx: &NoGC, x: i32, y: i32, width: i32, height: i32, format: u32, type_: u32, offset: i64, )
fn ReadPixels__( &self, cx: &NoGC, x: i32, y: i32, width: i32, height: i32, format: u32, type_: u32, dstData: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>, dstOffset: u32, )
fn Canvas(&self) -> HTMLCanvasElementOrOffscreenCanvas<D>
fn DrawingBufferWidth(&self) -> i32
fn DrawingBufferHeight(&self) -> i32
fn GetContextAttributes(&self) -> Option<WebGLContextAttributes>
fn IsContextLost(&self) -> bool
fn GetSupportedExtensions(&self) -> Option<Vec<DOMString>>
fn GetExtension( &self, cx: &mut JSContext, name: DOMString, rval: MutableHandle<'_, *mut JSObject>, )
fn ActiveTexture(&self, texture: u32)
fn AttachShader( &self, program: &<D as DomTypes>::WebGLProgram, shader: &<D as DomTypes>::WebGLShader, )
fn BindAttribLocation( &self, program: &<D as DomTypes>::WebGLProgram, index: u32, name: DOMString, )
fn BindBuffer( &self, cx: &mut JSContext, target: u32, buffer: Option<&<D as DomTypes>::WebGLBuffer>, )
fn BindFramebuffer( &self, target: u32, framebuffer: Option<&<D as DomTypes>::WebGLFramebuffer>, )
fn BindRenderbuffer( &self, target: u32, renderbuffer: Option<&<D as DomTypes>::WebGLRenderbuffer>, )
fn BindTexture( &self, target: u32, texture: Option<&<D as DomTypes>::WebGLTexture>, )
fn BlendColor(&self, red: f32, green: f32, blue: f32, alpha: f32)
fn BlendEquation(&self, mode: u32)
fn BlendEquationSeparate(&self, modeRGB: u32, modeAlpha: u32)
fn BlendFunc(&self, sfactor: u32, dfactor: u32)
fn BlendFuncSeparate( &self, srcRGB: u32, dstRGB: u32, srcAlpha: u32, dstAlpha: u32, )
fn CheckFramebufferStatus(&self, target: u32) -> u32
fn Clear(&self, mask: u32)
fn ClearColor(&self, red: f32, green: f32, blue: f32, alpha: f32)
fn ClearDepth(&self, depth: f32)
fn ClearStencil(&self, s: i32)
fn ColorMask(&self, red: bool, green: bool, blue: bool, alpha: bool)
fn CompileShader(&self, shader: &<D as DomTypes>::WebGLShader)
fn CopyTexImage2D( &self, target: u32, level: i32, internalformat: u32, x: i32, y: i32, width: i32, height: i32, border: i32, )
fn CopyTexSubImage2D( &self, target: u32, level: i32, xoffset: i32, yoffset: i32, x: i32, y: i32, width: i32, height: i32, )
fn CreateBuffer( &self, cx: &mut JSContext, ) -> Option<Root<Dom<<D as DomTypes>::WebGLBuffer>>>
fn CreateFramebuffer( &self, cx: &mut JSContext, ) -> Option<Root<Dom<<D as DomTypes>::WebGLFramebuffer>>>
fn CreateProgram( &self, cx: &mut JSContext, ) -> Option<Root<Dom<<D as DomTypes>::WebGLProgram>>>
fn CreateRenderbuffer( &self, cx: &mut JSContext, ) -> Option<Root<Dom<<D as DomTypes>::WebGLRenderbuffer>>>
fn CreateShader( &self, cx: &mut JSContext, type_: u32, ) -> Option<Root<Dom<<D as DomTypes>::WebGLShader>>>
fn CreateTexture( &self, cx: &mut JSContext, ) -> Option<Root<Dom<<D as DomTypes>::WebGLTexture>>>
fn CullFace(&self, mode: u32)
fn DeleteBuffer( &self, cx: &mut JSContext, buffer: Option<&<D as DomTypes>::WebGLBuffer>, )
fn DeleteFramebuffer( &self, framebuffer: Option<&<D as DomTypes>::WebGLFramebuffer>, )
fn DeleteProgram(&self, program: Option<&<D as DomTypes>::WebGLProgram>)
fn DeleteRenderbuffer( &self, renderbuffer: Option<&<D as DomTypes>::WebGLRenderbuffer>, )
fn DeleteShader(&self, shader: Option<&<D as DomTypes>::WebGLShader>)
fn DeleteTexture(&self, texture: Option<&<D as DomTypes>::WebGLTexture>)
fn DepthFunc(&self, func: u32)
fn DepthMask(&self, flag: bool)
fn DepthRange(&self, zNear: f32, zFar: f32)
fn DetachShader( &self, program: &<D as DomTypes>::WebGLProgram, shader: &<D as DomTypes>::WebGLShader, )
fn Disable(&self, cap: u32)
fn DisableVertexAttribArray(&self, cx: &mut JSContext, index: u32)
fn DrawArrays(&self, cx: &mut JSContext, mode: u32, first: i32, count: i32)
fn DrawElements( &self, cx: &mut JSContext, mode: u32, count: i32, type_: u32, offset: i64, )
fn Enable(&self, cap: u32)
fn EnableVertexAttribArray(&self, cx: &mut JSContext, index: u32)
fn Finish(&self)
fn Flush(&self)
fn FramebufferRenderbuffer( &self, target: u32, attachment: u32, renderbuffertarget: u32, renderbuffer: Option<&<D as DomTypes>::WebGLRenderbuffer>, )
fn FramebufferTexture2D( &self, target: u32, attachment: u32, textarget: u32, texture: Option<&<D as DomTypes>::WebGLTexture>, level: i32, )
fn FrontFace(&self, mode: u32)
fn GenerateMipmap(&self, target: u32)
fn GetActiveAttrib( &self, cx: &mut JSContext, program: &<D as DomTypes>::WebGLProgram, index: u32, ) -> Option<Root<Dom<<D as DomTypes>::WebGLActiveInfo>>>
fn GetActiveUniform( &self, cx: &mut JSContext, program: &<D as DomTypes>::WebGLProgram, index: u32, ) -> Option<Root<Dom<<D as DomTypes>::WebGLActiveInfo>>>
fn GetAttachedShaders( &self, program: &<D as DomTypes>::WebGLProgram, ) -> Option<Vec<Root<Dom<<D as DomTypes>::WebGLShader>>>>
fn GetAttribLocation( &self, program: &<D as DomTypes>::WebGLProgram, name: DOMString, ) -> i32
fn GetBufferParameter( &self, cx: &mut JSContext, target: u32, pname: u32, rval: MutableHandle<'_, Value>, )
fn GetParameter( &self, cx: &mut JSContext, pname: u32, rval: MutableHandle<'_, Value>, )
fn GetError(&self) -> u32
fn GetFramebufferAttachmentParameter( &self, cx: &mut JSContext, target: u32, attachment: u32, pname: u32, rval: MutableHandle<'_, Value>, )
fn GetProgramParameter( &self, cx: &mut JSContext, program: &<D as DomTypes>::WebGLProgram, pname: u32, rval: MutableHandle<'_, Value>, )
fn GetProgramInfoLog( &self, program: &<D as DomTypes>::WebGLProgram, ) -> Option<DOMString>
fn GetRenderbufferParameter( &self, cx: &mut JSContext, target: u32, pname: u32, rval: MutableHandle<'_, Value>, )
fn GetShaderParameter( &self, cx: &mut JSContext, shader: &<D as DomTypes>::WebGLShader, pname: u32, rval: MutableHandle<'_, Value>, )
fn GetShaderPrecisionFormat( &self, cx: &mut JSContext, shadertype: u32, precisiontype: u32, ) -> Option<Root<Dom<<D as DomTypes>::WebGLShaderPrecisionFormat>>>
fn GetShaderInfoLog( &self, shader: &<D as DomTypes>::WebGLShader, ) -> Option<DOMString>
fn GetShaderSource( &self, shader: &<D as DomTypes>::WebGLShader, ) -> Option<DOMString>
fn GetTexParameter( &self, cx: &mut JSContext, target: u32, pname: u32, rval: MutableHandle<'_, Value>, )
fn GetUniform( &self, cx: &mut JSContext, program: &<D as DomTypes>::WebGLProgram, location: &<D as DomTypes>::WebGLUniformLocation, rval: MutableHandle<'_, Value>, )
fn GetUniformLocation( &self, cx: &mut JSContext, program: &<D as DomTypes>::WebGLProgram, name: DOMString, ) -> Option<Root<Dom<<D as DomTypes>::WebGLUniformLocation>>>
fn GetVertexAttrib( &self, cx: &mut JSContext, index: u32, pname: u32, rval: MutableHandle<'_, Value>, )
fn GetVertexAttribOffset( &self, cx: &mut JSContext, index: u32, pname: u32, ) -> i64
fn Hint(&self, target: u32, mode: u32)
fn IsBuffer(&self, buffer: Option<&<D as DomTypes>::WebGLBuffer>) -> bool
fn IsEnabled(&self, cap: u32) -> bool
fn IsFramebuffer( &self, framebuffer: Option<&<D as DomTypes>::WebGLFramebuffer>, ) -> bool
fn IsProgram(&self, program: Option<&<D as DomTypes>::WebGLProgram>) -> bool
fn IsRenderbuffer( &self, renderbuffer: Option<&<D as DomTypes>::WebGLRenderbuffer>, ) -> bool
fn IsShader(&self, shader: Option<&<D as DomTypes>::WebGLShader>) -> bool
fn IsTexture(&self, texture: Option<&<D as DomTypes>::WebGLTexture>) -> bool
fn LineWidth(&self, width: f32)
fn LinkProgram(&self, program: &<D as DomTypes>::WebGLProgram)
fn PixelStorei(&self, pname: u32, param: i32)
fn PolygonOffset(&self, factor: f32, units: f32)
fn RenderbufferStorage( &self, target: u32, internalformat: u32, width: i32, height: i32, )
fn SampleCoverage(&self, value: f32, invert: bool)
fn Scissor(&self, x: i32, y: i32, width: i32, height: i32)
fn ShaderSource(&self, shader: &<D as DomTypes>::WebGLShader, source: DOMString)
fn StencilFunc(&self, func: u32, ref_: i32, mask: u32)
fn StencilFuncSeparate(&self, face: u32, func: u32, ref_: i32, mask: u32)
fn StencilMask(&self, mask: u32)
fn StencilMaskSeparate(&self, face: u32, mask: u32)
fn StencilOp(&self, fail: u32, zfail: u32, zpass: u32)
fn StencilOpSeparate(&self, face: u32, fail: u32, zfail: u32, zpass: u32)
fn TexParameterf(&self, target: u32, pname: u32, param: f32)
fn TexParameteri(&self, target: u32, pname: u32, param: i32)
fn Uniform1f( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, x: f32, )
fn Uniform2f( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, x: f32, y: f32, )
fn Uniform3f( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, x: f32, y: f32, z: f32, )
fn Uniform4f( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, x: f32, y: f32, z: f32, w: f32, )
fn Uniform1i( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, x: i32, )
fn Uniform2i( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, x: i32, y: i32, )
fn Uniform3i( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, x: i32, y: i32, z: i32, )
fn Uniform4i( &self, location: Option<&<D as DomTypes>::WebGLUniformLocation>, x: i32, y: i32, z: i32, w: i32, )
fn UseProgram(&self, program: Option<&<D as DomTypes>::WebGLProgram>)
fn ValidateProgram(&self, program: &<D as DomTypes>::WebGLProgram)
fn VertexAttrib1f(&self, cx: &mut JSContext, indx: u32, x: f32)
fn VertexAttrib2f(&self, cx: &mut JSContext, indx: u32, x: f32, y: f32)
fn VertexAttrib3f(&self, cx: &mut JSContext, indx: u32, x: f32, y: f32, z: f32)
fn VertexAttrib4f( &self, cx: &mut JSContext, indx: u32, x: f32, y: f32, z: f32, w: f32, )
fn VertexAttrib1fv( &self, cx: &mut JSContext, indx: u32, values: Float32ArrayOrUnrestrictedFloatSequence, )
fn VertexAttrib2fv( &self, cx: &mut JSContext, indx: u32, values: Float32ArrayOrUnrestrictedFloatSequence, )
fn VertexAttrib3fv( &self, cx: &mut JSContext, indx: u32, values: Float32ArrayOrUnrestrictedFloatSequence, )
fn VertexAttrib4fv( &self, cx: &mut JSContext, indx: u32, values: Float32ArrayOrUnrestrictedFloatSequence, )
fn VertexAttribPointer( &self, cx: &mut JSContext, indx: u32, size: i32, type_: u32, normalized: bool, stride: i32, offset: i64, )
fn Viewport(&self, x: i32, y: i32, width: i32, height: i32)
fn MakeXRCompatible( &self, cx: &mut JSContext, ) -> <<D as DomTypes>::Promise as PromiseHelpers<D>>::StackRoot
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".