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

Method AcceptMessage

libs/drape_frontend/frontend_renderer.cpp:272–1012  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

270}
271
272void FrontendRenderer::AcceptMessage(ref_ptr<Message> message)
273{
274 switch (message->GetType())
275 {
276 case Message::Type::FlushTile:
277 {
278 ref_ptr<FlushRenderBucketMessage> msg = message;
279 dp::RenderState const & state = msg->GetState();
280 TileKey const & key = msg->GetKey();
281 drape_ptr<dp::RenderBucket> bucket = msg->AcceptBuffer();
282 if (key.m_zoomLevel == GetCurrentZoom() && CheckTileGenerations(key))
283 {
284 PrepareBucket(state, bucket);
285 AddToRenderGroup<RenderGroup>(state, std::move(bucket), key);
286 }
287 break;
288 }
289
290 case Message::Type::FlushOverlays:
291 {
292 ref_ptr<FlushOverlaysMessage> msg = message;
293 TOverlaysRenderData renderData = msg->AcceptRenderData();
294 for (auto & overlayRenderData : renderData)
295 {
296 if (overlayRenderData.m_tileKey.m_zoomLevel == GetCurrentZoom() &&
297 CheckTileGenerations(overlayRenderData.m_tileKey))
298 {
299 PrepareBucket(overlayRenderData.m_state, overlayRenderData.m_bucket);
300 AddToRenderGroup<RenderGroup>(overlayRenderData.m_state, std::move(overlayRenderData.m_bucket),
301 overlayRenderData.m_tileKey);
302 }
303 }
304 UpdateCanBeDeletedStatus();
305
306 m_firstTilesReady = true;
307 if (m_firstLaunchAnimationTriggered)
308 {
309 CheckAndRunFirstLaunchAnimation();
310 m_firstLaunchAnimationTriggered = false;
311 }
312 break;
313 }
314
315 case Message::Type::FinishTileRead:
316 {
317 ref_ptr<FinishTileReadMessage> msg = message;
318 bool changed = false;
319 for (auto const & tileKey : msg->GetTiles())
320 {
321 if (CheckTileGenerations(tileKey))
322 {
323 auto it = m_notFinishedTiles.find(tileKey);
324 if (it != m_notFinishedTiles.end())
325 {
326 m_notFinishedTiles.erase(it);
327 changed = true;
328 }
329 }

Callers

nothing calls this directly

Calls 15

make_refFunction · 0.85
ASSERTFunction · 0.85
GetAddNewPlaceScaleFunction · 0.85
GetTilesMethod · 0.80
EndScenePreparingMethod · 0.80
OnGeometryReadyMethod · 0.80
HasWidgetMethod · 0.80
GetCurrentScreenMethod · 0.80
UpdateRoutingOffsetYMethod · 0.80
UseDefaultMethod · 0.80
GetOffsetYMethod · 0.80
UpdatePositionMethod · 0.80

Tested by

no test coverage detected