///|
/// Families of easing curves used by a motion timeline.
pub(all) enum EasingId {
Linear
QuadIn
QuadOut
QuadInOut
CubicIn
CubicOut
CubicInOut
QuartIn
QuartOut
QuartInOut
QuintIn
QuintOut
QuintInOut
SineIn
SineOut
SineInOut
ExpoIn
ExpoOut
ExpoInOut
CircIn
CircOut
CircInOut
BackIn
BackOut
BackInOut
ElasticIn
ElasticOut
ElasticInOut
BounceIn
BounceOut
BounceInOut
} derive(Eq, Debug)
///|
/// Extrapolation policy for a keyframe track or a tween.
pub(all) enum Extrapolation {
Clamp
Repeat
Mirror
Continue
} derive(Eq, Debug)
///|
/// A compact sample of a scalar motion function.
pub(all) struct MotionSample {
time : Double
value : Double
velocity : Double
acceleration : Double
} derive(Debug)
///|
pub fn MotionSample::value(self : MotionSample) -> Double {
self.value
}
///|
pub fn MotionSample::velocity(self : MotionSample) -> Double {
self.velocity
}
///|
pub fn MotionSample::acceleration(self : MotionSample) -> Double {
self.acceleration
}