From 6dfe56510caa87b3e0fdbb8256d13ec955764d53 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Thu, 28 Jun 2018 14:58:52 -0700 Subject: [darwin] Replace use of *Stops with expressions DSL --- src/mbgl/style/expression/dsl.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src') diff --git a/src/mbgl/style/expression/dsl.cpp b/src/mbgl/style/expression/dsl.cpp index 9f204cadc9..15822ccf66 100644 --- a/src/mbgl/style/expression/dsl.cpp +++ b/src/mbgl/style/expression/dsl.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -35,6 +36,22 @@ std::unique_ptr literal(Value value) { return std::make_unique(value); } +std::unique_ptr literal(std::initializer_list value) { + std::vector values; + for (auto i : value) { + values.push_back(i); + } + return literal(values); +} + +std::unique_ptr literal(std::initializer_list value) { + std::vector values; + for (auto i : value) { + values.push_back(std::string(i)); + } + return literal(values); +} + std::unique_ptr number(std::unique_ptr value) { return std::make_unique(type::Number, vec(std::move(value))); } @@ -87,6 +104,16 @@ std::unique_ptr lt(std::unique_ptr lhs, return compound("<", std::move(lhs), std::move(rhs)); } +std::unique_ptr step(std::unique_ptr input, + std::unique_ptr output0, + double input1, std::unique_ptr output1) { + type::Type type = output0->getType(); + std::map> stops; + stops[-std::numeric_limits::infinity()] = std::move(output0); + stops[input1] = std::move(output1); + return std::make_unique(type, std::move(input), std::move(stops)); +} + Interpolator linear() { return ExponentialInterpolator(1.0); } -- cgit v1.2.1