summaryrefslogtreecommitdiff
path: root/platform/glfw/glfw_gl_backend.hpp
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2019-04-01 16:56:24 +0200
committerKonstantin Käfer <mail@kkaefer.com>2019-04-05 11:49:17 +0200
commit66c020034e8260e5e071481e68ab61cd264723ba (patch)
treeb5263772d72175474d91ce2daa9dc037b99fab0d /platform/glfw/glfw_gl_backend.hpp
parenta782a6d15b80dd83105604f3f779f6c83ba222e5 (diff)
downloadqtlocation-mapboxgl-66c020034e8260e5e071481e68ab61cd264723ba.tar.gz
[core] refactor RendererBackend
Diffstat (limited to 'platform/glfw/glfw_gl_backend.hpp')
-rw-r--r--platform/glfw/glfw_gl_backend.hpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/platform/glfw/glfw_gl_backend.hpp b/platform/glfw/glfw_gl_backend.hpp
new file mode 100644
index 0000000000..ba4f6fa788
--- /dev/null
+++ b/platform/glfw/glfw_gl_backend.hpp
@@ -0,0 +1,42 @@
+#pragma once
+
+#include "glfw_backend.hpp"
+
+#include <mbgl/gfx/renderable.hpp>
+#include <mbgl/gl/renderer_backend.hpp>
+
+struct GLFWwindow;
+
+class GLFWGLBackend final : public GLFWBackend,
+ public mbgl::gl::RendererBackend,
+ public mbgl::gfx::Renderable {
+public:
+ GLFWGLBackend(GLFWwindow*);
+ ~GLFWGLBackend() override;
+
+ // GLFWRendererBackend implementation
+public:
+ mbgl::gfx::RendererBackend& getRendererBackend() override {
+ return *this;
+ }
+ mbgl::Size getSize() const override;
+ void setSize(mbgl::Size) override;
+
+ // mbgl::gfx::RendererBackend implementation
+public:
+ mbgl::gfx::Renderable& getDefaultRenderable() override {
+ return *this;
+ }
+
+protected:
+ void activate() override;
+ void deactivate() override;
+
+ // mbgl::gl::RendererBackend implementation
+protected:
+ mbgl::gl::ProcAddress getExtensionFunctionPointer(const char*) override;
+ void updateAssumedState() override;
+
+private:
+ GLFWwindow* window;
+};