3#include "mathtypes.hpp"
11 template<
typename base>
15 constexpr inline T operator()(
float pos, T a, T b)
const{
19 static constexpr struct DefaultCurve :
public TweenCurve<tweeny::easing::defaultEasing>{} DefaultCurve;
20 static constexpr struct SteppedCurve :
public TweenCurve<tweeny::easing::steppedEasing>{} SteppedCurve;
21 static constexpr struct LinearCurve :
public TweenCurve<tweeny::easing::linearEasing>{} LinearCurve;
22 static constexpr struct QuadraticInCurve :
public TweenCurve<tweeny::easing::quadraticInEasing>{} QuadraticInCurve;
23 static constexpr struct QuadraticOutCurve :
public TweenCurve<tweeny::easing::quadraticOutEasing>{} QuadraticOutCurve;
24 static constexpr struct QuadraticInOutCurve :
public TweenCurve<tweeny::easing::quadraticInOutEasing>{} QuadraticInOutCurve;
25 static constexpr struct CubicInCurve :
public TweenCurve<tweeny::easing::cubicInEasing>{} CubicInCurve;
26 static constexpr struct CubicOutCurve :
public TweenCurve<tweeny::easing::cubicOutEasing>{} CubicOutCurve;
27 static constexpr struct CubicInOutCurve :
public TweenCurve<tweeny::easing::cubicInOutEasing>{} CubicInOutCurve;
28 static constexpr struct QuarticInCurve :
public TweenCurve<tweeny::easing::quarticInEasing>{} QuarticInEasing;
29 static constexpr struct QuarticOutCurve :
public TweenCurve<tweeny::easing::quarticOutEasing>{} QuarticOutCurve;
30 static constexpr struct QuarticInOutCurve :
public TweenCurve<tweeny::easing::quarticInOutEasing>{} QuarticInOutCurve;
31 static constexpr struct QuinticInCurve :
public TweenCurve<tweeny::easing::quinticInEasing>{} QuinticInCurve;
32 static constexpr struct QuinticOutCurve :
public TweenCurve<tweeny::easing::quinticOutEasing>{} QuinticOutCurve;
33 static constexpr struct QuinticInOutCurve :
public TweenCurve<tweeny::easing::quinticInOutEasing>{} QuinticInOutCurve;
34 static constexpr struct SinusoidalInCurve :
public TweenCurve<tweeny::easing::sinusoidalInEasing>{} SinusoidalInCurve;
35 static constexpr struct SinusoidalOutCurve :
public TweenCurve<tweeny::easing::sinusoidalOutEasing>{} SinusoidalOutCurve;
36 static constexpr struct SinusoidalInOutCurve :
public TweenCurve<tweeny::easing::sinusoidalInOutEasing>{} SinusoidalInOutCurve;
37 static constexpr struct ExponentialInCurve :
public TweenCurve<tweeny::easing::exponentialInEasing>{} ExponentialInCurve;
38 static constexpr struct ExponentialOutCurve :
public TweenCurve<tweeny::easing::exponentialOutEasing>{} ExponentialOutCurve;
39 static constexpr struct ExponentialInOutCurve :
public TweenCurve<tweeny::easing::exponentialInOutEasing>{} ExponentialInOutCurve;
40 static constexpr struct CircularInCurve :
public TweenCurve<tweeny::easing::circularInEasing>{} CircularInCurve;
41 static constexpr struct CircularOutCurve :
public TweenCurve<tweeny::easing::circularOutEasing>{} CircularOutCurve;
42 static constexpr struct CircularInOutCurve :
public TweenCurve<tweeny::easing::circularInOutEasing>{} CircularInOutCurve;
43 static constexpr struct BounceInCurve :
public TweenCurve<tweeny::easing::bounceInEasing>{} BounceInCurve;
44 static constexpr struct BounceOutCurve :
public TweenCurve<tweeny::easing::bounceOutEasing>{} BounceOutCurve;
45 static constexpr struct BounceInOutCurve :
public TweenCurve<tweeny::easing::bounceInOutEasing>{} BounceInOutCurve;
46 static constexpr struct ElasticInCurve :
public TweenCurve<tweeny::easing::elasticInEasing>{} ElasticInCurve;
47 static constexpr struct ElasticOutCurve :
public TweenCurve<tweeny::easing::elasticOutEasing>{} ElasticOutCurve;
48 static constexpr struct ElasticInOutCurve :
public TweenCurve<tweeny::easing::elasticOutEasing>{} ElasticInOutCurve;
49 static constexpr struct BackInCurve :
public TweenCurve<tweeny::easing::backInEasing>{} BackInCurve;
50 static constexpr struct BackOutCurve :
public TweenCurve<tweeny::easing::backOutEasing>{} BackOutCurve;
51 static constexpr struct BackInOutCurve :
public TweenCurve<tweeny::easing::backOutEasing>{} BackInOutCurve;
53 template<
typename ...Floats>
56 tweeny::tween<
Floats...> anim;
79 constexpr inline Tween& operator=(
const Tween& other) {
95 anim.to(values...).during(time * GetApp()->evalNormal).via(interpolation);
103 constexpr inline void Step(decimalType scale){
104 anim.step((
float)scale / anim.duration());
107 constexpr inline void Seek(
float pos){
111 constexpr inline float GetProgress()
const{
112 return anim.progress();
Tween(const stepfunc &step, Floats ... initialValue)
Definition Tween.hpp:67
constexpr void Step(decimalType scale)
Definition Tween.hpp:103
constexpr Tween & AddKeyframe(decimalType time, T interpolation, Floats ... values)
Definition Tween.hpp:94
Definition concurrentqueue.h:747
Definition Animation.hpp:6