summaryrefslogtreecommitdiff
path: root/src/mbgl/style/layers/fill_layer.cpp
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2018-10-25 16:15:31 +0300
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2018-10-25 22:42:43 +0300
commit7a9461a8d439458b18656ecfb839923adc5f0e9b (patch)
tree5617367418dafc5b7b45c4ba7cca4b74f40200f3 /src/mbgl/style/layers/fill_layer.cpp
parentfdd8b54900d963d01f9b643fa7edd9e988eb7785 (diff)
downloadqtlocation-mapboxgl-7a9461a8d439458b18656ecfb839923adc5f0e9b.tar.gz
Consolidate `style::Layer` properties API
The `style::Layer` class now exposes all the properties contained at `style::LayerImpl`. This allowed to drop `style::Layer::accept()` method usage, avoid the repeated generated code and thus save some binary size. This patch is a part of the layers modularization effort.
Diffstat (limited to 'src/mbgl/style/layers/fill_layer.cpp')
-rw-r--r--src/mbgl/style/layers/fill_layer.cpp60
1 files changed, 4 insertions, 56 deletions
diff --git a/src/mbgl/style/layers/fill_layer.cpp b/src/mbgl/style/layers/fill_layer.cpp
index 69b3a16004..b244df6eea 100644
--- a/src/mbgl/style/layers/fill_layer.cpp
+++ b/src/mbgl/style/layers/fill_layer.cpp
@@ -42,62 +42,6 @@ std::unique_ptr<Layer> FillLayer::cloneRef(const std::string& id_) const {
void FillLayer::Impl::stringifyLayout(rapidjson::Writer<rapidjson::StringBuffer>&) const {
}
-// Source
-
-const std::string& FillLayer::getSourceID() const {
- return impl().source;
-}
-
-void FillLayer::setSourceLayer(const std::string& sourceLayer) {
- auto impl_ = mutableImpl();
- impl_->sourceLayer = sourceLayer;
- baseImpl = std::move(impl_);
-}
-
-const std::string& FillLayer::getSourceLayer() const {
- return impl().sourceLayer;
-}
-
-// Filter
-
-void FillLayer::setFilter(const Filter& filter) {
- auto impl_ = mutableImpl();
- impl_->filter = filter;
- baseImpl = std::move(impl_);
- observer->onLayerChanged(*this);
-}
-
-const Filter& FillLayer::getFilter() const {
- return impl().filter;
-}
-
-// Visibility
-
-void FillLayer::setVisibility(VisibilityType value) {
- if (value == getVisibility())
- return;
- auto impl_ = mutableImpl();
- impl_->visibility = value;
- baseImpl = std::move(impl_);
- observer->onLayerChanged(*this);
-}
-
-// Zoom range
-
-void FillLayer::setMinZoom(float minZoom) {
- auto impl_ = mutableImpl();
- impl_->minZoom = minZoom;
- baseImpl = std::move(impl_);
- observer->onLayerChanged(*this);
-}
-
-void FillLayer::setMaxZoom(float maxZoom) {
- auto impl_ = mutableImpl();
- impl_->maxZoom = maxZoom;
- baseImpl = std::move(impl_);
- observer->onLayerChanged(*this);
-}
-
// Layout properties
@@ -541,5 +485,9 @@ optional<Error> FillLayer::setLayoutProperty(const std::string& name, const Conv
return Error { "layer doesn't support this property" };
}
+Mutable<Layer::Impl> FillLayer::mutableBaseImpl() const {
+ return staticMutableCast<Layer::Impl>(mutableImpl());
+}
+
} // namespace style
} // namespace mbgl