diff options
author | Aleksandar Stojiljkovic <aleksandar.stojiljkovic@mapbox.com> | 2019-05-17 13:18:37 +0300 |
---|---|---|
committer | Aleksandar Stojiljkovic <aleksandar.stojiljkovic@mapbox.com> | 2019-05-17 13:18:37 +0300 |
commit | 72f04a00ee23eeefe3f7ebd09f8a9ac046493d95 (patch) | |
tree | 0310d2d98f9890b17a0f6ee70731950cd315802f | |
parent | e9522525fe3aaae8e78c57636e25f1833f0e4aa2 (diff) | |
download | qtlocation-mapboxgl-upstream/astojilj-headless.tar.gz |
Headless frontend/backend refactoring process review.upstream/astojilj-headless
-rw-r--r-- | platform/default/include/mbgl/gfx/headless_backend.hpp | 9 | ||||
-rw-r--r-- | platform/default/src/mbgl/gfx/headless_frontend.cpp | 4 | ||||
-rw-r--r-- | platform/default/src/mbgl/gl/headless_backend.cpp | 2 |
3 files changed, 10 insertions, 5 deletions
diff --git a/platform/default/include/mbgl/gfx/headless_backend.hpp b/platform/default/include/mbgl/gfx/headless_backend.hpp index e18ad21ce0..de9283dcdf 100644 --- a/platform/default/include/mbgl/gfx/headless_backend.hpp +++ b/platform/default/include/mbgl/gfx/headless_backend.hpp @@ -9,15 +9,20 @@ namespace mbgl { namespace gfx { +// Common headless backend interface, provides HeadlessBackend backend factory +// and enables extending gfx::Renderable with platform specific implementation +// of readStillImage. class HeadlessBackend : public gfx::Renderable { public: // Factory. - static std::unique_ptr<HeadlessBackend> makeBackend(Size = { 256, 256 }, gfx::ContextMode = gfx::ContextMode::Unique); + static std::unique_ptr<HeadlessBackend> make(Size = { 256, 256 }, gfx::ContextMode = gfx::ContextMode::Unique); - HeadlessBackend(Size); virtual PremultipliedImage readStillImage() = 0; virtual RendererBackend* getRendererBackend() = 0; void setSize(Size); + +protected: + HeadlessBackend(Size); }; } // namespace gfx diff --git a/platform/default/src/mbgl/gfx/headless_frontend.cpp b/platform/default/src/mbgl/gfx/headless_frontend.cpp index 0655d82e95..025abdd87a 100644 --- a/platform/default/src/mbgl/gfx/headless_frontend.cpp +++ b/platform/default/src/mbgl/gfx/headless_frontend.cpp @@ -24,8 +24,8 @@ HeadlessFrontend::HeadlessFrontend(Size size_, const optional<std::string> localFontFamily) : size(size_), pixelRatio(pixelRatio_), - backend(gfx::HeadlessBackend::makeBackend( { static_cast<uint32_t>(size.width * pixelRatio), - static_cast<uint32_t>(size.height * pixelRatio) }, contextMode)), + backend(gfx::HeadlessBackend::make( { static_cast<uint32_t>(size.width * pixelRatio), + static_cast<uint32_t>(size.height * pixelRatio) }, contextMode)), asyncInvalidate([this] { if (renderer && updateParameters) { gfx::BackendScope guard { *getBackend() }; diff --git a/platform/default/src/mbgl/gl/headless_backend.cpp b/platform/default/src/mbgl/gl/headless_backend.cpp index 825a108937..c81952fadc 100644 --- a/platform/default/src/mbgl/gl/headless_backend.cpp +++ b/platform/default/src/mbgl/gl/headless_backend.cpp @@ -88,7 +88,7 @@ RendererBackend* HeadlessBackend::getRendererBackend() { #ifndef OVERRIDE_HEADLESS_BACKEND_FACTORY // Default factory implementation. -std::unique_ptr<gfx::HeadlessBackend> gfx::HeadlessBackend::makeBackend(Size size, gfx::ContextMode contextMode) { +std::unique_ptr<gfx::HeadlessBackend> gfx::HeadlessBackend::make(Size size, gfx::ContextMode contextMode) { return std::make_unique<gl::HeadlessBackend>(size, contextMode); } #endif |