@@ -68,6 +68,9 @@ namespace bx
///
typedef float (*EaseFn)(float _t);
+ ///
+ EaseFn getEaseFunc(Easing::Enum _enum);
+
float easeLinear(float _t);
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2010-2017 Branimir Karadzic. All rights reserved.
+ * License: https://github.com/bkaradzic/bx#license-bsd-2-clause
+ */
+#include <bx/easing.h>
+namespace bx
+{
+ static const EaseFn s_easeFunc[] =
+ {
+ easeLinear,
+ easeInQuad,
+ easeOutQuad,
+ easeInOutQuad,
+ easeOutInQuad,
+ easeInCubic,
+ easeOutCubic,
+ easeInOutCubic,
+ easeOutInCubic,
+ easeInQuart,
+ easeOutQuart,
+ easeInOutQuart,
+ easeOutInQuart,
+ easeInQuint,
+ easeOutQuint,
+ easeInOutQuint,
+ easeOutInQuint,
+ easeInSine,
+ easeOutSine,
+ easeInOutSine,
+ easeOutInSine,
+ easeInExpo,
+ easeOutExpo,
+ easeInOutExpo,
+ easeOutInExpo,
+ easeInCirc,
+ easeOutCirc,
+ easeInOutCirc,
+ easeOutInCirc,
+ easeInElastic,
+ easeOutElastic,
+ easeInOutElastic,
+ easeOutInElastic,
+ easeInBack,
+ easeOutBack,
+ easeInOutBack,
+ easeOutInBack,
+ easeInBounce,
+ easeOutBounce,
+ easeInOutBounce,
+ easeOutInBounce,
+ };
+ BX_STATIC_ASSERT(BX_COUNTOF(s_easeFunc) == Easing::Count);
+ EaseFn getEaseFunc(Easing::Enum _enum)
+ return s_easeFunc[_enum];
+ }
+} // namespace bx