Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaria Volvenkova <d.volvenkova@corp.mail.ru>2016-06-20 17:02:44 +0300
committerDaria Volvenkova <d.volvenkova@corp.mail.ru>2016-07-07 15:31:08 +0300
commit500c4a0e51272e651c01a23d5f016d3bdf4b23c5 (patch)
treecb4d0df9dcc34f1a2ad14a1a22c8ca18154ed7f7 /drape_frontend
parentfdf4f75816a9ba288d3d0d5108f13054890ad555 (diff)
Fixed manual scaling in follow and follow-and-rotate modes.
Diffstat (limited to 'drape_frontend')
-rwxr-xr-xdrape_frontend/frontend_renderer.cpp2
-rw-r--r--drape_frontend/my_position_controller.cpp2
-rw-r--r--drape_frontend/my_position_controller.hpp2
-rw-r--r--drape_frontend/screen_operations.cpp5
4 files changed, 4 insertions, 7 deletions
diff --git a/drape_frontend/frontend_renderer.cpp b/drape_frontend/frontend_renderer.cpp
index d8c9010db5..7260363d4e 100755
--- a/drape_frontend/frontend_renderer.cpp
+++ b/drape_frontend/frontend_renderer.cpp
@@ -816,10 +816,10 @@ void FrontendRenderer::OnResize(ScreenBase const & screen)
bool const viewportChanged = !m2::IsEqualSize(m_lastReadedModelView.PixelRectIn3d(), viewportRect, kEps, kEps);
m_myPositionController->UpdatePixelPosition(screen);
- m_myPositionController->OnNewPixelRect();
if (viewportChanged)
{
+ m_myPositionController->OnNewViewportRect();
m_viewport.SetViewport(0, 0, viewportRect.SizeX(), viewportRect.SizeY());
m_contextFactory->getDrawContext()->resize(viewportRect.SizeX(), viewportRect.SizeY());
m_framebuffer->SetSize(viewportRect.SizeX(), viewportRect.SizeY());
diff --git a/drape_frontend/my_position_controller.cpp b/drape_frontend/my_position_controller.cpp
index 5d91c921d4..29bbf6e6c4 100644
--- a/drape_frontend/my_position_controller.cpp
+++ b/drape_frontend/my_position_controller.cpp
@@ -103,7 +103,7 @@ MyPositionController::~MyPositionController()
{
}
-void MyPositionController::OnNewPixelRect()
+void MyPositionController::OnNewViewportRect()
{
UpdateViewport(kDoNotChangeZoom);
}
diff --git a/drape_frontend/my_position_controller.hpp b/drape_frontend/my_position_controller.hpp
index e93b6e9fff..f8516cdd88 100644
--- a/drape_frontend/my_position_controller.hpp
+++ b/drape_frontend/my_position_controller.hpp
@@ -47,7 +47,7 @@ public:
bool isFirstLaunch, bool isRoutingActive);
~MyPositionController();
- void OnNewPixelRect();
+ void OnNewViewportRect();
void UpdatePixelPosition(ScreenBase const & screen);
void SetListener(ref_ptr<Listener> listener);
diff --git a/drape_frontend/screen_operations.cpp b/drape_frontend/screen_operations.cpp
index acc083dedc..7e5dd93133 100644
--- a/drape_frontend/screen_operations.cpp
+++ b/drape_frontend/screen_operations.cpp
@@ -240,13 +240,10 @@ ScreenBase const ShrinkAndScaleInto(ScreenBase const & screen, m2::RectD boundRe
bool ApplyScale(m2::PointD const & pixelScaleCenter, double factor, ScreenBase & screen)
{
m2::PointD const globalScaleCenter = screen.PtoG(screen.P3dtoP(pixelScaleCenter));
- m2::PointD const pixelCenterOffset = screen.PixelRect().Center() - screen.P3dtoP(pixelScaleCenter);
ScreenBase tmp = screen;
tmp.Scale(factor);
-
- m2::PointD newCenter = tmp.PtoG(tmp.GtoP(globalScaleCenter) + pixelCenterOffset);
- tmp.SetOrg(newCenter);
+ tmp.MatchGandP3d(globalScaleCenter, pixelScaleCenter);
if (!CheckMinScale(tmp))
return false;