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>2017-11-24 19:16:29 +0300
committerRoman Kuznetsov <r.kuznetsow@gmail.com>2017-11-28 16:47:49 +0300
commit8a93bee586e89e88f72818fa151e3484fd0252ee (patch)
tree2fa72d87c017a9c3b57ca68828f5768ca6e93f6a /drape_frontend
parent00d5e176beca0185ae7785b41f35689be81c219d (diff)
Added min zoom level for user mark's title.
Diffstat (limited to 'drape_frontend')
-rw-r--r--drape_frontend/drape_engine.cpp1
-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
4 files changed, 6 insertions, 3 deletions
diff --git a/drape_frontend/drape_engine.cpp b/drape_frontend/drape_engine.cpp
index c2c311fa06..53fab55799 100644
--- a/drape_frontend/drape_engine.cpp
+++ b/drape_frontend/drape_engine.cpp
@@ -236,6 +236,7 @@ void DrapeEngine::UpdateUserMarksGroup(MarkGroupID groupId, UserMarksProvider *
renderInfo->m_depth = mark->GetDepth();
renderInfo->m_depthLayer = mark->GetDepthLayer();
renderInfo->m_minZoom = mark->GetMinZoom();
+ renderInfo->m_minTitleZoom = mark->GetMinTitleZoom();
renderInfo->m_isVisible = mark->IsVisible();
renderInfo->m_pivot = mark->GetPivot();
renderInfo->m_pixelOffset = mark->GetPixelOffset();
diff --git a/drape_frontend/user_mark_shapes.cpp b/drape_frontend/user_mark_shapes.cpp
index 2c3a28b373..579cf5a348 100644
--- a/drape_frontend/user_mark_shapes.cpp
+++ b/drape_frontend/user_mark_shapes.cpp
@@ -142,7 +142,7 @@ void CacheUserMarks(TileKey const & tileKey, ref_ptr<dp::TextureManager> texture
{
ColoredSymbolViewParams params = itSym->second;
if (params.m_shape == ColoredSymbolViewParams::Shape::Circle)
- symbolSize = m2::PointF(params.m_radiusInPixels, params.m_radiusInPixels);
+ symbolSize = m2::PointF(params.m_radiusInPixels * 2.0f, params.m_radiusInPixels * 2.0f);
else
symbolSize = params.m_sizeInPixels;
@@ -205,14 +205,14 @@ void CacheUserMarks(TileKey const & tileKey, ref_ptr<dp::TextureManager> texture
{
symbolSize = renderInfo.m_symbolSizes->at(static_cast<size_t>(tileKey.m_zoomLevel - 1)) * vs;
}
- else
+ else if (!symbolName.empty())
{
textures->GetSymbolRegion(symbolName, region);
symbolSize.x = max(region.GetPixelSize().x, symbolSize.x);
symbolSize.y = max(region.GetPixelSize().y, symbolSize.y);
}
- if (renderInfo.m_titleDecl != nullptr)
+ if (renderInfo.m_titleDecl != nullptr && renderInfo.m_minTitleZoom <= tileKey.m_zoomLevel)
{
for (auto const & titleDecl : *renderInfo.m_titleDecl)
{
diff --git a/drape_frontend/user_mark_shapes.hpp b/drape_frontend/user_mark_shapes.hpp
index 1686065234..b325b6ae92 100644
--- a/drape_frontend/user_mark_shapes.hpp
+++ b/drape_frontend/user_mark_shapes.hpp
@@ -16,6 +16,7 @@ namespace df
struct UserMarkRenderParams
{
int m_minZoom = 1;
+ int m_minTitleZoom = 1;
m2::PointD m_pivot = m2::PointD(0.0, 0.0);
m2::PointD m_pixelOffset = m2::PointD(0.0, 0.0);
dp::Anchor m_anchor = dp::Center;
diff --git a/drape_frontend/user_marks_provider.hpp b/drape_frontend/user_marks_provider.hpp
index 8685c764c2..b9892aad2f 100644
--- a/drape_frontend/user_marks_provider.hpp
+++ b/drape_frontend/user_marks_provider.hpp
@@ -66,6 +66,7 @@ public:
virtual bool HasSymbolPriority() const = 0;
virtual bool HasTitlePriority() const = 0;
virtual int GetMinZoom() const = 0;
+ virtual int GetMinTitleZoom() const = 0;
virtual FeatureID GetFeatureID() const = 0;
virtual bool HasCreationAnimation() const = 0;