| 1144 | } |
| 1145 | |
| 1146 | void FrontendRenderer::OnResize(ScreenBase const & screen) |
| 1147 | { |
| 1148 | m2::RectD const viewportRect = screen.PixelRectIn3d(); |
| 1149 | double constexpr kEps = 1e-5; |
| 1150 | bool const viewportChanged = !m2::IsEqualSize(m_lastReadedModelView.PixelRectIn3d(), viewportRect, kEps, kEps); |
| 1151 | |
| 1152 | m_myPositionController->OnUpdateScreen(screen); |
| 1153 | |
| 1154 | if (viewportChanged) |
| 1155 | m_myPositionController->UpdatePosition(); |
| 1156 | |
| 1157 | auto const sx = static_cast<uint32_t>(viewportRect.SizeX()); |
| 1158 | auto const sy = static_cast<uint32_t>(viewportRect.SizeY()); |
| 1159 | m_viewport.SetViewport(0, 0, sx, sy); |
| 1160 | |
| 1161 | CHECK(m_context != nullptr, ()); |
| 1162 | // All resize methods must be protected from setting up the same size. |
| 1163 | m_context->Resize(sx, sy); |
| 1164 | m_buildingsFramebuffer->SetSize(m_context, sx, sy); |
| 1165 | m_postprocessRenderer->Resize(m_context, sx, sy); |
| 1166 | m_needRestoreSize = false; |
| 1167 | |
| 1168 | RefreshProjection(screen); |
| 1169 | RefreshPivotTransform(screen); |
| 1170 | } |
| 1171 | |
| 1172 | template <typename TRenderGroup> |
| 1173 | void FrontendRenderer::AddToRenderGroup(dp::RenderState const & state, drape_ptr<dp::RenderBucket> && renderBucket, |
nothing calls this directly
no test coverage detected