diff options
Diffstat (limited to 'platform/glfw/glfw_view.hpp')
-rw-r--r-- | platform/glfw/glfw_view.hpp | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/platform/glfw/glfw_view.hpp b/platform/glfw/glfw_view.hpp index d5acf697f7..9b580f80cc 100644 --- a/platform/glfw/glfw_view.hpp +++ b/platform/glfw/glfw_view.hpp @@ -1,15 +1,21 @@ #pragma once #include <mbgl/map/map.hpp> -#include <mbgl/renderer/renderer_backend.hpp> #include <mbgl/util/run_loop.hpp> #include <mbgl/util/timer.hpp> #include <mbgl/util/geometry.hpp> struct GLFWwindow; +class GLFWBackend; class GLFWRendererFrontend; -class GLFWView : public mbgl::RendererBackend, public mbgl::MapObserver { +namespace mbgl { +namespace gfx { +class RendererBackend; +} // namespace gfx +} // namespace mbgl + +class GLFWView : public mbgl::MapObserver { public: GLFWView(bool fullscreen = false, bool benchmark = false); ~GLFWView() override; @@ -20,6 +26,8 @@ public: void setRenderFrontend(GLFWRendererFrontend*); + mbgl::gfx::RendererBackend& getRendererBackend(); + // Callback called when the user presses the key mapped to style change. // The expected action is to set a new style, different to the current one. void setChangeStyleCallback(std::function<void()> callback); @@ -41,20 +49,12 @@ public: void invalidate(); mbgl::Size getSize() const; - mbgl::Size getFramebufferSize() const override; - - // mbgl::RendererBackend implementation - void bind() override; - void updateAssumedState() override; // mbgl::MapObserver implementation void onDidFinishLoadingStyle() override; protected: // mbgl::Backend implementation - mbgl::gl::ProcAddress getExtensionFunctionPointer(const char*) override; - void activate() override; - void deactivate() override; private: // Window callbacks @@ -95,6 +95,7 @@ private: mbgl::Map* map = nullptr; GLFWRendererFrontend* rendererFrontend = nullptr; + std::unique_ptr<GLFWBackend> backend; bool fullscreen = false; const bool benchmark = false; @@ -110,8 +111,6 @@ private: int width = 1024; int height = 768; - int fbWidth; - int fbHeight; float pixelRatio; double lastX = 0, lastY = 0; |