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

Method OnContextDestroy

libs/drape_frontend/frontend_renderer.cpp:2269–2318  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2267}
2268
2269void FrontendRenderer::OnContextDestroy()
2270{
2271 LOG(LINFO, ("On context destroy."));
2272
2273 if (m_renderInjectionHandler)
2274 m_renderInjectionHandler(m_context, m_texMng, make_ref(m_gpuProgramManager), true);
2275
2276 // Clear all graphics.
2277 for (RenderLayer & layer : m_layers)
2278 {
2279 layer.m_renderGroups.clear();
2280 layer.m_isDirty = false;
2281 }
2282
2283 m_selectObjectMessage.reset();
2284 m_overlayTree->SetSelectedFeature(FeatureID());
2285 m_overlayTree->SetDebugRectRenderer(nullptr);
2286 m_overlayTree->Clear();
2287
2288 m_guiRenderer.reset();
2289 m_selectionShape.reset();
2290 m_buildingsFramebuffer.reset();
2291 m_screenQuadRenderer.reset();
2292
2293 m_myPositionController->ResetRenderShape();
2294 m_routeRenderer->ClearContextDependentResources();
2295 m_gpsTrackRenderer->ClearRenderData();
2296 m_trafficRenderer->ClearContextDependentResources();
2297 m_drapeApiRenderer->Clear();
2298 m_postprocessRenderer->ClearContextDependentResources();
2299 m_transitSchemeRenderer->ClearContextDependentResources(nullptr /* overlayTree */);
2300
2301 m_transitBackground.reset();
2302 m_debugRectRenderer.reset();
2303
2304 CHECK(m_context != nullptr, ());
2305 m_gpuProgramManager->Destroy(m_context);
2306 m_gpuProgramManager.reset();
2307
2308 // Here we have to erase weak pointer to the context, since it
2309 // can be destroyed after this method.
2310 m_context->DoneCurrent();
2311 m_context = nullptr;
2312
2313 m_needRestoreSize = true;
2314 m_firstTilesReady = false;
2315 m_firstLaunchAnimationInterrupted = false;
2316
2317 m_finishTexturesInitialization = false;
2318}
2319
2320void FrontendRenderer::OnContextCreate()
2321{

Callers

nothing calls this directly

Calls 12

make_refFunction · 0.85
SetSelectedFeatureMethod · 0.80
SetDebugRectRendererMethod · 0.80
ResetRenderShapeMethod · 0.80
FeatureIDClass · 0.50
clearMethod · 0.45
resetMethod · 0.45
ClearMethod · 0.45
ClearRenderDataMethod · 0.45
DestroyMethod · 0.45
DoneCurrentMethod · 0.45

Tested by

no test coverage detected