diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mbgl/map/map_impl.cpp | 8 | ||||
-rw-r--r-- | src/mbgl/map/map_impl.hpp | 1 | ||||
-rw-r--r-- | src/mbgl/renderer/renderer_impl.cpp | 4 | ||||
-rw-r--r-- | src/mbgl/renderer/renderer_impl.hpp | 1 |
4 files changed, 14 insertions, 0 deletions
diff --git a/src/mbgl/map/map_impl.cpp b/src/mbgl/map/map_impl.cpp index d7c7c00d0a..ce36583ab3 100644 --- a/src/mbgl/map/map_impl.cpp +++ b/src/mbgl/map/map_impl.cpp @@ -179,4 +179,12 @@ void Map::Impl::onStyleImageMissing(const std::string& id, std::function<void()> onUpdate(); } +void Map::Impl::onRemoveUnusedStyleImages(const std::vector<std::string>& unusedImageIDs) { + for (const auto& unusedImageID : unusedImageIDs) { + if (observer.onCanRemoveUnusedStyleImage(unusedImageID)) { + style->removeImage(unusedImageID); + } + } +} + } // namespace mbgl diff --git a/src/mbgl/map/map_impl.hpp b/src/mbgl/map/map_impl.hpp index 84b43c8343..13a68fb25e 100644 --- a/src/mbgl/map/map_impl.hpp +++ b/src/mbgl/map/map_impl.hpp @@ -46,6 +46,7 @@ public: void onWillStartRenderingMap() final; void onDidFinishRenderingMap() final; void onStyleImageMissing(const std::string&, std::function<void()>) final; + void onRemoveUnusedStyleImages(const std::vector<std::string>&) final; // Map void jumpTo(const CameraOptions&); diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp index 6647cecb94..c32a1589b8 100644 --- a/src/mbgl/renderer/renderer_impl.cpp +++ b/src/mbgl/renderer/renderer_impl.cpp @@ -762,4 +762,8 @@ void Renderer::Impl::onStyleImageMissing(const std::string& id, std::function<vo observer->onStyleImageMissing(id, std::move(done)); } +void Renderer::Impl::onRemoveUnusedStyleImages(const std::vector<std::string>& unusedImageIDs) { + observer->onRemoveUnusedStyleImages(unusedImageIDs); +} + } // namespace mbgl diff --git a/src/mbgl/renderer/renderer_impl.hpp b/src/mbgl/renderer/renderer_impl.hpp index 270ea4d517..84191b85a6 100644 --- a/src/mbgl/renderer/renderer_impl.hpp +++ b/src/mbgl/renderer/renderer_impl.hpp @@ -91,6 +91,7 @@ private: // ImageManagerObserver implementation void onStyleImageMissing(const std::string&, std::function<void()>) override; + void onRemoveUnusedStyleImages(const std::vector<std::string>&) final; void updateFadingTiles(); |