| 358 | } |
| 359 | |
| 360 | void 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 |
nothing calls this directly
no test coverage detected