summaryrefslogtreecommitdiff
path: root/include/mbgl/style/property_value.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/mbgl/style/property_value.hpp')
-rw-r--r--include/mbgl/style/property_value.hpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/include/mbgl/style/property_value.hpp b/include/mbgl/style/property_value.hpp
index 02d3a31148..1b0f3d2ab0 100644
--- a/include/mbgl/style/property_value.hpp
+++ b/include/mbgl/style/property_value.hpp
@@ -2,7 +2,7 @@
#include <mbgl/util/variant.hpp>
#include <mbgl/style/undefined.hpp>
-#include <mbgl/style/function/camera_function.hpp>
+#include <mbgl/style/property_expression.hpp>
namespace mbgl {
namespace style {
@@ -10,7 +10,7 @@ namespace style {
template <class T>
class PropertyValue {
private:
- using Value = variant<Undefined, T, CameraFunction<T>>;
+ using Value = variant<Undefined, T, PropertyExpression<T>>;
Value value;
friend bool operator==(const PropertyValue& lhs, const PropertyValue& rhs) {
@@ -22,17 +22,24 @@ private:
}
public:
- PropertyValue() : value() {}
- PropertyValue( T constant) : value(constant) {}
- PropertyValue(CameraFunction<T> function) : value(function) {}
+ PropertyValue()
+ : value() {}
+
+ PropertyValue(T constant)
+ : value(constant) {}
+
+ PropertyValue(PropertyExpression<T> expression)
+ : value(expression) {
+ assert(expression.isFeatureConstant());
+ }
bool isUndefined() const { return value.which() == 0; }
bool isConstant() const { return value.which() == 1; }
- bool isCameraFunction() const { return value.which() == 2; }
+ bool isExpression() const { return value.which() == 2; }
bool isDataDriven() const { return false; }
- const T & asConstant() const { return value.template get< T >(); }
- const CameraFunction<T>& asCameraFunction() const { return value.template get<CameraFunction<T>>(); }
+ const T & asConstant() const { return value.template get< T >(); }
+ const PropertyExpression<T>& asExpression() const { return value.template get<PropertyExpression<T>>(); }
template <typename Evaluator>
auto evaluate(const Evaluator& evaluator, TimePoint = {}) const {