pub trait ComputeSquaredDistance {
    fn compute_squared_distance(
        &self,
        other: &Self
    ) -> Result<SquaredDistance, ()>; }
Expand description

A trait to compute squared distances between two animatable values.

This trait is derivable with #[derive(ComputeSquaredDistance)]. The derived implementation uses a match expression with identical patterns for both self and other, calling ComputeSquaredDistance::compute_squared_distance on each fields of the values.

If a variant is annotated with #[animation(error)], the corresponding match arm returns an error.

Trait bounds for type parameter Foo can be opted out of with #[animation(no_bound(Foo))] on the type definition, trait bounds for fields can be opted into with #[distance(field_bound)] on the field.

Required Methods§

source

fn compute_squared_distance(&self, other: &Self) -> Result<SquaredDistance, ()>

Computes the squared distance between two animatable values.

Implementations on Foreign Types§

source§

impl ComputeSquaredDistance for u16

source§

impl ComputeSquaredDistance for i32

source§

impl ComputeSquaredDistance for f32

source§

impl ComputeSquaredDistance for f64

source§

impl<T> ComputeSquaredDistance for Box<T>where
    T: ComputeSquaredDistance,

source§

impl<T> ComputeSquaredDistance for Option<T>where
    T: ComputeSquaredDistance,

source§

impl<T> ComputeSquaredDistance for Size2D<T>where
    T: ComputeSquaredDistance,

Implementors§

source§

impl ComputeSquaredDistance for AnimationValue

source§

impl ComputeSquaredDistance for Visibility

source§

impl ComputeSquaredDistance for AngleOrPercentage

source§

impl ComputeSquaredDistance for NumberOrPercentage

source§

impl ComputeSquaredDistance for Impossible

source§

impl ComputeSquaredDistance for ShapeBox

source§

impl ComputeSquaredDistance for ShapeGeometryBox

source§

impl ComputeSquaredDistance for VerticalAlignKeyword

source§

impl ComputeSquaredDistance for FontSizeKeyword

source§

impl ComputeSquaredDistance for DProperty

source§

impl ComputeSquaredDistance for IsAbsolute

source§

impl ComputeSquaredDistance for PathCommand

source§

impl ComputeSquaredDistance for style::properties::longhands::background_position_x::computed_value::OwnedList<<T as ToAnimatedValue>::AnimatedValue>

source§

impl ComputeSquaredDistance for style::properties::longhands::background_position_y::computed_value::OwnedList<<T as ToAnimatedValue>::AnimatedValue>

source§

impl ComputeSquaredDistance for style::properties::longhands::background_size::computed_value::OwnedList<<T as ToAnimatedValue>::AnimatedValue>

source§

impl ComputeSquaredDistance for style::properties::longhands::box_shadow::computed_value::OwnedList<<T as ToAnimatedValue>::AnimatedValue>

source§

impl ComputeSquaredDistance for style::properties::longhands::filter::computed_value::OwnedList<<T as ToAnimatedValue>::AnimatedValue>

source§

impl ComputeSquaredDistance for style::properties::longhands::text_shadow::computed_value::OwnedList<<T as ToAnimatedValue>::AnimatedValue>

source§

impl ComputeSquaredDistance for RGBA

source§

impl ComputeSquaredDistance for InnerMatrix2D

source§

impl ComputeSquaredDistance for MatrixDecomposed2D

source§

impl ComputeSquaredDistance for MatrixDecomposed3D

source§

impl ComputeSquaredDistance for Perspective

source§

impl ComputeSquaredDistance for Quaternion

source§

impl ComputeSquaredDistance for Scale2D

source§

impl ComputeSquaredDistance for Scale3D

source§

impl ComputeSquaredDistance for Skew

source§

impl ComputeSquaredDistance for Translate2D

source§

impl ComputeSquaredDistance for Translate3D

source§

impl ComputeSquaredDistance for Angle

source§

impl ComputeSquaredDistance for FontSize

source§

impl ComputeSquaredDistance for FontStretch

source§

impl ComputeSquaredDistance for FontWeight

source§

impl ComputeSquaredDistance for CSSPixelLength

source§

impl ComputeSquaredDistance for LengthPercentage

source§

impl ComputeSquaredDistance for OffsetRotate

source§

impl ComputeSquaredDistance for Percentage

source§

impl ComputeSquaredDistance for Au

source§

impl ComputeSquaredDistance for LetterSpacing

source§

impl ComputeSquaredDistance for Path

source§

impl ComputeSquaredDistance for KeywordInfo

source§

impl ComputeSquaredDistance for ArcFlag

source§

impl ComputeSquaredDistance for CoordPair

source§

impl ComputeSquaredDistance for SVGPathData

source§

impl ComputeSquaredDistance for Auto

source§

impl ComputeSquaredDistance for None_

source§

impl ComputeSquaredDistance for Color

source§

impl ComputeSquaredDistance for FontVariationSettings

source§

impl ComputeSquaredDistance for Ratio

source§

impl ComputeSquaredDistance for Matrix3D

source§

impl ComputeSquaredDistance for ComputedRotate

source§

impl ComputeSquaredDistance for ComputedScale

source§

impl ComputeSquaredDistance for ComputedTransform

source§

impl ComputeSquaredDistance for ComputedTransformOperation

source§

impl ComputeSquaredDistance for ComputedTranslate

source§

impl ComputeSquaredDistance for GridTemplateComponent

source§

impl<A, B> ComputeSquaredDistance for Either<A, B>where
    A: ComputeSquaredDistance,
    B: ComputeSquaredDistance,

source§

impl<Angle> ComputeSquaredDistance for FontStyle<Angle>where
    Angle: ComputeSquaredDistance,

source§

impl<Angle> ComputeSquaredDistance for GenericOffsetPath<Angle>where
    Angle: ComputeSquaredDistance,

source§

impl<Angle> ComputeSquaredDistance for RayFunction<Angle>where
    Angle: ComputeSquaredDistance,

source§

impl<Angle, NonNegativeFactor, ZeroToOneFactor, Length, Shadow, U> ComputeSquaredDistance for GenericFilter<Angle, NonNegativeFactor, ZeroToOneFactor, Length, Shadow, U>where
    Angle: ComputeSquaredDistance,
    NonNegativeFactor: ComputeSquaredDistance,
    ZeroToOneFactor: ComputeSquaredDistance,
    Length: ComputeSquaredDistance,
    Shadow: ComputeSquaredDistance,

source§

impl<BasicShape, I> ComputeSquaredDistance for GenericShapeOutside<BasicShape, I>where
    BasicShape: ComputeSquaredDistance,

source§

impl<BasicShape, U> ComputeSquaredDistance for GenericClipPath<BasicShape, U>where
    BasicShape: ComputeSquaredDistance,

source§

impl<C> ComputeSquaredDistance for GenericColorOrAuto<C>where
    C: ComputeSquaredDistance,

source§

impl<C> ComputeSquaredDistance for GenericSVGPaintFallback<C>where
    C: ComputeSquaredDistance,

source§

impl<C> ComputeSquaredDistance for GenericCaretColor<C>where
    C: ComputeSquaredDistance,

source§

impl<C, U> ComputeSquaredDistance for GenericSVGPaintKind<C, U>where
    C: ComputeSquaredDistance,

source§

impl<Color> ComputeSquaredDistance for GenericScrollbarColor<Color>where
    Color: ComputeSquaredDistance,

source§

impl<Color, SizeLength, BlurShapeLength, ShapeLength> ComputeSquaredDistance for GenericBoxShadow<Color, SizeLength, BlurShapeLength, ShapeLength>where
    Color: ComputeSquaredDistance,
    SizeLength: ComputeSquaredDistance,
    BlurShapeLength: ComputeSquaredDistance,
    ShapeLength: ComputeSquaredDistance,

source§

impl<Color, SizeLength, ShapeLength> ComputeSquaredDistance for GenericSimpleShadow<Color, SizeLength, ShapeLength>where
    Color: ComputeSquaredDistance,
    SizeLength: ComputeSquaredDistance,
    ShapeLength: ComputeSquaredDistance,

source§

impl<Color, Url> ComputeSquaredDistance for GenericSVGPaint<Color, Url>where
    Color: ComputeSquaredDistance,

source§

impl<H, V> ComputeSquaredDistance for GenericPosition<H, V>where
    H: ComputeSquaredDistance,
    V: ComputeSquaredDistance,

source§

impl<H, V, Depth> ComputeSquaredDistance for GenericTransformOrigin<H, V, Depth>where
    H: ComputeSquaredDistance,
    V: ComputeSquaredDistance,
    Depth: ComputeSquaredDistance,

source§

impl<H, V, LengthPercentage, NonNegativeLengthPercentage> ComputeSquaredDistance for GenericBasicShape<H, V, LengthPercentage, NonNegativeLengthPercentage>where
    H: ComputeSquaredDistance,
    V: ComputeSquaredDistance,
    LengthPercentage: ComputeSquaredDistance,
    NonNegativeLengthPercentage: ComputeSquaredDistance,

source§

impl<H, V, NonNegativeLengthPercentage> ComputeSquaredDistance for Circle<H, V, NonNegativeLengthPercentage>where
    H: ComputeSquaredDistance,
    V: ComputeSquaredDistance,
    NonNegativeLengthPercentage: ComputeSquaredDistance,

source§

impl<H, V, NonNegativeLengthPercentage> ComputeSquaredDistance for Ellipse<H, V, NonNegativeLengthPercentage>where
    H: ComputeSquaredDistance,
    V: ComputeSquaredDistance,
    NonNegativeLengthPercentage: ComputeSquaredDistance,

source§

impl<I> ComputeSquaredDistance for GenericZIndex<I>where
    I: ComputeSquaredDistance,

source§

impl<L> ComputeSquaredDistance for GenericSVGLength<L>where
    L: ComputeSquaredDistance,

source§

impl<L> ComputeSquaredDistance for SVGStrokeDashArray<L>where
    L: ComputeSquaredDistance,

source§

impl<L> ComputeSquaredDistance for GenericTextDecorationLength<L>where
    L: ComputeSquaredDistance,

source§

impl<L> ComputeSquaredDistance for Polygon<L>where
    L: ComputeSquaredDistance,

source§

impl<L> ComputeSquaredDistance for BorderSpacing<L>where
    L: ComputeSquaredDistance,

source§

impl<L> ComputeSquaredDistance for GenericBorderCornerRadius<L>where
    L: ComputeSquaredDistance,

source§

impl<L> ComputeSquaredDistance for style::values::generics::size::Size2D<L>where
    L: ComputeSquaredDistance,

source§

impl<L, N> ComputeSquaredDistance for GenericLengthOrNumber<L, N>where
    L: ComputeSquaredDistance,
    N: ComputeSquaredDistance,

source§

impl<LP, N> ComputeSquaredDistance for GenericBorderImageSideWidth<LP, N>where
    LP: ComputeSquaredDistance,
    N: ComputeSquaredDistance,

source§

impl<LengthOrAuto> ComputeSquaredDistance for GenericClipRect<LengthOrAuto>where
    LengthOrAuto: ComputeSquaredDistance,

source§

impl<LengthPercent> ComputeSquaredDistance for GenericBackgroundSize<LengthPercent>where
    LengthPercent: ComputeSquaredDistance,

source§

impl<LengthPercent> ComputeSquaredDistance for GenericLengthPercentageOrAuto<LengthPercent>where
    LengthPercent: ComputeSquaredDistance,

source§

impl<LengthPercent> ComputeSquaredDistance for GenericLengthPercentageOrNormal<LengthPercent>where
    LengthPercent: ComputeSquaredDistance,

source§

impl<LengthPercent> ComputeSquaredDistance for GenericMaxSize<LengthPercent>where
    LengthPercent: ComputeSquaredDistance,

source§

impl<LengthPercent> ComputeSquaredDistance for GenericSize<LengthPercent>where
    LengthPercent: ComputeSquaredDistance,

source§

impl<LengthPercentage> ComputeSquaredDistance for GenericVerticalAlign<LengthPercentage>where
    LengthPercentage: ComputeSquaredDistance,

source§

impl<LengthPercentage> ComputeSquaredDistance for GenericBorderRadius<LengthPercentage>where
    LengthPercentage: ComputeSquaredDistance,

source§

impl<LengthPercentage, NonNegativeLengthPercentage> ComputeSquaredDistance for InsetRect<LengthPercentage, NonNegativeLengthPercentage>where
    LengthPercentage: ComputeSquaredDistance,
    NonNegativeLengthPercentage: ComputeSquaredDistance,

source§

impl<N> ComputeSquaredDistance for PreferredRatio<N>where
    N: ComputeSquaredDistance,
    Ratio<N>: ComputeSquaredDistance,

source§

impl<N> ComputeSquaredDistance for GenericAspectRatio<N>where
    N: ComputeSquaredDistance,
    PreferredRatio<N>: ComputeSquaredDistance,

source§

impl<N, L> ComputeSquaredDistance for GenericLineHeight<N, L>where
    N: ComputeSquaredDistance,
    L: ComputeSquaredDistance,

source§

impl<NonNegativeLength> ComputeSquaredDistance for GenericPerspective<NonNegativeLength>where
    NonNegativeLength: ComputeSquaredDistance,

source§

impl<NonNegativeLengthPercentage> ComputeSquaredDistance for GenericShapeRadius<NonNegativeLengthPercentage>where
    NonNegativeLengthPercentage: ComputeSquaredDistance,

source§

impl<Number> ComputeSquaredDistance for GenericFontSizeAdjust<Number>where
    Number: ComputeSquaredDistance,

source§

impl<Number> ComputeSquaredDistance for VariationValue<Number>where
    Number: ComputeSquaredDistance,

source§

impl<NumberOrPercentage> ComputeSquaredDistance for GenericBorderImageSlice<NumberOrPercentage>where
    NumberOrPercentage: ComputeSquaredDistance,

source§

impl<OpacityType> ComputeSquaredDistance for GenericSVGOpacity<OpacityType>where
    OpacityType: ComputeSquaredDistance,

source§

impl<Pos> ComputeSquaredDistance for GenericPositionOrAuto<Pos>where
    Pos: ComputeSquaredDistance,

source§

impl<PositiveInteger> ComputeSquaredDistance for ColumnCount<PositiveInteger>where
    PositiveInteger: ComputeSquaredDistance,

source§

impl<R> ComputeSquaredDistance for GenericClipRectOrAuto<R>where
    R: ComputeSquaredDistance,

source§

impl<S> ComputeSquaredDistance for GenericFlexBasis<S>where
    S: ComputeSquaredDistance,

source§

impl<T> ComputeSquaredDistance for Optional<T>where
    T: ComputeSquaredDistance,

source§

impl<T> ComputeSquaredDistance for Rect<T>where
    T: ComputeSquaredDistance,

source§

impl<T> ComputeSquaredDistance for GreaterThanOrEqualToOne<T>where
    T: ComputeSquaredDistance,

source§

impl<T> ComputeSquaredDistance for NonNegative<T>where
    T: ComputeSquaredDistance,

source§

impl<T> ComputeSquaredDistance for ZeroToOne<T>where
    T: ComputeSquaredDistance,

source§

impl<U> ComputeSquaredDistance for GenericUrlOrNone<U>where
    U: ComputeSquaredDistance,