[][src]Trait keyframe::EasingFunction

pub trait EasingFunction {
    fn y(&self, x: f64) -> f64;
}

Implementation of a 2D curve function for easing between two points

Required methods

fn y(&self, x: f64) -> f64

For an X position on the curve, calculate the Y position. 0.0-1.0 is start and end on both axes but values can go out of bounds.

Note

Because this method has a &self argument this trait can be used to both implement a "static" curve function (e.g. a linear interpolation) or a "dynamic" curve function (e.g. a bezier curve with user defined inputs).

Since a static curve function will have zero size the size of a dyn EasingFunction will be the same size as a vtable. This also means you can specify a static curve function with only the name of the type (e.g. ease(EaseInOut, 0.0, 1.0, 0.5)).

Loading content...

Implementors

impl EasingFunction for BezierCurve[src]

impl EasingFunction for EaseIn[src]

impl EasingFunction for EaseInCubic[src]

impl EasingFunction for EaseInOut[src]

impl EasingFunction for EaseInOutCubic[src]

impl EasingFunction for EaseInOutQuad[src]

impl EasingFunction for EaseInOutQuart[src]

impl EasingFunction for EaseInOutQuint[src]

impl EasingFunction for EaseInQuad[src]

impl EasingFunction for EaseInQuart[src]

impl EasingFunction for EaseInQuint[src]

impl EasingFunction for EaseOut[src]

impl EasingFunction for EaseOutCubic[src]

impl EasingFunction for EaseOutQuad[src]

impl EasingFunction for EaseOutQuart[src]

impl EasingFunction for EaseOutQuint[src]

impl EasingFunction for Keyframes[src]

impl EasingFunction for Linear[src]

impl EasingFunction for Step[src]

Loading content...