summaryrefslogtreecommitdiff
path: root/platform/default/mbgl/gl/headless_backend.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/default/mbgl/gl/headless_backend.hpp')
-rw-r--r--platform/default/mbgl/gl/headless_backend.hpp32
1 files changed, 18 insertions, 14 deletions
diff --git a/platform/default/mbgl/gl/headless_backend.hpp b/platform/default/mbgl/gl/headless_backend.hpp
index 26033acf82..7757037533 100644
--- a/platform/default/mbgl/gl/headless_backend.hpp
+++ b/platform/default/mbgl/gl/headless_backend.hpp
@@ -1,46 +1,50 @@
#pragma once
-#include <mbgl/map/backend.hpp>
+#include <mbgl/renderer/renderer_backend.hpp>
#include <memory>
#include <functional>
namespace mbgl {
-class HeadlessDisplay;
-
-class HeadlessBackend : public Backend {
+class HeadlessBackend : public RendererBackend {
public:
- HeadlessBackend();
- HeadlessBackend(std::shared_ptr<HeadlessDisplay>);
+ HeadlessBackend(Size = { 256, 256 });
~HeadlessBackend() override;
+ void bind() override;
+ Size getFramebufferSize() const override;
void updateAssumedState() override;
- void invalidate() override;
+ void setSize(Size);
+ PremultipliedImage readStillImage();
- struct Impl {
+ class Impl {
+ public:
virtual ~Impl() = default;
+ virtual gl::ProcAddress getExtensionFunctionPointer(const char*) = 0;
virtual void activateContext() = 0;
virtual void deactivateContext() {}
};
private:
// Implementation specific functions
- gl::ProcAddress initializeExtension(const char*) override;
+ gl::ProcAddress getExtensionFunctionPointer(const char*) override;
void activate() override;
void deactivate() override;
- bool hasContext() const { return bool(impl); }
- bool hasDisplay();
-
- void createContext();
+ void createImpl();
- std::shared_ptr<HeadlessDisplay> display;
+private:
std::unique_ptr<Impl> impl;
+ Size size;
+ float pixelRatio;
bool active = false;
+
+ class View;
+ std::unique_ptr<View> view;
};
} // namespace mbgl