From 19a96b73219b98a431e5dcb5c1df47856450241f Mon Sep 17 00:00:00 2001 From: Roman Sorokin Date: Wed, 30 Jul 2014 13:46:12 +0300 Subject: [PATCH] added capability to get scale --- drape_frontend/rule_drawer.cpp | 7 ++++++- drape_frontend/rule_drawer.hpp | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/drape_frontend/rule_drawer.cpp b/drape_frontend/rule_drawer.cpp index d951585cb7..38acf6b5bf 100644 --- a/drape_frontend/rule_drawer.cpp +++ b/drape_frontend/rule_drawer.cpp @@ -23,6 +23,11 @@ RuleDrawer::RuleDrawer(drawer_callback_fn const & fn, TileKey const & tileKey, E int32_t tileSize = df::VisualParams::Instance().GetTileSize(); m_geometryConvertor.OnSize(0, 0, tileSize, tileSize); m_geometryConvertor.SetFromRect(m2::AnyRectD(m_globalRect)); + + int nextDrawScale = df::GetDrawTileScale(m_globalRect) + 1; + m2::RectD nextScaleRect = df::GetRectForDrawScale(nextDrawScale, m_globalRect.Center()); + ScreenBase nextScaleScreen(m2::RectI(m_geometryConvertor.PixelRect()), m2::AnyRectD(nextScaleRect)); + m_nextModelViewScale = nextScaleScreen.GetScale(); } void RuleDrawer::operator()(FeatureType const & f) @@ -59,7 +64,7 @@ void RuleDrawer::operator()(FeatureType const & f) } else if (s.LineStyleExists()) { - ApplyLineFeature apply(m_context, m_tileKey, f.GetID()); + ApplyLineFeature apply(m_context, m_tileKey, f.GetID(), m_nextModelViewScale); f.ForEachPointRef(apply, m_tileKey.m_zoomLevel); if (apply.HasGeometry()) diff --git a/drape_frontend/rule_drawer.hpp b/drape_frontend/rule_drawer.hpp index 8fadc3ddea..38d97e92ff 100644 --- a/drape_frontend/rule_drawer.hpp +++ b/drape_frontend/rule_drawer.hpp @@ -33,6 +33,7 @@ private: EngineContext & m_context; m2::RectD m_globalRect; ScreenBase m_geometryConvertor; + double m_nextModelViewScale; set m_coastlines; };