[default] manage backendscope in renderer frontend
This commit is contained in:
committed by
Ivo van Dongen
parent
66e1429460
commit
f69997a19c
@@ -12,7 +12,7 @@ namespace mbgl {
|
||||
HeadlessBackend::HeadlessBackend() = default;
|
||||
|
||||
HeadlessBackend::~HeadlessBackend() {
|
||||
BackendScope guard { *this, getScopeType() };
|
||||
BackendScope guard { *this };
|
||||
context.reset();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
#include "async_renderer_frontend.hpp"
|
||||
|
||||
#include <mbgl/renderer/backend_scope.hpp>
|
||||
#include <mbgl/renderer/renderer.hpp>
|
||||
|
||||
namespace mbgl {
|
||||
|
||||
AsyncRendererFrontend::AsyncRendererFrontend(std::unique_ptr<Renderer> renderer_, View& view_)
|
||||
AsyncRendererFrontend::AsyncRendererFrontend(std::unique_ptr<Renderer> renderer_, RendererBackend& backend, View& view_)
|
||||
: renderer(std::move(renderer_))
|
||||
, view(view_)
|
||||
, asyncInvalidate([this] {
|
||||
, asyncInvalidate([&] {
|
||||
if (renderer && updateParameters) {
|
||||
BackendScope guard { backend };
|
||||
renderer->render(view, *updateParameters);
|
||||
}
|
||||
}) {
|
||||
|
||||
@@ -10,11 +10,12 @@
|
||||
namespace mbgl {
|
||||
|
||||
class Renderer;
|
||||
class RendererBackend;
|
||||
|
||||
// Default implementation for RendererFrontend
|
||||
class AsyncRendererFrontend : public mbgl::RendererFrontend {
|
||||
public:
|
||||
AsyncRendererFrontend(std::unique_ptr<Renderer>, View&);
|
||||
AsyncRendererFrontend(std::unique_ptr<Renderer>, RendererBackend&, View&);
|
||||
~AsyncRendererFrontend() override;
|
||||
|
||||
void reset() override;
|
||||
|
||||
Reference in New Issue
Block a user