From 6415731b34290c63e7d3229622258478b498020b Mon Sep 17 00:00:00 2001 From: vng Date: Fri, 19 Jul 2013 18:09:09 +0300 Subject: [PATCH] Do ChangeViewportTask according to our common rules (9 zoom when no country under viewport). --- map/change_viewport_task.cpp | 15 ++++++--------- map/change_viewport_task.hpp | 2 +- map/framework.cpp | 13 +++++-------- map/framework.hpp | 2 +- 4 files changed, 13 insertions(+), 19 deletions(-) diff --git a/map/change_viewport_task.cpp b/map/change_viewport_task.cpp index 9d6cf7d5eb..70e79c1033 100644 --- a/map/change_viewport_task.cpp +++ b/map/change_viewport_task.cpp @@ -4,25 +4,22 @@ ChangeViewportTask::ChangeViewportTask(m2::AnyRectD const & startRect, m2::AnyRectD const & endRect, double rotationSpeed, - Framework *framework) - : anim::AnyRectInterpolation(startRect, - endRect, - rotationSpeed, - m_outRect), + Framework * framework) + : BaseT(startRect, endRect, rotationSpeed, m_outRect), m_framework(framework) { } void ChangeViewportTask::OnStep(double ts) { - anim::AnyRectInterpolation::OnStep(ts); - m_framework->GetNavigator().SetFromRect(m_outRect); + BaseT::OnStep(ts); + m_framework->ShowRectExVisibleScale(m_outRect.GetGlobalRect()); } void ChangeViewportTask::OnEnd(double ts) { - anim::AnyRectInterpolation::OnEnd(ts); - m_framework->GetNavigator().SetFromRect(m_outRect); + BaseT::OnEnd(ts); + m_framework->ShowRectExVisibleScale(m_outRect.GetGlobalRect()); } bool ChangeViewportTask::IsVisual() const diff --git a/map/change_viewport_task.hpp b/map/change_viewport_task.hpp index 73f15061d7..c433c86566 100644 --- a/map/change_viewport_task.hpp +++ b/map/change_viewport_task.hpp @@ -6,7 +6,7 @@ class Framework; class ChangeViewportTask : public anim::AnyRectInterpolation { -private: + typedef anim::AnyRectInterpolation BaseT; Framework * m_framework; m2::AnyRectD m_outRect; diff --git a/map/framework.cpp b/map/framework.cpp index c9429a621c..0746a7ecfc 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -1379,7 +1379,7 @@ bool Framework::SetViewportByURL(string const & url, url_scheme::ApiPoint & ball balloonPoint.m_name = m_stringsBundle.GetString("dropped_pin"); balloonPoint.m_lat = info.m_lat; balloonPoint.m_lon = info.m_lon; - SetViewPortSync(info.GetViewport()); + SetViewPortASync(info.GetViewport()); return true; } } @@ -1394,7 +1394,7 @@ bool Framework::SetViewportByURL(string const & url, url_scheme::ApiPoint & ball balloonPoint.m_name = m_stringsBundle.GetString("dropped_pin"); m2::PointD const center(MercatorBounds::LonToX(balloonPoint.m_lon), MercatorBounds::LatToY(balloonPoint.m_lat)); - SetViewPortSync(m_scales.GetRectForDrawScale(zoomLevel, center)); + SetViewPortASync(m_scales.GetRectForDrawScale(zoomLevel, center)); return true; } } @@ -1404,7 +1404,7 @@ bool Framework::SetViewportByURL(string const & url, url_scheme::ApiPoint & ball { StopLocationFollow(); // Can do better consider nav bar size - SetViewPortSync(MercatorBounds::FromLatLonRect(m_ParsedMapApi.GetLatLonRect())); + SetViewPortASync(MercatorBounds::FromLatLonRect(m_ParsedMapApi.GetLatLonRect())); if (!m_ParsedMapApi.GetPoints().empty()) { @@ -1416,12 +1416,9 @@ bool Framework::SetViewportByURL(string const & url, url_scheme::ApiPoint & ball return false; } -void Framework::SetViewPortSync(m2::RectD rect) +void Framework::SetViewPortASync(m2::RectD const & r) { - CheckMinMaxVisibleScale(rect); - - m2::AnyRectD aRect(rect); - CheckMinGlobalRect(aRect); + m2::AnyRectD const aRect(r); m_animator.ChangeViewport(aRect, aRect, 0.0); } diff --git a/map/framework.hpp b/map/framework.hpp index 9123338113..4a5b46efc8 100644 --- a/map/framework.hpp +++ b/map/framework.hpp @@ -442,7 +442,7 @@ public: private: url_scheme::ParsedMapApi m_ParsedMapApi; void DrawMapApiPoints(shared_ptr const & e); - void SetViewPortSync(m2::RectD rect); + void SetViewPortASync(m2::RectD const & rect); public: void MapApiSetUriAndParse(string const & url);