From 2bd7e4550296ce5f58abef93667bb92464317dc9 Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Wed, 3 Jun 2015 19:17:49 -0400 Subject: [PATCH] fix collision box clipping and name parameters when it's not clear from their type --- README.md | 1 + src/mbgl/map/live_tile_data.hpp | 6 +++--- src/mbgl/map/vector_tile_data.hpp | 6 +++--- src/mbgl/renderer/painter_symbol.cpp | 21 +++++++++++---------- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 123c507c9..389f03242 100644 --- a/README.md +++ b/README.md @@ -247,6 +247,7 @@ Some styles in JSON format are included at `./styles`. See the [style spec](http - Press `X` to reset the transform - Press `N` to reset north - Press `Tab` to toggle debug information +- Press 'C' to toggle symbol collision debug boxes - Press `Esc` to quit ## Mobile diff --git a/src/mbgl/map/live_tile_data.hpp b/src/mbgl/map/live_tile_data.hpp index 7066fe13c..4dfe832f6 100644 --- a/src/mbgl/map/live_tile_data.hpp +++ b/src/mbgl/map/live_tile_data.hpp @@ -17,9 +17,9 @@ public: SpriteAtlas&, util::ptr, const SourceInfo&, - float, - float, - bool); + float overscaling_, + float angle_, + bool collisionDebug_); ~LiveTileData(); void parse() override; diff --git a/src/mbgl/map/vector_tile_data.hpp b/src/mbgl/map/vector_tile_data.hpp index bb60668c8..2c7c3a204 100644 --- a/src/mbgl/map/vector_tile_data.hpp +++ b/src/mbgl/map/vector_tile_data.hpp @@ -39,9 +39,9 @@ public: SpriteAtlas&, util::ptr, const SourceInfo&, - float, - float, - bool); + float overscaling_, + float angle_, + bool collisionDebug_); ~VectorTileData(); void parse() override; diff --git a/src/mbgl/renderer/painter_symbol.cpp b/src/mbgl/renderer/painter_symbol.cpp index 9710120a0..dea6b8a6e 100644 --- a/src/mbgl/renderer/painter_symbol.cpp +++ b/src/mbgl/renderer/painter_symbol.cpp @@ -119,16 +119,6 @@ void Painter::renderSymbol(SymbolBucket &bucket, const StyleLayer &layer_desc, c const auto &properties = layer_desc.getProperties(); const auto &layout = bucket.layout; - // TODO remove the `|| true` when #1673 is implemented - const bool drawAcrossEdges = !(layout.text.allow_overlap || layout.icon.allow_overlap || - layout.text.ignore_placement || layout.icon.ignore_placement) || true; - - // Disable the stencil test so that labels aren't clipped to tile boundaries. - // - // Layers with features that may be drawn overlapping aren't clipped. These - // layers are sorted in the y direction, and to draw the correct ordering near - // tile edges the icons are included in both tiles and clipped when drawing. - config.stencilTest = drawAcrossEdges ? false : true; config.depthTest = true; config.depthMask = GL_FALSE; @@ -149,6 +139,17 @@ void Painter::renderSymbol(SymbolBucket &bucket, const StyleLayer &layer_desc, c } + // TODO remove the `|| true` when #1673 is implemented + const bool drawAcrossEdges = !(layout.text.allow_overlap || layout.icon.allow_overlap || + layout.text.ignore_placement || layout.icon.ignore_placement) || true; + + // Disable the stencil test so that labels aren't clipped to tile boundaries. + // + // Layers with features that may be drawn overlapping aren't clipped. These + // layers are sorted in the y direction, and to draw the correct ordering near + // tile edges the icons are included in both tiles and clipped when drawing. + config.stencilTest = drawAcrossEdges ? false : true; + if (bucket.hasIconData()) { bool sdf = bucket.sdfIcons;