MCPcopy Create free account
hub / github.com/comaps/comaps / OnResize

Method OnResize

libs/drape_frontend/frontend_renderer.cpp:1146–1170  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1144}
1145
1146void 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
1172template <typename TRenderGroup>
1173void FrontendRenderer::AddToRenderGroup(dp::RenderState const & state, drape_ptr<dp::RenderBucket> && renderBucket,

Callers

nothing calls this directly

Calls 8

IsEqualSizeFunction · 0.85
OnUpdateScreenMethod · 0.80
UpdatePositionMethod · 0.80
SizeXMethod · 0.80
SizeYMethod · 0.80
SetSizeMethod · 0.80
SetViewportMethod · 0.45
ResizeMethod · 0.45

Tested by

no test coverage detected