diff options
Diffstat (limited to 'platform/default')
5 files changed, 40 insertions, 19 deletions
diff --git a/platform/default/include/mbgl/gl/headless_backend.hpp b/platform/default/include/mbgl/gl/headless_backend.hpp index 9135c269be..b2141e9540 100644 --- a/platform/default/include/mbgl/gl/headless_backend.hpp +++ b/platform/default/include/mbgl/gl/headless_backend.hpp @@ -11,7 +11,7 @@ namespace gl { class HeadlessBackend final : public gl::RendererBackend, public gfx::Renderable { public: - HeadlessBackend(Size = { 256, 256 }); + HeadlessBackend(Size = { 256, 256 }, gfx::ContextMode = gfx::ContextMode::Unique); ~HeadlessBackend() override; gfx::Renderable& getDefaultRenderable() override; diff --git a/platform/default/include/mbgl/gl/headless_frontend.hpp b/platform/default/include/mbgl/gl/headless_frontend.hpp index 2e9378bf8f..ff733f423d 100644 --- a/platform/default/include/mbgl/gl/headless_frontend.hpp +++ b/platform/default/include/mbgl/gl/headless_frontend.hpp @@ -1,7 +1,6 @@ #pragma once #include <mbgl/map/camera.hpp> -#include <mbgl/renderer/mode.hpp> #include <mbgl/renderer/renderer_frontend.hpp> #include <mbgl/gl/headless_backend.hpp> #include <mbgl/util/async_task.hpp> @@ -22,8 +21,17 @@ class RendererBackend; class HeadlessFrontend : public RendererFrontend { public: - HeadlessFrontend(float pixelRatio_, Scheduler&, const optional<std::string> programCacheDir = {}, GLContextMode mode = GLContextMode::Unique, const optional<std::string> localFontFamily = {}); - HeadlessFrontend(Size, float pixelRatio_, Scheduler&, const optional<std::string> programCacheDir = {}, GLContextMode mode = GLContextMode::Unique, const optional<std::string> localFontFamily = {}); + HeadlessFrontend(float pixelRatio_, + Scheduler&, + const optional<std::string> programCacheDir = {}, + gfx::ContextMode mode = gfx::ContextMode::Unique, + const optional<std::string> localFontFamily = {}); + HeadlessFrontend(Size, + float pixelRatio_, + Scheduler&, + const optional<std::string> programCacheDir = {}, + gfx::ContextMode mode = gfx::ContextMode::Unique, + const optional<std::string> localFontFamily = {}); ~HeadlessFrontend() override; void reset() override; diff --git a/platform/default/src/mbgl/gl/headless_backend.cpp b/platform/default/src/mbgl/gl/headless_backend.cpp index cbf451d80b..7362adcb9e 100644 --- a/platform/default/src/mbgl/gl/headless_backend.cpp +++ b/platform/default/src/mbgl/gl/headless_backend.cpp @@ -31,8 +31,8 @@ public: gl::Framebuffer framebuffer; }; -HeadlessBackend::HeadlessBackend(Size size_) - : mbgl::gfx::Renderable(size_, nullptr) { +HeadlessBackend::HeadlessBackend(const Size size_, const gfx::ContextMode contextMode_) + : mbgl::gl::RendererBackend(contextMode_), mbgl::gfx::Renderable(size_, nullptr) { } HeadlessBackend::~HeadlessBackend() { diff --git a/platform/default/src/mbgl/gl/headless_frontend.cpp b/platform/default/src/mbgl/gl/headless_frontend.cpp index 406c197904..7e56996f63 100644 --- a/platform/default/src/mbgl/gl/headless_frontend.cpp +++ b/platform/default/src/mbgl/gl/headless_frontend.cpp @@ -9,15 +9,25 @@ namespace mbgl { -HeadlessFrontend::HeadlessFrontend(float pixelRatio_, Scheduler& scheduler, const optional<std::string> programCacheDir, GLContextMode mode, const optional<std::string> localFontFamily) - : HeadlessFrontend({ 256, 256 }, pixelRatio_, scheduler, programCacheDir, mode, localFontFamily) { -} - -HeadlessFrontend::HeadlessFrontend(Size size_, float pixelRatio_, Scheduler& scheduler, const optional<std::string> programCacheDir, GLContextMode mode, const optional<std::string> localFontFamily) +HeadlessFrontend::HeadlessFrontend(float pixelRatio_, + Scheduler& scheduler, + const optional<std::string> programCacheDir, + const gfx::ContextMode contextMode, + const optional<std::string> localFontFamily) + : HeadlessFrontend( + { 256, 256 }, pixelRatio_, scheduler, programCacheDir, contextMode, localFontFamily) { +} + +HeadlessFrontend::HeadlessFrontend(Size size_, + float pixelRatio_, + Scheduler& scheduler, + const optional<std::string> programCacheDir, + const gfx::ContextMode contextMode, + const optional<std::string> localFontFamily) : size(size_), pixelRatio(pixelRatio_), backend({ static_cast<uint32_t>(size.width * pixelRatio), - static_cast<uint32_t>(size.height * pixelRatio) }), + static_cast<uint32_t>(size.height * pixelRatio) }, contextMode), asyncInvalidate([this] { if (renderer && updateParameters) { gfx::BackendScope guard { backend }; @@ -30,7 +40,7 @@ HeadlessFrontend::HeadlessFrontend(Size size_, float pixelRatio_, Scheduler& sch renderer->render(*updateParameters_); } }), - renderer(std::make_unique<Renderer>(backend, pixelRatio, scheduler, mode, programCacheDir, localFontFamily)) { + renderer(std::make_unique<Renderer>(backend, pixelRatio, scheduler, programCacheDir, localFontFamily)) { } HeadlessFrontend::~HeadlessFrontend() = default; diff --git a/platform/default/src/mbgl/map/map_snapshotter.cpp b/platform/default/src/mbgl/map/map_snapshotter.cpp index 227a61d272..dc3d263261 100644 --- a/platform/default/src/mbgl/map/map_snapshotter.cpp +++ b/platform/default/src/mbgl/map/map_snapshotter.cpp @@ -56,14 +56,17 @@ MapSnapshotter::Impl::Impl(std::shared_ptr<Scheduler> scheduler_, const optional<std::string> programCacheDir, const optional<std::string> localFontFamily, const ResourceOptions& resourceOptions) - : scheduler(std::move(scheduler_)) - , frontend(size, pixelRatio, *scheduler, programCacheDir, GLContextMode::Unique, localFontFamily) - , map(frontend, MapObserver::nullObserver(), *scheduler, - MapOptions().withMapMode(MapMode::Static).withSize(size).withPixelRatio(pixelRatio), - resourceOptions) { + : scheduler(std::move(scheduler_)), + frontend( + size, pixelRatio, *scheduler, programCacheDir, gfx::ContextMode::Unique, localFontFamily), + map(frontend, + MapObserver::nullObserver(), + *scheduler, + MapOptions().withMapMode(MapMode::Static).withSize(size).withPixelRatio(pixelRatio), + resourceOptions) { if (style.first) { map.getStyle().loadJSON(style.second); - } else{ + } else { map.getStyle().loadURL(style.second); } |