diff options
Diffstat (limited to 'platform/qt/src/qmapboxgl_renderer_frontend_p.cpp')
-rw-r--r-- | platform/qt/src/qmapboxgl_renderer_frontend_p.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/platform/qt/src/qmapboxgl_renderer_frontend_p.cpp b/platform/qt/src/qmapboxgl_renderer_frontend_p.cpp index fd57168df6..d7d9e9c7b7 100644 --- a/platform/qt/src/qmapboxgl_renderer_frontend_p.cpp +++ b/platform/qt/src/qmapboxgl_renderer_frontend_p.cpp @@ -3,8 +3,9 @@ #include <mbgl/renderer/backend_scope.hpp> #include <mbgl/renderer/renderer.hpp> -QMapboxGLRendererFrontend::QMapboxGLRendererFrontend(std::unique_ptr<mbgl::Renderer> renderer_, mbgl::View& view_) +QMapboxGLRendererFrontend::QMapboxGLRendererFrontend(std::unique_ptr<mbgl::Renderer> renderer_, mbgl::RendererBackend& backend_, mbgl::View& view_) : renderer(std::move(renderer_)) + , backend(backend_) , view(view_) { } @@ -23,10 +24,15 @@ void QMapboxGLRendererFrontend::update(std::shared_ptr<mbgl::UpdateParameters> u void QMapboxGLRendererFrontend::setObserver(mbgl::RendererObserver& observer_) { if (!renderer) return; + renderer->setObserver(&observer_); } void QMapboxGLRendererFrontend::render() { if (!renderer || !updateParameters) return; + + // The OpenGL implementation automatically enables the OpenGL context for us. + mbgl::BackendScope scope { backend, mbgl::BackendScope::ScopeType::Implicit }; + renderer->render(view, *updateParameters); } |