pub struct Path<P: Clone + Debug + Default + PartialEq> {
pub id: PathId,
pub order: DrawOrder,
pub bounds: Bounds<P>,
pub content_mask: ContentMask<P>,
pub vertices: Arc<Vec<PathVertex<P>>>,
pub color: Background,
pub origin: Point<P>,
/* private fields */
}Expand description
A line made up of a series of vertices and control points.
Fields§
§id: PathId§order: DrawOrder§bounds: Bounds<P>§content_mask: ContentMask<P>§vertices: Arc<Vec<PathVertex<P>>>Shared vertex storage: cloning a Path (which the immediate-mode scene
does 2-3× per painted path per frame) bumps a refcount instead of
memcpying the whole tessellation.
color: Background§origin: Point<P>Translation applied to vertices at render time without copying them.
bounds always includes this offset, vertices alone do not; keep the
two in sync when mutating either directly.
Implementations§
Source§impl Path<Pixels>
impl Path<Pixels>
Sourcepub fn scale(&self, factor: f32) -> Path<ScaledPixels>
pub fn scale(&self, factor: f32) -> Path<ScaledPixels>
Scale this path by the given factor.
Sourcepub fn line_to(&mut self, to: Point<Pixels>)
pub fn line_to(&mut self, to: Point<Pixels>)
Draw a straight line from the current point to the given point.
Trait Implementations§
Auto Trait Implementations§
impl<P> Freeze for Path<P>
impl<P> RefUnwindSafe for Path<P>where
Bounds<P>: RefUnwindSafe,
ContentMask<P>: RefUnwindSafe,
Arc<Vec<PathVertex<P>>>: RefUnwindSafe,
Point<P>: RefUnwindSafe,
impl<P> Send for Path<P>
impl<P> Sync for Path<P>
impl<P> Unpin for Path<P>
impl<P> UnsafeUnpin for Path<P>where
Bounds<P>: UnsafeUnpin,
ContentMask<P>: UnsafeUnpin,
Arc<Vec<PathVertex<P>>>: UnsafeUnpin,
Point<P>: UnsafeUnpin,
impl<P> UnwindSafe for Path<P>where
Bounds<P>: UnwindSafe,
ContentMask<P>: UnwindSafe,
Arc<Vec<PathVertex<P>>>: UnwindSafe,
Point<P>: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more