Struct CubicBezierSegment
pub struct CubicBezierSegment<S> {
pub from: Point2D<S, UnknownUnit>,
pub ctrl1: Point2D<S, UnknownUnit>,
pub ctrl2: Point2D<S, UnknownUnit>,
pub to: Point2D<S, UnknownUnit>,
}geometry only.Expand description
A 2d curve segment defined by four points: the beginning of the segment, two control points and the end of the segment.
The curve is defined by equation:²
∀ t ∈ [0..1], P(t) = (1 - t)³ * from + 3 * (1 - t)² * t * ctrl1 + 3 * t² * (1 - t) * ctrl2 + t³ * to
Fields§
§from: Point2D<S, UnknownUnit>§ctrl1: Point2D<S, UnknownUnit>§ctrl2: Point2D<S, UnknownUnit>§to: Point2D<S, UnknownUnit>Implementations§
§impl<S> CubicBezierSegment<S>where
S: Scalar,
impl<S> CubicBezierSegment<S>where
S: Scalar,
pub fn sample(&self, t: S) -> Point2D<S, UnknownUnit>
Available on crate feature canvas only.
pub fn sample(&self, t: S) -> Point2D<S, UnknownUnit>
canvas only.Sample the curve at t (expecting t between 0 and 1).
pub fn x(&self, t: S) -> S
Available on crate feature canvas only.
pub fn x(&self, t: S) -> S
canvas only.Sample the x coordinate of the curve at t (expecting t between 0 and 1).
pub fn y(&self, t: S) -> S
Available on crate feature canvas only.
pub fn y(&self, t: S) -> S
canvas only.Sample the y coordinate of the curve at t (expecting t between 0 and 1).
pub fn solve_t_for_x(&self, x: S) -> ArrayVec<S, 3>
Available on crate feature canvas only.
pub fn solve_t_for_x(&self, x: S) -> ArrayVec<S, 3>
canvas only.Return the parameter values corresponding to a given x coordinate.
pub fn solve_t_for_y(&self, y: S) -> ArrayVec<S, 3>
Available on crate feature canvas only.
pub fn solve_t_for_y(&self, y: S) -> ArrayVec<S, 3>
canvas only.Return the parameter values corresponding to a given y coordinate.
pub fn derivative(&self, t: S) -> Vector2D<S, UnknownUnit>
Available on crate feature canvas only.
pub fn derivative(&self, t: S) -> Vector2D<S, UnknownUnit>
canvas only.Sample the curve’s derivative at t (expecting t between 0 and 1).
pub fn dx(&self, t: S) -> S
Available on crate feature canvas only.
pub fn dx(&self, t: S) -> S
canvas only.Sample the x coordinate of the curve’s derivative at t (expecting t between 0 and 1).
pub fn dy(&self, t: S) -> S
Available on crate feature canvas only.
pub fn dy(&self, t: S) -> S
canvas only.Sample the y coordinate of the curve’s derivative at t (expecting t between 0 and 1).
pub fn split_range(&self, t_range: Range<S>) -> CubicBezierSegment<S>
Available on crate feature canvas only.
pub fn split_range(&self, t_range: Range<S>) -> CubicBezierSegment<S>
canvas only.Return the sub-curve inside a given range of t.
This is equivalent to splitting at the range’s end points.
pub fn split(&self, t: S) -> (CubicBezierSegment<S>, CubicBezierSegment<S>)
Available on crate feature canvas only.
pub fn split(&self, t: S) -> (CubicBezierSegment<S>, CubicBezierSegment<S>)
canvas only.Split this curve into two sub-curves.
pub fn before_split(&self, t: S) -> CubicBezierSegment<S>
Available on crate feature canvas only.
pub fn before_split(&self, t: S) -> CubicBezierSegment<S>
canvas only.Return the curve before the split point.
pub fn after_split(&self, t: S) -> CubicBezierSegment<S>
Available on crate feature canvas only.
pub fn after_split(&self, t: S) -> CubicBezierSegment<S>
canvas only.Return the curve after the split point.
pub fn baseline(&self) -> LineSegment<S>
canvas only.pub fn is_linear(&self, tolerance: S) -> bool
Available on crate feature canvas only.
pub fn is_linear(&self, tolerance: S) -> bool
canvas only.Returns true if the curve can be approximated with a single line segment, given a tolerance threshold.
pub fn fat_line(&self) -> (LineEquation<S>, LineEquation<S>)
Available on crate feature canvas only.
pub fn fat_line(&self) -> (LineEquation<S>, LineEquation<S>)
canvas only.Computes a “fat line” of this segment.
A fat line is two conservative lines between which the segment is fully contained.
pub fn transformed<T>(&self, transform: &T) -> CubicBezierSegment<S>where
T: Transformation<S>,
Available on crate feature canvas only.
pub fn transformed<T>(&self, transform: &T) -> CubicBezierSegment<S>where
T: Transformation<S>,
canvas only.Applies the transform to this curve and returns the results.
pub fn flip(&self) -> CubicBezierSegment<S>
Available on crate feature canvas only.
pub fn flip(&self) -> CubicBezierSegment<S>
canvas only.Swap the beginning and the end of the segment.
pub fn to_quadratic(&self) -> QuadraticBezierSegment<S>
Available on crate feature canvas only.
pub fn to_quadratic(&self) -> QuadraticBezierSegment<S>
canvas only.Approximate the curve with a single quadratic bézier segment.
This is terrible as a general approximation but works if the cubic curve does not have inflection points and is “flat” enough. Typically usable after subdividing the curve a few times.
pub fn to_quadratic_error(&self) -> S
Available on crate feature canvas only.
pub fn to_quadratic_error(&self) -> S
canvas only.Evaluates an upper bound on the maximum distance between the curve
and its quadratic approximation obtained using to_quadratic.
pub fn is_quadratic(&self, tolerance: S) -> bool
Available on crate feature canvas only.
pub fn is_quadratic(&self, tolerance: S) -> bool
canvas only.Returns true if the curve can be safely approximated with a single quadratic bézier segment given the provided tolerance threshold.
Equivalent to comparing to_quadratic_error with the tolerance threshold, avoiding
the cost of two square roots.
pub fn num_quadratics(&self, tolerance: S) -> u32
Available on crate feature canvas only.
pub fn num_quadratics(&self, tolerance: S) -> u32
canvas only.Computes the number of quadratic bézier segments required to approximate this cubic curve given a tolerance threshold.
Derived by Raph Levien from section 10.6 of Sedeberg’s CAGD notes https://scholarsarchive.byu.edu/cgi/viewcontent.cgi?article=1000&context=facpub#section.10.6 and the error metric from the caffein owl blog post http://caffeineowl.com/graphics/2d/vectorial/cubic2quad01.html
pub fn flattened(&self, tolerance: S) -> Flattened<S> ⓘ
Available on crate feature canvas only.
pub fn flattened(&self, tolerance: S) -> Flattened<S> ⓘ
canvas only.Returns the flattened representation of the curve as an iterator, starting after the current point.
pub fn for_each_monotonic_range<F>(&self, cb: &mut F)
Available on crate feature canvas only.
pub fn for_each_monotonic_range<F>(&self, cb: &mut F)
canvas only.Invokes a callback for each monotonic part of the segment.
pub fn for_each_monotonic<F>(&self, cb: &mut F)where
F: FnMut(&CubicBezierSegment<S>),
Available on crate feature canvas only.
pub fn for_each_monotonic<F>(&self, cb: &mut F)where
F: FnMut(&CubicBezierSegment<S>),
canvas only.Invokes a callback for each monotonic part of the segment.
pub fn for_each_y_monotonic_range<F>(&self, cb: &mut F)
Available on crate feature canvas only.
pub fn for_each_y_monotonic_range<F>(&self, cb: &mut F)
canvas only.Invokes a callback for each y-monotonic part of the segment.
pub fn for_each_y_monotonic<F>(&self, cb: &mut F)where
F: FnMut(&CubicBezierSegment<S>),
Available on crate feature canvas only.
pub fn for_each_y_monotonic<F>(&self, cb: &mut F)where
F: FnMut(&CubicBezierSegment<S>),
canvas only.Invokes a callback for each y-monotonic part of the segment.
pub fn for_each_x_monotonic_range<F>(&self, cb: &mut F)
Available on crate feature canvas only.
pub fn for_each_x_monotonic_range<F>(&self, cb: &mut F)
canvas only.Invokes a callback for each x-monotonic part of the segment.
pub fn for_each_x_monotonic<F>(&self, cb: &mut F)where
F: FnMut(&CubicBezierSegment<S>),
Available on crate feature canvas only.
pub fn for_each_x_monotonic<F>(&self, cb: &mut F)where
F: FnMut(&CubicBezierSegment<S>),
canvas only.Invokes a callback for each x-monotonic part of the segment.
pub fn for_each_quadratic_bezier<F>(&self, tolerance: S, cb: &mut F)where
F: FnMut(&QuadraticBezierSegment<S>),
Available on crate feature canvas only.
pub fn for_each_quadratic_bezier<F>(&self, tolerance: S, cb: &mut F)where
F: FnMut(&QuadraticBezierSegment<S>),
canvas only.Approximates the cubic bézier curve with sequence of quadratic ones, invoking a callback at each step.
pub fn for_each_quadratic_bezier_with_t<F>(&self, tolerance: S, cb: &mut F)
Available on crate feature canvas only.
pub fn for_each_quadratic_bezier_with_t<F>(&self, tolerance: S, cb: &mut F)
canvas only.Approximates the cubic bézier curve with sequence of quadratic ones, invoking a callback at each step.
pub fn for_each_flattened<F>(&self, tolerance: S, callback: &mut F)where
F: FnMut(&LineSegment<S>),
Available on crate feature canvas only.
pub fn for_each_flattened<F>(&self, tolerance: S, callback: &mut F)where
F: FnMut(&LineSegment<S>),
canvas only.Approximates the curve with sequence of line segments.
The tolerance parameter defines the maximum distance between the curve and
its approximation.
pub fn for_each_flattened_with_t<F>(&self, tolerance: S, callback: &mut F)
Available on crate feature canvas only.
pub fn for_each_flattened_with_t<F>(&self, tolerance: S, callback: &mut F)
canvas only.Approximates the curve with sequence of line segments.
The tolerance parameter defines the maximum distance between the curve and
its approximation.
The end of the t parameter range at the final segment is guaranteed to be equal to 1.0.
pub fn approximate_length(&self, tolerance: S) -> S
Available on crate feature canvas only.
pub fn approximate_length(&self, tolerance: S) -> S
canvas only.Compute the length of the segment using a flattened approximation.
pub fn for_each_inflection_t<F>(&self, cb: &mut F)where
F: FnMut(S),
Available on crate feature canvas only.
pub fn for_each_inflection_t<F>(&self, cb: &mut F)where
F: FnMut(S),
canvas only.Invokes a callback at each inflection point if any.
pub fn for_each_local_x_extremum_t<F>(&self, cb: &mut F)where
F: FnMut(S),
Available on crate feature canvas only.
pub fn for_each_local_x_extremum_t<F>(&self, cb: &mut F)where
F: FnMut(S),
canvas only.Return local x extrema or None if this curve is monotonic.
This returns the advancements along the curve, not the actual x position.
pub fn for_each_local_y_extremum_t<F>(&self, cb: &mut F)where
F: FnMut(S),
Available on crate feature canvas only.
pub fn for_each_local_y_extremum_t<F>(&self, cb: &mut F)where
F: FnMut(S),
canvas only.Return local y extrema or None if this curve is monotonic.
This returns the advancements along the curve, not the actual y position.
pub fn y_maximum_t(&self) -> S
Available on crate feature canvas only.
pub fn y_maximum_t(&self) -> S
canvas only.Find the advancement of the y-most position in the curve.
This returns the advancement along the curve, not the actual y position.
pub fn y_minimum_t(&self) -> S
Available on crate feature canvas only.
pub fn y_minimum_t(&self) -> S
canvas only.Find the advancement of the y-least position in the curve.
This returns the advancement along the curve, not the actual y position.
pub fn x_maximum_t(&self) -> S
Available on crate feature canvas only.
pub fn x_maximum_t(&self) -> S
canvas only.Find the advancement of the x-most position in the curve.
This returns the advancement along the curve, not the actual x position.
pub fn x_minimum_t(&self) -> S
Available on crate feature canvas only.
pub fn x_minimum_t(&self) -> S
canvas only.Find the x-least position in the curve.
pub fn fast_bounding_box(&self) -> Box2D<S, UnknownUnit>
Available on crate feature canvas only.
pub fn fast_bounding_box(&self) -> Box2D<S, UnknownUnit>
canvas only.Returns a conservative rectangle the curve is contained in.
This method is faster than bounding_box but more conservative.
pub fn fast_bounding_range_x(&self) -> (S, S)
Available on crate feature canvas only.
pub fn fast_bounding_range_x(&self) -> (S, S)
canvas only.Returns a conservative range of x that contains this curve.
pub fn fast_bounding_range_y(&self) -> (S, S)
Available on crate feature canvas only.
pub fn fast_bounding_range_y(&self) -> (S, S)
canvas only.Returns a conservative range of y that contains this curve.
pub fn bounding_box(&self) -> Box2D<S, UnknownUnit>
Available on crate feature canvas only.
pub fn bounding_box(&self) -> Box2D<S, UnknownUnit>
canvas only.Returns a conservative rectangle that contains the curve.
pub fn bounding_range_x(&self) -> (S, S)
Available on crate feature canvas only.
pub fn bounding_range_x(&self) -> (S, S)
canvas only.Returns the smallest range of x that contains this curve.
pub fn bounding_range_y(&self) -> (S, S)
Available on crate feature canvas only.
pub fn bounding_range_y(&self) -> (S, S)
canvas only.Returns the smallest range of y that contains this curve.
pub fn is_x_monotonic(&self) -> bool
Available on crate feature canvas only.
pub fn is_x_monotonic(&self) -> bool
canvas only.Returns whether this segment is monotonic on the x axis.
pub fn is_y_monotonic(&self) -> bool
Available on crate feature canvas only.
pub fn is_y_monotonic(&self) -> bool
canvas only.Returns whether this segment is monotonic on the y axis.
pub fn is_monotonic(&self) -> bool
Available on crate feature canvas only.
pub fn is_monotonic(&self) -> bool
canvas only.Returns whether this segment is fully monotonic.
pub fn cubic_intersections_t(
&self,
curve: &CubicBezierSegment<S>,
) -> ArrayVec<(S, S), 9>
Available on crate feature canvas only.
pub fn cubic_intersections_t( &self, curve: &CubicBezierSegment<S>, ) -> ArrayVec<(S, S), 9>
canvas only.Computes the intersections (if any) between this segment and another one.
The result is provided in the form of the t parameters of each point along the curves. To
get the intersection points, sample the curves at the corresponding values.
Returns endpoint intersections where an endpoint intersects the interior of the other curve, but not endpoint/endpoint intersections.
Returns no intersections if either curve is a point.
pub fn cubic_intersections(
&self,
curve: &CubicBezierSegment<S>,
) -> ArrayVec<Point2D<S, UnknownUnit>, 9>
Available on crate feature canvas only.
pub fn cubic_intersections( &self, curve: &CubicBezierSegment<S>, ) -> ArrayVec<Point2D<S, UnknownUnit>, 9>
canvas only.Computes the intersection points (if any) between this segment and another one.
pub fn quadratic_intersections_t(
&self,
curve: &QuadraticBezierSegment<S>,
) -> ArrayVec<(S, S), 9>
Available on crate feature canvas only.
pub fn quadratic_intersections_t( &self, curve: &QuadraticBezierSegment<S>, ) -> ArrayVec<(S, S), 9>
canvas only.Computes the intersections (if any) between this segment a quadratic bézier segment.
The result is provided in the form of the t parameters of each point along the curves. To
get the intersection points, sample the curves at the corresponding values.
Returns endpoint intersections where an endpoint intersects the interior of the other curve, but not endpoint/endpoint intersections.
Returns no intersections if either curve is a point.
pub fn quadratic_intersections(
&self,
curve: &QuadraticBezierSegment<S>,
) -> ArrayVec<Point2D<S, UnknownUnit>, 9>
Available on crate feature canvas only.
pub fn quadratic_intersections( &self, curve: &QuadraticBezierSegment<S>, ) -> ArrayVec<Point2D<S, UnknownUnit>, 9>
canvas only.Computes the intersection points (if any) between this segment and a quadratic bézier segment.
pub fn line_intersections_t(&self, line: &Line<S>) -> ArrayVec<S, 3>
Available on crate feature canvas only.
pub fn line_intersections_t(&self, line: &Line<S>) -> ArrayVec<S, 3>
canvas only.Computes the intersections (if any) between this segment and a line.
The result is provided in the form of the t parameters of each
point along curve. To get the intersection points, sample the curve
at the corresponding values.
pub fn line_intersections(
&self,
line: &Line<S>,
) -> ArrayVec<Point2D<S, UnknownUnit>, 3>
Available on crate feature canvas only.
pub fn line_intersections( &self, line: &Line<S>, ) -> ArrayVec<Point2D<S, UnknownUnit>, 3>
canvas only.Computes the intersection points (if any) between this segment and a line.
pub fn line_segment_intersections_t(
&self,
segment: &LineSegment<S>,
) -> ArrayVec<(S, S), 3>
Available on crate feature canvas only.
pub fn line_segment_intersections_t( &self, segment: &LineSegment<S>, ) -> ArrayVec<(S, S), 3>
canvas only.Computes the intersections (if any) between this segment and a line segment.
The result is provided in the form of the t parameters of each
point along curve and segment. To get the intersection points, sample
the segments at the corresponding values.
pub fn from(&self) -> Point2D<S, UnknownUnit>
canvas only.pub fn to(&self) -> Point2D<S, UnknownUnit>
canvas only.pub fn line_segment_intersections( &self, segment: &LineSegment<S>, ) -> ArrayVec<Point2D<S, UnknownUnit>, 3>
canvas only.pub fn drag( &self, t: S, new_position: Point2D<S, UnknownUnit>, ) -> CubicBezierSegment<S>
canvas only.pub fn drag_with_weight( &self, t: S, new_position: Point2D<S, UnknownUnit>, weight: S, ) -> CubicBezierSegment<S>
canvas only.pub fn to_f32(&self) -> CubicBezierSegment<f32>
canvas only.pub fn to_f64(&self) -> CubicBezierSegment<f64>
canvas only.pub fn polynomial_form(&self) -> CubicBezierPolynomial<S>
canvas only.Trait Implementations§
§impl<S> Clone for CubicBezierSegment<S>where
S: Clone,
impl<S> Clone for CubicBezierSegment<S>where
S: Clone,
§fn clone(&self) -> CubicBezierSegment<S>
fn clone(&self) -> CubicBezierSegment<S>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl<S> Debug for CubicBezierSegment<S>where
S: Debug,
impl<S> Debug for CubicBezierSegment<S>where
S: Debug,
§impl<S> PartialEq for CubicBezierSegment<S>where
S: PartialEq,
impl<S> PartialEq for CubicBezierSegment<S>where
S: PartialEq,
§impl<S> Segment for CubicBezierSegment<S>where
S: Scalar,
impl<S> Segment for CubicBezierSegment<S>where
S: Scalar,
type Scalar = S
§fn from(&self) -> Point2D<S, UnknownUnit>
fn from(&self) -> Point2D<S, UnknownUnit>
§fn to(&self) -> Point2D<S, UnknownUnit>
fn to(&self) -> Point2D<S, UnknownUnit>
§fn sample(&self, t: S) -> Point2D<S, UnknownUnit>
fn sample(&self, t: S) -> Point2D<S, UnknownUnit>
§fn derivative(&self, t: S) -> Vector2D<S, UnknownUnit>
fn derivative(&self, t: S) -> Vector2D<S, UnknownUnit>
§fn split(&self, t: S) -> (CubicBezierSegment<S>, CubicBezierSegment<S>)
fn split(&self, t: S) -> (CubicBezierSegment<S>, CubicBezierSegment<S>)
§fn before_split(&self, t: S) -> CubicBezierSegment<S>
fn before_split(&self, t: S) -> CubicBezierSegment<S>
§fn after_split(&self, t: S) -> CubicBezierSegment<S>
fn after_split(&self, t: S) -> CubicBezierSegment<S>
§fn split_range(&self, t_range: Range<S>) -> CubicBezierSegment<S>
fn split_range(&self, t_range: Range<S>) -> CubicBezierSegment<S>
§fn flip(&self) -> CubicBezierSegment<S>
fn flip(&self) -> CubicBezierSegment<S>
§fn approximate_length(&self, tolerance: S) -> S
fn approximate_length(&self, tolerance: S) -> S
§fn for_each_flattened_with_t(
&self,
tolerance: <CubicBezierSegment<S> as Segment>::Scalar,
callback: &mut dyn FnMut(&LineSegment<S>, Range<S>),
)
fn for_each_flattened_with_t( &self, tolerance: <CubicBezierSegment<S> as Segment>::Scalar, callback: &mut dyn FnMut(&LineSegment<S>, Range<S>), )
impl<S> Copy for CubicBezierSegment<S>where
S: Copy,
impl<S> StructuralPartialEq for CubicBezierSegment<S>
Auto Trait Implementations§
impl<S> Freeze for CubicBezierSegment<S>where
S: Freeze,
impl<S> RefUnwindSafe for CubicBezierSegment<S>where
S: RefUnwindSafe,
impl<S> Send for CubicBezierSegment<S>where
S: Send,
impl<S> Sync for CubicBezierSegment<S>where
S: Sync,
impl<S> Unpin for CubicBezierSegment<S>where
S: Unpin,
impl<S> UnsafeUnpin for CubicBezierSegment<S>where
S: UnsafeUnpin,
impl<S> UnwindSafe for CubicBezierSegment<S>where
S: UnwindSafe,
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>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
§impl<T> AnyEq for T
impl<T> AnyEq for T
§impl<T, Res> Apply<Res> for Twhere
T: ?Sized,
impl<T, Res> Apply<Res> for Twhere
T: ?Sized,
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
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
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
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
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
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
§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>
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>
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)
&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)
&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
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
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> ⓘ
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
T.§impl<State, Message> IntoBoot<State, Message> for State
impl<State, Message> IntoBoot<State, Message> for State
§fn into_boot(self) -> (State, Task<Message>)
fn into_boot(self) -> (State, Task<Message>)
Application.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
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
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
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
Source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.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
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>
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>>
OutOfBounds error is returned which contains
the unclamped color. Read more