diff options
Diffstat (limited to 'src/mbgl/util/transition.cpp')
-rw-r--r-- | src/mbgl/util/transition.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/mbgl/util/transition.cpp b/src/mbgl/util/transition.cpp new file mode 100644 index 0000000000..e63a5c311f --- /dev/null +++ b/src/mbgl/util/transition.cpp @@ -0,0 +1,26 @@ +#include <mbgl/util/transition.hpp> +#include <mbgl/util/unitbezier.hpp> +#include <mbgl/util/interpolate.hpp> +#include <mbgl/platform/platform.hpp> + +namespace mbgl { namespace util { + +UnitBezier ease(0, 0, 0.25, 1); + +transition::~transition() {} + +template <typename T> +transition::state ease_transition<T>::update(timestamp now) const { + float t = progress(now); + if (t >= 1) { + value = to; + return complete; + } else { + value = interpolate(from, to, ease.solve(t, 0.001)); + return running; + } +} + +template class ease_transition<double>; + +}} |