Skip to main content

ShapeItem

Enum ShapeItem 

Source
pub enum ShapeItem {
    Group {
        items: Vec<ShapeItem>,
        transform: ShapeTransform,
    },
    Rectangle(RectangleGeometry),
    Ellipse(EllipseGeometry),
    Polystar(PolystarGeometry),
    Path(PathGeometry),
    Fill {
        paint: Animated<Paint>,
        opacity: Animated<f32>,
        rule: FillRule,
    },
    Stroke(StrokeItem),
    Trim(TrimItem),
}
Expand description

One entry of a shapes generator’s content tree.

A group is read front to back. Geometry accumulates in its group; a fill or a stroke paints the geometry listed before it in the same group, nested groups before it included; a trim cuts that geometry and replaces it. A paint listed earlier is drawn on top of one listed later, as in After Effects and Lottie.

Variants§

§

Group

Items drawn together, through one transform and opacity. Their geometry also counts as the enclosing group’s, for the paints and trims after the group.

Fields

§items: Vec<ShapeItem>

The group’s items, front first.

§transform: ShapeTransform

Where the group lies, and how opaque it is.

§

Rectangle(RectangleGeometry)

A rectangle, optionally with rounded corners.

§

Ellipse(EllipseGeometry)

An ellipse.

§

Polystar(PolystarGeometry)

A regular polygon or star.

§

Path(PathGeometry)

A Bezier path.

§

Fill

Paints the inside of the geometry listed before it in its group, all of it as one compound path under rule. An open path is closed for it.

Fields

§paint: Animated<Paint>

What covers it.

§opacity: Animated<f32>

Opacity in 0..=1.

§rule: FillRule

Which regions of the compound path are inside.

§

Stroke(StrokeItem)

Strokes the geometry listed before it in its group.

§

Trim(TrimItem)

Keeps part of the geometry listed before it in its group, by length.

Implementations§

Source§

impl ShapeItem

Source

pub fn is_animated(&self) -> bool

Whether the item or anything in it changes over time.

Trait Implementations§

Source§

impl Clone for ShapeItem

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ShapeItem

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ShapeItem

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for ShapeItem

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl Serialize for ShapeItem

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for ShapeItem

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.