From 141e995806576364d185626176c1b993fc519291 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Fri, 28 Oct 2016 16:39:50 -0700 Subject: [core] Add support for data-driven styling --- include/mbgl/style/layers/background_layer.hpp | 1 + include/mbgl/style/layers/circle_layer.hpp | 43 +++++++++++----------- include/mbgl/style/layers/fill_extrusion_layer.hpp | 19 +++++----- include/mbgl/style/layers/fill_layer.hpp | 19 +++++----- include/mbgl/style/layers/layer.hpp.ejs | 13 ++++--- include/mbgl/style/layers/line_layer.hpp | 31 ++++++++-------- include/mbgl/style/layers/raster_layer.hpp | 1 + include/mbgl/style/layers/symbol_layer.hpp | 13 ++++--- 8 files changed, 74 insertions(+), 66 deletions(-) (limited to 'include/mbgl/style/layers') diff --git a/include/mbgl/style/layers/background_layer.hpp b/include/mbgl/style/layers/background_layer.hpp index c120b7f493..050cb67df6 100644 --- a/include/mbgl/style/layers/background_layer.hpp +++ b/include/mbgl/style/layers/background_layer.hpp @@ -5,6 +5,7 @@ #include #include #include +#include #include diff --git a/include/mbgl/style/layers/circle_layer.hpp b/include/mbgl/style/layers/circle_layer.hpp index 5562126c2f..8ffea9946f 100644 --- a/include/mbgl/style/layers/circle_layer.hpp +++ b/include/mbgl/style/layers/circle_layer.hpp @@ -5,6 +5,7 @@ #include #include #include +#include #include @@ -26,21 +27,21 @@ public: // Paint properties - static PropertyValue getDefaultCircleRadius(); - PropertyValue getCircleRadius(const optional& klass = {}) const; - void setCircleRadius(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultCircleRadius(); + DataDrivenPropertyValue getCircleRadius(const optional& klass = {}) const; + void setCircleRadius(DataDrivenPropertyValue, const optional& klass = {}); - static PropertyValue getDefaultCircleColor(); - PropertyValue getCircleColor(const optional& klass = {}) const; - void setCircleColor(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultCircleColor(); + DataDrivenPropertyValue getCircleColor(const optional& klass = {}) const; + void setCircleColor(DataDrivenPropertyValue, const optional& klass = {}); - static PropertyValue getDefaultCircleBlur(); - PropertyValue getCircleBlur(const optional& klass = {}) const; - void setCircleBlur(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultCircleBlur(); + DataDrivenPropertyValue getCircleBlur(const optional& klass = {}) const; + void setCircleBlur(DataDrivenPropertyValue, const optional& klass = {}); - static PropertyValue getDefaultCircleOpacity(); - PropertyValue getCircleOpacity(const optional& klass = {}) const; - void setCircleOpacity(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultCircleOpacity(); + DataDrivenPropertyValue getCircleOpacity(const optional& klass = {}) const; + void setCircleOpacity(DataDrivenPropertyValue, const optional& klass = {}); static PropertyValue> getDefaultCircleTranslate(); PropertyValue> getCircleTranslate(const optional& klass = {}) const; @@ -54,17 +55,17 @@ public: PropertyValue getCirclePitchScale(const optional& klass = {}) const; void setCirclePitchScale(PropertyValue, const optional& klass = {}); - static PropertyValue getDefaultCircleStrokeWidth(); - PropertyValue getCircleStrokeWidth(const optional& klass = {}) const; - void setCircleStrokeWidth(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultCircleStrokeWidth(); + DataDrivenPropertyValue getCircleStrokeWidth(const optional& klass = {}) const; + void setCircleStrokeWidth(DataDrivenPropertyValue, const optional& klass = {}); - static PropertyValue getDefaultCircleStrokeColor(); - PropertyValue getCircleStrokeColor(const optional& klass = {}) const; - void setCircleStrokeColor(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultCircleStrokeColor(); + DataDrivenPropertyValue getCircleStrokeColor(const optional& klass = {}) const; + void setCircleStrokeColor(DataDrivenPropertyValue, const optional& klass = {}); - static PropertyValue getDefaultCircleStrokeOpacity(); - PropertyValue getCircleStrokeOpacity(const optional& klass = {}) const; - void setCircleStrokeOpacity(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultCircleStrokeOpacity(); + DataDrivenPropertyValue getCircleStrokeOpacity(const optional& klass = {}) const; + void setCircleStrokeOpacity(DataDrivenPropertyValue, const optional& klass = {}); // Private implementation diff --git a/include/mbgl/style/layers/fill_extrusion_layer.hpp b/include/mbgl/style/layers/fill_extrusion_layer.hpp index 08728af309..09a0040ff3 100644 --- a/include/mbgl/style/layers/fill_extrusion_layer.hpp +++ b/include/mbgl/style/layers/fill_extrusion_layer.hpp @@ -5,6 +5,7 @@ #include #include #include +#include #include @@ -30,9 +31,9 @@ public: PropertyValue getFillExtrusionOpacity(const optional& klass = {}) const; void setFillExtrusionOpacity(PropertyValue, const optional& klass = {}); - static PropertyValue getDefaultFillExtrusionColor(); - PropertyValue getFillExtrusionColor(const optional& klass = {}) const; - void setFillExtrusionColor(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultFillExtrusionColor(); + DataDrivenPropertyValue getFillExtrusionColor(const optional& klass = {}) const; + void setFillExtrusionColor(DataDrivenPropertyValue, const optional& klass = {}); static PropertyValue> getDefaultFillExtrusionTranslate(); PropertyValue> getFillExtrusionTranslate(const optional& klass = {}) const; @@ -46,13 +47,13 @@ public: PropertyValue getFillExtrusionPattern(const optional& klass = {}) const; void setFillExtrusionPattern(PropertyValue, const optional& klass = {}); - static PropertyValue getDefaultFillExtrusionHeight(); - PropertyValue getFillExtrusionHeight(const optional& klass = {}) const; - void setFillExtrusionHeight(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultFillExtrusionHeight(); + DataDrivenPropertyValue getFillExtrusionHeight(const optional& klass = {}) const; + void setFillExtrusionHeight(DataDrivenPropertyValue, const optional& klass = {}); - static PropertyValue getDefaultFillExtrusionBase(); - PropertyValue getFillExtrusionBase(const optional& klass = {}) const; - void setFillExtrusionBase(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultFillExtrusionBase(); + DataDrivenPropertyValue getFillExtrusionBase(const optional& klass = {}) const; + void setFillExtrusionBase(DataDrivenPropertyValue, const optional& klass = {}); // Private implementation diff --git a/include/mbgl/style/layers/fill_layer.hpp b/include/mbgl/style/layers/fill_layer.hpp index 4b9201641d..079541ec39 100644 --- a/include/mbgl/style/layers/fill_layer.hpp +++ b/include/mbgl/style/layers/fill_layer.hpp @@ -5,6 +5,7 @@ #include #include #include +#include #include @@ -30,17 +31,17 @@ public: PropertyValue getFillAntialias(const optional& klass = {}) const; void setFillAntialias(PropertyValue, const optional& klass = {}); - static PropertyValue getDefaultFillOpacity(); - PropertyValue getFillOpacity(const optional& klass = {}) const; - void setFillOpacity(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultFillOpacity(); + DataDrivenPropertyValue getFillOpacity(const optional& klass = {}) const; + void setFillOpacity(DataDrivenPropertyValue, const optional& klass = {}); - static PropertyValue getDefaultFillColor(); - PropertyValue getFillColor(const optional& klass = {}) const; - void setFillColor(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultFillColor(); + DataDrivenPropertyValue getFillColor(const optional& klass = {}) const; + void setFillColor(DataDrivenPropertyValue, const optional& klass = {}); - static PropertyValue getDefaultFillOutlineColor(); - PropertyValue getFillOutlineColor(const optional& klass = {}) const; - void setFillOutlineColor(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultFillOutlineColor(); + DataDrivenPropertyValue getFillOutlineColor(const optional& klass = {}) const; + void setFillOutlineColor(DataDrivenPropertyValue, const optional& klass = {}); static PropertyValue> getDefaultFillTranslate(); PropertyValue> getFillTranslate(const optional& klass = {}) const; diff --git a/include/mbgl/style/layers/layer.hpp.ejs b/include/mbgl/style/layers/layer.hpp.ejs index 15d0fcee61..0c902de5af 100644 --- a/include/mbgl/style/layers/layer.hpp.ejs +++ b/include/mbgl/style/layers/layer.hpp.ejs @@ -10,6 +10,7 @@ #include #include #include +#include #include @@ -45,18 +46,18 @@ public: // Layout properties <% for (const property of layoutProperties) { -%> - static PropertyValue<<%- propertyType(property) %>> getDefault<%- camelize(property.name) %>(); - PropertyValue<<%- propertyType(property) %>> get<%- camelize(property.name) %>() const; - void set<%- camelize(property.name) %>(PropertyValue<<%- propertyType(property) %>>); + static <%- propertyValueType(property) %> getDefault<%- camelize(property.name) %>(); + <%- propertyValueType(property) %> get<%- camelize(property.name) %>() const; + void set<%- camelize(property.name) %>(<%- propertyValueType(property) %>); <% } -%> <% } -%> // Paint properties <% for (const property of paintProperties) { -%> - static PropertyValue<<%- propertyType(property) %>> getDefault<%- camelize(property.name) %>(); - PropertyValue<<%- propertyType(property) %>> get<%- camelize(property.name) %>(const optional& klass = {}) const; - void set<%- camelize(property.name) %>(PropertyValue<<%- propertyType(property) %>>, const optional& klass = {}); + static <%- propertyValueType(property) %> getDefault<%- camelize(property.name) %>(); + <%- propertyValueType(property) %> get<%- camelize(property.name) %>(const optional& klass = {}) const; + void set<%- camelize(property.name) %>(<%- propertyValueType(property) %>, const optional& klass = {}); <% } -%> // Private implementation diff --git a/include/mbgl/style/layers/line_layer.hpp b/include/mbgl/style/layers/line_layer.hpp index c3c1026bcd..c9413f1096 100644 --- a/include/mbgl/style/layers/line_layer.hpp +++ b/include/mbgl/style/layers/line_layer.hpp @@ -5,6 +5,7 @@ #include #include #include +#include #include @@ -46,13 +47,13 @@ public: // Paint properties - static PropertyValue getDefaultLineOpacity(); - PropertyValue getLineOpacity(const optional& klass = {}) const; - void setLineOpacity(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultLineOpacity(); + DataDrivenPropertyValue getLineOpacity(const optional& klass = {}) const; + void setLineOpacity(DataDrivenPropertyValue, const optional& klass = {}); - static PropertyValue getDefaultLineColor(); - PropertyValue getLineColor(const optional& klass = {}) const; - void setLineColor(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultLineColor(); + DataDrivenPropertyValue getLineColor(const optional& klass = {}) const; + void setLineColor(DataDrivenPropertyValue, const optional& klass = {}); static PropertyValue> getDefaultLineTranslate(); PropertyValue> getLineTranslate(const optional& klass = {}) const; @@ -66,17 +67,17 @@ public: PropertyValue getLineWidth(const optional& klass = {}) const; void setLineWidth(PropertyValue, const optional& klass = {}); - static PropertyValue getDefaultLineGapWidth(); - PropertyValue getLineGapWidth(const optional& klass = {}) const; - void setLineGapWidth(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultLineGapWidth(); + DataDrivenPropertyValue getLineGapWidth(const optional& klass = {}) const; + void setLineGapWidth(DataDrivenPropertyValue, const optional& klass = {}); - static PropertyValue getDefaultLineOffset(); - PropertyValue getLineOffset(const optional& klass = {}) const; - void setLineOffset(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultLineOffset(); + DataDrivenPropertyValue getLineOffset(const optional& klass = {}) const; + void setLineOffset(DataDrivenPropertyValue, const optional& klass = {}); - static PropertyValue getDefaultLineBlur(); - PropertyValue getLineBlur(const optional& klass = {}) const; - void setLineBlur(PropertyValue, const optional& klass = {}); + static DataDrivenPropertyValue getDefaultLineBlur(); + DataDrivenPropertyValue getLineBlur(const optional& klass = {}) const; + void setLineBlur(DataDrivenPropertyValue, const optional& klass = {}); static PropertyValue> getDefaultLineDasharray(); PropertyValue> getLineDasharray(const optional& klass = {}) const; diff --git a/include/mbgl/style/layers/raster_layer.hpp b/include/mbgl/style/layers/raster_layer.hpp index ae6ec7f91c..e998abf12a 100644 --- a/include/mbgl/style/layers/raster_layer.hpp +++ b/include/mbgl/style/layers/raster_layer.hpp @@ -5,6 +5,7 @@ #include #include #include +#include #include diff --git a/include/mbgl/style/layers/symbol_layer.hpp b/include/mbgl/style/layers/symbol_layer.hpp index 1e2e6ac454..8826408e81 100644 --- a/include/mbgl/style/layers/symbol_layer.hpp +++ b/include/mbgl/style/layers/symbol_layer.hpp @@ -5,6 +5,7 @@ #include #include #include +#include #include @@ -72,9 +73,9 @@ public: PropertyValue getIconImage() const; void setIconImage(PropertyValue); - static PropertyValue getDefaultIconRotate(); - PropertyValue getIconRotate() const; - void setIconRotate(PropertyValue); + static DataDrivenPropertyValue getDefaultIconRotate(); + DataDrivenPropertyValue getIconRotate() const; + void setIconRotate(DataDrivenPropertyValue); static PropertyValue getDefaultIconPadding(); PropertyValue getIconPadding() const; @@ -84,9 +85,9 @@ public: PropertyValue getIconKeepUpright() const; void setIconKeepUpright(PropertyValue); - static PropertyValue> getDefaultIconOffset(); - PropertyValue> getIconOffset() const; - void setIconOffset(PropertyValue>); + static DataDrivenPropertyValue> getDefaultIconOffset(); + DataDrivenPropertyValue> getIconOffset() const; + void setIconOffset(DataDrivenPropertyValue>); static PropertyValue getDefaultTextPitchAlignment(); PropertyValue getTextPitchAlignment() const; -- cgit v1.2.1