summaryrefslogtreecommitdiff
path: root/src/mbgl/style/source.cpp
diff options
context:
space:
mode:
authorAlexander Shalamov <alexander.shalamov@mapbox.com>2020-02-06 09:44:49 +0200
committerAlexander Shalamov <alexander.shalamov@mapbox.com>2020-02-11 10:40:30 +0200
commitfce4129435ddc5f14abdd1e2ed6a74bf84e1c496 (patch)
treeb0195f13b1783298f940dc0ccf72dac6098532dd /src/mbgl/style/source.cpp
parenta23100586098c2d44682444cdd31001f1eba5859 (diff)
downloadqtlocation-mapboxgl-fce4129435ddc5f14abdd1e2ed6a74bf84e1c496.tar.gz
[core] Add runtime API for setting tile prefetch delta for Source
New setPrefetchZoomDelta(optional<uint8_t> delta) method allow overriding default tile prefetch setting that is defined by the Map instance. The method can be moved to generic style specification if found to be useful for gl-js engine.
Diffstat (limited to 'src/mbgl/style/source.cpp')
-rw-r--r--src/mbgl/style/source.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mbgl/style/source.cpp b/src/mbgl/style/source.cpp
index e7701b8bec..644a31dace 100644
--- a/src/mbgl/style/source.cpp
+++ b/src/mbgl/style/source.cpp
@@ -31,6 +31,18 @@ void Source::setObserver(SourceObserver* observer_) {
observer = observer_ ? observer_ : &nullObserver;
}
+void Source::setPrefetchZoomDelta(optional<uint8_t> delta) noexcept {
+ if (getPrefetchZoomDelta() == delta) return;
+ auto newImpl = createMutable();
+ newImpl->setPrefetchZoomDelta(std::move(delta));
+ baseImpl = std::move(newImpl);
+ observer->onSourceChanged(*this);
+}
+
+optional<uint8_t> Source::getPrefetchZoomDelta() const noexcept {
+ return baseImpl->getPrefetchZoomDelta();
+}
+
void Source::dumpDebugLogs() const {
Log::Info(Event::General, "Source::id: %s", getID().c_str());
Log::Info(Event::General, "Source::loaded: %d", loaded);