summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2020-05-14 00:56:21 +0300
committerThiago Marcos P. Santos <thiago@mapbox.com>2020-05-26 20:35:05 +0300
commit1bc45e9022e4b04b53dad189da1fc1bdd30d1e6a (patch)
tree2440659e6406611a59a70f40a5f196fb3557b053
parentfe192abc3c5d3f7e7471fda966e1e5b380c613da (diff)
downloadqtlocation-mapboxgl-1bc45e9022e4b04b53dad189da1fc1bdd30d1e6a.tar.gz
[core] Implement getPropertyDefaultValueInternal() in layer classes
-rw-r--r--include/mbgl/style/layers/background_layer.hpp1
-rw-r--r--include/mbgl/style/layers/circle_layer.hpp1
-rw-r--r--include/mbgl/style/layers/fill_extrusion_layer.hpp1
-rw-r--r--include/mbgl/style/layers/fill_layer.hpp1
-rw-r--r--include/mbgl/style/layers/heatmap_layer.hpp1
-rw-r--r--include/mbgl/style/layers/hillshade_layer.hpp1
-rw-r--r--include/mbgl/style/layers/layer.hpp.ejs1
-rw-r--r--include/mbgl/style/layers/line_layer.hpp1
-rw-r--r--include/mbgl/style/layers/location_indicator_layer.hpp1
-rw-r--r--include/mbgl/style/layers/raster_layer.hpp1
-rw-r--r--include/mbgl/style/layers/symbol_layer.hpp1
-rw-r--r--src/mbgl/style/layer.cpp6
-rw-r--r--src/mbgl/style/layers/background_layer.cpp23
-rw-r--r--src/mbgl/style/layers/circle_layer.cpp57
-rw-r--r--src/mbgl/style/layers/fill_extrusion_layer.cpp43
-rw-r--r--src/mbgl/style/layers/fill_layer.cpp41
-rw-r--r--src/mbgl/style/layers/heatmap_layer.cpp31
-rw-r--r--src/mbgl/style/layers/hillshade_layer.cpp35
-rw-r--r--src/mbgl/style/layers/layer.cpp.ejs23
-rw-r--r--src/mbgl/style/layers/line_layer.cpp65
-rw-r--r--src/mbgl/style/layers/location_indicator_layer.cpp57
-rw-r--r--src/mbgl/style/layers/raster_layer.cpp43
-rw-r--r--src/mbgl/style/layers/symbol_layer.cpp149
23 files changed, 581 insertions, 3 deletions
diff --git a/include/mbgl/style/layers/background_layer.hpp b/include/mbgl/style/layers/background_layer.hpp
index 7b87340486..2d4e57def0 100644
--- a/include/mbgl/style/layers/background_layer.hpp
+++ b/include/mbgl/style/layers/background_layer.hpp
@@ -52,6 +52,7 @@ protected:
// Dynamic properties
optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
StyleProperty getPropertyInternal(const std::string& name) const final;
+ StyleProperty getPropertyDefaultValueInternal(const std::string&) 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 b2828432e1..9311da1c51 100644
--- a/include/mbgl/style/layers/circle_layer.hpp
+++ b/include/mbgl/style/layers/circle_layer.hpp
@@ -106,6 +106,7 @@ protected:
// Dynamic properties
optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
StyleProperty getPropertyInternal(const std::string& name) const final;
+ StyleProperty getPropertyDefaultValueInternal(const std::string&) 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 76733b9331..de2055560f 100644
--- a/include/mbgl/style/layers/fill_extrusion_layer.hpp
+++ b/include/mbgl/style/layers/fill_extrusion_layer.hpp
@@ -82,6 +82,7 @@ protected:
// Dynamic properties
optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
StyleProperty getPropertyInternal(const std::string& name) const final;
+ StyleProperty getPropertyDefaultValueInternal(const std::string&) 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 a7ef607c7d..35f0ffd755 100644
--- a/include/mbgl/style/layers/fill_layer.hpp
+++ b/include/mbgl/style/layers/fill_layer.hpp
@@ -82,6 +82,7 @@ protected:
// Dynamic properties
optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
StyleProperty getPropertyInternal(const std::string& name) const final;
+ StyleProperty getPropertyDefaultValueInternal(const std::string&) 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 5670f15e3d..18d91e9067 100644
--- a/include/mbgl/style/layers/heatmap_layer.hpp
+++ b/include/mbgl/style/layers/heatmap_layer.hpp
@@ -65,6 +65,7 @@ protected:
// Dynamic properties
optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
StyleProperty getPropertyInternal(const std::string& name) const final;
+ StyleProperty getPropertyDefaultValueInternal(const std::string&) 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 a6e3cea3f0..97f0b60186 100644
--- a/include/mbgl/style/layers/hillshade_layer.hpp
+++ b/include/mbgl/style/layers/hillshade_layer.hpp
@@ -70,6 +70,7 @@ protected:
// Dynamic properties
optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
StyleProperty getPropertyInternal(const std::string& name) const final;
+ StyleProperty getPropertyDefaultValueInternal(const std::string&) 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 cede9fc6af..f835d5fd9d 100644
--- a/include/mbgl/style/layers/layer.hpp.ejs
+++ b/include/mbgl/style/layers/layer.hpp.ejs
@@ -74,6 +74,7 @@ protected:
// Dynamic properties
optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
StyleProperty getPropertyInternal(const std::string& name) const final;
+ StyleProperty getPropertyDefaultValueInternal(const std::string&) 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 a4e4dc9a2b..f80da0b8c8 100644
--- a/include/mbgl/style/layers/line_layer.hpp
+++ b/include/mbgl/style/layers/line_layer.hpp
@@ -125,6 +125,7 @@ protected:
// Dynamic properties
optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
StyleProperty getPropertyInternal(const std::string& name) const final;
+ StyleProperty getPropertyDefaultValueInternal(const std::string&) const final;
Value serialize() const final;
Mutable<Layer::Impl> mutableBaseImpl() const final;
diff --git a/include/mbgl/style/layers/location_indicator_layer.hpp b/include/mbgl/style/layers/location_indicator_layer.hpp
index 503b070667..f8f567c84f 100644
--- a/include/mbgl/style/layers/location_indicator_layer.hpp
+++ b/include/mbgl/style/layers/location_indicator_layer.hpp
@@ -109,6 +109,7 @@ protected:
// Dynamic properties
optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
StyleProperty getPropertyInternal(const std::string& name) const final;
+ StyleProperty getPropertyDefaultValueInternal(const std::string&) 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 40b42e30d7..d6c73e48b8 100644
--- a/include/mbgl/style/layers/raster_layer.hpp
+++ b/include/mbgl/style/layers/raster_layer.hpp
@@ -82,6 +82,7 @@ protected:
// Dynamic properties
optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
StyleProperty getPropertyInternal(const std::string& name) const final;
+ StyleProperty getPropertyDefaultValueInternal(const std::string&) 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 b4f1247bbf..0427a06a4f 100644
--- a/include/mbgl/style/layers/symbol_layer.hpp
+++ b/include/mbgl/style/layers/symbol_layer.hpp
@@ -287,6 +287,7 @@ protected:
// Dynamic properties
optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
StyleProperty getPropertyInternal(const std::string& name) const final;
+ StyleProperty getPropertyDefaultValueInternal(const std::string&) const final;
Value serialize() const final;
Mutable<Layer::Impl> mutableBaseImpl() const final;
diff --git a/src/mbgl/style/layer.cpp b/src/mbgl/style/layer.cpp
index f0e8967785..73480cc2f7 100644
--- a/src/mbgl/style/layer.cpp
+++ b/src/mbgl/style/layer.cpp
@@ -53,10 +53,10 @@ StyleProperty getLayerPropertyDefaultValue(Property property) {
case Property::SourceLayer:
return makeConstantStyleProperty(std::string());
case Property::Type:
- return kUndefinedProperty;
+ return {};
}
assert(false);
- return kUndefinedProperty;
+ return {};
}
StyleProperty getLayerProperty(const Layer* layer, Property property) {
@@ -289,7 +289,7 @@ const LayerTypeInfo* Layer::getTypeInfo() const noexcept {
}
StyleProperty Layer::getPropertyDefaultValueInternal(const std::string&) const {
- return kUndefinedProperty;
+ return {};
}
} // namespace style
diff --git a/src/mbgl/style/layers/background_layer.cpp b/src/mbgl/style/layers/background_layer.cpp
index 55f0868796..c3679a97b6 100644
--- a/src/mbgl/style/layers/background_layer.cpp
+++ b/src/mbgl/style/layers/background_layer.cpp
@@ -278,6 +278,29 @@ StyleProperty BackgroundLayer::getPropertyInternal(const std::string& name) cons
return getLayerProperty(*this, name);
}
+StyleProperty BackgroundLayer::getPropertyDefaultValueInternal(const std::string& name) const {
+ const auto it = layerProperties.find(name.c_str());
+ if (it == layerProperties.end()) {
+ return {};
+ }
+
+ switch (static_cast<Property>(it->second)) {
+ case Property::BackgroundColor:
+ return makeStyleProperty(BackgroundLayer::getDefaultBackgroundColor());
+ case Property::BackgroundOpacity:
+ return makeStyleProperty(BackgroundLayer::getDefaultBackgroundOpacity());
+ case Property::BackgroundPattern:
+ return makeStyleProperty(BackgroundLayer::getDefaultBackgroundPattern());
+ case Property::BackgroundColorTransition:
+ break;
+ case Property::BackgroundOpacityTransition:
+ break;
+ case Property::BackgroundPatternTransition:
+ break;
+ }
+ return {};
+}
+
Mutable<Layer::Impl> BackgroundLayer::mutableBaseImpl() const {
return staticMutableCast<Layer::Impl>(mutableImpl());
}
diff --git a/src/mbgl/style/layers/circle_layer.cpp b/src/mbgl/style/layers/circle_layer.cpp
index 9fd3492c16..f83e57eb25 100644
--- a/src/mbgl/style/layers/circle_layer.cpp
+++ b/src/mbgl/style/layers/circle_layer.cpp
@@ -684,6 +684,63 @@ StyleProperty CircleLayer::getPropertyInternal(const std::string& name) const {
return getLayerProperty(*this, name);
}
+StyleProperty CircleLayer::getPropertyDefaultValueInternal(const std::string& name) const {
+ const auto it = layerProperties.find(name.c_str());
+ if (it == layerProperties.end()) {
+ return {};
+ }
+
+ switch (static_cast<Property>(it->second)) {
+ case Property::CircleBlur:
+ return makeStyleProperty(CircleLayer::getDefaultCircleBlur());
+ case Property::CircleColor:
+ return makeStyleProperty(CircleLayer::getDefaultCircleColor());
+ case Property::CircleOpacity:
+ return makeStyleProperty(CircleLayer::getDefaultCircleOpacity());
+ case Property::CirclePitchAlignment:
+ return makeStyleProperty(CircleLayer::getDefaultCirclePitchAlignment());
+ case Property::CirclePitchScale:
+ return makeStyleProperty(CircleLayer::getDefaultCirclePitchScale());
+ case Property::CircleRadius:
+ return makeStyleProperty(CircleLayer::getDefaultCircleRadius());
+ case Property::CircleStrokeColor:
+ return makeStyleProperty(CircleLayer::getDefaultCircleStrokeColor());
+ case Property::CircleStrokeOpacity:
+ return makeStyleProperty(CircleLayer::getDefaultCircleStrokeOpacity());
+ case Property::CircleStrokeWidth:
+ return makeStyleProperty(CircleLayer::getDefaultCircleStrokeWidth());
+ case Property::CircleTranslate:
+ return makeStyleProperty(CircleLayer::getDefaultCircleTranslate());
+ case Property::CircleTranslateAnchor:
+ return makeStyleProperty(CircleLayer::getDefaultCircleTranslateAnchor());
+ case Property::CircleSortKey:
+ return makeStyleProperty(CircleLayer::getDefaultCircleSortKey());
+ case Property::CircleBlurTransition:
+ break;
+ case Property::CircleColorTransition:
+ break;
+ case Property::CircleOpacityTransition:
+ break;
+ case Property::CirclePitchAlignmentTransition:
+ break;
+ case Property::CirclePitchScaleTransition:
+ break;
+ case Property::CircleRadiusTransition:
+ break;
+ case Property::CircleStrokeColorTransition:
+ break;
+ case Property::CircleStrokeOpacityTransition:
+ break;
+ case Property::CircleStrokeWidthTransition:
+ break;
+ case Property::CircleTranslateTransition:
+ break;
+ case Property::CircleTranslateAnchorTransition:
+ break;
+ }
+ return {};
+}
+
Mutable<Layer::Impl> CircleLayer::mutableBaseImpl() const {
return staticMutableCast<Layer::Impl>(mutableImpl());
}
diff --git a/src/mbgl/style/layers/fill_extrusion_layer.cpp b/src/mbgl/style/layers/fill_extrusion_layer.cpp
index d40f42fe6e..d11626d897 100644
--- a/src/mbgl/style/layers/fill_extrusion_layer.cpp
+++ b/src/mbgl/style/layers/fill_extrusion_layer.cpp
@@ -525,6 +525,49 @@ StyleProperty FillExtrusionLayer::getPropertyInternal(const std::string& name) c
return getLayerProperty(*this, name);
}
+StyleProperty FillExtrusionLayer::getPropertyDefaultValueInternal(const std::string& name) const {
+ const auto it = layerProperties.find(name.c_str());
+ if (it == layerProperties.end()) {
+ return {};
+ }
+
+ switch (static_cast<Property>(it->second)) {
+ case Property::FillExtrusionBase:
+ return makeStyleProperty(FillExtrusionLayer::getDefaultFillExtrusionBase());
+ case Property::FillExtrusionColor:
+ return makeStyleProperty(FillExtrusionLayer::getDefaultFillExtrusionColor());
+ case Property::FillExtrusionHeight:
+ return makeStyleProperty(FillExtrusionLayer::getDefaultFillExtrusionHeight());
+ case Property::FillExtrusionOpacity:
+ return makeStyleProperty(FillExtrusionLayer::getDefaultFillExtrusionOpacity());
+ case Property::FillExtrusionPattern:
+ return makeStyleProperty(FillExtrusionLayer::getDefaultFillExtrusionPattern());
+ case Property::FillExtrusionTranslate:
+ return makeStyleProperty(FillExtrusionLayer::getDefaultFillExtrusionTranslate());
+ case Property::FillExtrusionTranslateAnchor:
+ return makeStyleProperty(FillExtrusionLayer::getDefaultFillExtrusionTranslateAnchor());
+ case Property::FillExtrusionVerticalGradient:
+ return makeStyleProperty(FillExtrusionLayer::getDefaultFillExtrusionVerticalGradient());
+ case Property::FillExtrusionBaseTransition:
+ break;
+ case Property::FillExtrusionColorTransition:
+ break;
+ case Property::FillExtrusionHeightTransition:
+ break;
+ case Property::FillExtrusionOpacityTransition:
+ break;
+ case Property::FillExtrusionPatternTransition:
+ break;
+ case Property::FillExtrusionTranslateTransition:
+ break;
+ case Property::FillExtrusionTranslateAnchorTransition:
+ break;
+ case Property::FillExtrusionVerticalGradientTransition:
+ break;
+ }
+ return {};
+}
+
Mutable<Layer::Impl> FillExtrusionLayer::mutableBaseImpl() const {
return staticMutableCast<Layer::Impl>(mutableImpl());
}
diff --git a/src/mbgl/style/layers/fill_layer.cpp b/src/mbgl/style/layers/fill_layer.cpp
index 7f057d7d2e..1023d73191 100644
--- a/src/mbgl/style/layers/fill_layer.cpp
+++ b/src/mbgl/style/layers/fill_layer.cpp
@@ -502,6 +502,47 @@ StyleProperty FillLayer::getPropertyInternal(const std::string& name) const {
return getLayerProperty(*this, name);
}
+StyleProperty FillLayer::getPropertyDefaultValueInternal(const std::string& name) const {
+ const auto it = layerProperties.find(name.c_str());
+ if (it == layerProperties.end()) {
+ return {};
+ }
+
+ switch (static_cast<Property>(it->second)) {
+ case Property::FillAntialias:
+ return makeStyleProperty(FillLayer::getDefaultFillAntialias());
+ case Property::FillColor:
+ return makeStyleProperty(FillLayer::getDefaultFillColor());
+ case Property::FillOpacity:
+ return makeStyleProperty(FillLayer::getDefaultFillOpacity());
+ case Property::FillOutlineColor:
+ return makeStyleProperty(FillLayer::getDefaultFillOutlineColor());
+ case Property::FillPattern:
+ return makeStyleProperty(FillLayer::getDefaultFillPattern());
+ case Property::FillTranslate:
+ return makeStyleProperty(FillLayer::getDefaultFillTranslate());
+ case Property::FillTranslateAnchor:
+ return makeStyleProperty(FillLayer::getDefaultFillTranslateAnchor());
+ case Property::FillSortKey:
+ return makeStyleProperty(FillLayer::getDefaultFillSortKey());
+ case Property::FillAntialiasTransition:
+ break;
+ case Property::FillColorTransition:
+ break;
+ case Property::FillOpacityTransition:
+ break;
+ case Property::FillOutlineColorTransition:
+ break;
+ case Property::FillPatternTransition:
+ break;
+ case Property::FillTranslateTransition:
+ break;
+ case Property::FillTranslateAnchorTransition:
+ break;
+ }
+ return {};
+}
+
Mutable<Layer::Impl> FillLayer::mutableBaseImpl() const {
return staticMutableCast<Layer::Impl>(mutableImpl());
}
diff --git a/src/mbgl/style/layers/heatmap_layer.cpp b/src/mbgl/style/layers/heatmap_layer.cpp
index 3e90dcb33a..f58a885233 100644
--- a/src/mbgl/style/layers/heatmap_layer.cpp
+++ b/src/mbgl/style/layers/heatmap_layer.cpp
@@ -374,6 +374,37 @@ StyleProperty HeatmapLayer::getPropertyInternal(const std::string& name) const {
return getLayerProperty(*this, name);
}
+StyleProperty HeatmapLayer::getPropertyDefaultValueInternal(const std::string& name) const {
+ const auto it = layerProperties.find(name.c_str());
+ if (it == layerProperties.end()) {
+ return {};
+ }
+
+ switch (static_cast<Property>(it->second)) {
+ case Property::HeatmapColor:
+ return makeStyleProperty(HeatmapLayer::getDefaultHeatmapColor());
+ case Property::HeatmapIntensity:
+ return makeStyleProperty(HeatmapLayer::getDefaultHeatmapIntensity());
+ case Property::HeatmapOpacity:
+ return makeStyleProperty(HeatmapLayer::getDefaultHeatmapOpacity());
+ case Property::HeatmapRadius:
+ return makeStyleProperty(HeatmapLayer::getDefaultHeatmapRadius());
+ case Property::HeatmapWeight:
+ return makeStyleProperty(HeatmapLayer::getDefaultHeatmapWeight());
+ case Property::HeatmapColorTransition:
+ break;
+ case Property::HeatmapIntensityTransition:
+ break;
+ case Property::HeatmapOpacityTransition:
+ break;
+ case Property::HeatmapRadiusTransition:
+ break;
+ case Property::HeatmapWeightTransition:
+ break;
+ }
+ return {};
+}
+
Mutable<Layer::Impl> HeatmapLayer::mutableBaseImpl() const {
return staticMutableCast<Layer::Impl>(mutableImpl());
}
diff --git a/src/mbgl/style/layers/hillshade_layer.cpp b/src/mbgl/style/layers/hillshade_layer.cpp
index 22aec9ca6e..333dbb2780 100644
--- a/src/mbgl/style/layers/hillshade_layer.cpp
+++ b/src/mbgl/style/layers/hillshade_layer.cpp
@@ -418,6 +418,41 @@ StyleProperty HillshadeLayer::getPropertyInternal(const std::string& name) const
return getLayerProperty(*this, name);
}
+StyleProperty HillshadeLayer::getPropertyDefaultValueInternal(const std::string& name) const {
+ const auto it = layerProperties.find(name.c_str());
+ if (it == layerProperties.end()) {
+ return {};
+ }
+
+ switch (static_cast<Property>(it->second)) {
+ case Property::HillshadeAccentColor:
+ return makeStyleProperty(HillshadeLayer::getDefaultHillshadeAccentColor());
+ case Property::HillshadeExaggeration:
+ return makeStyleProperty(HillshadeLayer::getDefaultHillshadeExaggeration());
+ case Property::HillshadeHighlightColor:
+ return makeStyleProperty(HillshadeLayer::getDefaultHillshadeHighlightColor());
+ case Property::HillshadeIlluminationAnchor:
+ return makeStyleProperty(HillshadeLayer::getDefaultHillshadeIlluminationAnchor());
+ case Property::HillshadeIlluminationDirection:
+ return makeStyleProperty(HillshadeLayer::getDefaultHillshadeIlluminationDirection());
+ case Property::HillshadeShadowColor:
+ return makeStyleProperty(HillshadeLayer::getDefaultHillshadeShadowColor());
+ case Property::HillshadeAccentColorTransition:
+ break;
+ case Property::HillshadeExaggerationTransition:
+ break;
+ case Property::HillshadeHighlightColorTransition:
+ break;
+ case Property::HillshadeIlluminationAnchorTransition:
+ break;
+ case Property::HillshadeIlluminationDirectionTransition:
+ break;
+ case Property::HillshadeShadowColorTransition:
+ break;
+ }
+ return {};
+}
+
Mutable<Layer::Impl> HillshadeLayer::mutableBaseImpl() const {
return staticMutableCast<Layer::Impl>(mutableImpl());
}
diff --git a/src/mbgl/style/layers/layer.cpp.ejs b/src/mbgl/style/layers/layer.cpp.ejs
index 383d7444d6..27211a77f1 100644
--- a/src/mbgl/style/layers/layer.cpp.ejs
+++ b/src/mbgl/style/layers/layer.cpp.ejs
@@ -339,6 +339,29 @@ StyleProperty <%- camelize(type) %>Layer::getPropertyInternal(const std::string&
return getLayerProperty(*this, name);
}
+StyleProperty <%- camelize(type) %>Layer::getPropertyDefaultValueInternal(const std::string& name) const {
+ const auto it = layerProperties.find(name.c_str());
+ if (it == layerProperties.end()) {
+ return {};
+ }
+
+ switch (static_cast<Property>(it->second)) {
+<% for (const property of paintProperties) { -%>
+ case Property::<%- camelize(property.name) %>:
+ return makeStyleProperty(<%- camelize(type) %>Layer::getDefault<%- camelize(property.name) %>());
+<% } -%>
+<% for (const property of layoutProperties) { -%>
+ case Property::<%- camelize(property.name) %>:
+ return makeStyleProperty(<%- camelize(type) %>Layer::getDefault<%- camelize(property.name) %>());
+<% } -%>
+<% for (const property of paintProperties) { -%>
+ case Property::<%- camelize(property.name) %>Transition:
+ break;
+<% } -%>
+ }
+ return {};
+}
+
Mutable<Layer::Impl> <%- camelize(type) %>Layer::mutableBaseImpl() const {
return staticMutableCast<Layer::Impl>(mutableImpl());
}
diff --git a/src/mbgl/style/layers/line_layer.cpp b/src/mbgl/style/layers/line_layer.cpp
index 9c6250984f..cb12b05c7c 100644
--- a/src/mbgl/style/layers/line_layer.cpp
+++ b/src/mbgl/style/layers/line_layer.cpp
@@ -800,6 +800,71 @@ StyleProperty LineLayer::getPropertyInternal(const std::string& name) const {
return getLayerProperty(*this, name);
}
+StyleProperty LineLayer::getPropertyDefaultValueInternal(const std::string& name) const {
+ const auto it = layerProperties.find(name.c_str());
+ if (it == layerProperties.end()) {
+ return {};
+ }
+
+ switch (static_cast<Property>(it->second)) {
+ case Property::LineBlur:
+ return makeStyleProperty(LineLayer::getDefaultLineBlur());
+ case Property::LineColor:
+ return makeStyleProperty(LineLayer::getDefaultLineColor());
+ case Property::LineDasharray:
+ return makeStyleProperty(LineLayer::getDefaultLineDasharray());
+ case Property::LineGapWidth:
+ return makeStyleProperty(LineLayer::getDefaultLineGapWidth());
+ case Property::LineGradient:
+ return makeStyleProperty(LineLayer::getDefaultLineGradient());
+ case Property::LineOffset:
+ return makeStyleProperty(LineLayer::getDefaultLineOffset());
+ case Property::LineOpacity:
+ return makeStyleProperty(LineLayer::getDefaultLineOpacity());
+ case Property::LinePattern:
+ return makeStyleProperty(LineLayer::getDefaultLinePattern());
+ case Property::LineTranslate:
+ return makeStyleProperty(LineLayer::getDefaultLineTranslate());
+ case Property::LineTranslateAnchor:
+ return makeStyleProperty(LineLayer::getDefaultLineTranslateAnchor());
+ case Property::LineWidth:
+ return makeStyleProperty(LineLayer::getDefaultLineWidth());
+ case Property::LineCap:
+ return makeStyleProperty(LineLayer::getDefaultLineCap());
+ case Property::LineJoin:
+ return makeStyleProperty(LineLayer::getDefaultLineJoin());
+ case Property::LineMiterLimit:
+ return makeStyleProperty(LineLayer::getDefaultLineMiterLimit());
+ case Property::LineRoundLimit:
+ return makeStyleProperty(LineLayer::getDefaultLineRoundLimit());
+ case Property::LineSortKey:
+ return makeStyleProperty(LineLayer::getDefaultLineSortKey());
+ case Property::LineBlurTransition:
+ break;
+ case Property::LineColorTransition:
+ break;
+ case Property::LineDasharrayTransition:
+ break;
+ case Property::LineGapWidthTransition:
+ break;
+ case Property::LineGradientTransition:
+ break;
+ case Property::LineOffsetTransition:
+ break;
+ case Property::LineOpacityTransition:
+ break;
+ case Property::LinePatternTransition:
+ break;
+ case Property::LineTranslateTransition:
+ break;
+ case Property::LineTranslateAnchorTransition:
+ break;
+ case Property::LineWidthTransition:
+ break;
+ }
+ return {};
+}
+
Mutable<Layer::Impl> LineLayer::mutableBaseImpl() const {
return staticMutableCast<Layer::Impl>(mutableImpl());
}
diff --git a/src/mbgl/style/layers/location_indicator_layer.cpp b/src/mbgl/style/layers/location_indicator_layer.cpp
index 8ef8aa41fc..cbd47684cb 100644
--- a/src/mbgl/style/layers/location_indicator_layer.cpp
+++ b/src/mbgl/style/layers/location_indicator_layer.cpp
@@ -684,6 +684,63 @@ StyleProperty LocationIndicatorLayer::getPropertyInternal(const std::string& nam
return getLayerProperty(*this, name);
}
+StyleProperty LocationIndicatorLayer::getPropertyDefaultValueInternal(const std::string& name) const {
+ const auto it = layerProperties.find(name.c_str());
+ if (it == layerProperties.end()) {
+ return {};
+ }
+
+ switch (static_cast<Property>(it->second)) {
+ case Property::AccuracyRadius:
+ return makeStyleProperty(LocationIndicatorLayer::getDefaultAccuracyRadius());
+ case Property::AccuracyRadiusBorderColor:
+ return makeStyleProperty(LocationIndicatorLayer::getDefaultAccuracyRadiusBorderColor());
+ case Property::AccuracyRadiusColor:
+ return makeStyleProperty(LocationIndicatorLayer::getDefaultAccuracyRadiusColor());
+ case Property::Bearing:
+ return makeStyleProperty(LocationIndicatorLayer::getDefaultBearing());
+ case Property::BearingImageSize:
+ return makeStyleProperty(LocationIndicatorLayer::getDefaultBearingImageSize());
+ case Property::ImageTiltDisplacement:
+ return makeStyleProperty(LocationIndicatorLayer::getDefaultImageTiltDisplacement());
+ case Property::Location:
+ return makeStyleProperty(LocationIndicatorLayer::getDefaultLocation());
+ case Property::PerspectiveCompensation:
+ return makeStyleProperty(LocationIndicatorLayer::getDefaultPerspectiveCompensation());
+ case Property::ShadowImageSize:
+ return makeStyleProperty(LocationIndicatorLayer::getDefaultShadowImageSize());
+ case Property::TopImageSize:
+ return makeStyleProperty(LocationIndicatorLayer::getDefaultTopImageSize());
+ case Property::BearingImage:
+ return makeStyleProperty(LocationIndicatorLayer::getDefaultBearingImage());
+ case Property::ShadowImage:
+ return makeStyleProperty(LocationIndicatorLayer::getDefaultShadowImage());
+ case Property::TopImage:
+ return makeStyleProperty(LocationIndicatorLayer::getDefaultTopImage());
+ case Property::AccuracyRadiusTransition:
+ break;
+ case Property::AccuracyRadiusBorderColorTransition:
+ break;
+ case Property::AccuracyRadiusColorTransition:
+ break;
+ case Property::BearingTransition:
+ break;
+ case Property::BearingImageSizeTransition:
+ break;
+ case Property::ImageTiltDisplacementTransition:
+ break;
+ case Property::LocationTransition:
+ break;
+ case Property::PerspectiveCompensationTransition:
+ break;
+ case Property::ShadowImageSizeTransition:
+ break;
+ case Property::TopImageSizeTransition:
+ break;
+ }
+ return {};
+}
+
Mutable<Layer::Impl> LocationIndicatorLayer::mutableBaseImpl() const {
return staticMutableCast<Layer::Impl>(mutableImpl());
}
diff --git a/src/mbgl/style/layers/raster_layer.cpp b/src/mbgl/style/layers/raster_layer.cpp
index d8f8bbb892..cad24f43a5 100644
--- a/src/mbgl/style/layers/raster_layer.cpp
+++ b/src/mbgl/style/layers/raster_layer.cpp
@@ -503,6 +503,49 @@ StyleProperty RasterLayer::getPropertyInternal(const std::string& name) const {
return getLayerProperty(*this, name);
}
+StyleProperty RasterLayer::getPropertyDefaultValueInternal(const std::string& name) const {
+ const auto it = layerProperties.find(name.c_str());
+ if (it == layerProperties.end()) {
+ return {};
+ }
+
+ switch (static_cast<Property>(it->second)) {
+ case Property::RasterBrightnessMax:
+ return makeStyleProperty(RasterLayer::getDefaultRasterBrightnessMax());
+ case Property::RasterBrightnessMin:
+ return makeStyleProperty(RasterLayer::getDefaultRasterBrightnessMin());
+ case Property::RasterContrast:
+ return makeStyleProperty(RasterLayer::getDefaultRasterContrast());
+ case Property::RasterFadeDuration:
+ return makeStyleProperty(RasterLayer::getDefaultRasterFadeDuration());
+ case Property::RasterHueRotate:
+ return makeStyleProperty(RasterLayer::getDefaultRasterHueRotate());
+ case Property::RasterOpacity:
+ return makeStyleProperty(RasterLayer::getDefaultRasterOpacity());
+ case Property::RasterResampling:
+ return makeStyleProperty(RasterLayer::getDefaultRasterResampling());
+ case Property::RasterSaturation:
+ return makeStyleProperty(RasterLayer::getDefaultRasterSaturation());
+ case Property::RasterBrightnessMaxTransition:
+ break;
+ case Property::RasterBrightnessMinTransition:
+ break;
+ case Property::RasterContrastTransition:
+ break;
+ case Property::RasterFadeDurationTransition:
+ break;
+ case Property::RasterHueRotateTransition:
+ break;
+ case Property::RasterOpacityTransition:
+ break;
+ case Property::RasterResamplingTransition:
+ break;
+ case Property::RasterSaturationTransition:
+ break;
+ }
+ return {};
+}
+
Mutable<Layer::Impl> RasterLayer::mutableBaseImpl() const {
return staticMutableCast<Layer::Impl>(mutableImpl());
}
diff --git a/src/mbgl/style/layers/symbol_layer.cpp b/src/mbgl/style/layers/symbol_layer.cpp
index 4fd9e653dd..529d6868f2 100644
--- a/src/mbgl/style/layers/symbol_layer.cpp
+++ b/src/mbgl/style/layers/symbol_layer.cpp
@@ -1875,6 +1875,155 @@ StyleProperty SymbolLayer::getPropertyInternal(const std::string& name) const {
return getLayerProperty(*this, name);
}
+StyleProperty SymbolLayer::getPropertyDefaultValueInternal(const std::string& name) const {
+ const auto it = layerProperties.find(name.c_str());
+ if (it == layerProperties.end()) {
+ return {};
+ }
+
+ switch (static_cast<Property>(it->second)) {
+ case Property::IconColor:
+ return makeStyleProperty(SymbolLayer::getDefaultIconColor());
+ case Property::IconHaloBlur:
+ return makeStyleProperty(SymbolLayer::getDefaultIconHaloBlur());
+ case Property::IconHaloColor:
+ return makeStyleProperty(SymbolLayer::getDefaultIconHaloColor());
+ case Property::IconHaloWidth:
+ return makeStyleProperty(SymbolLayer::getDefaultIconHaloWidth());
+ case Property::IconOpacity:
+ return makeStyleProperty(SymbolLayer::getDefaultIconOpacity());
+ case Property::IconTranslate:
+ return makeStyleProperty(SymbolLayer::getDefaultIconTranslate());
+ case Property::IconTranslateAnchor:
+ return makeStyleProperty(SymbolLayer::getDefaultIconTranslateAnchor());
+ case Property::TextColor:
+ return makeStyleProperty(SymbolLayer::getDefaultTextColor());
+ case Property::TextHaloBlur:
+ return makeStyleProperty(SymbolLayer::getDefaultTextHaloBlur());
+ case Property::TextHaloColor:
+ return makeStyleProperty(SymbolLayer::getDefaultTextHaloColor());
+ case Property::TextHaloWidth:
+ return makeStyleProperty(SymbolLayer::getDefaultTextHaloWidth());
+ case Property::TextOpacity:
+ return makeStyleProperty(SymbolLayer::getDefaultTextOpacity());
+ case Property::TextTranslate:
+ return makeStyleProperty(SymbolLayer::getDefaultTextTranslate());
+ case Property::TextTranslateAnchor:
+ return makeStyleProperty(SymbolLayer::getDefaultTextTranslateAnchor());
+ case Property::IconAllowOverlap:
+ return makeStyleProperty(SymbolLayer::getDefaultIconAllowOverlap());
+ case Property::IconAnchor:
+ return makeStyleProperty(SymbolLayer::getDefaultIconAnchor());
+ case Property::IconIgnorePlacement:
+ return makeStyleProperty(SymbolLayer::getDefaultIconIgnorePlacement());
+ case Property::IconImage:
+ return makeStyleProperty(SymbolLayer::getDefaultIconImage());
+ case Property::IconKeepUpright:
+ return makeStyleProperty(SymbolLayer::getDefaultIconKeepUpright());
+ case Property::IconOffset:
+ return makeStyleProperty(SymbolLayer::getDefaultIconOffset());
+ case Property::IconOptional:
+ return makeStyleProperty(SymbolLayer::getDefaultIconOptional());
+ case Property::IconPadding:
+ return makeStyleProperty(SymbolLayer::getDefaultIconPadding());
+ case Property::IconPitchAlignment:
+ return makeStyleProperty(SymbolLayer::getDefaultIconPitchAlignment());
+ case Property::IconRotate:
+ return makeStyleProperty(SymbolLayer::getDefaultIconRotate());
+ case Property::IconRotationAlignment:
+ return makeStyleProperty(SymbolLayer::getDefaultIconRotationAlignment());
+ case Property::IconSize:
+ return makeStyleProperty(SymbolLayer::getDefaultIconSize());
+ case Property::IconTextFit:
+ return makeStyleProperty(SymbolLayer::getDefaultIconTextFit());
+ case Property::IconTextFitPadding:
+ return makeStyleProperty(SymbolLayer::getDefaultIconTextFitPadding());
+ case Property::SymbolAvoidEdges:
+ return makeStyleProperty(SymbolLayer::getDefaultSymbolAvoidEdges());
+ case Property::SymbolPlacement:
+ return makeStyleProperty(SymbolLayer::getDefaultSymbolPlacement());
+ case Property::SymbolSortKey:
+ return makeStyleProperty(SymbolLayer::getDefaultSymbolSortKey());
+ case Property::SymbolSpacing:
+ return makeStyleProperty(SymbolLayer::getDefaultSymbolSpacing());
+ case Property::SymbolZOrder:
+ return makeStyleProperty(SymbolLayer::getDefaultSymbolZOrder());
+ case Property::TextAllowOverlap:
+ return makeStyleProperty(SymbolLayer::getDefaultTextAllowOverlap());
+ case Property::TextAnchor:
+ return makeStyleProperty(SymbolLayer::getDefaultTextAnchor());
+ case Property::TextField:
+ return makeStyleProperty(SymbolLayer::getDefaultTextField());
+ case Property::TextFont:
+ return makeStyleProperty(SymbolLayer::getDefaultTextFont());
+ case Property::TextIgnorePlacement:
+ return makeStyleProperty(SymbolLayer::getDefaultTextIgnorePlacement());
+ case Property::TextJustify:
+ return makeStyleProperty(SymbolLayer::getDefaultTextJustify());
+ case Property::TextKeepUpright:
+ return makeStyleProperty(SymbolLayer::getDefaultTextKeepUpright());
+ case Property::TextLetterSpacing:
+ return makeStyleProperty(SymbolLayer::getDefaultTextLetterSpacing());
+ case Property::TextLineHeight:
+ return makeStyleProperty(SymbolLayer::getDefaultTextLineHeight());
+ case Property::TextMaxAngle:
+ return makeStyleProperty(SymbolLayer::getDefaultTextMaxAngle());
+ case Property::TextMaxWidth:
+ return makeStyleProperty(SymbolLayer::getDefaultTextMaxWidth());
+ case Property::TextOffset:
+ return makeStyleProperty(SymbolLayer::getDefaultTextOffset());
+ case Property::TextOptional:
+ return makeStyleProperty(SymbolLayer::getDefaultTextOptional());
+ case Property::TextPadding:
+ return makeStyleProperty(SymbolLayer::getDefaultTextPadding());
+ case Property::TextPitchAlignment:
+ return makeStyleProperty(SymbolLayer::getDefaultTextPitchAlignment());
+ case Property::TextRadialOffset:
+ return makeStyleProperty(SymbolLayer::getDefaultTextRadialOffset());
+ case Property::TextRotate:
+ return makeStyleProperty(SymbolLayer::getDefaultTextRotate());
+ case Property::TextRotationAlignment:
+ return makeStyleProperty(SymbolLayer::getDefaultTextRotationAlignment());
+ case Property::TextSize:
+ return makeStyleProperty(SymbolLayer::getDefaultTextSize());
+ case Property::TextTransform:
+ return makeStyleProperty(SymbolLayer::getDefaultTextTransform());
+ case Property::TextVariableAnchor:
+ return makeStyleProperty(SymbolLayer::getDefaultTextVariableAnchor());
+ case Property::TextWritingMode:
+ return makeStyleProperty(SymbolLayer::getDefaultTextWritingMode());
+ case Property::IconColorTransition:
+ break;
+ case Property::IconHaloBlurTransition:
+ break;
+ case Property::IconHaloColorTransition:
+ break;
+ case Property::IconHaloWidthTransition:
+ break;
+ case Property::IconOpacityTransition:
+ break;
+ case Property::IconTranslateTransition:
+ break;
+ case Property::IconTranslateAnchorTransition:
+ break;
+ case Property::TextColorTransition:
+ break;
+ case Property::TextHaloBlurTransition:
+ break;
+ case Property::TextHaloColorTransition:
+ break;
+ case Property::TextHaloWidthTransition:
+ break;
+ case Property::TextOpacityTransition:
+ break;
+ case Property::TextTranslateTransition:
+ break;
+ case Property::TextTranslateAnchorTransition:
+ break;
+ }
+ return {};
+}
+
Mutable<Layer::Impl> SymbolLayer::mutableBaseImpl() const {
return staticMutableCast<Layer::Impl>(mutableImpl());
}