pub(crate) trait WebGLRenderingContextMethods<D>{
Show 143 methods
// Required methods
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: JSContext,
name: DOMString,
) -> Option<NonNull<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,
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) -> Option<Root<Dom<<D as DomTypes>::WebGLBuffer>>>;
fn CreateFramebuffer(
&self,
) -> Option<Root<Dom<<D as DomTypes>::WebGLFramebuffer>>>;
fn CreateProgram(&self) -> Option<Root<Dom<<D as DomTypes>::WebGLProgram>>>;
fn CreateRenderbuffer(
&self,
) -> Option<Root<Dom<<D as DomTypes>::WebGLRenderbuffer>>>;
fn CreateShader(
&self,
type_: u32,
) -> Option<Root<Dom<<D as DomTypes>::WebGLShader>>>;
fn CreateTexture(&self) -> Option<Root<Dom<<D as DomTypes>::WebGLTexture>>>;
fn CullFace(&self, mode: u32);
fn DeleteBuffer(&self, 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, index: u32);
fn DrawArrays(&self, mode: u32, first: i32, count: i32);
fn DrawElements(&self, mode: u32, count: i32, type_: u32, offset: i64);
fn Enable(&self, cap: u32);
fn EnableVertexAttribArray(&self, 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,
program: &<D as DomTypes>::WebGLProgram,
index: u32,
) -> Option<Root<Dom<<D as DomTypes>::WebGLActiveInfo>>>;
fn GetActiveUniform(
&self,
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: JSContext,
target: u32,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetParameter(
&self,
cx: JSContext,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetError(&self) -> u32;
fn GetFramebufferAttachmentParameter(
&self,
cx: JSContext,
target: u32,
attachment: u32,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetProgramParameter(
&self,
cx: 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: JSContext,
target: u32,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetShaderParameter(
&self,
cx: JSContext,
shader: &<D as DomTypes>::WebGLShader,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetShaderPrecisionFormat(
&self,
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: JSContext,
target: u32,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetUniform(
&self,
cx: JSContext,
program: &<D as DomTypes>::WebGLProgram,
location: &<D as DomTypes>::WebGLUniformLocation,
rval: MutableHandle<'_, Value>,
);
fn GetUniformLocation(
&self,
program: &<D as DomTypes>::WebGLProgram,
name: DOMString,
) -> Option<Root<Dom<<D as DomTypes>::WebGLUniformLocation>>>;
fn GetVertexAttrib(
&self,
cx: JSContext,
index: u32,
pname: u32,
rval: MutableHandle<'_, Value>,
);
fn GetVertexAttribOffset(&self, 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, indx: u32, x: f32);
fn VertexAttrib2f(&self, indx: u32, x: f32, y: f32);
fn VertexAttrib3f(&self, indx: u32, x: f32, y: f32, z: f32);
fn VertexAttrib4f(&self, indx: u32, x: f32, y: f32, z: f32, w: f32);
fn VertexAttrib1fv(
&self,
indx: u32,
values: Float32ArrayOrUnrestrictedFloatSequence,
);
fn VertexAttrib2fv(
&self,
indx: u32,
values: Float32ArrayOrUnrestrictedFloatSequence,
);
fn VertexAttrib3fv(
&self,
indx: u32,
values: Float32ArrayOrUnrestrictedFloatSequence,
);
fn VertexAttrib4fv(
&self,
indx: u32,
values: Float32ArrayOrUnrestrictedFloatSequence,
);
fn VertexAttribPointer(
&self,
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, _can_gc: CanGc) -> Rc<<D as DomTypes>::Promise>;
fn BufferData(&self, target: u32, size: i64, usage: u32);
fn BufferData_(
&self,
target: u32,
data: Option<ArrayBufferViewOrArrayBuffer>,
usage: u32,
);
fn BufferSubData(
&self,
target: u32,
offset: i64,
data: ArrayBufferViewOrArrayBuffer,
);
fn CompressedTexImage2D(
&self,
target: u32,
level: i32,
internalformat: u32,
width: i32,
height: i32,
border: i32,
data: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>,
);
fn CompressedTexSubImage2D(
&self,
target: u32,
level: i32,
xoffset: i32,
yoffset: i32,
width: i32,
height: i32,
format: u32,
data: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferViewU8, *mut JSObject>>,
);
fn ReadPixels(
&self,
x: i32,
y: i32,
width: i32,
height: i32,
format: u32,
type_: u32,
pixels: CustomAutoRooterGuard<'_, Option<TypedArray<ArrayBufferViewU8, *mut JSObject>>>,
);
fn TexImage2D(
&self,
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,
target: u32,
level: i32,
internalformat: i32,
format: u32,
type_: u32,
source: ImageBitmapOrImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement<D>,
) -> Result<(), Error>;
fn TexSubImage2D(
&self,
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,
target: u32,
level: i32,
xoffset: i32,
yoffset: i32,
format: u32,
type_: u32,
source: ImageBitmapOrImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement<D>,
) -> Result<(), Error>;
fn Uniform1fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
v: Float32ArrayOrUnrestrictedFloatSequence,
);
fn Uniform2fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
v: Float32ArrayOrUnrestrictedFloatSequence,
);
fn Uniform3fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
v: Float32ArrayOrUnrestrictedFloatSequence,
);
fn Uniform4fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
v: Float32ArrayOrUnrestrictedFloatSequence,
);
fn Uniform1iv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
v: Int32ArrayOrLongSequence,
);
fn Uniform2iv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
v: Int32ArrayOrLongSequence,
);
fn Uniform3iv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
v: Int32ArrayOrLongSequence,
);
fn Uniform4iv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
v: Int32ArrayOrLongSequence,
);
fn UniformMatrix2fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
transpose: bool,
value: Float32ArrayOrUnrestrictedFloatSequence,
);
fn UniformMatrix3fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
transpose: bool,
value: Float32ArrayOrUnrestrictedFloatSequence,
);
fn UniformMatrix4fv(
&self,
location: Option<&<D as DomTypes>::WebGLUniformLocation>,
transpose: bool,
value: Float32ArrayOrUnrestrictedFloatSequence,
);
}