diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2019-04-01 16:56:24 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2019-04-05 11:49:17 +0200 |
commit | 66c020034e8260e5e071481e68ab61cd264723ba (patch) | |
tree | b5263772d72175474d91ce2daa9dc037b99fab0d /platform/glfw/glfw_gl_backend.hpp | |
parent | a782a6d15b80dd83105604f3f779f6c83ba222e5 (diff) | |
download | qtlocation-mapboxgl-66c020034e8260e5e071481e68ab61cd264723ba.tar.gz |
[core] refactor RendererBackend
Diffstat (limited to 'platform/glfw/glfw_gl_backend.hpp')
-rw-r--r-- | platform/glfw/glfw_gl_backend.hpp | 42 |
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; +}; |