diff options
author | Jesse Bounds <jesse@rebounds.net> | 2016-07-29 09:48:26 -0700 |
---|---|---|
committer | Jesse Bounds <jesse@rebounds.net> | 2016-07-29 09:48:26 -0700 |
commit | e643ffe7f43786fb0b60c09c681d5360c9485fc4 (patch) | |
tree | 13c29587339210b4b44c239a90a215f302cace05 | |
parent | 85183dd46eb22152d1af778ea9bc7aeeff5966cf (diff) | |
download | qtlocation-mapboxgl-e643ffe7f43786fb0b60c09c681d5360c9485fc4.tar.gz |
[core] Add changes to respect minzoom and maxzoom
This adds only the changes made in
https://github.com/mapbox/mapbox-gl-native/pull/5828 to address the
issue where the style zoom levels were not respected when deciding
when to render a layer.
-rw-r--r-- | src/mbgl/style/layer_impl.cpp | 9 | ||||
-rw-r--r-- | src/mbgl/style/layer_impl.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/style/style.cpp | 2 |
3 files changed, 8 insertions, 5 deletions
diff --git a/src/mbgl/style/layer_impl.cpp b/src/mbgl/style/layer_impl.cpp index 74cc80d253..56f66d1789 100644 --- a/src/mbgl/style/layer_impl.cpp +++ b/src/mbgl/style/layer_impl.cpp @@ -11,9 +11,12 @@ bool Layer::Impl::hasRenderPass(RenderPass pass) const { return bool(passes & pass); } -bool Layer::Impl::needsRendering() const { - return passes != RenderPass::None && visibility != VisibilityType::None; -} +bool Layer::Impl::needsRendering(float zoom) const { + return passes != RenderPass::None + && visibility != VisibilityType::None + && minZoom <= zoom + && maxZoom >= zoom; + } } // namespace style } // namespace mbgl diff --git a/src/mbgl/style/layer_impl.hpp b/src/mbgl/style/layer_impl.hpp index dcd5d9906b..c84e9b9dea 100644 --- a/src/mbgl/style/layer_impl.hpp +++ b/src/mbgl/style/layer_impl.hpp @@ -59,7 +59,7 @@ public: bool hasRenderPass(RenderPass) const; // Checks whether this layer can be rendered. - bool needsRendering() const; + bool needsRendering(float zoom) const; virtual float getQueryRadius() const { return 0; } virtual bool queryIntersectsGeometry( diff --git a/src/mbgl/style/style.cpp b/src/mbgl/style/style.cpp index 5ca36b030f..d9b49d4309 100644 --- a/src/mbgl/style/style.cpp +++ b/src/mbgl/style/style.cpp @@ -212,7 +212,7 @@ void Style::recalculate(float z, const TimePoint& timePoint, MapMode mode) { hasPendingTransitions |= layer->baseImpl->recalculate(parameters); Source* source = getSource(layer->baseImpl->source); - if (source && layer->baseImpl->needsRendering()) { + if (source && layer->baseImpl->needsRendering(z)) { source->enabled = true; if (!source->loaded && !source->isLoading()) { source->load(fileSource); |