1 #pragma once
2 
3 #include "qmapboxgl.hpp"
4 
5 #include <mbgl/renderer/renderer_backend.hpp>
6 #include <mbgl/storage/default_file_source.hpp>
7 #include <mbgl/util/shared_thread_pool.hpp>
8 
9 class QMapboxGLRendererBackend : public mbgl::RendererBackend
10 {
11 public:
12     QMapboxGLRendererBackend() = default;
13     virtual ~QMapboxGLRendererBackend() = default;
14 
15     // mbgl::RendererBackend implementation
16     void updateAssumedState() final;
17     void bind() final;
18     mbgl::Size getFramebufferSize() const final;
19 
20     void updateFramebuffer(quint32 fbo, const mbgl::Size &);
21 
22 protected:
23     mbgl::gl::ProcAddress getExtensionFunctionPointer(const char*) final;
24 
25     // No-op, implicit mode.
activate()26     void activate() final {}
deactivate()27     void deactivate() final {}
28 
29 private:
30     quint32 m_fbo = 0;
31     mbgl::Size m_size = { 0, 0 };
32 
33     Q_DISABLE_COPY(QMapboxGLRendererBackend)
34 };
35