summaryrefslogtreecommitdiff
path: root/include/mbgl/style/types.hpp
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-04-25 13:15:44 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-06-02 14:51:39 -0700
commita43940afb2208c61b487bfd8729bbde1bd674794 (patch)
tree53d192ea899be1d88f99aeef3d1b3255f9cb5104 /include/mbgl/style/types.hpp
parent27baa34d44f0006c05ba7c417bf11e184b0bd22b (diff)
downloadqtlocation-mapboxgl-a43940afb2208c61b487bfd8729bbde1bd674794.tar.gz
[core] Runtime style layer API
Diffstat (limited to 'include/mbgl/style/types.hpp')
-rw-r--r--include/mbgl/style/types.hpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/mbgl/style/types.hpp b/include/mbgl/style/types.hpp
index 9b03ab8a2d..a852a09a14 100644
--- a/include/mbgl/style/types.hpp
+++ b/include/mbgl/style/types.hpp
@@ -5,6 +5,7 @@
#include <string>
#include <array>
#include <vector>
+#include <utility>
namespace mbgl {
@@ -20,6 +21,26 @@ struct FontStackHash {
std::size_t operator()(const FontStack&) const;
};
+template <typename T>
+class Function {
+public:
+ using Stop = std::pair<float, T>;
+ using Stops = std::vector<Stop>;
+
+ Function(const T& constant)
+ : stops({{ 0, constant }}) {}
+
+ explicit Function(const Stops& stops_, float base_)
+ : base(base_), stops(stops_) {}
+
+ float getBase() const { return base; }
+ const std::vector<std::pair<float, T>>& getStops() const { return stops; }
+
+private:
+ float base = 1;
+ std::vector<std::pair<float, T>> stops;
+};
+
// -------------------------------------------------------------------------------------------------
enum class SourceType : uint8_t {