Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaria Volvenkova <d.volvenkova@corp.mail.ru>2018-11-27 20:56:28 +0300
committerRoman Kuznetsov <r.kuznetsow@gmail.com>2018-11-28 13:04:52 +0300
commit47767b1f181d076255c2b627cda21de32f3ff0cc (patch)
treea3711c697157fcfe59d391b07a2b67d8e8aa3cfc /drape_frontend
parent3d00128158a5684b2118fdef31f97f946a2c397f (diff)
Fixed displacement of routing marks.
Diffstat (limited to 'drape_frontend')
-rw-r--r--drape_frontend/colored_symbol_shape.cpp4
-rw-r--r--drape_frontend/drape_engine.cpp1
-rw-r--r--drape_frontend/poi_symbol_shape.cpp4
-rw-r--r--drape_frontend/shape_view_params.hpp4
-rw-r--r--drape_frontend/text_shape.cpp6
-rw-r--r--drape_frontend/transit_scheme_builder.cpp4
-rw-r--r--drape_frontend/user_mark_shapes.cpp6
-rw-r--r--drape_frontend/user_mark_shapes.hpp1
-rw-r--r--drape_frontend/user_marks_provider.hpp1
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;