diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2020-03-18 14:29:46 +0200 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2020-03-18 20:14:15 +0200 |
commit | 3536de51244d8f7df3e21b5c5ae4971825ddeb4b (patch) | |
tree | f9a1fe249fda27ef4b7c83347e359ba8c5c9e0aa /src/mbgl/map | |
parent | 14f19f0201a371dc6cf8ddee4b8f0c73bdc5be5d (diff) | |
download | qtlocation-mapboxgl-3536de51244d8f7df3e21b5c5ae4971825ddeb4b.tar.gz |
[core][tile|static mode] Introduce MapOptions::keepRenderData() flag
Render orchestrator stores the render data between render frames if this flag is set.
Diffstat (limited to 'src/mbgl/map')
-rw-r--r-- | src/mbgl/map/map_impl.cpp | 6 | ||||
-rw-r--r-- | src/mbgl/map/map_impl.hpp | 1 | ||||
-rw-r--r-- | src/mbgl/map/map_options.cpp | 10 |
3 files changed, 15 insertions, 2 deletions
diff --git a/src/mbgl/map/map_impl.cpp b/src/mbgl/map/map_impl.cpp index 0edc715134..60d4d6021c 100644 --- a/src/mbgl/map/map_impl.cpp +++ b/src/mbgl/map/map_impl.cpp @@ -17,6 +17,7 @@ Map::Impl::Impl(RendererFrontend& frontend_, mode(mapOptions.mapMode()), pixelRatio(mapOptions.pixelRatio()), crossSourceCollisions(mapOptions.crossSourceCollisions()), + keepRenderData(mapOptions.keepRenderData()), fileSource(std::move(fileSource_)), style(std::make_unique<style::Style>(fileSource, pixelRatio)), annotationManager(*style) { @@ -64,8 +65,9 @@ void Map::Impl::onUpdate() { annotationManager.makeWeakPtr(), fileSource, prefetchZoomDelta, - bool(stillImageRequest), - crossSourceCollisions}; + stillImageRequest.get(), + crossSourceCollisions, + keepRenderData}; rendererFrontend.update(std::make_shared<UpdateParameters>(std::move(params))); } diff --git a/src/mbgl/map/map_impl.hpp b/src/mbgl/map/map_impl.hpp index 416662f9e5..56b18e4b2d 100644 --- a/src/mbgl/map/map_impl.hpp +++ b/src/mbgl/map/map_impl.hpp @@ -59,6 +59,7 @@ public: const MapMode mode; const float pixelRatio; const bool crossSourceCollisions; + const bool keepRenderData; MapDebugOptions debugOptions { MapDebugOptions::NoDebug }; diff --git a/src/mbgl/map/map_options.cpp b/src/mbgl/map/map_options.cpp index 4cebb6adab..1e93125fd7 100644 --- a/src/mbgl/map/map_options.cpp +++ b/src/mbgl/map/map_options.cpp @@ -9,6 +9,7 @@ public: ViewportMode viewportMode = ViewportMode::Default; NorthOrientation orientation = NorthOrientation::Upwards; bool crossSourceCollisions = true; + bool keepRenderData = true; Size size = { 64, 64 }; float pixelRatio = 1.0; }; @@ -54,6 +55,15 @@ bool MapOptions::crossSourceCollisions() const { return impl_->crossSourceCollisions; } +MapOptions& MapOptions::withKeepRenderData(bool keepRenderData_) { + impl_->keepRenderData = keepRenderData_; + return *this; +} + +bool MapOptions::keepRenderData() const { + return impl_->keepRenderData; +} + MapOptions& MapOptions::withNorthOrientation(NorthOrientation orientation) { impl_->orientation = orientation; return *this; |