summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/tile_pyramid.cpp
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2020-04-20 13:15:12 +0300
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2020-04-20 21:54:31 +0300
commit183a634b626cd2a7f6de85108e6852cf03f80bf3 (patch)
treebd4c0e7d1c95446cd995d678aee4dee9430841ff /src/mbgl/renderer/tile_pyramid.cpp
parent9a698fe3b1a64777835d4d5409c1ff5c43ea2aee (diff)
downloadqtlocation-mapboxgl-183a634b626cd2a7f6de85108e6852cf03f80bf3.tar.gz
[core] TilePyramid::update accepts source impl
Diffstat (limited to 'src/mbgl/renderer/tile_pyramid.cpp')
-rw-r--r--src/mbgl/renderer/tile_pyramid.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mbgl/renderer/tile_pyramid.cpp b/src/mbgl/renderer/tile_pyramid.cpp
index 57086cb915..013e6a7f37 100644
--- a/src/mbgl/renderer/tile_pyramid.cpp
+++ b/src/mbgl/renderer/tile_pyramid.cpp
@@ -53,13 +53,11 @@ void TilePyramid::update(const std::vector<Immutable<style::LayerProperties>>& l
const bool needsRendering,
const bool needsRelayout,
const TileParameters& parameters,
- const SourceType type,
+ const style::Source::Impl& sourceImpl,
const uint16_t tileSize,
const Range<uint8_t> zoomRange,
optional<LatLngBounds> bounds,
- std::function<std::unique_ptr<Tile>(const OverscaledTileID&)> createTile,
- const optional<uint8_t>& sourcePrefetchZoomDelta,
- const optional<uint8_t>& maxParentTileOverscaleFactor) {
+ std::function<std::unique_ptr<Tile>(const OverscaledTileID&)> createTile) {
// If we need a relayout, abandon any cached tiles; they're now stale.
if (needsRelayout) {
cache.clear();
@@ -86,11 +84,15 @@ void TilePyramid::update(const std::vector<Immutable<style::LayerProperties>>& l
handleWrapJump(parameters.transformState.getLatLng().longitude());
+ const auto type = sourceImpl.type;
// Determine the overzooming/underzooming amounts and required tiles.
int32_t overscaledZoom = util::coveringZoomLevel(parameters.transformState.getZoom(), type, tileSize);
int32_t tileZoom = overscaledZoom;
int32_t panZoom = zoomRange.max;
+ const optional<uint8_t>& sourcePrefetchZoomDelta = sourceImpl.getPrefetchZoomDelta();
+ const optional<uint8_t>& maxParentTileOverscaleFactor = sourceImpl.getMaxOverscaleFactorForParentTiles();
+
std::vector<OverscaledTileID> idealTiles;
std::vector<OverscaledTileID> panTiles;