#[repr(C)]
pub 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

source§

impl WebGLProgram

source

fn new_inherited(context: &WebGLRenderingContext, id: WebGLProgramId) -> Self

source

pub fn maybe_new(context: &WebGLRenderingContext) -> Option<Root<Dom<Self>>>

source

pub fn new(
    context: &WebGLRenderingContext,
    id: WebGLProgramId
) -> Root<Dom<Self>>

source§

impl WebGLProgram

source

pub fn id(&self) -> WebGLProgramId

source

pub fn mark_for_deletion(&self, operation_fallibility: Operation)

glDeleteProgram

source

pub fn in_use(&self, value: bool)

source

fn detach_shaders(&self)

source

pub fn is_in_use(&self) -> bool

source

pub fn is_marked_for_deletion(&self) -> bool

source

pub fn is_deleted(&self) -> bool

source

pub fn is_linked(&self) -> bool

glLinkProgram

source

pub fn active_attribs(&self) -> Ref<'_, [ActiveAttribInfo]>

source

pub fn active_uniforms(&self) -> Ref<'_, [ActiveUniformInfo]>

source

pub fn active_uniform_blocks(&self) -> Ref<'_, [ActiveUniformBlockInfo]>

source

pub fn validate(&self) -> WebGLResult<()>

glValidateProgram

source

pub fn attach_shader(&self, shader: &WebGLShader) -> WebGLResult<()>

glAttachShader

source

pub fn detach_shader(&self, shader: &WebGLShader) -> WebGLResult<()>

glDetachShader

source

pub fn bind_attrib_location(&self, index: u32, name: DOMString) -> WebGLResult<()>

glBindAttribLocation

source

pub fn get_active_uniform(
    &self,
    index: u32
) -> WebGLResult<Root<Dom<WebGLActiveInfo>>>

source

pub fn get_active_attrib(
    &self,
    index: u32
) -> WebGLResult<Root<Dom<WebGLActiveInfo>>>

glGetActiveAttrib

source

pub fn get_attrib_location(&self, name: DOMString) -> WebGLResult<i32>

glGetAttribLocation

source

pub fn get_frag_data_location(&self, name: DOMString) -> WebGLResult<i32>

glGetFragDataLocation

source

pub fn get_uniform_location(
    &self,
    name: DOMString
) -> WebGLResult<Option<Root<Dom<WebGLUniformLocation>>>>

glGetUniformLocation

source

pub fn get_uniform_block_index(&self, name: DOMString) -> WebGLResult<u32>

source

pub fn get_uniform_indices(&self, names: Vec<DOMString>) -> WebGLResult<Vec<u32>>

source

pub fn get_active_uniforms(
    &self,
    indices: Vec<u32>,
    pname: u32
) -> WebGLResult<Vec<i32>>

source

pub fn get_active_uniform_block_parameter(
    &self,
    block_index: u32,
    pname: u32
) -> WebGLResult<Vec<i32>>

source

pub fn get_active_uniform_block_name(
    &self,
    block_index: u32
) -> WebGLResult<String>

source

pub fn bind_uniform_block(
    &self,
    block_index: u32,
    block_binding: u32
) -> WebGLResult<()>

source

pub fn get_info_log(&self) -> WebGLResult<String>

glGetProgramInfoLog

source

pub fn attached_shaders(&self) -> WebGLResult<Vec<Root<Dom<WebGLShader>>>>

source

pub fn transform_feedback_varyings_length(&self) -> i32

source

pub fn transform_feedback_buffer_mode(&self) -> i32

Trait Implementations§

source§

impl Castable for WebGLProgram

source§

fn is<T>(&self) -> boolwhere
    T: DerivedFrom<Self>,

Check whether a DOM object implements one of its deriving interfaces.
source§

fn upcast<T>(&self) -> &Twhere
    T: Castable,
    Self: DerivedFrom<T>,

Cast a DOM object upwards to one of the interfaces it derives from.
source§

fn downcast<T>(&self) -> Option<&T>where
    T: DerivedFrom<Self>,

Cast a DOM object downwards to one of the interfaces it might implement.
source§

impl DomObject for WebGLProgram

source§

fn reflector(&self) -> &Reflector

Returns the receiver’s reflector.
source§

fn global(&self) -> Root<Dom<GlobalScope>>where
    Self: Sized,

Returns the global scope of the realm that the DomObject was created in.
source§

impl DomObjectWrap for WebGLProgram

source§

const WRAP: unsafe fn(_: SafeJSContext, _: &GlobalScope, _: Box<Self>) -> Root<Dom<Self>> = {dom::bindings::codegen::Bindings::WebGLProgramBinding::WebGLProgramBinding::Wrap as for<'a> unsafe fn(script_runtime::JSContext, &'a dom::globalscope::GlobalScope, std::boxed::Box<dom::webglprogram::WebGLProgram>) -> dom::bindings::root::Root<dom::bindings::root::Dom<dom::webglprogram::WebGLProgram>>}

Function pointer to the general wrap function type
source§

impl Drop for WebGLProgram

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl HasParent for WebGLProgram

source§

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

source§

fn derives(class: &'static DOMClass) -> bool

Returns whether the given DOM class derives that interface.
source§

impl JSTraceable for WebGLProgram

source§

unsafe fn trace(&self, tracer: *mut JSTracer)

Trace self.
source§

impl MallocSizeOf for WebGLProgram

source§

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

source§

unsafe fn init_reflector(&self, obj: *mut JSObject)

Initializes the Reflector
source§

impl PartialEq<WebGLProgram> for WebGLProgram

source§

fn eq(&self, other: &WebGLProgram) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl ToJSValConvertible for WebGLProgram

source§

unsafe fn to_jsval(&self, cx: *mut JSContext, rval: MutableHandleValue<'_>)

Convert self to a JSVal. JSAPI failure causes a panic.
source§

impl DerivedFrom<WebGLObject> for WebGLProgram

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere
    T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere
    U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> MaybeBoxed<Box<T, Global>> for T

source§

fn maybe_boxed(self) -> Box<T, Global>

Convert
source§

impl<T> MaybeBoxed<T> for T

source§

fn maybe_boxed(self) -> T

Convert
source§

impl<T> Pointable for T

source§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere
    U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere
    U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for Twhere
    V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
    S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> Erased for T