diff --git a/map/framework.cpp b/map/framework.cpp index 39ab897c6a..0df242a6ec 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -68,7 +68,7 @@ void Framework::OnGpsUpdate(location::GpsInfo const & info) m_centeringMode = ECenterOnly; } else if (m_centeringMode == ECenterOnly) - CenterViewport(m_locationState.Position()); + SetViewportCenter(m_locationState.Position()); Invalidate(); } } @@ -385,7 +385,13 @@ void Framework::DoPaint(shared_ptr const & e) } template -void Framework::CenterViewport(m2::PointD const & pt) +m2::PointD Framework::GetViewportCenter() const +{ + return m_navigator.Screen().GlobalRect().Center(); +} + +template +void Framework::SetViewportCenter(m2::PointD const & pt) { m_navigator.CenterViewport(pt); Invalidate(); diff --git a/map/framework.hpp b/map/framework.hpp index 2f3f711532..eeb9fa2562 100644 --- a/map/framework.hpp +++ b/map/framework.hpp @@ -209,6 +209,9 @@ public: double GetCurrentScale() const; + m2::PointD GetViewportCenter() const; + void SetViewportCenter(m2::PointD const & pt); + bool NeedRedraw() const; void SetNeedRedraw(bool flag); @@ -218,8 +221,6 @@ public: virtual void EndPaint(shared_ptr const & e); - void CenterViewport(m2::PointD const & pt); - void ShowRect(m2::RectD rect); void MemoryWarning(); diff --git a/map/navigator.hpp b/map/navigator.hpp index 3ed1b168ac..4f5f0c08e7 100644 --- a/map/navigator.hpp +++ b/map/navigator.hpp @@ -1,11 +1,9 @@ #pragma once + #include "../geometry/screenbase.hpp" #include "../base/matrix.hpp" -#include "../base/start_mem_debug.hpp" - - class FileReader; template class ReaderSource; class FileWriter; @@ -101,5 +99,3 @@ private: // Used in DoScale and ScaleByPoint bool ScaleImpl(m2::PointD const & newPt1, m2::PointD const & newPt2, m2::PointD const & oldPt1, m2::PointD const & oldPt2, bool skipMaxScaleAndBordersCheck); }; - -#include "../base/stop_mem_debug.hpp"