37 #include <flw/OpenGL.h> 40 #if defined(__LP64__) && !defined(AH_EASING_USE_DBL_PRECIS) 41 #define AH_EASING_USE_DBL_PRECIS 45 typedef GLfloat AHFloat;
56 typedef std::function<AHFloat(AHFloat)> EasingFunction;
59 AHFloat LinearInterpolation(AHFloat p);
62 AHFloat QuadraticEaseIn(AHFloat p);
64 AHFloat QuadraticEaseOut(AHFloat p);
66 AHFloat QuadraticEaseInOut(AHFloat p);
69 AHFloat CubicEaseIn(AHFloat p);
71 AHFloat CubicEaseOut(AHFloat p);
73 AHFloat CubicEaseInOut(AHFloat p);
76 AHFloat QuarticEaseIn(AHFloat p);
78 AHFloat QuarticEaseOut(AHFloat p);
80 AHFloat QuarticEaseInOut(AHFloat p);
83 AHFloat QuinticEaseIn(AHFloat p);
85 AHFloat QuinticEaseOut(AHFloat p);
87 AHFloat QuinticEaseInOut(AHFloat p);
90 AHFloat SineEaseIn(AHFloat p);
92 AHFloat SineEaseOut(AHFloat p);
94 AHFloat SineEaseInOut(AHFloat p);
97 AHFloat CircularEaseIn(AHFloat p);
99 AHFloat CircularEaseOut(AHFloat p);
101 AHFloat CircularEaseInOut(AHFloat p);
104 AHFloat ExponentialEaseIn(AHFloat p);
106 AHFloat ExponentialEaseOut(AHFloat p);
108 AHFloat ExponentialEaseInOut(AHFloat p);
111 AHFloat ElasticEaseIn(AHFloat p);
113 AHFloat ElasticEaseOut(AHFloat p);
115 AHFloat ElasticEaseInOut(AHFloat p);
118 AHFloat BackEaseIn(AHFloat p);
120 AHFloat BackEaseOut(AHFloat p);
122 AHFloat BackEaseInOut(AHFloat p);
125 AHFloat BounceEaseIn(AHFloat p);
127 AHFloat BounceEaseOut(AHFloat p);
129 AHFloat BounceEaseInOut(AHFloat p);