summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Bounds <jesse@rebounds.net>2016-07-29 09:48:26 -0700
committerJesse Bounds <jesse@rebounds.net>2016-07-29 09:48:26 -0700
commite643ffe7f43786fb0b60c09c681d5360c9485fc4 (patch)
tree13c29587339210b4b44c239a90a215f302cace05
parent85183dd46eb22152d1af778ea9bc7aeeff5966cf (diff)
downloadqtlocation-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.cpp9
-rw-r--r--src/mbgl/style/layer_impl.hpp2
-rw-r--r--src/mbgl/style/style.cpp2
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);