diff options
Diffstat (limited to 'platform/qt/src/qmapboxgl_renderer_frontend_p.cpp')
-rw-r--r-- | platform/qt/src/qmapboxgl_renderer_frontend_p.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/platform/qt/src/qmapboxgl_renderer_frontend_p.cpp b/platform/qt/src/qmapboxgl_renderer_frontend_p.cpp new file mode 100644 index 0000000000..836a9431b8 --- /dev/null +++ b/platform/qt/src/qmapboxgl_renderer_frontend_p.cpp @@ -0,0 +1,32 @@ +#include "qmapboxgl_renderer_frontend_p.hpp" + +#include <mbgl/map/backend_scope.hpp> +#include <mbgl/renderer/renderer.hpp> + +QMapboxGLRendererFrontend::QMapboxGLRendererFrontend(std::unique_ptr<mbgl::Renderer> renderer_, mbgl::View& view_) + : renderer(std::move(renderer_)) + , view(view_) { +} + +QMapboxGLRendererFrontend::~QMapboxGLRendererFrontend() = default; + +void QMapboxGLRendererFrontend::reset() { + if (renderer) { + renderer.reset(); + } +} + +void QMapboxGLRendererFrontend::update(std::shared_ptr<mbgl::UpdateParameters> updateParameters_) { + updateParameters = updateParameters_; + emit updated(); +} + +void QMapboxGLRendererFrontend::setObserver(mbgl::RendererObserver& observer_) { + if (!renderer) return; + renderer->setObserver(&observer_); +} + +void QMapboxGLRendererFrontend::render() { + if (!renderer || !updateParameters) return; + renderer->render(view, *updateParameters); +} |