pub trait ComputeSquaredDistance {
    // Required method
    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<T> ComputeSquaredDistance for Box<T>where T: ComputeSquaredDistance,

source§

impl ComputeSquaredDistance for f64

source§

impl ComputeSquaredDistance for i32

source§

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

source§

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

source§

impl ComputeSquaredDistance for u16

source§

impl ComputeSquaredDistance for i16

source§

impl ComputeSquaredDistance for f32

Implementors§

source§

impl ComputeSquaredDistance for AnimationValue

source§

impl ComputeSquaredDistance for T

source§

impl ComputeSquaredDistance for AngleOrPercentage

source§

impl ComputeSquaredDistance for NumberOrPercentage

source§

impl ComputeSquaredDistance for Impossible

source§

impl ComputeSquaredDistance for FillRule

source§

impl ComputeSquaredDistance for ShapeBox

source§

impl ComputeSquaredDistance for ShapeGeometryBox

source§

impl ComputeSquaredDistance for VerticalAlignKeyword

source§

impl ComputeSquaredDistance for RaySize

source§

impl ComputeSquaredDistance for FontSizeKeyword

source§

impl ComputeSquaredDistance for CoordBox

source§

impl ComputeSquaredDistance for DProperty

source§

impl ComputeSquaredDistance for IsAbsolute

source§

impl ComputeSquaredDistance for PathCommand

source§

impl ComputeSquaredDistance for TransformBox

source§

impl ComputeSquaredDistance for AbsoluteColor

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

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 Zoom

source§

impl ComputeSquaredDistance for FontSize

source§

impl ComputeSquaredDistance for FontStretch

source§

impl ComputeSquaredDistance for style::values::computed::font::FontStyle

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 Color

source§

impl ComputeSquaredDistance for FontVariationSettings

source§

impl ComputeSquaredDistance for Ratio

source§

impl ComputeSquaredDistance for Matrix3D

source§

impl ComputeSquaredDistance for Rotate

source§

impl ComputeSquaredDistance for Scale

source§

impl ComputeSquaredDistance for Transform

source§

impl ComputeSquaredDistance for TransformOperation

source§

impl ComputeSquaredDistance for Translate

source§

impl ComputeSquaredDistance for GridTemplateComponent

source§

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

source§

impl<Angle> ComputeSquaredDistance for style::values::generics::font::FontStyle<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<Angle, Position> ComputeSquaredDistance for GenericRayFunction<Angle, Position>where Angle: ComputeSquaredDistance, Position: 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<Factor> ComputeSquaredDistance for GenericFontSizeAdjust<Factor>where Factor: ComputeSquaredDistance,

source§

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

source§

impl<H, V> ComputeSquaredDistance for GenericOffsetPosition<H, V>where H: ComputeSquaredDistance, V: 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<I> ComputeSquaredDistance for GenericZIndex<I>where I: ComputeSquaredDistance,

source§

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

source§

impl<L> ComputeSquaredDistance for GenericContainIntrinsicSize<L>where L: 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 PolygonCoord<LengthPercentage>where LengthPercentage: ComputeSquaredDistance,

source§

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

source§

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

source§

impl<LengthPercentage, NonNegativeLengthPercentage> ComputeSquaredDistance for GenericInsetRect<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 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<Position, LengthPercentage, NonNegativeLengthPercentage, BasicShapeRect> ComputeSquaredDistance for GenericBasicShape<Position, LengthPercentage, NonNegativeLengthPercentage, BasicShapeRect>where Position: ComputeSquaredDistance, LengthPercentage: ComputeSquaredDistance, NonNegativeLengthPercentage: ComputeSquaredDistance, BasicShapeRect: ComputeSquaredDistance,

source§

impl<Position, NonNegativeLengthPercentage> ComputeSquaredDistance for Circle<Position, NonNegativeLengthPercentage>where Position: ComputeSquaredDistance, NonNegativeLengthPercentage: ComputeSquaredDistance,

source§

impl<Position, NonNegativeLengthPercentage> ComputeSquaredDistance for Ellipse<Position, NonNegativeLengthPercentage>where Position: ComputeSquaredDistance, NonNegativeLengthPercentage: 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<Shapes, RayFunction, U> ComputeSquaredDistance for GenericOffsetPathFunction<Shapes, RayFunction, U>where Shapes: ComputeSquaredDistance, RayFunction: 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<T, const FRACTION_BITS: u16> ComputeSquaredDistance for FixedPoint<T, FRACTION_BITS>where T: ComputeSquaredDistance,

source§

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