diff --git a/drape_frontend/drape_engine.cpp b/drape_frontend/drape_engine.cpp index 6447a961dc..d7faf6f512 100644 --- a/drape_frontend/drape_engine.cpp +++ b/drape_frontend/drape_engine.cpp @@ -10,11 +10,9 @@ namespace df { -void Dummy() {} - DrapeEngine::DrapeEngine(RefPointer contextfactory, double vs, Viewport const & viewport) : m_viewport(viewport) - , m_navigator(m_scales, bind(&Dummy)) + , m_navigator(m_scales) { GLFunctions::Init(); VisualParams::Init(vs, df::CalculateTileSize(m_viewport.GetWidth(), m_viewport.GetHeight())); diff --git a/map/framework.cpp b/map/framework.cpp index 70f7741038..73639b534c 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -176,7 +176,7 @@ static void GetResourcesMaps(vector & outMaps) } Framework::Framework() - : m_navigator(m_scales, bind(&Framework::Invalidate, this, false)), + : m_navigator(m_scales), m_animator(this), m_queryMaxScaleMode(false), m_width(0), @@ -664,7 +664,7 @@ void Framework::DrawAdditionalInfo(shared_ptr const & e) int drawScale = GetDrawScale(); m_informationDisplay.setDebugInfo(0, drawScale); - m_informationDisplay.enableRuler(m_navigator.InAction() && drawScale > 5); + m_informationDisplay.enableRuler(drawScale > 4); #ifdef DEBUG m_informationDisplay.enableDebugInfo(true); #endif diff --git a/map/map_tests/navigator_test.cpp b/map/map_tests/navigator_test.cpp index 9902089e4f..ce037c5838 100644 --- a/map/map_tests/navigator_test.cpp +++ b/map/map_tests/navigator_test.cpp @@ -7,11 +7,6 @@ #include "../../std/cmath.hpp" #include "../../std/bind.hpp" -namespace -{ - void Dummy() {} -} - // -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // @@ -36,7 +31,7 @@ namespace UNIT_TEST(Navigator_Scale2Points) { ScalesProcessor scales; - Navigator navigator(scales, bind(&Dummy)); + Navigator navigator(scales); navigator.OnSize(0, 0, 200, 100); navigator.SetFromRect(m2::AnyRectD(m2::RectD(0, 0, 8, 4))); @@ -75,7 +70,7 @@ namespace UNIT_TEST(Navigator_G2P_P2G) { ScalesProcessor scales; - Navigator navigator(scales, bind(&Dummy)); + Navigator navigator(scales); // Initialize. navigator.OnSize(0, 0, 200, 100); diff --git a/map/navigator.cpp b/map/navigator.cpp index 6c6fd90637..8d5d48b881 100644 --- a/map/navigator.cpp +++ b/map/navigator.cpp @@ -28,12 +28,10 @@ namespace } } -Navigator::Navigator(ScalesProcessor const & scales, const invalidate_fn & invalidateFn) +Navigator::Navigator(ScalesProcessor const & scales) : m_scales(scales), m_InAction(false), - m_InMomentScaleAction(false), - m_DoSupportRotation(false), - m_invalidateFn(invalidateFn) + m_DoSupportRotation(false) { } @@ -383,7 +381,7 @@ void Navigator::StopDrag(m2::PointD const & pt, double timeInSec, bool /*animate bool Navigator::InAction() const { - return m_InAction || m_InMomentScaleAction; + return m_InAction; } void Navigator::StartScale(m2::PointD const & pt1, m2::PointD const & pt2, double /*timeInSec*/) @@ -431,7 +429,6 @@ void Navigator::ScaleToPoint(m2::PointD const & pt, double factor, double /*time } ScaleImpl(pt, endPt, pt, startPt, factor > 1, false); - StartMomentScaleReseter(); } bool Navigator::CheckMinScale(ScreenBase const & screen) const @@ -492,25 +489,6 @@ bool Navigator::ScaleImpl(m2::PointD const & newPt1, m2::PointD const & newPt2, return true; } -void Navigator::ResetMomentScaleAction() -{ - m_InMomentScaleAction = false; - m_invalidateFn(); -} - -void Navigator::StartMomentScaleReseter() -{ - KillMomentScaleReseter(); - m_InMomentScaleAction = true; - m_reseterTask.reset(new ScheduledTask(bind(&Navigator::ResetMomentScaleAction, this), 250)); -} - -void Navigator::KillMomentScaleReseter() -{ - if (m_reseterTask) - m_reseterTask->CancelBlocking(); -} - void Navigator::DoScale(m2::PointD const & pt1, m2::PointD const & pt2, double /*timeInSec*/) { if (m_LastPt1 == pt1 && m_LastPt2 == pt2) diff --git a/map/navigator.hpp b/map/navigator.hpp index b0a16b597c..d145cb4be5 100644 --- a/map/navigator.hpp +++ b/map/navigator.hpp @@ -14,8 +14,7 @@ class Navigator { public: - typedef function invalidate_fn; - Navigator(ScalesProcessor const & scales, invalidate_fn const & invalidateFn); + Navigator(ScalesProcessor const & scales); void SetFromRect(m2::AnyRectD const & r); void CenterViewport(m2::PointD const & p); @@ -113,7 +112,6 @@ private: math::Matrix m_DeltaMatrix; // Flag, which indicates, whether we are in the middle of some action. bool m_InAction; - bool m_InMomentScaleAction; // Does Navigator supports screen rotation. bool m_DoSupportRotation; // Should we check for threshold while scaling by two fingers. @@ -127,11 +125,4 @@ private: m2::PointD const & oldPt2, bool skipMinScaleAndBordersCheck, bool doRotateScreen); - - void ResetMomentScaleAction(); - void StartMomentScaleReseter(); - void KillMomentScaleReseter(); - - scoped_ptr m_reseterTask; - invalidate_fn m_invalidateFn; };