diff options
Diffstat (limited to 'platform/glfw/glfw_view.cpp')
-rw-r--r-- | platform/glfw/glfw_view.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/platform/glfw/glfw_view.cpp b/platform/glfw/glfw_view.cpp index 3d10f2c654..1992268d75 100644 --- a/platform/glfw/glfw_view.cpp +++ b/platform/glfw/glfw_view.cpp @@ -168,7 +168,7 @@ void GLFWView::setRenderFrontend(GLFWRendererFrontend* rendererFrontend_) { rendererFrontend = rendererFrontend_; } -mbgl::gfx::RendererBackend& GLFWView::getRendererBackend() { +mbgl::gfx::RendererBackend* GLFWView::getRendererBackend() { return backend->getRendererBackend(); } @@ -180,6 +180,9 @@ void GLFWView::onKey(GLFWwindow *window, int key, int /*scancode*/, int action, view->animateRouteCallback = nullptr; switch (key) { + case GLFW_KEY_V: + view->rendererFrontend->getRenderer()->setRendererBackend(view->getRendererBackend()); + break; case GLFW_KEY_ESCAPE: glfwSetWindowShouldClose(window, true); break; @@ -709,13 +712,14 @@ void GLFWView::run() { updateAnimatedAnnotations(); - mbgl::gfx::BackendScope scope { backend->getRendererBackend() }; - - rendererFrontend->render(); + if (backend->getRendererBackend()) { + mbgl::gfx::BackendScope scope { *backend->getRendererBackend() }; + rendererFrontend->render(); - report(1000 * (glfwGetTime() - started)); - if (benchmark) { - invalidate(); + report(1000 * (glfwGetTime() - started)); + if (benchmark) { + invalidate(); + } } } |