Struct bevy_canvas::Path[]

pub struct Path { /* fields omitted */ }

A simple path data structure.

Custom attributes

Paths can store a fixed number of extra f32 values per endpoint, called “custom attributes” or “interpolated attributes” through the documentation. These can be handy to represent arbitrary attributes such as variable colors, line width, etc.

See also:

Representation

Paths contain two buffers:

  • a buffer of commands (Begin, Line, Quadratic, Cubic, Close or End),
  • and a buffer of pairs of floats that can be endpoints control points or custom attributes.

The order of storage for points is determined by the sequence of commands. Custom attributes (if any) always directly follow endpoints. If there is an odd number of attributes, the last float of the each attribute sequence is set to zero and is not used.

 __________________________
|       |      |         |
| Begin | Line |Quadratic| ...
|_______|______|_________|_
 __________________________________________________________________________
|         |          |         |          |         |         |          |
|start x,y|attributes| to x, y |attributes|ctrl x,y | to x, y |attributes| ...
|_________|__________|_________|__________|_________|_________|__________|_

Implementations

impl Path

pub fn builder() -> Builder

Creates a Builder to build a path.

pub fn builder_with_attributes(num_attributes: usize) -> BuilderWithAttributes

Creates a BuilderWithAttributes to build a path with custom attributes.

pub fn svg_builder() -> WithSvg<Builder>

Creates an WithSvg to build a path with a rich set of commands.

pub fn new() -> Path

Creates an Empty Path.

pub fn as_slice(&self) -> PathSlice<'_>

Returns a view on this Path.

pub fn attributes(&self, endpoint: EndpointId) -> &[f32]

Returns a slice over an endpoint’s custom attributes.

pub fn iter(&self) -> Iter<'_>

Iterates over the entire Path.

pub fn id_iter(&self) -> IdIter<'_>

Iterates over the endpoint and control point ids of the Path.

pub fn iter_with_attributes(&self) -> IterWithAttributes<'_>

pub fn transformed<T>(self, transform: &T) -> Path where
    T: Transformation<f32>, 

Applies a transform to all endpoints and control points of this path and Returns the result.

pub fn reversed(&self) -> Path

Returns a reversed version of this path with edge loops specified in the opposite order.

Trait Implementations

impl AttributeStore for Path

impl Clone for Path

impl Debug for Path

impl Default for Path

impl Index<ControlPointId> for Path

type Output = Point2D<f32, UnknownUnit>

The returned type after indexing.

impl Index<EndpointId> for Path

type Output = Point2D<f32, UnknownUnit>

The returned type after indexing.

impl<'l> Into<PathSlice<'l>> for &'l Path

impl<'l> IntoIterator for &'l Path

type Item = Event<Point2D<f32, UnknownUnit>, Point2D<f32, UnknownUnit>>

The type of the elements being iterated over.

type IntoIter = Iter<'l>

Which kind of iterator are we turning this into?

impl PositionStore for Path

Auto Trait Implementations

impl RefUnwindSafe for Path

impl Send for Path

impl Sync for Path

impl Unpin for Path

impl UnwindSafe for Path

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CloneAny for T where
    T: Any + Clone

impl<T> Component for T where
    T: 'static + Send + Sync

impl<T> Downcast for T where
    T: Any

impl<T> Downcast<T> for T

impl<T> DowncastSync for T where
    T: Any + Send + Sync

impl<T> From<T> for T[src]

impl<T> FromWorld for T where
    T: Default

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> TypeData for T where
    T: 'static + Send + Sync + Clone

impl<T> Upcast<T> for T

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