#[repr(C)]pub(crate) struct WebGLShader {
webgl_object: WebGLObject,
id: WebGLShaderId,
gl_type: u32,
source: DomRefCell<DOMString>,
info_log: DomRefCell<DOMString>,
marked_for_deletion: Cell<bool>,
attached_counter: Cell<u32>,
compilation_status: Cell<ShaderCompilationStatus>,
}
Fields§
§webgl_object: WebGLObject
§id: WebGLShaderId
§gl_type: u32
§source: DomRefCell<DOMString>
§info_log: DomRefCell<DOMString>
§marked_for_deletion: Cell<bool>
§attached_counter: Cell<u32>
§compilation_status: Cell<ShaderCompilationStatus>
Implementations§
Source§impl WebGLShader
impl WebGLShader
fn __assert_parent_type(&self)
Source§impl WebGLShader
impl WebGLShader
fn new_inherited( context: &WebGLRenderingContext, id: WebGLShaderId, shader_type: u32, ) -> Self
pub(crate) fn maybe_new( context: &WebGLRenderingContext, shader_type: u32, ) -> Option<DomRoot<Self>>
pub(crate) fn new( context: &WebGLRenderingContext, id: WebGLShaderId, shader_type: u32, can_gc: CanGc, ) -> DomRoot<Self>
Source§impl WebGLShader
impl WebGLShader
pub(crate) fn id(&self) -> WebGLShaderId
pub(crate) fn gl_type(&self) -> u32
Sourcepub(crate) fn compile(
&self,
api_type: GlType,
webgl_version: WebGLVersion,
glsl_version: WebGLSLVersion,
limits: &GLLimits,
ext: &WebGLExtensions,
) -> WebGLResult<()>
pub(crate) fn compile( &self, api_type: GlType, webgl_version: WebGLVersion, glsl_version: WebGLSLVersion, limits: &GLLimits, ext: &WebGLExtensions, ) -> WebGLResult<()>
glCompileShader
Sourcepub(crate) fn mark_for_deletion(&self, operation_fallibility: Operation)
pub(crate) fn mark_for_deletion(&self, operation_fallibility: Operation)
Mark this shader as deleted (if it wasn’t previously) and delete it as if calling glDeleteShader. Currently does not check if shader is attached
pub(crate) fn is_marked_for_deletion(&self) -> bool
pub(crate) fn is_deleted(&self) -> bool
pub(crate) fn is_attached(&self) -> bool
pub(crate) fn increment_attached_counter(&self)
pub(crate) fn decrement_attached_counter(&self)
Sourcepub(crate) fn set_source(&self, source: DOMString)
pub(crate) fn set_source(&self, source: DOMString)
glShaderSource
pub(crate) fn successfully_compiled(&self) -> bool
Trait Implementations§
§impl Castable for WebGLShader
impl Castable for WebGLShader
Source§impl DomObject for WebGLShader
impl DomObject for WebGLShader
Source§impl DomObjectWrap<DomTypeHolder> for WebGLShader
impl DomObjectWrap<DomTypeHolder> for WebGLShader
Source§const WRAP: unsafe fn(_: SafeJSContext, _: &GlobalScope, _: Option<HandleObject<'_>>, _: Box<Self>, _: CanGc) -> Root<Dom<Self>> = {script_bindings::codegen::GenericBindings::WebGLShaderBinding::Wrap::<dom::bindings::codegen::DomTypeHolder::DomTypeHolder> as for<'a, 'b> unsafe fn(script_bindings::script_runtime::JSContext, &'a dom::globalscope::GlobalScope, std::option::Option<js::rust::Handle<'b, *mut js::jsapi::JSObject>>, std::boxed::Box<dom::webglshader::WebGLShader>, script_bindings::script_runtime::CanGc) -> script_bindings::root::Root<script_bindings::root::Dom<dom::webglshader::WebGLShader>>}
const WRAP: unsafe fn(_: SafeJSContext, _: &GlobalScope, _: Option<HandleObject<'_>>, _: Box<Self>, _: CanGc) -> Root<Dom<Self>> = {script_bindings::codegen::GenericBindings::WebGLShaderBinding::Wrap::<dom::bindings::codegen::DomTypeHolder::DomTypeHolder> as for<'a, 'b> unsafe fn(script_bindings::script_runtime::JSContext, &'a dom::globalscope::GlobalScope, std::option::Option<js::rust::Handle<'b, *mut js::jsapi::JSObject>>, std::boxed::Box<dom::webglshader::WebGLShader>, script_bindings::script_runtime::CanGc) -> script_bindings::root::Root<script_bindings::root::Dom<dom::webglshader::WebGLShader>>}
Function pointer to the general wrap function type
Source§impl Drop for WebGLShader
impl Drop for WebGLShader
Source§impl HasParent for WebGLShader
impl HasParent for WebGLShader
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 WebGLShader
impl IDLInterface for WebGLShader
Source§impl MallocSizeOf for WebGLShader
impl MallocSizeOf for WebGLShader
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 WebGLShader
impl MutDomObject for WebGLShader
Source§impl PartialEq for WebGLShader
impl PartialEq for WebGLShader
Source§impl ToJSValConvertible for WebGLShader
impl ToJSValConvertible for WebGLShader
Source§impl Traceable for WebGLShader
impl Traceable for WebGLShader
impl DerivedFrom<WebGLObject> for WebGLShader
impl Eq for WebGLShader
Auto Trait Implementations§
impl !Freeze for WebGLShader
impl !RefUnwindSafe for WebGLShader
impl !Send for WebGLShader
impl !Sync for WebGLShader
impl Unpin for WebGLShader
impl !UnwindSafe for WebGLShader
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<D, T> DomGlobalGeneric<D> for T
impl<D, T> DomGlobalGeneric<D> for T
Source§fn global_(&self, realm: InRealm<'_>) -> Root<Dom<<D as DomTypes>::GlobalScope>>where
Self: Sized,
fn global_(&self, realm: InRealm<'_>) -> Root<Dom<<D as DomTypes>::GlobalScope>>where
Self: Sized,
Returns the [
GlobalScope
] of the realm that the DomObject
was created in. If this
object is a Node
, this will be different from it’s owning Document
if adopted by. For
Node
s it’s almost always better to use NodeTraits::owning_global
.Source§fn global(&self) -> Root<Dom<<D as DomTypes>::GlobalScope>>where
Self: Sized,
fn global(&self) -> Root<Dom<<D as DomTypes>::GlobalScope>>where
Self: Sized,
Returns the [
GlobalScope
] of the realm that the DomObject
was created in. If this
object is a Node
, this will be different from it’s owning Document
if adopted by. For
Node
s it’s almost always better to use NodeTraits::owning_global
.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§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