summaryrefslogtreecommitdiff
path: root/src/mbgl/map
diff options
context:
space:
mode:
authorChris Loer <chris.loer@gmail.com>2018-09-06 14:58:37 -0700
committerChris Loer <chris.loer@mapbox.com>2018-09-12 14:10:46 -0700
commitd735d89835fb3076e09594fce2a141fe1495e33f (patch)
tree36fb80484b3952fb730fd34a77439d303d002cdc /src/mbgl/map
parent079ba0209ed383c15123902f0810e658c2b0abf4 (diff)
downloadqtlocation-mapboxgl-d735d89835fb3076e09594fce2a141fe1495e33f.tar.gz
[core] Port "collision group" plumbing to gl-native.
[node] Hook up map-wide "crossSourceCollisions" option, defaulting to true. [test] Pass "crossSourceCollisions" test option through test harness; enable cross-source-collisions tests on native.
Diffstat (limited to 'src/mbgl/map')
-rw-r--r--src/mbgl/map/map.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp
index ddac5c5c8f..9d886cb74c 100644
--- a/src/mbgl/map/map.cpp
+++ b/src/mbgl/map/map.cpp
@@ -44,7 +44,8 @@ public:
Scheduler&,
MapMode,
ConstrainMode,
- ViewportMode);
+ ViewportMode,
+ bool);
~Impl();
@@ -73,6 +74,7 @@ public:
const MapMode mode;
const float pixelRatio;
+ const bool crossSourceCollisions;
MapDebugOptions debugOptions { MapDebugOptions::NoDebug };
@@ -96,7 +98,8 @@ Map::Map(RendererFrontend& rendererFrontend,
Scheduler& scheduler,
MapMode mapMode,
ConstrainMode constrainMode,
- ViewportMode viewportMode)
+ ViewportMode viewportMode,
+ bool crossSourceCollisions)
: impl(std::make_unique<Impl>(*this,
rendererFrontend,
mapObserver,
@@ -105,7 +108,8 @@ Map::Map(RendererFrontend& rendererFrontend,
scheduler,
mapMode,
constrainMode,
- viewportMode)) {
+ viewportMode,
+ crossSourceCollisions)) {
impl->transform.resize(size);
}
@@ -117,7 +121,8 @@ Map::Impl::Impl(Map& map_,
Scheduler& scheduler_,
MapMode mode_,
ConstrainMode constrainMode_,
- ViewportMode viewportMode_)
+ ViewportMode viewportMode_,
+ bool crossSourceCollisions_)
: map(map_),
observer(mapObserver),
rendererFrontend(frontend),
@@ -128,6 +133,7 @@ Map::Impl::Impl(Map& map_,
viewportMode_),
mode(mode_),
pixelRatio(pixelRatio_),
+ crossSourceCollisions(crossSourceCollisions_),
style(std::make_unique<Style>(scheduler, fileSource, pixelRatio)),
annotationManager(*style) {
@@ -783,7 +789,8 @@ void Map::Impl::onUpdate() {
style->impl->getLayerImpls(),
annotationManager,
prefetchZoomDelta,
- bool(stillImageRequest)
+ bool(stillImageRequest),
+ crossSourceCollisions
};
rendererFrontend.update(std::make_shared<UpdateParameters>(std::move(params)));