diff --git a/drape_frontend/frontend_renderer.cpp b/drape_frontend/frontend_renderer.cpp index e71407b4da..91df0f0d46 100755 --- a/drape_frontend/frontend_renderer.cpp +++ b/drape_frontend/frontend_renderer.cpp @@ -569,7 +569,7 @@ void FrontendRenderer::OnResize(ScreenBase const & screen) m2::RectD const viewportRect = screen.isPerspective() ? screen.PixelRectIn3d() : screen.PixelRect(); m_myPositionController->UpdatePixelPosition(screen); - m_myPositionController->SetPixelRect(viewportRect); + m_myPositionController->OnNewPixelRect(); m_viewport.SetViewport(0, 0, viewportRect.SizeX(), viewportRect.SizeY()); m_contextFactory->getDrawContext()->resize(viewportRect.SizeX(), viewportRect.SizeY()); diff --git a/drape_frontend/my_position_controller.cpp b/drape_frontend/my_position_controller.cpp index 95c292b2c8..4c89dcc299 100644 --- a/drape_frontend/my_position_controller.cpp +++ b/drape_frontend/my_position_controller.cpp @@ -110,14 +110,14 @@ MyPositionController::~MyPositionController() m_anim.reset(); } -void MyPositionController::SetPixelRect(m2::RectD const & pixelRect) +void MyPositionController::OnNewPixelRect() { - m_pixelRect = pixelRect; Follow(); } void MyPositionController::UpdatePixelPosition(ScreenBase const & screen) { + m_pixelRect = screen.isPerspective() ? screen.PixelRectIn3d() : screen.PixelRect(); m_positionYOffset = screen.isPerspective() ? POSITION_Y_OFFSET_3D : POSITION_Y_OFFSET; m_pixelPositionRaF = screen.P3dtoP(GetRaFPixelBinding()); m_pixelPositionF = screen.P3dtoP(m_pixelRect.Center()); diff --git a/drape_frontend/my_position_controller.hpp b/drape_frontend/my_position_controller.hpp index bac83c5460..882e87ce7e 100644 --- a/drape_frontend/my_position_controller.hpp +++ b/drape_frontend/my_position_controller.hpp @@ -46,7 +46,7 @@ public: MyPositionController(location::EMyPositionMode initMode); ~MyPositionController(); - void SetPixelRect(m2::RectD const & pixelRect); + void OnNewPixelRect(); void UpdatePixelPosition(ScreenBase const & screen); void SetListener(ref_ptr listener);