diff options
author | Daria Volvenkova <d.volvenkova@corp.mail.ru> | 2018-11-27 20:56:28 +0300 |
---|---|---|
committer | Roman Kuznetsov <r.kuznetsow@gmail.com> | 2018-11-28 13:04:52 +0300 |
commit | 47767b1f181d076255c2b627cda21de32f3ff0cc (patch) | |
tree | a3711c697157fcfe59d391b07a2b67d8e8aa3cfc /drape_frontend | |
parent | 3d00128158a5684b2118fdef31f97f946a2c397f (diff) |
Fixed displacement of routing marks.
Diffstat (limited to 'drape_frontend')
-rw-r--r-- | drape_frontend/colored_symbol_shape.cpp | 4 | ||||
-rw-r--r-- | drape_frontend/drape_engine.cpp | 1 | ||||
-rw-r--r-- | drape_frontend/poi_symbol_shape.cpp | 4 | ||||
-rw-r--r-- | drape_frontend/shape_view_params.hpp | 4 | ||||
-rw-r--r-- | drape_frontend/text_shape.cpp | 6 | ||||
-rw-r--r-- | drape_frontend/transit_scheme_builder.cpp | 4 | ||||
-rw-r--r-- | drape_frontend/user_mark_shapes.cpp | 6 | ||||
-rw-r--r-- | drape_frontend/user_mark_shapes.hpp | 1 | ||||
-rw-r--r-- | drape_frontend/user_marks_provider.hpp | 1 |
9 files changed, 17 insertions, 14 deletions
diff --git a/drape_frontend/colored_symbol_shape.cpp b/drape_frontend/colored_symbol_shape.cpp index ae816e1caf..d45913bc6b 100644 --- a/drape_frontend/colored_symbol_shape.cpp +++ b/drape_frontend/colored_symbol_shape.cpp @@ -293,7 +293,7 @@ void ColoredSymbolShape::Draw(ref_ptr<dp::GraphicsContext> context, ref_ptr<dp:: } if (m_params.m_specialDisplacement == SpecialDisplacement::UserMark || - m_params.m_specialDisplacement == SpecialDisplacement::TransitScheme) + m_params.m_specialDisplacement == SpecialDisplacement::SpecialModeUserMark) { handle->SetSpecialLayerOverlay(true); } @@ -314,7 +314,7 @@ uint64_t ColoredSymbolShape::GetOverlayPriority() const { // Special displacement mode. if (m_params.m_specialDisplacement == SpecialDisplacement::SpecialMode || - m_params.m_specialDisplacement == SpecialDisplacement::TransitScheme) + m_params.m_specialDisplacement == SpecialDisplacement::SpecialModeUserMark) { return dp::CalculateSpecialModePriority(m_params.m_specialPriority); } diff --git a/drape_frontend/drape_engine.cpp b/drape_frontend/drape_engine.cpp index c52ef805bd..7f39627f7b 100644 --- a/drape_frontend/drape_engine.cpp +++ b/drape_frontend/drape_engine.cpp @@ -858,6 +858,7 @@ drape_ptr<UserMarkRenderParams> DrapeEngine::GenerateMarkRenderInfo(UserPointMar renderInfo->m_hasSymbolShapes = mark->HasSymbolShapes(); renderInfo->m_hasTitlePriority = mark->HasTitlePriority(); renderInfo->m_priority = mark->GetPriority(); + renderInfo->m_displacement = mark->GetDisplacement(); renderInfo->m_index = mark->GetIndex(); renderInfo->m_featureId = mark->GetFeatureID(); renderInfo->m_hasCreationAnimation = mark->HasCreationAnimation(); diff --git a/drape_frontend/poi_symbol_shape.cpp b/drape_frontend/poi_symbol_shape.cpp index e2a6384c9b..cc117549f9 100644 --- a/drape_frontend/poi_symbol_shape.cpp +++ b/drape_frontend/poi_symbol_shape.cpp @@ -165,7 +165,7 @@ drape_ptr<dp::OverlayHandle> PoiSymbolShape::CreateOverlayHandle(m2::PointF cons handle->SetPivotZ(m_params.m_posZ); handle->SetExtendingSize(m_params.m_extendingSize); if (m_params.m_specialDisplacement == SpecialDisplacement::UserMark || - m_params.m_specialDisplacement == SpecialDisplacement::TransitScheme) + m_params.m_specialDisplacement == SpecialDisplacement::SpecialModeUserMark) { handle->SetSpecialLayerOverlay(true); } @@ -181,7 +181,7 @@ uint64_t PoiSymbolShape::GetOverlayPriority() const // Special displacement mode. if (m_params.m_specialDisplacement == SpecialDisplacement::SpecialMode || - m_params.m_specialDisplacement == SpecialDisplacement::TransitScheme) + m_params.m_specialDisplacement == SpecialDisplacement::SpecialModeUserMark) { return dp::CalculateSpecialModePriority(m_params.m_specialPriority); } diff --git a/drape_frontend/shape_view_params.hpp b/drape_frontend/shape_view_params.hpp index 77db25a0df..b548d3defe 100644 --- a/drape_frontend/shape_view_params.hpp +++ b/drape_frontend/shape_view_params.hpp @@ -29,13 +29,13 @@ struct CommonViewParams m2::PointD m_tileCenter; }; -enum class SpecialDisplacement +enum class SpecialDisplacement : uint8_t { None, SpecialMode, UserMark, + SpecialModeUserMark, HouseNumber, - TransitScheme }; struct CommonOverlayViewParams : public CommonViewParams diff --git a/drape_frontend/text_shape.cpp b/drape_frontend/text_shape.cpp index 6fc2b7464c..3f78b6acc4 100644 --- a/drape_frontend/text_shape.cpp +++ b/drape_frontend/text_shape.cpp @@ -354,7 +354,7 @@ void TextShape::DrawSubStringPlain(ref_ptr<dp::GraphicsContext> context, handle->SetExtendingSize(m_params.m_extendingSize); if (m_params.m_specialDisplacement == SpecialDisplacement::UserMark || - m_params.m_specialDisplacement == SpecialDisplacement::TransitScheme) + m_params.m_specialDisplacement == SpecialDisplacement::SpecialModeUserMark) { handle->SetSpecialLayerOverlay(true); } @@ -417,7 +417,7 @@ void TextShape::DrawSubStringOutlined(ref_ptr<dp::GraphicsContext> context, handle->SetExtendingSize(m_params.m_extendingSize); if (m_params.m_specialDisplacement == SpecialDisplacement::UserMark || - m_params.m_specialDisplacement == SpecialDisplacement::TransitScheme) + m_params.m_specialDisplacement == SpecialDisplacement::SpecialModeUserMark) { handle->SetSpecialLayerOverlay(true); } @@ -437,7 +437,7 @@ uint64_t TextShape::GetOverlayPriority() const // Special displacement mode. if (m_params.m_specialDisplacement == SpecialDisplacement::SpecialMode || - m_params.m_specialDisplacement == SpecialDisplacement::TransitScheme) + m_params.m_specialDisplacement == SpecialDisplacement::SpecialModeUserMark) { return dp::CalculateSpecialModePriority(m_params.m_specialPriority); } diff --git a/drape_frontend/transit_scheme_builder.cpp b/drape_frontend/transit_scheme_builder.cpp index 6da0e315f6..a545329eee 100644 --- a/drape_frontend/transit_scheme_builder.cpp +++ b/drape_frontend/transit_scheme_builder.cpp @@ -746,7 +746,7 @@ void TransitSchemeBuilder::GenerateTitles(ref_ptr<dp::GraphicsContext> context, textParams.m_titleDecl.m_anchor = title.m_anchor; textParams.m_depthTestEnabled = false; textParams.m_depthLayer = DepthLayer::TransitSchemeLayer; - textParams.m_specialDisplacement = SpecialDisplacement::TransitScheme; + textParams.m_specialDisplacement = SpecialDisplacement::SpecialModeUserMark; textParams.m_specialPriority = priority; textParams.m_startOverlayRank = dp::OverlayRank0; textParams.m_minVisibleScale = minVisibleScale; @@ -762,7 +762,7 @@ void TransitSchemeBuilder::GenerateTitles(ref_ptr<dp::GraphicsContext> context, colorParams.m_tileCenter = pivot; colorParams.m_depthTestEnabled = false; colorParams.m_depthLayer = DepthLayer::TransitSchemeLayer; - colorParams.m_specialDisplacement = SpecialDisplacement::TransitScheme; + colorParams.m_specialDisplacement = SpecialDisplacement::SpecialModeUserMark; colorParams.m_specialPriority = static_cast<uint16_t>(Priority::Stub); colorParams.m_startOverlayRank = dp::OverlayRank0; diff --git a/drape_frontend/user_mark_shapes.cpp b/drape_frontend/user_mark_shapes.cpp index 8340553094..2d15ead4c0 100644 --- a/drape_frontend/user_mark_shapes.cpp +++ b/drape_frontend/user_mark_shapes.cpp @@ -170,7 +170,7 @@ void GenerateColoredSymbolShapes(ref_ptr<dp::GraphicsContext> context, params.m_depth = renderInfo.m_depth; params.m_depthLayer = renderInfo.m_depthLayer; params.m_minVisibleScale = renderInfo.m_minZoom; - params.m_specialDisplacement = SpecialDisplacement::UserMark; + params.m_specialDisplacement = renderInfo.m_displacement; params.m_specialPriority = renderInfo.m_priority; params.m_offset += offset; if (renderInfo.m_symbolSizes != nullptr) @@ -203,7 +203,7 @@ void GeneratePoiSymbolShape(ref_ptr<dp::GraphicsContext> context, params.m_depth = renderInfo.m_depth; params.m_depthLayer = renderInfo.m_depthLayer; params.m_minVisibleScale = renderInfo.m_minZoom; - params.m_specialDisplacement = SpecialDisplacement::UserMark; + params.m_specialDisplacement = renderInfo.m_displacement; params.m_specialPriority = renderInfo.m_priority; params.m_symbolName = symbolName; params.m_anchor = renderInfo.m_anchor; @@ -267,7 +267,7 @@ void GenerateTextShapes(ref_ptr<dp::GraphicsContext> context, uint32_t const overlayIndex = kStartUserMarkOverlayIndex + renderInfo.m_index; if (renderInfo.m_hasTitlePriority) { - params.m_specialDisplacement = SpecialDisplacement::UserMark; + params.m_specialDisplacement = renderInfo.m_displacement; params.m_specialPriority = renderInfo.m_priority; params.m_startOverlayRank = dp::OverlayRank0; if (renderInfo.m_hasSymbolShapes) diff --git a/drape_frontend/user_mark_shapes.hpp b/drape_frontend/user_mark_shapes.hpp index 432942fda9..51534d8a08 100644 --- a/drape_frontend/user_mark_shapes.hpp +++ b/drape_frontend/user_mark_shapes.hpp @@ -30,6 +30,7 @@ struct UserMarkRenderParams bool m_hasSymbolShapes = false; bool m_hasTitlePriority = false; uint16_t m_priority = 0; + SpecialDisplacement m_displacement = SpecialDisplacement::UserMark; uint32_t m_index = 0; bool m_depthTestEnabled = true; float m_depth = 0.0; diff --git a/drape_frontend/user_marks_provider.hpp b/drape_frontend/user_marks_provider.hpp index edc5866ef7..bd2487088d 100644 --- a/drape_frontend/user_marks_provider.hpp +++ b/drape_frontend/user_marks_provider.hpp @@ -71,6 +71,7 @@ public: virtual drape_ptr<SymbolSizes> GetSymbolSizes() const = 0; virtual drape_ptr<SymbolOffsets> GetSymbolOffsets() const = 0; virtual uint16_t GetPriority() const = 0; + virtual df::SpecialDisplacement GetDisplacement() const = 0; virtual uint32_t GetIndex() const = 0; virtual bool HasSymbolShapes() const = 0; virtual bool HasTitlePriority() const = 0; |