EasingArgument

Trait EasingArgument 

Source
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§

Source

fn ease_in_quad(self) -> Self
where Self: EasingImplHelper,

Applies quadratic easing in. Starts slow and accelerates.

See easings.net for visualization.

Source

fn ease_out_quad(self) -> Self
where Self: EasingImplHelper,

Applies quadratic easing out. Starts fast and decelerates.

See easings.net for visualization.

Source

fn ease_in_out_quad(self) -> Self
where Self: EasingImplHelper,

Applies quadratic easing in-out. Accelerates then decelerates.

See easings.net for visualization.

Source

fn ease_in_cubic(self) -> Self
where Self: EasingImplHelper,

Applies cubic easing in. Starts slow and accelerates more gradually.

See easings.net for visualization.

Source

fn ease_out_cubic(self) -> Self
where Self: EasingImplHelper,

Applies cubic easing out. Starts fast and decelerates more gradually.

See easings.net for visualization.

Source

fn ease_in_out_cubic(self) -> Self
where Self: EasingImplHelper,

Applies cubic easing in-out. Accelerates then decelerates more gradually.

See easings.net for visualization.

Source

fn ease_in_quart(self) -> Self
where Self: EasingImplHelper,

Applies quartic easing in. Starts very slow and accelerates sharply.

See easings.net for visualization.

Source

fn ease_out_quart(self) -> Self
where Self: EasingImplHelper,

Applies quartic easing out. Starts very fast and decelerates sharply.

See easings.net for visualization.

Source

fn ease_in_out_quart(self) -> Self
where Self: EasingImplHelper,

Applies quartic easing in-out. Accelerates sharply then decelerates sharply.

See easings.net for visualization.

Source

fn ease_in_quint(self) -> Self
where Self: EasingImplHelper,

Applies quintic easing in. Starts extremely slow and accelerates very sharply.

See easings.net for visualization.

Source

fn ease_out_quint(self) -> Self
where Self: EasingImplHelper,

Applies quintic easing out. Starts extremely fast and decelerates very sharply.

See easings.net for visualization.

Source

fn ease_in_out_quint(self) -> Self
where Self: EasingImplHelper,

Applies quintic easing in-out. Accelerates very sharply then decelerates very sharply.

See easings.net for visualization.

Source

fn ease_in_out_back(self) -> Self
where Self: EasingImplHelper,

Applies back easing in-out. Accelerates with overshoot then decelerates with overshoot.

See easings.net for visualization.

Source

fn ease_in_bounce(self) -> Self
where Self: EasingImplHelper,

Applies bounce easing in. Starts with bounces and settles.

See easings.net for visualization.

Source

fn ease_out_bounce(self) -> Self
where Self: EasingImplHelper,

Applies bounce easing out. Ends with bounces.

See easings.net for visualization.

Source

fn ease_in_out_bounce(self) -> Self
where Self: EasingImplHelper,

Applies bounce easing in-out. Bounces at start and end.

See easings.net for visualization.

Source

fn ease_in_expo(self) -> Self
where Self: EasingImplHelper,

Applies exponential easing in. Starts very slow and accelerates exponentially.

See easings.net for visualization.

Source

fn ease_out_expo(self) -> Self
where Self: EasingImplHelper,

Applies exponential easing out. Starts very fast and decelerates exponentially.

See easings.net for visualization.

Source

fn ease_in_out_expo(self) -> Self
where Self: EasingImplHelper,

Applies exponential easing in-out. Accelerates exponentially then decelerates exponentially.

See easings.net for visualization.

Source

fn ease_in_elastic(self) -> Self
where Self: EasingImplHelper,

Applies elastic easing in. Starts with oscillation and settles.

See easings.net for visualization.

Source

fn ease_out_elastic(self) -> Self
where Self: EasingImplHelper,

Applies elastic easing out. Ends with oscillation.

See easings.net for visualization.

Source

fn ease_in_out_elastic(self) -> Self
where Self: EasingImplHelper,

Applies elastic easing in-out. Oscillates at start and end.

See easings.net for visualization.

Source

fn ease_in_sine(self) -> Self
where Self: EasingImplHelper,

Applies sine easing in. Starts slow with a smooth curve.

See easings.net for visualization.

Source

fn ease_out_sine(self) -> Self
where Self: EasingImplHelper,

Applies sine easing out. Ends slow with a smooth curve.

See easings.net for visualization.

Source

fn ease_in_out_sine(self) -> Self
where Self: EasingImplHelper,

Applies sine easing in-out. Smooth acceleration and deceleration.

See easings.net for visualization.

Source

fn ease_in_circ(self) -> Self
where Self: EasingImplHelper,

Applies circular easing in. Starts very slow and accelerates sharply.

See easings.net for visualization.

Source

fn ease_out_circ(self) -> Self
where Self: EasingImplHelper,

Applies circular easing out. Starts very fast and decelerates sharply.

See easings.net for visualization.

Source

fn ease_in_out_circ(self) -> Self
where Self: EasingImplHelper,

Applies circular easing in-out. Accelerates sharply then decelerates sharply.

See easings.net for visualization.

Source

fn ease_in_back(self) -> Self
where Self: EasingImplHelper,

Applies back easing in. Starts with a slight overshoot.

See easings.net for visualization.

Source

fn ease_out_back(self) -> Self
where Self: EasingImplHelper,

Applies back easing out. Ends with a slight overshoot.

See easings.net for visualization.

Source

fn ease_in_curve<C>(self, curve: C) -> Self
where 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.0 for moderate, curve = 4.0 for sharp).
  • curve < 0: Concave curve, gentler acceleration (e.g., curve = -1.0 for soft, curve = -4.0 for 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.

Source

fn ease_out_curve<C>(self, curve: C) -> Self
where 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.

Source

fn ease_in_out_curve<C>(self, curve: C) -> Self
where 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.

Implementors§

Source§

impl<T: EasingImplHelper> EasingArgument for T