diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2016-10-06 13:23:50 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2016-10-25 13:52:36 -0700 |
commit | 5cc390d694fc7510d445310d8eb9e32429a5e67b (patch) | |
tree | 7a24706f919ac3e8154be8b4ce33aed5bf42188d /platform/node | |
parent | 45f4dc0166f2d609d014d2174209fdbe1994c943 (diff) | |
download | qtlocation-mapboxgl-5cc390d694fc7510d445310d8eb9e32429a5e67b.tar.gz |
[core] separate Backend from View for headless rendering
Diffstat (limited to 'platform/node')
-rw-r--r-- | platform/node/src/node_map.cpp | 7 | ||||
-rw-r--r-- | platform/node/src/node_map.hpp | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/platform/node/src/node_map.cpp b/platform/node/src/node_map.cpp index a13adbc417..ebdf8d62c3 100644 --- a/platform/node/src/node_map.cpp +++ b/platform/node/src/node_map.cpp @@ -773,15 +773,16 @@ void NodeMap::QueryRenderedFeatures(const Nan::FunctionCallbackInfo<v8::Value>& } NodeMap::NodeMap(v8::Local<v8::Object> options) : - view(sharedDisplay(), [&] { + backend(sharedDisplay()), + view([&] { Nan::HandleScope scope; return Nan::Has(options, Nan::New("ratio").ToLocalChecked()).FromJust() ? Nan::Get(options, Nan::New("ratio").ToLocalChecked()).ToLocalChecked()->NumberValue() : 1.0; }()), threadpool(), - map(std::make_unique<mbgl::Map>(view, *this, threadpool, mbgl::MapMode::Still)), + map(std::make_unique<mbgl::Map>(backend, view, view.getPixelRatio(), *this, threadpool, mbgl::MapMode::Still)), async(new uv_async_t) { - view.setMapChangeCallback([&](mbgl::MapChange change) { + backend.setMapChangeCallback([&](mbgl::MapChange change) { if (change == mbgl::MapChangeDidFailLoadingMap) { throw std::runtime_error("Requires a map style to be a valid style JSON"); } diff --git a/platform/node/src/node_map.hpp b/platform/node/src/node_map.hpp index 588ece2c74..48ff2caab1 100644 --- a/platform/node/src/node_map.hpp +++ b/platform/node/src/node_map.hpp @@ -4,6 +4,7 @@ #include <mbgl/map/map.hpp> #include <mbgl/storage/file_source.hpp> +#include <mbgl/platform/default/headless_backend.hpp> #include <mbgl/platform/default/headless_view.hpp> #pragma GCC diagnostic push @@ -53,6 +54,7 @@ public: std::unique_ptr<mbgl::AsyncRequest> request(const mbgl::Resource&, mbgl::FileSource::Callback); + mbgl::HeadlessBackend backend; mbgl::HeadlessView view; NodeThreadPool threadpool; std::unique_ptr<mbgl::Map> map; |