#pragma once #include #include #include namespace mbgl { class Renderer; } // namespace mbgl class QMapboxGLRendererFrontend : public QObject, public mbgl::RendererFrontend { Q_OBJECT public: explicit QMapboxGLRendererFrontend(std::unique_ptr, mbgl::RendererBackend&); ~QMapboxGLRendererFrontend() override; void reset() override; void setObserver(mbgl::RendererObserver&) override; void update(std::shared_ptr) override; public slots: void render(); signals: void updated(); private: std::unique_ptr renderer; mbgl::RendererBackend& backend; std::shared_ptr updateParameters; };