diff options
Diffstat (limited to 'src/mbgl/style/style.cpp')
-rw-r--r-- | src/mbgl/style/style.cpp | 15 |
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(); |