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

Method CacheScaleFpsLabel

libs/drape_frontend/gui/layer_render.cpp:360–387  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

358}
359
360void LayerCacher::CacheScaleFpsLabel(ref_ptr<dp::GraphicsContext> context, Position const & position,
361 ref_ptr<LayerRenderer> renderer, ref_ptr<dp::TextureManager> textures)
362{
363 MutableLabelDrawer::Params params;
364 params.m_alphabet = "MGLFPSAUEDVcale: 1234567890/()";
365 params.m_maxLength = 50;
366 params.m_anchor = position.m_anchor;
367 params.m_font = DrapeGui::GetGuiTextFont();
368 params.m_pivot = position.m_pixelPivot;
369 auto const apiVersion = context->GetApiVersion();
370 params.m_handleCreator = [textures, apiVersion, &position](dp::Anchor, m2::PointF const &)
371 {
372 std::string apiLabel;
373 switch (apiVersion)
374 {
375 case dp::ApiVersion::OpenGLES3: apiLabel = "GL3"; break;
376 case dp::ApiVersion::Metal: apiLabel = "M"; break;
377 case dp::ApiVersion::Vulkan: apiLabel = "V"; break;
378 case dp::ApiVersion::Invalid: CHECK(false, ("Invalid API version.")); break;
379 }
380 return make_unique_dp<ScaleFpsLabelHandle>(EGuiHandle::GuiHandleScaleLabel, textures, apiLabel, position);
381 };
382
383 drape_ptr<ShapeRenderer> scaleRenderer = make_unique_dp<ShapeRenderer>();
384 MutableLabelDrawer::Draw(context, params, textures, std::bind(&ShapeRenderer::AddShape, scaleRenderer.get(), _1, _2));
385
386 renderer->AddShapeRenderer(WIDGET_SCALE_FPS_LABEL, std::move(scaleRenderer));
387}
388} // namespace gui

Callers

nothing calls this directly

Calls 3

AddShapeRendererMethod · 0.80
getMethod · 0.65
GetApiVersionMethod · 0.45

Tested by

no test coverage detected