Struct cogl::Primitive [−][src]
Implementations
impl Primitive[src]
pub fn copy(&self) -> Option<Primitive>[src]
Makes a copy of an existing Primitive. Note that the primitive
is a shallow copy which means it will use the same attributes and
attribute buffers as the original primitive.
Returns
the new primitive
pub fn draw<P: IsA<Framebuffer>>(&self, framebuffer: &P, pipeline: &Pipeline)[src]
Draws the given self geometry to the specified destination
framebuffer using the graphics processing state described by pipeline.
This drawing api doesn’t support high-level meta texture types such
as Texture2DSliced so it is the user’s responsibility to
ensure that only low-level textures that can be directly sampled by
a GPU such as Texture2D, TextureRectangle or Texture3D
are associated with layers of the given pipeline.
framebuffer
A destination Framebuffer
pipeline
A Pipeline state object
pub fn foreach_attribute<P: FnMut(&Primitive, &Attribute) -> Bool>(
&self,
callback: P
)[src]
&self,
callback: P
)
Iterates all the attributes of the given Primitive.
callback
A CoglPrimitiveAttributeCallback to be
called for each attribute
user_data
Private data that will be passed to the callback
pub fn get_first_vertex(&self) -> i32[src]
pub fn get_indices(&self) -> Option<Indices>[src]
Returns
the indices that were set with
Primitive::set_indices or None if no indices were set.
pub fn get_mode(&self) -> VerticesMode[src]
pub fn get_n_vertices(&self) -> i32[src]
Queries the number of vertices to read when drawing the given
self. Usually this value is implicitly set when associating
vertex data or indices with a Primitive.
If Primitive::set_indices has been used to associate a
sequence of Indices with the given self then the
number of vertices to read can also be phrased as the number
of indices to read.
<note>To be clear; it doesn’t refer to the number of vertices - in
terms of data - associated with the primitive it’s just the number
of vertices to read and draw.</note>
Returns
The number of vertices to read when drawing.
pub fn set_first_vertex(&self, first_vertex: i32)[src]
pub fn set_indices(&self, indices: &Indices, n_indices: i32)[src]
Associates a sequence of Indices with the given self.
Indices provide a way to virtualize your real vertex data by
providing a sequence of indices that index into your real vertex
data. The GPU will walk though the index values to indirectly
lookup the data for each vertex instead of sequentially walking
through the data directly. This lets you save memory by indexing
shared data multiple times instead of duplicating the data.
The value passed as n_indices will simply update the
Primitive <structfield>n_vertices</structfield> property as if
Primitive::set_n_vertices were called. This property defines
the number of vertices to draw or, put another way, how many
indices should be read from indices when drawing.
<note>The Primitive <structfield>first_vertex</structfield> property
also affects drawing with indices by defining the first entry of the
indices to start drawing from.</note>
indices
A Indices array
n_indices
The number of indices to reference when drawing
pub fn set_mode(&self, mode: VerticesMode)[src]
pub fn set_n_vertices(&self, n_vertices: i32)[src]
Specifies how many vertices should be read when drawing the given
self.
Usually this value is set implicitly when associating vertex data
or indices with a Primitive.
<note>To be clear; it doesn’t refer to the number of vertices - in
terms of data - associated with the primitive it’s just the number
of vertices to read and draw.</note>
n_vertices
The number of vertices to read when drawing.
Trait Implementations
impl Clone for Primitive[src]
impl Debug for Primitive[src]
impl Display for Primitive[src]
impl Eq for Primitive[src]
impl Hash for Primitive[src]
fn hash<__H: Hasher>(&self, state: &mut __H)[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl IsA<Object> for Primitive[src]
impl Ord for Primitive[src]
fn cmp(&self, other: &Primitive) -> Ordering[src]
#[must_use]pub fn max(self, other: Self) -> Self1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self1.50.0[src]
impl<T: ObjectType> PartialEq<T> for Primitive[src]
impl<T: ObjectType> PartialOrd<T> for Primitive[src]
fn partial_cmp(&self, other: &T) -> Option<Ordering>[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool1.0.0[src]
impl StaticType for Primitive[src]
fn static_type() -> Type[src]
Auto Trait Implementations
impl RefUnwindSafe for Primitive
impl !Send for Primitive
impl !Sync for Primitive
impl Unpin for Primitive
impl UnwindSafe for Primitive
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,
pub 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,
pub fn upcast<T>(self) -> T where
Self: IsA<T>,
T: ObjectType, [src]
Self: IsA<T>,
T: ObjectType,
pub fn upcast_ref<T>(&self) -> &T where
Self: IsA<T>,
T: ObjectType, [src]
Self: IsA<T>,
T: ObjectType,
pub fn downcast<T>(self) -> Result<T, Self> where
Self: CanDowncast<T>,
T: ObjectType, [src]
Self: CanDowncast<T>,
T: ObjectType,
pub fn downcast_ref<T>(&self) -> Option<&T> where
Self: CanDowncast<T>,
T: ObjectType, [src]
Self: CanDowncast<T>,
T: ObjectType,
pub fn dynamic_cast<T>(self) -> Result<T, Self> where
T: ObjectType, [src]
T: ObjectType,
pub fn dynamic_cast_ref<T>(&self) -> Option<&T> where
T: ObjectType, [src]
T: ObjectType,
pub unsafe fn unsafe_cast<T>(self) -> T where
T: ObjectType, [src]
T: ObjectType,
pub unsafe fn unsafe_cast_ref<T>(&self) -> &T where
T: ObjectType, [src]
T: ObjectType,
impl<T> From<T> for T[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,
pub fn is<U>(&self) -> bool where
U: StaticType, [src]
U: StaticType,
pub fn get_type(&self) -> Type[src]
pub fn get_object_class(&self) -> &ObjectClass[src]
pub fn set_properties(
&self,
property_values: &[(&str, &dyn ToValue)]
) -> Result<(), BoolError>[src]
&self,
property_values: &[(&str, &dyn ToValue)]
) -> Result<(), BoolError>
pub 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>,
pub fn get_property<'a, N>(&self, property_name: N) -> Result<Value, BoolError> where
N: Into<&'a str>, [src]
N: Into<&'a str>,
pub unsafe fn set_qdata<QD>(&self, key: Quark, value: QD) where
QD: 'static, [src]
QD: 'static,
pub unsafe fn get_qdata<QD>(&self, key: Quark) -> Option<&QD> where
QD: 'static, [src]
QD: 'static,
pub unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD> where
QD: 'static, [src]
QD: 'static,
pub unsafe fn set_data<QD>(&self, key: &str, value: QD) where
QD: 'static, [src]
QD: 'static,
pub unsafe fn get_data<QD>(&self, key: &str) -> Option<&QD> where
QD: 'static, [src]
QD: 'static,
pub unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD> where
QD: 'static, [src]
QD: 'static,
pub fn block_signal(&self, handler_id: &SignalHandlerId)[src]
pub fn unblock_signal(&self, handler_id: &SignalHandlerId)[src]
pub fn stop_signal_emission(&self, signal_name: &str)[src]
pub fn disconnect(&self, handler_id: SignalHandlerId)[src]
pub fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec) + Send + Sync, [src]
F: 'static + Fn(&T, &ParamSpec) + Send + Sync,
pub 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),
pub fn notify<'a, N>(&self, property_name: N) where
N: Into<&'a str>, [src]
N: Into<&'a str>,
pub fn notify_by_pspec(&self, pspec: &ParamSpec)[src]
pub fn has_property<'a, N>(&self, property_name: N, type_: Option<Type>) -> bool where
N: Into<&'a str>, [src]
N: Into<&'a str>,
pub fn get_property_type<'a, N>(&self, property_name: N) -> Option<Type> where
N: Into<&'a str>, [src]
N: Into<&'a str>,
pub fn find_property<'a, N>(&self, property_name: N) -> Option<ParamSpec> where
N: Into<&'a str>, [src]
N: Into<&'a str>,
pub fn list_properties(&self) -> Vec<ParamSpec, Global>[src]
pub 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>,
pub 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>,
pub 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>,
pub 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>,
pub fn downgrade(&self) -> WeakRef<T>[src]
pub fn bind_property<'a, O, N, M>(
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
O: ObjectType,
N: Into<&'a str>,
M: Into<&'a str>, [src]
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
O: ObjectType,
N: Into<&'a str>,
M: Into<&'a str>,
pub fn ref_count(&self) -> u32[src]
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T> ToSendValue for T where
T: SetValue + Send + ToValue + ?Sized, [src]
T: SetValue + Send + ToValue + ?Sized,
pub fn to_send_value(&self) -> SendValue[src]
impl<T> ToString for T where
T: Display + ?Sized, [src]
T: Display + ?Sized,
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.
pub 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>,