pub trait EasingArgument:
Sealed
+ Sized
+ Copy {
Show 33 methods
// Provided methods
fn ease_in_quad(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_out_quad(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_out_quad(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_cubic(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_out_cubic(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_out_cubic(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_quart(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_out_quart(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_out_quart(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_quint(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_out_quint(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_out_quint(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_out_back(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_bounce(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_out_bounce(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_out_bounce(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_expo(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_out_expo(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_out_expo(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_elastic(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_out_elastic(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_out_elastic(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_sine(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_out_sine(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_out_sine(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_circ(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_out_circ(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_out_circ(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_back(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_out_back(self) -> Self
where Self: EasingImplHelper { ... }
fn ease_in_curve<C>(self, curve: C) -> Self
where Self: EasingImplHelper,
C: CurveParam<Self> { ... }
fn ease_out_curve<C>(self, curve: C) -> Self
where Self: EasingImplHelper,
C: CurveParam<Self> { ... }
fn ease_in_out_curve<C>(self, curve: C) -> Self
where Self: EasingImplHelper,
C: CurveParam<Self> { ... }
}Expand description
A trait providing easing functions for smooth interpolation.
Easing functions take a value t in the range [0, 1] and return an eased value
in the same range, useful for animations and transitions.
Supported for scalar types (f32, f64) and SIMD vectors (with nightly feature).
See easings.net for visualizations.
Provided Methods§
Sourcefn ease_in_quad(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_quad(self) -> Selfwhere
Self: EasingImplHelper,
Applies quadratic easing in. Starts slow and accelerates.
See easings.net for visualization.
Sourcefn ease_out_quad(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_out_quad(self) -> Selfwhere
Self: EasingImplHelper,
Applies quadratic easing out. Starts fast and decelerates.
See easings.net for visualization.
Sourcefn ease_in_out_quad(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_out_quad(self) -> Selfwhere
Self: EasingImplHelper,
Applies quadratic easing in-out. Accelerates then decelerates.
See easings.net for visualization.
Sourcefn ease_in_cubic(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_cubic(self) -> Selfwhere
Self: EasingImplHelper,
Applies cubic easing in. Starts slow and accelerates more gradually.
See easings.net for visualization.
Sourcefn ease_out_cubic(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_out_cubic(self) -> Selfwhere
Self: EasingImplHelper,
Applies cubic easing out. Starts fast and decelerates more gradually.
See easings.net for visualization.
Sourcefn ease_in_out_cubic(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_out_cubic(self) -> Selfwhere
Self: EasingImplHelper,
Applies cubic easing in-out. Accelerates then decelerates more gradually.
See easings.net for visualization.
Sourcefn ease_in_quart(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_quart(self) -> Selfwhere
Self: EasingImplHelper,
Applies quartic easing in. Starts very slow and accelerates sharply.
See easings.net for visualization.
Sourcefn ease_out_quart(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_out_quart(self) -> Selfwhere
Self: EasingImplHelper,
Applies quartic easing out. Starts very fast and decelerates sharply.
See easings.net for visualization.
Sourcefn ease_in_out_quart(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_out_quart(self) -> Selfwhere
Self: EasingImplHelper,
Applies quartic easing in-out. Accelerates sharply then decelerates sharply.
See easings.net for visualization.
Sourcefn ease_in_quint(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_quint(self) -> Selfwhere
Self: EasingImplHelper,
Applies quintic easing in. Starts extremely slow and accelerates very sharply.
See easings.net for visualization.
Sourcefn ease_out_quint(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_out_quint(self) -> Selfwhere
Self: EasingImplHelper,
Applies quintic easing out. Starts extremely fast and decelerates very sharply.
See easings.net for visualization.
Sourcefn ease_in_out_quint(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_out_quint(self) -> Selfwhere
Self: EasingImplHelper,
Applies quintic easing in-out. Accelerates very sharply then decelerates very sharply.
See easings.net for visualization.
Sourcefn ease_in_out_back(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_out_back(self) -> Selfwhere
Self: EasingImplHelper,
Applies back easing in-out. Accelerates with overshoot then decelerates with overshoot.
See easings.net for visualization.
Sourcefn ease_in_bounce(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_bounce(self) -> Selfwhere
Self: EasingImplHelper,
Applies bounce easing in. Starts with bounces and settles.
See easings.net for visualization.
Sourcefn ease_out_bounce(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_out_bounce(self) -> Selfwhere
Self: EasingImplHelper,
Applies bounce easing out. Ends with bounces.
See easings.net for visualization.
Sourcefn ease_in_out_bounce(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_out_bounce(self) -> Selfwhere
Self: EasingImplHelper,
Applies bounce easing in-out. Bounces at start and end.
See easings.net for visualization.
Sourcefn ease_in_expo(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_expo(self) -> Selfwhere
Self: EasingImplHelper,
Applies exponential easing in. Starts very slow and accelerates exponentially.
See easings.net for visualization.
Sourcefn ease_out_expo(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_out_expo(self) -> Selfwhere
Self: EasingImplHelper,
Applies exponential easing out. Starts very fast and decelerates exponentially.
See easings.net for visualization.
Sourcefn ease_in_out_expo(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_out_expo(self) -> Selfwhere
Self: EasingImplHelper,
Applies exponential easing in-out. Accelerates exponentially then decelerates exponentially.
See easings.net for visualization.
Sourcefn ease_in_elastic(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_elastic(self) -> Selfwhere
Self: EasingImplHelper,
Applies elastic easing in. Starts with oscillation and settles.
See easings.net for visualization.
Sourcefn ease_out_elastic(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_out_elastic(self) -> Selfwhere
Self: EasingImplHelper,
Applies elastic easing out. Ends with oscillation.
See easings.net for visualization.
Sourcefn ease_in_out_elastic(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_out_elastic(self) -> Selfwhere
Self: EasingImplHelper,
Applies elastic easing in-out. Oscillates at start and end.
See easings.net for visualization.
Sourcefn ease_in_sine(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_sine(self) -> Selfwhere
Self: EasingImplHelper,
Applies sine easing in. Starts slow with a smooth curve.
See easings.net for visualization.
Sourcefn ease_out_sine(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_out_sine(self) -> Selfwhere
Self: EasingImplHelper,
Applies sine easing out. Ends slow with a smooth curve.
See easings.net for visualization.
Sourcefn ease_in_out_sine(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_out_sine(self) -> Selfwhere
Self: EasingImplHelper,
Applies sine easing in-out. Smooth acceleration and deceleration.
See easings.net for visualization.
Sourcefn ease_in_circ(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_circ(self) -> Selfwhere
Self: EasingImplHelper,
Applies circular easing in. Starts very slow and accelerates sharply.
See easings.net for visualization.
Sourcefn ease_out_circ(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_out_circ(self) -> Selfwhere
Self: EasingImplHelper,
Applies circular easing out. Starts very fast and decelerates sharply.
See easings.net for visualization.
Sourcefn ease_in_out_circ(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_out_circ(self) -> Selfwhere
Self: EasingImplHelper,
Applies circular easing in-out. Accelerates sharply then decelerates sharply.
See easings.net for visualization.
Sourcefn ease_in_back(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_in_back(self) -> Selfwhere
Self: EasingImplHelper,
Applies back easing in. Starts with a slight overshoot.
See easings.net for visualization.
Sourcefn ease_out_back(self) -> Selfwhere
Self: EasingImplHelper,
fn ease_out_back(self) -> Selfwhere
Self: EasingImplHelper,
Applies back easing out. Ends with a slight overshoot.
See easings.net for visualization.
Sourcefn ease_in_curve<C>(self, curve: C) -> Selfwhere
Self: EasingImplHelper,
C: CurveParam<Self>,
fn ease_in_curve<C>(self, curve: C) -> Selfwhere
Self: EasingImplHelper,
C: CurveParam<Self>,
Applies custom exponential easing in with a curve parameter.
Accelerates from slow to fast using exponential growth controlled by the curve parameter.
curve > 0: Convex curve, steeper acceleration (e.g.,curve = 1.0for moderate,curve = 4.0for sharp).curve < 0: Concave curve, gentler acceleration (e.g.,curve = -1.0for soft,curve = -4.0for very gradual).curve ≈ 0: Approximates linear easing.
The curve parameter can be a scalar or SIMD vector matching the easing argument type.
Inspired by SuperCollider’s Env curve parameter for envelope shaping.
See SuperCollider Env documentation for more on curve values.
Sourcefn ease_out_curve<C>(self, curve: C) -> Selfwhere
Self: EasingImplHelper,
C: CurveParam<Self>,
fn ease_out_curve<C>(self, curve: C) -> Selfwhere
Self: EasingImplHelper,
C: CurveParam<Self>,
Applies custom exponential easing out with a curve parameter.
Decelerates from fast to slow using exponential decay controlled by the curve parameter.
curve > 0: Convex curve, steeper deceleration.curve < 0: Concave curve, gentler deceleration.curve ≈ 0: Approximates linear easing.
The curve parameter can be a scalar or SIMD vector matching the easing argument type.
Mirrors ease_in_curve but in reverse. Inspired by SuperCollider’s Env curve parameter.
See SuperCollider Env documentation.
Sourcefn ease_in_out_curve<C>(self, curve: C) -> Selfwhere
Self: EasingImplHelper,
C: CurveParam<Self>,
fn ease_in_out_curve<C>(self, curve: C) -> Selfwhere
Self: EasingImplHelper,
C: CurveParam<Self>,
Applies custom exponential easing in-out with a curve parameter.
Accelerates then decelerates using exponential transitions controlled by the curve parameter.
curve > 0: Sharper acceleration and deceleration.curve < 0: Softer transitions.curve ≈ 0: Approximates linear easing.
The curve parameter can be a scalar or SIMD vector matching the easing argument type.
Combines ease_in_curve and ease_out_curve for smooth bidirectional transitions.
Inspired by SuperCollider’s Env curve parameter for envelope shaping.
See SuperCollider Env documentation.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.