Struct BuilderWithAttributes
pub struct BuilderWithAttributes { /* private fields */ }
Available on crate feature
canvas
only.Expand description
A builder for Path
with custom attributes.
Custom attributes are a fixed number of f32
values associated with each endpoint.
All endpoints must have the same number of custom attributes,
Implementations§
§impl BuilderWithAttributes
impl BuilderWithAttributes
pub fn new(num_attributes: usize) -> BuilderWithAttributes
pub fn extend_from_paths(&mut self, paths: &[PathSlice<'_>])
pub fn num_attributes(&self) -> usize
pub fn begin( &mut self, at: Point2D<f32, UnknownUnit>, attributes: &[f32], ) -> EndpointId
pub fn end(&mut self, close: bool)
pub fn line_to( &mut self, to: Point2D<f32, UnknownUnit>, attributes: &[f32], ) -> EndpointId
pub fn quadratic_bezier_to( &mut self, ctrl: Point2D<f32, UnknownUnit>, to: Point2D<f32, UnknownUnit>, attributes: &[f32], ) -> EndpointId
pub fn cubic_bezier_to( &mut self, ctrl1: Point2D<f32, UnknownUnit>, ctrl2: Point2D<f32, UnknownUnit>, to: Point2D<f32, UnknownUnit>, attributes: &[f32], ) -> EndpointId
pub fn reserve(&mut self, endpoints: usize, ctrl_points: usize)
pub fn build(self) -> Path
Trait Implementations§
§impl Build for BuilderWithAttributes
impl Build for BuilderWithAttributes
§impl Clone for BuilderWithAttributes
impl Clone for BuilderWithAttributes
§fn clone(&self) -> BuilderWithAttributes
fn clone(&self) -> BuilderWithAttributes
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl PathBuilder for BuilderWithAttributes
impl PathBuilder for BuilderWithAttributes
fn num_attributes(&self) -> usize
§fn begin(
&mut self,
at: Point2D<f32, UnknownUnit>,
attributes: &[f32],
) -> EndpointId
fn begin( &mut self, at: Point2D<f32, UnknownUnit>, attributes: &[f32], ) -> EndpointId
Starts a new sub-path at a given position. Read more
§fn line_to(
&mut self,
to: Point2D<f32, UnknownUnit>,
attributes: &[f32],
) -> EndpointId
fn line_to( &mut self, to: Point2D<f32, UnknownUnit>, attributes: &[f32], ) -> EndpointId
Adds a line segment to the current sub-path. Read more
§fn quadratic_bezier_to(
&mut self,
ctrl: Point2D<f32, UnknownUnit>,
to: Point2D<f32, UnknownUnit>,
attributes: &[f32],
) -> EndpointId
fn quadratic_bezier_to( &mut self, ctrl: Point2D<f32, UnknownUnit>, to: Point2D<f32, UnknownUnit>, attributes: &[f32], ) -> EndpointId
Adds a quadratic bézier curve to the current sub-path. Read more
§fn cubic_bezier_to(
&mut self,
ctrl1: Point2D<f32, UnknownUnit>,
ctrl2: Point2D<f32, UnknownUnit>,
to: Point2D<f32, UnknownUnit>,
attributes: &[f32],
) -> EndpointId
fn cubic_bezier_to( &mut self, ctrl1: Point2D<f32, UnknownUnit>, ctrl2: Point2D<f32, UnknownUnit>, to: Point2D<f32, UnknownUnit>, attributes: &[f32], ) -> EndpointId
Adds a cubic bézier curve to the current sub-path. Read more
§fn reserve(&mut self, endpoints: usize, ctrl_points: usize)
fn reserve(&mut self, endpoints: usize, ctrl_points: usize)
Hints at the builder that a certain number of endpoints and control
points will be added. Read more
§fn path_event(
&mut self,
event: Event<Point2D<f32, UnknownUnit>, Point2D<f32, UnknownUnit>>,
attributes: &[f32],
)
fn path_event( &mut self, event: Event<Point2D<f32, UnknownUnit>, Point2D<f32, UnknownUnit>>, attributes: &[f32], )
Applies the provided path event. Read more
fn event( &mut self, event: Event<(Point2D<f32, UnknownUnit>, &[f32]), Point2D<f32, UnknownUnit>>, )
§fn add_polygon(
&mut self,
polygon: Polygon<'_, Point2D<f32, UnknownUnit>>,
attributes: &[f32],
)
fn add_polygon( &mut self, polygon: Polygon<'_, Point2D<f32, UnknownUnit>>, attributes: &[f32], )
Adds a sub-path from a polygon. Read more
§fn add_point(
&mut self,
at: Point2D<f32, UnknownUnit>,
attributes: &[f32],
) -> EndpointId
fn add_point( &mut self, at: Point2D<f32, UnknownUnit>, attributes: &[f32], ) -> EndpointId
Adds a sub-path containing a single point. Read more
§fn add_line_segment(
&mut self,
line: &LineSegment<f32>,
attributes: &[f32],
) -> (EndpointId, EndpointId)
fn add_line_segment( &mut self, line: &LineSegment<f32>, attributes: &[f32], ) -> (EndpointId, EndpointId)
Adds a sub-path containing a single line segment. Read more
§fn add_ellipse(
&mut self,
center: Point2D<f32, UnknownUnit>,
radii: Vector2D<f32, UnknownUnit>,
x_rotation: Angle<f32>,
winding: Winding,
attributes: &[f32],
)
fn add_ellipse( &mut self, center: Point2D<f32, UnknownUnit>, radii: Vector2D<f32, UnknownUnit>, x_rotation: Angle<f32>, winding: Winding, attributes: &[f32], )
Adds a sub-path containing an ellipse. Read more
§fn add_circle(
&mut self,
center: Point2D<f32, UnknownUnit>,
radius: f32,
winding: Winding,
attributes: &[f32],
)where
Self: Sized,
fn add_circle(
&mut self,
center: Point2D<f32, UnknownUnit>,
radius: f32,
winding: Winding,
attributes: &[f32],
)where
Self: Sized,
Adds a sub-path containing a circle. Read more
§fn add_rectangle(
&mut self,
rect: &Box2D<f32, UnknownUnit>,
winding: Winding,
attributes: &[f32],
)
fn add_rectangle( &mut self, rect: &Box2D<f32, UnknownUnit>, winding: Winding, attributes: &[f32], )
Adds a sub-path containing a rectangle. Read more
§fn add_rounded_rectangle(
&mut self,
rect: &Box2D<f32, UnknownUnit>,
radii: &BorderRadii,
winding: Winding,
custom_attributes: &[f32],
)where
Self: Sized,
fn add_rounded_rectangle(
&mut self,
rect: &Box2D<f32, UnknownUnit>,
radii: &BorderRadii,
winding: Winding,
custom_attributes: &[f32],
)where
Self: Sized,
Adds a sub-path containing a rectangle. Read more
§fn flattened(self, tolerance: f32) -> Flattened<Self>where
Self: Sized,
fn flattened(self, tolerance: f32) -> Flattened<Self>where
Self: Sized,
Returns a builder that approximates all curves with sequences of line segments.
§fn transformed<Transform>(
self,
transform: Transform,
) -> Transformed<Self, Transform>
fn transformed<Transform>( self, transform: Transform, ) -> Transformed<Self, Transform>
Returns a builder that applies the given transformation to all positions.
Auto Trait Implementations§
impl Freeze for BuilderWithAttributes
impl RefUnwindSafe for BuilderWithAttributes
impl Send for BuilderWithAttributes
impl Sync for BuilderWithAttributes
impl Unpin for BuilderWithAttributes
impl UnwindSafe for BuilderWithAttributes
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Convert the source color to the destination color using the specified
method.
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Convert the source color to the destination color using the bradford
method by default.
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Cast a collection of colors into a collection of arrays.
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Cast this collection of arrays into a collection of colors.
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
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
The number type that’s used in
parameters
when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
Converts
self
into C
, using the provided parameters.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Cast a collection of colors into a collection of color components.
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
Performs a conversion from
angle
.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
Converts
other
into Self
, while performing the appropriate scaling,
rounding and clamping.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
Performs a conversion into
T
.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
The number type that’s used in
parameters
when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
Converts
self
into C
, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Convert into T with values clamped to the color defined bounds Read more
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Convert into T. The resulting color might be invalid in its color space Read more
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 moreSource§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
Converts
self
into T
, while performing the appropriate scaling,
rounding and clamping.§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
The error for when
try_into_colors
fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Try to cast this collection of color components into a collection of
colors. Read more
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
Convert into T, returning ok if the color is inside of its defined
range, otherwise an
OutOfBounds
error is returned which contains
the unclamped color. Read moreSource§impl<C, U> UintsFrom<C> for Uwhere
C: IntoUints<U>,
impl<C, U> UintsFrom<C> for Uwhere
C: IntoUints<U>,
Source§fn uints_from(colors: C) -> U
fn uints_from(colors: C) -> U
Cast a collection of colors into a collection of unsigned integers.
Source§impl<C, U> UintsInto<C> for Uwhere
C: FromUints<U>,
impl<C, U> UintsInto<C> for Uwhere
C: FromUints<U>,
Source§fn uints_into(self) -> C
fn uints_into(self) -> C
Cast this collection of unsigned integers into a collection of colors.