summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2020-03-18 16:46:24 +0200
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2020-03-24 20:53:55 +0200
commit280b80677797ceda07ddf75f567dd3613f285319 (patch)
treeef1eef74a7c17677fdff50dbf4bbbb8452b5ce0f /include
parent99dbb3eed50f1b89d23604916cee6de965e1f4cb (diff)
downloadqtlocation-mapboxgl-280b80677797ceda07ddf75f567dd3613f285319.tar.gz
[core] Move generic setProperty() parts to the base Layer class
Diffstat (limited to 'include')
-rw-r--r--include/mbgl/gl/custom_layer.hpp16
-rw-r--r--include/mbgl/style/layer.hpp9
-rw-r--r--include/mbgl/style/layers/background_layer.hpp12
-rw-r--r--include/mbgl/style/layers/circle_layer.hpp12
-rw-r--r--include/mbgl/style/layers/fill_extrusion_layer.hpp12
-rw-r--r--include/mbgl/style/layers/fill_layer.hpp12
-rw-r--r--include/mbgl/style/layers/heatmap_layer.hpp12
-rw-r--r--include/mbgl/style/layers/hillshade_layer.hpp12
-rw-r--r--include/mbgl/style/layers/layer.hpp.ejs12
-rw-r--r--include/mbgl/style/layers/line_layer.hpp12
-rw-r--r--include/mbgl/style/layers/raster_layer.hpp12
-rw-r--r--include/mbgl/style/layers/symbol_layer.hpp12
12 files changed, 72 insertions, 73 deletions
diff --git a/include/mbgl/gl/custom_layer.hpp b/include/mbgl/gl/custom_layer.hpp
index 5dce484980..8b60af5d7f 100644
--- a/include/mbgl/gl/custom_layer.hpp
+++ b/include/mbgl/gl/custom_layer.hpp
@@ -66,21 +66,17 @@ public:
CustomLayer(const std::string& id,
std::unique_ptr<CustomLayerHost> host);
+ CustomLayer(const CustomLayer&) = delete;
~CustomLayer() final;
-
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
- StyleProperty getProperty(const std::string&) const final;
- // Private implementation
-
class Impl;
const Impl& impl() const;
-
Mutable<Impl> mutableImpl() const;
- std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
-
- CustomLayer(const CustomLayer&) = delete;
+private:
+ optional<conversion::Error> setPropertyInternal(const std::string& name,
+ const conversion::Convertible& value) final;
+ StyleProperty getProperty(const std::string&) const final;
+ std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layer.hpp b/include/mbgl/style/layer.hpp
index 204cb9c697..10baf19607 100644
--- a/include/mbgl/style/layer.hpp
+++ b/include/mbgl/style/layer.hpp
@@ -110,8 +110,7 @@ public:
void setMaxZoom(float);
// Dynamic properties
- virtual optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) = 0;
- optional<conversion::Error> setVisibility(const conversion::Convertible& value);
+ optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value);
virtual StyleProperty getProperty(const std::string&) const = 0;
virtual Value serialize() const;
@@ -142,9 +141,13 @@ public:
protected:
virtual Mutable<Impl> mutableBaseImpl() const = 0;
void serializeProperty(Value&, const StyleProperty&, const char* propertyName, bool isPaint) const;
-
+ virtual optional<conversion::Error> setPropertyInternal(const std::string& name,
+ const conversion::Convertible& value) = 0;
LayerObserver* observer;
mapbox::base::WeakPtrFactory<Layer> weakFactory {this};
+
+private:
+ optional<conversion::Error> setVisibility(const conversion::Convertible& value);
};
} // namespace style
diff --git a/include/mbgl/style/layers/background_layer.hpp b/include/mbgl/style/layers/background_layer.hpp
index 7f48618346..9fdfd3ac92 100644
--- a/include/mbgl/style/layers/background_layer.hpp
+++ b/include/mbgl/style/layers/background_layer.hpp
@@ -20,12 +20,6 @@ public:
BackgroundLayer(const std::string& layerID);
~BackgroundLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Paint properties
static PropertyValue<Color> getDefaultBackgroundColor();
@@ -56,6 +50,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/circle_layer.hpp b/include/mbgl/style/layers/circle_layer.hpp
index 1ad16cd033..dd5b674002 100644
--- a/include/mbgl/style/layers/circle_layer.hpp
+++ b/include/mbgl/style/layers/circle_layer.hpp
@@ -20,12 +20,6 @@ public:
CircleLayer(const std::string& layerID, const std::string& sourceID);
~CircleLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Paint properties
static PropertyValue<float> getDefaultCircleBlur();
@@ -104,6 +98,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/fill_extrusion_layer.hpp b/include/mbgl/style/layers/fill_extrusion_layer.hpp
index ef692e5708..ca33c6c3f8 100644
--- a/include/mbgl/style/layers/fill_extrusion_layer.hpp
+++ b/include/mbgl/style/layers/fill_extrusion_layer.hpp
@@ -20,12 +20,6 @@ public:
FillExtrusionLayer(const std::string& layerID, const std::string& sourceID);
~FillExtrusionLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Paint properties
static PropertyValue<float> getDefaultFillExtrusionBase();
@@ -86,6 +80,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/fill_layer.hpp b/include/mbgl/style/layers/fill_layer.hpp
index 174758a78e..4a1f09cca0 100644
--- a/include/mbgl/style/layers/fill_layer.hpp
+++ b/include/mbgl/style/layers/fill_layer.hpp
@@ -20,12 +20,6 @@ public:
FillLayer(const std::string& layerID, const std::string& sourceID);
~FillLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Layout properties
static PropertyValue<float> getDefaultFillSortKey();
@@ -86,6 +80,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/heatmap_layer.hpp b/include/mbgl/style/layers/heatmap_layer.hpp
index 0b740c470b..588aaa81df 100644
--- a/include/mbgl/style/layers/heatmap_layer.hpp
+++ b/include/mbgl/style/layers/heatmap_layer.hpp
@@ -21,12 +21,6 @@ public:
HeatmapLayer(const std::string& layerID, const std::string& sourceID);
~HeatmapLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Paint properties
static ColorRampPropertyValue getDefaultHeatmapColor();
@@ -69,6 +63,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/hillshade_layer.hpp b/include/mbgl/style/layers/hillshade_layer.hpp
index 184e7c390d..c501e80b8d 100644
--- a/include/mbgl/style/layers/hillshade_layer.hpp
+++ b/include/mbgl/style/layers/hillshade_layer.hpp
@@ -20,12 +20,6 @@ public:
HillshadeLayer(const std::string& layerID, const std::string& sourceID);
~HillshadeLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Paint properties
static PropertyValue<Color> getDefaultHillshadeAccentColor();
@@ -74,6 +68,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/layer.hpp.ejs b/include/mbgl/style/layers/layer.hpp.ejs
index aecbe25601..9cdd74737a 100644
--- a/include/mbgl/style/layers/layer.hpp.ejs
+++ b/include/mbgl/style/layers/layer.hpp.ejs
@@ -36,12 +36,6 @@ public:
<% } -%>
~<%- camelize(type) %>Layer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
<% if (layoutProperties.length) { -%>
// Layout properties
@@ -72,6 +66,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/line_layer.hpp b/include/mbgl/style/layers/line_layer.hpp
index cef18d9fa8..2186f16669 100644
--- a/include/mbgl/style/layers/line_layer.hpp
+++ b/include/mbgl/style/layers/line_layer.hpp
@@ -23,12 +23,6 @@ public:
LineLayer(const std::string& layerID, const std::string& sourceID);
~LineLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Layout properties
static PropertyValue<LineCapType> getDefaultLineCap();
@@ -129,6 +123,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/raster_layer.hpp b/include/mbgl/style/layers/raster_layer.hpp
index b1aa3a65b9..df82c93660 100644
--- a/include/mbgl/style/layers/raster_layer.hpp
+++ b/include/mbgl/style/layers/raster_layer.hpp
@@ -20,12 +20,6 @@ public:
RasterLayer(const std::string& layerID, const std::string& sourceID);
~RasterLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Paint properties
static PropertyValue<float> getDefaultRasterBrightnessMax();
@@ -86,6 +80,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/symbol_layer.hpp b/include/mbgl/style/layers/symbol_layer.hpp
index 2cffd2294a..40d16dedf3 100644
--- a/include/mbgl/style/layers/symbol_layer.hpp
+++ b/include/mbgl/style/layers/symbol_layer.hpp
@@ -22,12 +22,6 @@ public:
SymbolLayer(const std::string& layerID, const std::string& sourceID);
~SymbolLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Layout properties
static PropertyValue<bool> getDefaultIconAllowOverlap();
@@ -290,6 +284,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};