diff options
Diffstat (limited to 'include/mbgl/util/interpolate.hpp')
-rw-r--r-- | include/mbgl/util/interpolate.hpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/mbgl/util/interpolate.hpp b/include/mbgl/util/interpolate.hpp index d463ffc056..a2103f18b2 100644 --- a/include/mbgl/util/interpolate.hpp +++ b/include/mbgl/util/interpolate.hpp @@ -2,6 +2,7 @@ #include <mbgl/util/color.hpp> #include <mbgl/util/range.hpp> +#include <mbgl/style/position.hpp> #include <array> #include <vector> @@ -47,6 +48,17 @@ public: }; template <> +struct Interpolator<style::Position> { +public: + style::Position operator()(const style::Position& a, const style::Position& b, const double t) { + auto pos = style::Position(); + auto interpolated = interpolate(a.getCartesian(), b.getCartesian(), t); + pos.setCartesian(interpolated); + return { pos }; + } +}; + +template <> struct Interpolator<Color> { public: Color operator()(const Color& a, const Color& b, const double t) { |