summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLRendererFrontend.h
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2017-07-25 10:56:00 +0300
committerIvo van Dongen <ivovandongen@users.noreply.github.com>2017-07-25 17:44:28 +0300
commit66e1429460b0aad6b295773db6e6fe965831ff3c (patch)
tree6a311f5c8dfeaa573a20536197b7e49f6398ade7 /platform/darwin/src/MGLRendererFrontend.h
parent27343c6a75aba9c4d04b0362fc0e50889f0e2e69 (diff)
downloadqtlocation-mapboxgl-66e1429460b0aad6b295773db6e6fe965831ff3c.tar.gz
[ios][macos] manage backendscope in renderer frontend
Diffstat (limited to 'platform/darwin/src/MGLRendererFrontend.h')
-rw-r--r--platform/darwin/src/MGLRendererFrontend.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/platform/darwin/src/MGLRendererFrontend.h b/platform/darwin/src/MGLRendererFrontend.h
index 839d3be773..3611577f2e 100644
--- a/platform/darwin/src/MGLRendererFrontend.h
+++ b/platform/darwin/src/MGLRendererFrontend.h
@@ -1,4 +1,6 @@
+#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/renderer/renderer.hpp>
+#include <mbgl/renderer/renderer_backend.hpp>
#include <mbgl/renderer/renderer_frontend.hpp>
#include <mbgl/util/async_task.hpp>
#include <mbgl/util/optional.hpp>
@@ -11,9 +13,10 @@
class MGLRenderFrontend : public mbgl::RendererFrontend
{
public:
- MGLRenderFrontend(std::unique_ptr<mbgl::Renderer> renderer_, MGLMapView* nativeView_, mbgl::View* mbglView_, bool async = false)
+ MGLRenderFrontend(std::unique_ptr<mbgl::Renderer> renderer_, MGLMapView* nativeView_, mbgl::RendererBackend& mbglBackend_, mbgl::View& mbglView_, bool async = false)
: renderer(std::move(renderer_))
, nativeView(nativeView_)
+ , mbglBackend(mbglBackend_)
, mbglView(mbglView_) {
if (async) {
@@ -46,7 +49,9 @@ public:
void render() {
if (!renderer || !updateParameters) return;
- renderer->render(*mbglView, *updateParameters);
+ mbgl::BackendScope guard { mbglBackend, mbgl::BackendScope::ScopeType::Implicit };
+
+ renderer->render(mbglView, *updateParameters);
}
mbgl::Renderer* getRenderer() {
@@ -61,7 +66,8 @@ public:
private:
std::unique_ptr<mbgl::Renderer> renderer;
__weak MGLMapView *nativeView = nullptr;
- mbgl::View *mbglView = nullptr;
+ mbgl::RendererBackend& mbglBackend;
+ mbgl::View& mbglView;
std::shared_ptr<mbgl::UpdateParameters> updateParameters;
mbgl::optional<mbgl::util::AsyncTask> asyncInvalidate;
};