API ReferencePainting & Animation
Curves
Every easing curve with application and chaining rules.
Normalized, clamping input and output to 0..1. Linear (default), Ease,
EaseIn, EaseOut, EaseInOut, EaseInSine, EaseOutSine, EaseInOutSine,
EaseInQuad, EaseOutQuad, EaseInOutQuad, EaseInCubic, EaseOutCubic,
EaseInOutCubic, EaseInQuart, EaseOutQuart, EaseInOutQuart,
EaseInQuint, EaseOutQuint, EaseInOutQuint, EaseInExpo, EaseOutExpo,
EaseInOutExpo, EaseInCirc, EaseOutCirc, EaseInOutCirc, EaseInBack,
EaseOutBack, EaseInOutBack, EaseInElastic, EaseOutElastic,
EaseInOutElastic, EaseInBounce, EaseOutBounce, EaseInOutBounce,
FastOutSlowIn, CubicBezier { x1, y1, x2, y2 }, StepStart, StepEnd.
| Family | Variants |
|---|---|
| Basic | Linear (default), Ease, EaseIn, EaseOut, EaseInOut, FastOutSlowIn |
| Sine | EaseInSine, EaseOutSine, EaseInOutSine |
| Quad/Cubic/Quart/Quint | EaseIn/Out/InOut × each power |
| Expo/Circ | EaseIn/Out/InOutExpo, EaseIn/Out/InOutCirc |
| Back | EaseInBack, EaseOutBack, EaseInOutBack (overshoot) |
| Elastic | EaseInElastic, EaseOutElastic, EaseInOutElastic |
| Bounce | EaseInBounce, EaseOutBounce, EaseInOutBounce |
| Custom | CubicBezier, StepStart, StepEnd |
use incular::prelude::*;
fn main() {
println!("ease: {}", Curve::EaseOut.apply(0.5));
println!("bezier: {:?}", Curve::cubic_bezier(0.4, 0.0, 0.2, 1.0));
println!("reversed: {:?}", Curve::EaseIn.reverse());
println!("linear: {:?}", Curves::LINEAR);
}Related: Tweens,
AnimationController.