diff options
author | Daria Volvenkova <d.volvenkova@corp.mail.ru> | 2017-11-24 19:16:29 +0300 |
---|---|---|
committer | Roman Kuznetsov <r.kuznetsow@gmail.com> | 2017-11-28 16:47:49 +0300 |
commit | 8a93bee586e89e88f72818fa151e3484fd0252ee (patch) | |
tree | 2fa72d87c017a9c3b57ca68828f5768ca6e93f6a /drape_frontend | |
parent | 00d5e176beca0185ae7785b41f35689be81c219d (diff) |
Added min zoom level for user mark's title.
Diffstat (limited to 'drape_frontend')
-rw-r--r-- | drape_frontend/drape_engine.cpp | 1 | ||||
-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 |
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; |