summaryrefslogtreecommitdiff
path: root/src/mbgl/style/style.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/style/style.cpp')
-rw-r--r--src/mbgl/style/style.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mbgl/style/style.cpp b/src/mbgl/style/style.cpp
index bb0e2b61f6..99333b4a77 100644
--- a/src/mbgl/style/style.cpp
+++ b/src/mbgl/style/style.cpp
@@ -167,6 +167,8 @@ Layer* Style::addLayer(std::unique_ptr<Layer> layer, optional<std::string> befor
customLayer->impl->initialize();
}
+ layer->baseImpl->setObserver(this);
+
return layers.emplace(before ? findLayer(*before) : layers.end(), std::move(layer))->get();
}
@@ -481,6 +483,19 @@ void Style::onSpriteError(std::exception_ptr error) {
observer->onResourceError(error);
}
+void Style::onLayerFilterChanged(Layer&) {
+ // TODO: reload source
+}
+
+void Style::onLayerPaintPropertyChanged(Layer&) {
+ observer->onUpdate(Update::RecalculateStyle | Update::Classes);
+}
+
+void Style::onLayerLayoutPropertyChanged(Layer&) {
+ observer->onUpdate(Update::RecalculateStyle);
+ // TODO: reload source
+}
+
void Style::dumpDebugLogs() const {
for (const auto& source : sources) {
source->baseImpl->dumpDebugLogs();