Struct script::dom::webglshader::WebGLShader
source · #[repr(C)]pub 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 fn maybe_new( context: &WebGLRenderingContext, shader_type: u32 ) -> Option<Root<Dom<Self>>>
pub fn new( context: &WebGLRenderingContext, id: WebGLShaderId, shader_type: u32 ) -> Root<Dom<Self>>
source§impl WebGLShader
impl WebGLShader
pub fn id(&self) -> WebGLShaderId
pub fn gl_type(&self) -> u32
sourcepub fn compile(
&self,
api_type: GlType,
webgl_version: WebGLVersion,
glsl_version: WebGLSLVersion,
limits: &GLLimits,
ext: &WebGLExtensions
) -> WebGLResult<()>
pub fn compile( &self, api_type: GlType, webgl_version: WebGLVersion, glsl_version: WebGLSLVersion, limits: &GLLimits, ext: &WebGLExtensions ) -> WebGLResult<()>
glCompileShader
sourcepub fn mark_for_deletion(&self, operation_fallibility: Operation)
pub 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 fn is_marked_for_deletion(&self) -> bool
pub fn is_deleted(&self) -> bool
pub fn is_attached(&self) -> bool
pub fn increment_attached_counter(&self)
pub fn decrement_attached_counter(&self)
sourcepub fn set_source(&self, source: DOMString)
pub fn set_source(&self, source: DOMString)
glShaderSource
pub fn successfully_compiled(&self) -> bool
Trait Implementations§
source§impl Castable for WebGLShader
impl Castable for WebGLShader
source§impl DomObject for WebGLShader
impl DomObject for WebGLShader
source§impl DomObjectWrap for WebGLShader
impl DomObjectWrap for WebGLShader
source§const WRAP: unsafe fn(_: SafeJSContext, _: &GlobalScope, _: Option<HandleObject<'_>>, _: Box<Self>) -> Root<Dom<Self>> = {dom::bindings::codegen::Bindings::WebGLShaderBinding::WebGLShader_Binding::Wrap 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::webglshader::WebGLShader>) -> dom::bindings::root::Root<dom::bindings::root::Dom<dom::webglshader::WebGLShader>>}
const WRAP: unsafe fn(_: SafeJSContext, _: &GlobalScope, _: Option<HandleObject<'_>>, _: Box<Self>) -> Root<Dom<Self>> = {dom::bindings::codegen::Bindings::WebGLShaderBinding::WebGLShader_Binding::Wrap 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::webglshader::WebGLShader>) -> dom::bindings::root::Root<dom::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§unsafe fn init_reflector(&self, obj: *mut JSObject)
unsafe fn init_reflector(&self, obj: *mut JSObject)
Initializes the Reflector
source§impl PartialEq<WebGLShader> for WebGLShader
impl PartialEq<WebGLShader> for WebGLShader
source§fn eq(&self, other: &WebGLShader) -> bool
fn eq(&self, other: &WebGLShader) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl ToJSValConvertible for WebGLShader
impl ToJSValConvertible for WebGLShader
source§impl Traceable for WebGLShader
impl Traceable for WebGLShader
impl DerivedFrom<WebGLObject> for WebGLShader
Auto Trait Implementations§
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<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>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where F: FnOnce(&Self) -> bool,
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, Global>> for T
impl<T> MaybeBoxed<Box<T, Global>> for T
source§fn maybe_boxed(self) -> Box<T, Global>
fn maybe_boxed(self) -> Box<T, Global>
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