summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/renderer_impl.cpp
diff options
context:
space:
mode:
authorAnsis Brammanis <ansis@mapbox.com>2017-11-10 11:32:37 -0500
committerChris Loer <chris.loer@mapbox.com>2017-11-17 10:05:15 -0800
commit22c07596a0c1e2cca12df730be4448bbe79be13d (patch)
tree6f50cda446e03660c6e34aae4122177cffd73fe9 /src/mbgl/renderer/renderer_impl.cpp
parent5bdee52e5c441e6daaae7cf9f320257d0ea3d031 (diff)
downloadqtlocation-mapboxgl-22c07596a0c1e2cca12df730be4448bbe79be13d.tar.gz
[core] Split MapMode::Still into Static and Tile
`Tile` makes sure the symbols in the resulting tile are tileable while symbols in `Still` match rendering in `Continuous` mode.
Diffstat (limited to 'src/mbgl/renderer/renderer_impl.cpp')
-rw-r--r--src/mbgl/renderer/renderer_impl.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp
index 529d1f438d..5d0ffed65f 100644
--- a/src/mbgl/renderer/renderer_impl.cpp
+++ b/src/mbgl/renderer/renderer_impl.cpp
@@ -59,7 +59,7 @@ Renderer::Impl::Impl(RendererBackend& backend_,
, layerImpls(makeMutable<std::vector<Immutable<style::Layer::Impl>>>())
, renderLight(makeMutable<Light::Impl>())
, crossTileSymbolIndex(std::make_unique<CrossTileSymbolIndex>())
- , placement(std::make_unique<Placement>(TransformState{}, MapMode::Still)) {
+ , placement(std::make_unique<Placement>(TransformState{}, MapMode::Static)) {
glyphManager->setObserver(this);
}
@@ -83,7 +83,7 @@ void Renderer::Impl::setObserver(RendererObserver* observer_) {
}
void Renderer::Impl::render(const UpdateParameters& updateParameters) {
- if (updateParameters.mode == MapMode::Still) {
+ if (updateParameters.mode != MapMode::Continuous) {
// Don't load/render anyting in still mode until explicitly requested.
if (!updateParameters.stillImageRequest) {
return;
@@ -260,7 +260,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
};
bool loaded = updateParameters.styleLoaded && isLoaded();
- if (updateParameters.mode == MapMode::Still && !loaded) {
+ if (updateParameters.mode != MapMode::Continuous && !loaded) {
return;
}
@@ -355,10 +355,8 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
sortedTilesForInsertion.emplace_back(tile);
tile.used = true;
- // We only need clipping when we're _not_ drawing a symbol layer. The only exception
- // for symbol layers is when we're rendering still images. See render_symbol_layer.cpp
- // for the exception we make there.
- if (!symbolLayer || parameters.mapMode == MapMode::Still) {
+ // We only need clipping when we're _not_ drawing a symbol layer.
+ if (!symbolLayer) {
tile.needsClipping = true;
}
}
@@ -368,7 +366,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
}
bool symbolBucketsChanged = false;
- if (parameters.mapMode == MapMode::Still) {
+ if (parameters.mapMode != MapMode::Continuous) {
// TODO: Think about right way for symbol index to handle still rendering
crossTileSymbolIndex->reset();
}