From 854321aeb9af273fcc17477aeed4be81ae9ccdf6 Mon Sep 17 00:00:00 2001 From: "r.kuznetsov" Date: Tue, 15 Mar 2016 16:03:24 +0300 Subject: [PATCH] Fixed geometry duplication --- drape_frontend/frontend_renderer.cpp | 4 ++-- drape_frontend/rule_drawer.cpp | 6 ++++-- drape_frontend/text_shape.cpp | 3 +++ drape_frontend/text_shape.hpp | 5 +++++ 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/drape_frontend/frontend_renderer.cpp b/drape_frontend/frontend_renderer.cpp index 5cd2d1fc3c..25177b5cb8 100755 --- a/drape_frontend/frontend_renderer.cpp +++ b/drape_frontend/frontend_renderer.cpp @@ -1353,8 +1353,8 @@ void FrontendRenderer::ResolveTileKeys(m2::RectD const & rect, TTilesCollection { TileKey const & key = group->GetTileKey(); return group->GetTileKey().m_zoomLevel == m_currentZoomLevel && - (key.m_x < result.m_minTileX || key.m_x > result.m_maxTileX || - key.m_y < result.m_minTileY || key.m_y > result.m_maxTileY || + (key.m_x < result.m_minTileX || key.m_x >= result.m_maxTileX || + key.m_y < result.m_minTileY || key.m_y >= result.m_maxTileY || find(tilesToDelete.begin(), tilesToDelete.end(), key) != tilesToDelete.end()); }; for (RenderLayer & layer : m_layers) diff --git a/drape_frontend/rule_drawer.cpp b/drape_frontend/rule_drawer.cpp index f7a8756989..c2e63fa7d3 100644 --- a/drape_frontend/rule_drawer.cpp +++ b/drape_frontend/rule_drawer.cpp @@ -254,14 +254,16 @@ void RuleDrawer::operator()(FeatureType const & f) df::TextViewParams tp; tp.m_anchor = dp::Center; - tp.m_depth = 0; + tp.m_depth = 20000; tp.m_primaryText = strings::to_string(key.m_x) + " " + strings::to_string(key.m_y) + " " + strings::to_string(key.m_zoomLevel); tp.m_primaryTextFont = dp::FontDecl(dp::Color::Red(), 30); - insertShape(make_unique_dp(r.Center(), tp, false, 0, true)); + drape_ptr textShape = make_unique_dp(r.Center(), tp, false, 0, false); + textShape->DisableDisplacing(); + insertShape(move(textShape)); #endif if (CheckCancelled()) diff --git a/drape_frontend/text_shape.cpp b/drape_frontend/text_shape.cpp index ca72b4337f..84250d9ecd 100644 --- a/drape_frontend/text_shape.cpp +++ b/drape_frontend/text_shape.cpp @@ -278,6 +278,9 @@ void TextShape::DrawSubStringOutlined(StraightTextLayout const & layout, dp::Fon uint64_t TextShape::GetOverlayPriority() const { + if (m_disableDisplacing) + return dp::kPriorityMaskAll; + // Set up minimal priority for marks which substitute texts. if (m_params.m_hasMark) return 0; diff --git a/drape_frontend/text_shape.hpp b/drape_frontend/text_shape.hpp index e95466245b..5df93d775f 100644 --- a/drape_frontend/text_shape.hpp +++ b/drape_frontend/text_shape.hpp @@ -20,6 +20,9 @@ public: void Draw(ref_ptr batcher, ref_ptr textures) const override; MapShapeType GetType() const override { return MapShapeType::OverlayType; } + // Only for testing purposes! + void DisableDisplacing() { m_disableDisplacing = true; } + private: void DrawSubString(StraightTextLayout const & layout, dp::FontDecl const & font, glsl::vec2 const & baseOffset, ref_ptr batcher, @@ -39,6 +42,8 @@ private: bool m_hasPOI; bool m_affectedByZoomPriority; size_t m_textIndex; + + bool m_disableDisplacing = false; }; } // namespace df