#[repr(C)]pub(crate) struct WebGLProgram {Show 14 fields
webgl_object: WebGLObject,
id: WebGLProgramId,
is_in_use: Cell<bool>,
marked_for_deletion: Cell<bool>,
link_called: Cell<bool>,
linked: Cell<bool>,
link_generation: Cell<u64>,
fragment_shader: MutNullableDom<WebGLShader>,
vertex_shader: MutNullableDom<WebGLShader>,
active_attribs: DomRefCell<Box<[ActiveAttribInfo]>>,
active_uniforms: DomRefCell<Box<[ActiveUniformInfo]>>,
active_uniform_blocks: DomRefCell<Box<[ActiveUniformBlockInfo]>>,
transform_feedback_varyings_length: Cell<i32>,
transform_feedback_mode: Cell<i32>,
}
Fields§
§webgl_object: WebGLObject
§id: WebGLProgramId
§is_in_use: Cell<bool>
§marked_for_deletion: Cell<bool>
§link_called: Cell<bool>
§linked: Cell<bool>
§link_generation: Cell<u64>
§fragment_shader: MutNullableDom<WebGLShader>
§vertex_shader: MutNullableDom<WebGLShader>
§active_attribs: DomRefCell<Box<[ActiveAttribInfo]>>
§active_uniforms: DomRefCell<Box<[ActiveUniformInfo]>>
§active_uniform_blocks: DomRefCell<Box<[ActiveUniformBlockInfo]>>
§transform_feedback_varyings_length: Cell<i32>
§transform_feedback_mode: Cell<i32>
Implementations§
source§impl WebGLProgram
impl WebGLProgram
fn __assert_parent_type(&self)
source§impl WebGLProgram
impl WebGLProgram
fn new_inherited(context: &WebGLRenderingContext, id: WebGLProgramId) -> Self
pub(crate) fn maybe_new( context: &WebGLRenderingContext, ) -> Option<Root<Dom<Self>>>
pub(crate) fn new( context: &WebGLRenderingContext, id: WebGLProgramId, ) -> Root<Dom<Self>>
source§impl WebGLProgram
impl WebGLProgram
pub(crate) fn id(&self) -> WebGLProgramId
sourcepub(crate) fn mark_for_deletion(&self, operation_fallibility: Operation)
pub(crate) fn mark_for_deletion(&self, operation_fallibility: Operation)
glDeleteProgram
pub(crate) fn in_use(&self, value: bool)
fn detach_shaders(&self)
pub(crate) fn is_in_use(&self) -> bool
pub(crate) fn is_marked_for_deletion(&self) -> bool
pub(crate) fn is_deleted(&self) -> bool
pub(crate) fn is_linked(&self) -> bool
sourcepub(crate) fn link(&self) -> WebGLResult<()>
pub(crate) fn link(&self) -> WebGLResult<()>
glLinkProgram
pub(crate) fn active_attribs(&self) -> Ref<'_, [ActiveAttribInfo]>
pub(crate) fn active_uniforms(&self) -> Ref<'_, [ActiveUniformInfo]>
pub(crate) fn active_uniform_blocks(&self) -> Ref<'_, [ActiveUniformBlockInfo]>
sourcepub(crate) fn validate(&self) -> WebGLResult<()>
pub(crate) fn validate(&self) -> WebGLResult<()>
glValidateProgram
sourcepub(crate) fn attach_shader(&self, shader: &WebGLShader) -> WebGLResult<()>
pub(crate) fn attach_shader(&self, shader: &WebGLShader) -> WebGLResult<()>
glAttachShader
sourcepub(crate) fn detach_shader(&self, shader: &WebGLShader) -> WebGLResult<()>
pub(crate) fn detach_shader(&self, shader: &WebGLShader) -> WebGLResult<()>
glDetachShader
sourcepub(crate) fn bind_attrib_location(
&self,
index: u32,
name: DOMString,
) -> WebGLResult<()>
pub(crate) fn bind_attrib_location( &self, index: u32, name: DOMString, ) -> WebGLResult<()>
glBindAttribLocation
pub(crate) fn get_active_uniform( &self, index: u32, ) -> WebGLResult<Root<Dom<WebGLActiveInfo>>>
sourcepub(crate) fn get_active_attrib(
&self,
index: u32,
) -> WebGLResult<Root<Dom<WebGLActiveInfo>>>
pub(crate) fn get_active_attrib( &self, index: u32, ) -> WebGLResult<Root<Dom<WebGLActiveInfo>>>
glGetActiveAttrib
sourcepub(crate) fn get_attrib_location(&self, name: DOMString) -> WebGLResult<i32>
pub(crate) fn get_attrib_location(&self, name: DOMString) -> WebGLResult<i32>
glGetAttribLocation
sourcepub(crate) fn get_frag_data_location(&self, name: DOMString) -> WebGLResult<i32>
pub(crate) fn get_frag_data_location(&self, name: DOMString) -> WebGLResult<i32>
glGetFragDataLocation
sourcepub(crate) fn get_uniform_location(
&self,
name: DOMString,
) -> WebGLResult<Option<Root<Dom<WebGLUniformLocation>>>>
pub(crate) fn get_uniform_location( &self, name: DOMString, ) -> WebGLResult<Option<Root<Dom<WebGLUniformLocation>>>>
glGetUniformLocation
pub(crate) fn get_uniform_block_index( &self, name: DOMString, ) -> WebGLResult<u32>
pub(crate) fn get_uniform_indices( &self, names: Vec<DOMString>, ) -> WebGLResult<Vec<u32>>
pub(crate) fn get_active_uniforms( &self, indices: Vec<u32>, pname: u32, ) -> WebGLResult<Vec<i32>>
pub(crate) fn get_active_uniform_block_parameter( &self, block_index: u32, pname: u32, ) -> WebGLResult<Vec<i32>>
pub(crate) fn get_active_uniform_block_name( &self, block_index: u32, ) -> WebGLResult<String>
pub(crate) fn bind_uniform_block( &self, block_index: u32, block_binding: u32, ) -> WebGLResult<()>
sourcepub(crate) fn get_info_log(&self) -> WebGLResult<String>
pub(crate) fn get_info_log(&self) -> WebGLResult<String>
glGetProgramInfoLog
pub(crate) fn attached_shaders( &self, ) -> WebGLResult<Vec<Root<Dom<WebGLShader>>>>
pub(crate) fn link_generation(&self) -> u64
pub(crate) fn transform_feedback_varyings_length(&self) -> i32
pub(crate) fn transform_feedback_buffer_mode(&self) -> i32
Trait Implementations§
§impl Castable for WebGLProgram
impl Castable for WebGLProgram
source§impl DomObject for WebGLProgram
impl DomObject for WebGLProgram
source§impl DomObjectWrap for WebGLProgram
impl DomObjectWrap for WebGLProgram
source§const WRAP: unsafe fn(_: SafeJSContext, _: &GlobalScope, _: Option<HandleObject<'_>>, _: Box<Self>, _: CanGc) -> Root<Dom<Self>> = {dom::bindings::codegen::Bindings::WebGLProgramBinding::WebGLProgram_Binding::Wrap::<dom::bindings::codegen::DomTypeHolder::DomTypeHolder> as for<'a, 'b> unsafe fn(script_runtime::JSContext, &'a dom::globalscope::GlobalScope, std::option::Option<js::rust::Handle<'b, *mut js::jsapi::JSObject>>, std::boxed::Box<dom::webglprogram::WebGLProgram>, script_runtime::CanGc) -> dom::bindings::root::Root<dom::bindings::root::Dom<dom::webglprogram::WebGLProgram>>}
const WRAP: unsafe fn(_: SafeJSContext, _: &GlobalScope, _: Option<HandleObject<'_>>, _: Box<Self>, _: CanGc) -> Root<Dom<Self>> = {dom::bindings::codegen::Bindings::WebGLProgramBinding::WebGLProgram_Binding::Wrap::<dom::bindings::codegen::DomTypeHolder::DomTypeHolder> as for<'a, 'b> unsafe fn(script_runtime::JSContext, &'a dom::globalscope::GlobalScope, std::option::Option<js::rust::Handle<'b, *mut js::jsapi::JSObject>>, std::boxed::Box<dom::webglprogram::WebGLProgram>, script_runtime::CanGc) -> dom::bindings::root::Root<dom::bindings::root::Dom<dom::webglprogram::WebGLProgram>>}
Function pointer to the general wrap function type
source§impl Drop for WebGLProgram
impl Drop for WebGLProgram
source§impl HasParent for WebGLProgram
impl HasParent for WebGLProgram
source§fn as_parent(&self) -> &WebGLObject
fn as_parent(&self) -> &WebGLObject
This is used in a type assertion to ensure that the source and webidls agree as to what the parent type is
type Parent = WebGLObject
source§impl IDLInterface for WebGLProgram
impl IDLInterface for WebGLProgram
source§impl MallocSizeOf for WebGLProgram
impl MallocSizeOf for WebGLProgram
source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
source§impl MutDomObject for WebGLProgram
impl MutDomObject for WebGLProgram
source§impl PartialEq for WebGLProgram
impl PartialEq for WebGLProgram
source§impl ToJSValConvertible for WebGLProgram
impl ToJSValConvertible for WebGLProgram
source§impl Traceable for WebGLProgram
impl Traceable for WebGLProgram
impl DerivedFrom<WebGLObject> for WebGLProgram
impl Eq for WebGLProgram
Auto Trait Implementations§
impl !Freeze for WebGLProgram
impl !RefUnwindSafe for WebGLProgram
impl !Send for WebGLProgram
impl !Sync for WebGLProgram
impl Unpin for WebGLProgram
impl !UnwindSafe for WebGLProgram
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> Filterable for T
impl<T> Filterable for T
source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert