[−]Struct gstreamer_gl::GLShader
Methods
impl GLShader
[src]
pub fn new<P: IsA<GLContext>>(context: &P) -> GLShader
[src]
pub fn new_default<P: IsA<GLContext>>(context: &P) -> Result<GLShader, Error>
[src]
Note: must be called in the GL thread
context
a GLContext
Returns
a default shader
or None
on failure
pub fn attach(&self, stage: &GLSLStage) -> Result<(), BoolError>
[src]
Attaches stage
to self
. stage
must have been successfully compiled
with GLSLStage::compile
.
Note: must be called in the GL thread
stage
a GLSLStage
to attach
Returns
whether stage
could be attached to self
pub fn attach_unlocked(&self, stage: &GLSLStage) -> Result<(), BoolError>
[src]
Attaches stage
to self
. stage
must have been successfully compiled
with GLSLStage::compile
.
Note: must be called in the GL thread
stage
a GLSLStage
to attach
Returns
whether stage
could be attached to self
pub fn bind_attribute_location(&self, index: u32, name: &str)
[src]
Bind attribute name
to the specified location index
using
glBindAttributeLocation().
index
attribute index to set
name
name of the attribute
pub fn bind_frag_data_location(&self, index: u32, name: &str)
[src]
Bind attribute name
to the specified location index
using
glBindFragDataLocation().
index
attribute index to set
name
name of the attribute
pub fn compile_attach_stage(&self, stage: &GLSLStage) -> Result<(), Error>
[src]
Compiles stage
and attaches it to self
.
Note: must be called in the GL thread
stage
a GLSLStage
to attach
Returns
whether stage
could be compiled and attached to self
pub fn detach(&self, stage: &GLSLStage)
[src]
Detaches stage
from self
. stage
must have been successfully attached
to self
with GLShader::attach
or GLShader::attach_unlocked
.
Note: must be called in the GL thread
stage
a GLSLStage
to attach
pub fn detach_unlocked(&self, stage: &GLSLStage)
[src]
Detaches stage
from self
. stage
must have been successfully attached
to self
with GLShader::attach
or GLShader::attach_unlocked
.
Note: must be called in the GL thread
stage
a GLSLStage
to attach
pub fn get_attribute_location(&self, name: &str) -> i32
[src]
pub fn get_program_handle(&self) -> i32
[src]
Returns
the GL program handle for this shader
pub fn is_linked(&self) -> bool
[src]
pub fn link(&self) -> Result<(), Error>
[src]
Links the current list of GLSLStage
's in self
.
Note: must be called in the GL thread
Returns
whether self
could be linked together.
pub fn release(&self)
[src]
Releases the shader and stages.
Note: must be called in the GL thread
pub fn release_unlocked(&self)
[src]
Releases the shader and stages.
Note: must be called in the GL thread
pub fn set_uniform_1f(&self, name: &str, value: f32)
[src]
pub fn set_uniform_1fv(&self, name: &str, value: &[f32])
[src]
Perform glUniform1fv() for name
on self
name
name of the uniform
count
number of values to set
value
values to set
pub fn set_uniform_1i(&self, name: &str, value: i32)
[src]
pub fn set_uniform_1iv(&self, name: &str, value: &[i32])
[src]
Perform glUniform1iv() for name
on self
name
name of the uniform
count
number of values to set
value
values to set
pub fn set_uniform_2f(&self, name: &str, v0: f32, v1: f32)
[src]
Perform glUniform2f() for name
on self
name
name of the uniform
v0
first value to set
v1
second value to set
pub fn set_uniform_2fv(&self, name: &str, value: &[f32])
[src]
Perform glUniform2fv() for name
on self
name
name of the uniform
count
number of values to set
value
values to set
pub fn set_uniform_2i(&self, name: &str, v0: i32, v1: i32)
[src]
Perform glUniform2i() for name
on self
name
name of the uniform
v0
first value to set
v1
second value to set
pub fn set_uniform_2iv(&self, name: &str, value: &[i32])
[src]
Perform glUniform2iv() for name
on self
name
name of the uniform
count
number of values to set
value
values to set
pub fn set_uniform_3f(&self, name: &str, v0: f32, v1: f32, v2: f32)
[src]
Perform glUniform3f() for name
on self
name
name of the uniform
v0
first value to set
v1
second value to set
v2
third value to set
pub fn set_uniform_3fv(&self, name: &str, value: &[f32])
[src]
Perform glUniform3fv() for name
on self
name
name of the uniform
count
number of values to set
value
values to set
pub fn set_uniform_3i(&self, name: &str, v0: i32, v1: i32, v2: i32)
[src]
Perform glUniform3i() for name
on self
name
name of the uniform
v0
first value to set
v1
second value to set
v2
third value to set
pub fn set_uniform_3iv(&self, name: &str, value: &[i32])
[src]
Perform glUniform3iv() for name
on self
name
name of the uniform
count
number of values to set
value
values to set
pub fn set_uniform_4f(&self, name: &str, v0: f32, v1: f32, v2: f32, v3: f32)
[src]
Perform glUniform4f() for name
on self
name
name of the uniform
v0
first value to set
v1
second value to set
v2
third value to set
v3
fourth value to set
pub fn set_uniform_4fv(&self, name: &str, value: &[f32])
[src]
Perform glUniform4fv() for name
on self
name
name of the uniform
count
number of values to set
value
values to set
pub fn set_uniform_4i(&self, name: &str, v0: i32, v1: i32, v2: i32, v3: i32)
[src]
Perform glUniform4i() for name
on self
name
name of the uniform
v0
first value to set
v1
second value to set
v2
third value to set
v3
fourth value to set
pub fn set_uniform_4iv(&self, name: &str, value: &[i32])
[src]
Perform glUniform4iv() for name
on self
name
name of the uniform
count
number of values to set
value
values to set
pub fn use_(&self)
[src]
pub fn get_property_linked(&self) -> bool
[src]
pub fn string_fragment_external_oes_get_default<P: IsA<GLContext>>(
context: &P,
version: GLSLVersion,
profile: GLSLProfile
) -> Option<GString>
[src]
context: &P,
version: GLSLVersion,
profile: GLSLProfile
) -> Option<GString>
Feature: v1_16
context
a GLContext
version
a GLSLVersion
profile
a GLSLProfile
Returns
a passthrough shader string for copying an input external-oes texture to the output
pub fn string_fragment_get_default<P: IsA<GLContext>>(
context: &P,
version: GLSLVersion,
profile: GLSLProfile
) -> Option<GString>
[src]
context: &P,
version: GLSLVersion,
profile: GLSLProfile
) -> Option<GString>
Feature: v1_16
context
a GLContext
version
a GLSLVersion
profile
a GLSLProfile
Returns
a passthrough shader string for copying an input texture to the output
pub fn string_get_highest_precision<P: IsA<GLContext>>(
context: &P,
version: GLSLVersion,
profile: GLSLProfile
) -> Option<GString>
[src]
context: &P,
version: GLSLVersion,
profile: GLSLProfile
) -> Option<GString>
Generates a shader string that defines the precision of float types in GLSL shaders. This is particularly needed for fragment shaders in a GLSL ES context where there is no default precision specified.
Practically, this will return the string 'precision mediump float' or 'precision highp float' depending on if high precision floats are determined to be supported.
Feature: v1_16
context
a GLContext
version
a GLSLVersion
profile
a GLSLProfile
Returns
a shader string defining the precision of float types based on
context
, version
and profile
pub fn connect_property_linked_notify<F: Fn(&GLShader) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
Trait Implementations
impl Clone for GLShader
fn clone(&self) -> GLShader
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for GLShader
impl Eq for GLShader
impl Hash for GLShader
fn hash<__H: Hasher>(&self, state: &mut __H)
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl IsA<Object> for GLShader
impl Ord for GLShader
fn cmp(&self, other: &GLShader) -> Ordering
#[must_use]
fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]
fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]
fn clamp(self, min: Self, max: Self) -> Self
[src]
impl<T: ObjectType> PartialEq<T> for GLShader
impl<T: ObjectType> PartialOrd<T> for GLShader
fn partial_cmp(&self, other: &T) -> Option<Ordering>
#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl Send for GLShader
[src]
impl StaticType for GLShader
fn static_type() -> Type
impl Sync for GLShader
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<Super, Sub> CanDowncast<Sub> for Super where
Sub: IsA<Super>,
Super: IsA<Super>,
[src]
Sub: IsA<Super>,
Super: IsA<Super>,
impl<T> Cast for T where
T: ObjectType,
[src]
T: ObjectType,
fn upcast<T>(self) -> T where
Self: IsA<T>,
T: ObjectType,
[src]
Self: IsA<T>,
T: ObjectType,
fn upcast_ref<T>(&self) -> &T where
Self: IsA<T>,
T: ObjectType,
[src]
Self: IsA<T>,
T: ObjectType,
fn downcast<T>(self) -> Result<T, Self> where
Self: CanDowncast<T>,
T: ObjectType,
[src]
Self: CanDowncast<T>,
T: ObjectType,
fn downcast_ref<T>(&self) -> Option<&T> where
Self: CanDowncast<T>,
T: ObjectType,
[src]
Self: CanDowncast<T>,
T: ObjectType,
fn dynamic_cast<T>(self) -> Result<T, Self> where
T: ObjectType,
[src]
T: ObjectType,
fn dynamic_cast_ref<T>(&self) -> Option<&T> where
T: ObjectType,
[src]
T: ObjectType,
unsafe fn unsafe_cast<T>(self) -> T where
T: ObjectType,
[src]
T: ObjectType,
unsafe fn unsafe_cast_ref<T>(&self) -> &T where
T: ObjectType,
[src]
T: ObjectType,
impl<T> From<T> for T
[src]
impl<O> GObjectExtManualGst for O where
O: IsA<Object>,
[src]
O: IsA<Object>,
fn set_property_from_str(&self, name: &str, value: &str)
[src]
impl<O> GstObjectExt for O where
O: IsA<Object>,
[src]
O: IsA<Object>,
fn default_error(&self, error: &Error, debug: Option<&str>)
[src]
fn get_control_rate(&self) -> ClockTime
[src]
fn get_name(&self) -> GString
[src]
fn get_parent(&self) -> Option<Object>
[src]
fn get_path_string(&self) -> GString
[src]
fn has_active_control_bindings(&self) -> bool
[src]
fn has_ancestor<P>(&self, ancestor: &P) -> bool where
P: IsA<Object>,
[src]
P: IsA<Object>,
fn has_as_ancestor<P>(&self, ancestor: &P) -> bool where
P: IsA<Object>,
[src]
P: IsA<Object>,
fn has_as_parent<P>(&self, parent: &P) -> bool where
P: IsA<Object>,
[src]
P: IsA<Object>,
fn set_control_binding_disabled(&self, property_name: &str, disabled: bool)
[src]
fn set_control_bindings_disabled(&self, disabled: bool)
[src]
fn set_control_rate(&self, control_rate: ClockTime)
[src]
fn set_name(&self, name: &str) -> Result<(), BoolError>
[src]
fn set_parent<P>(&self, parent: &P) -> Result<(), BoolError> where
P: IsA<Object>,
[src]
P: IsA<Object>,
fn suggest_next_sync(&self) -> ClockTime
[src]
fn sync_values(&self, timestamp: ClockTime) -> Result<(), BoolError>
[src]
fn unparent(&self)
[src]
fn connect_property_name_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Send + Sync + Fn(&O),
[src]
F: 'static + Send + Sync + Fn(&O),
fn connect_property_parent_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Send + Sync + Fn(&O),
[src]
F: 'static + Send + Sync + Fn(&O),
impl<O> GstObjectExtManual for O where
O: IsA<Object>,
[src]
O: IsA<Object>,
fn connect_deep_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Send + Sync + Fn(&O, &Object, &ParamSpec),
[src]
F: 'static + Send + Sync + Fn(&O, &Object, &ParamSpec),
fn set_object_flags(&self, flags: ObjectFlags)
[src]
fn unset_object_flags(&self, flags: ObjectFlags)
[src]
fn get_object_flags(&self) -> ObjectFlags
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ObjectExt for T where
T: ObjectType,
[src]
T: ObjectType,
fn is<U>(&self) -> bool where
U: StaticType,
[src]
U: StaticType,
fn get_type(&self) -> Type
[src]
fn get_object_class(&self) -> &ObjectClass
[src]
fn set_property<'a, N>(
&self,
property_name: N,
value: &dyn ToValue
) -> Result<(), BoolError> where
N: Into<&'a str>,
[src]
&self,
property_name: N,
value: &dyn ToValue
) -> Result<(), BoolError> where
N: Into<&'a str>,
fn get_property<'a, N>(&self, property_name: N) -> Result<Value, BoolError> where
N: Into<&'a str>,
[src]
N: Into<&'a str>,
fn block_signal(&self, handler_id: &SignalHandlerId)
[src]
fn unblock_signal(&self, handler_id: &SignalHandlerId)
[src]
fn stop_signal_emission(&self, signal_name: &str)
[src]
fn disconnect(&self, handler_id: SignalHandlerId)
[src]
fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Send + Sync + Fn(&T, &ParamSpec),
[src]
F: 'static + Send + Sync + Fn(&T, &ParamSpec),
unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec),
[src]
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec),
fn notify<'a, N>(&self, property_name: N) where
N: Into<&'a str>,
[src]
N: Into<&'a str>,
fn notify_by_pspec(&self, pspec: &ParamSpec)
[src]
fn has_property<'a, N>(
&self,
property_name: N,
type_: Option<Type>
) -> Result<(), BoolError> where
N: Into<&'a str>,
[src]
&self,
property_name: N,
type_: Option<Type>
) -> Result<(), BoolError> where
N: Into<&'a str>,
fn get_property_type<'a, N>(&self, property_name: N) -> Option<Type> where
N: Into<&'a str>,
[src]
N: Into<&'a str>,
fn find_property<'a, N>(&self, property_name: N) -> Option<ParamSpec> where
N: Into<&'a str>,
[src]
N: Into<&'a str>,
fn list_properties(&self) -> Vec<ParamSpec>
[src]
fn connect<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
N: Into<&'a str>,
[src]
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
N: Into<&'a str>,
fn connect_local<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + 'static,
N: Into<&'a str>,
[src]
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + 'static,
N: Into<&'a str>,
unsafe fn connect_unsafe<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value>,
N: Into<&'a str>,
[src]
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value>,
N: Into<&'a str>,
fn emit<'a, N>(
&self,
signal_name: N,
args: &[&dyn ToValue]
) -> Result<Option<Value>, BoolError> where
N: Into<&'a str>,
[src]
&self,
signal_name: N,
args: &[&dyn ToValue]
) -> Result<Option<Value>, BoolError> where
N: Into<&'a str>,
fn downgrade(&self) -> WeakRef<T>
[src]
fn bind_property<'a, O, N, M>(
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
M: Into<&'a str>,
N: Into<&'a str>,
O: ObjectType,
[src]
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
M: Into<&'a str>,
N: Into<&'a str>,
O: ObjectType,
fn ref_count(&self) -> u32
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *const GList> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<List>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*const GList, <T as ToGlibContainerFromSlice<'a, *const GList>>::Storage)
[src]
t: &'a [T]
) -> (*const GList, <T as ToGlibContainerFromSlice<'a, *const GList>>::Storage)
fn to_glib_container_from_slice(
_t: &'a [T]
) -> (*const GList, <T as ToGlibContainerFromSlice<'a, *const GList>>::Storage)
[src]
_t: &'a [T]
) -> (*const GList, <T as ToGlibContainerFromSlice<'a, *const GList>>::Storage)
fn to_glib_full_from_slice(_t: &[T]) -> *const GList
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *const GPtrArray> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<PtrArray>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*const GPtrArray, <T as ToGlibContainerFromSlice<'a, *const GPtrArray>>::Storage)
[src]
t: &'a [T]
) -> (*const GPtrArray, <T as ToGlibContainerFromSlice<'a, *const GPtrArray>>::Storage)
fn to_glib_container_from_slice(
_t: &'a [T]
) -> (*const GPtrArray, <T as ToGlibContainerFromSlice<'a, *const GPtrArray>>::Storage)
[src]
_t: &'a [T]
) -> (*const GPtrArray, <T as ToGlibContainerFromSlice<'a, *const GPtrArray>>::Storage)
fn to_glib_full_from_slice(_t: &[T]) -> *const GPtrArray
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *mut GArray> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<Array>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*mut GArray, <T as ToGlibContainerFromSlice<'a, *mut GArray>>::Storage)
[src]
t: &'a [T]
) -> (*mut GArray, <T as ToGlibContainerFromSlice<'a, *mut GArray>>::Storage)
fn to_glib_container_from_slice(
t: &'a [T]
) -> (*mut GArray, <T as ToGlibContainerFromSlice<'a, *mut GArray>>::Storage)
[src]
t: &'a [T]
) -> (*mut GArray, <T as ToGlibContainerFromSlice<'a, *mut GArray>>::Storage)
fn to_glib_full_from_slice(t: &[T]) -> *mut GArray
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *mut GList> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<List>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*mut GList, <T as ToGlibContainerFromSlice<'a, *mut GList>>::Storage)
[src]
t: &'a [T]
) -> (*mut GList, <T as ToGlibContainerFromSlice<'a, *mut GList>>::Storage)
fn to_glib_container_from_slice(
t: &'a [T]
) -> (*mut GList, <T as ToGlibContainerFromSlice<'a, *mut GList>>::Storage)
[src]
t: &'a [T]
) -> (*mut GList, <T as ToGlibContainerFromSlice<'a, *mut GList>>::Storage)
fn to_glib_full_from_slice(t: &[T]) -> *mut GList
[src]
impl<'a, T> ToGlibContainerFromSlice<'a, *mut GPtrArray> for T where
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
[src]
T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>,
type Storage = (Option<PtrArray>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)
fn to_glib_none_from_slice(
t: &'a [T]
) -> (*mut GPtrArray, <T as ToGlibContainerFromSlice<'a, *mut GPtrArray>>::Storage)
[src]
t: &'a [T]
) -> (*mut GPtrArray, <T as ToGlibContainerFromSlice<'a, *mut GPtrArray>>::Storage)
fn to_glib_container_from_slice(
t: &'a [T]
) -> (*mut GPtrArray, <T as ToGlibContainerFromSlice<'a, *mut GPtrArray>>::Storage)
[src]
t: &'a [T]
) -> (*mut GPtrArray, <T as ToGlibContainerFromSlice<'a, *mut GPtrArray>>::Storage)
fn to_glib_full_from_slice(t: &[T]) -> *mut GPtrArray
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToSendValue for T where
T: ToValue + SetValue + Send + ?Sized,
[src]
T: ToValue + SetValue + Send + ?Sized,
fn to_send_value(&self) -> SendValue
[src]
impl<T> ToValue for T where
T: SetValue + ?Sized,
[src]
T: SetValue + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,