summaryrefslogtreecommitdiff
path: root/src/mbgl/layermanager/line_layer_factory.cpp
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-01-25 23:57:47 +0200
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-01-26 00:28:00 +0200
commit1bc6132060e41dd01940b424b2c5399e28bc8f5e (patch)
tree8c08101174586574bec06023c66bfcfad7ce517f /src/mbgl/layermanager/line_layer_factory.cpp
parent4b254dc99430ff6ce16bc767d7c9f1555ddf527e (diff)
downloadqtlocation-mapboxgl-upstream/mikhail_layer_manager_makes_buckets.tar.gz
[core] Layer manager is responsible for buckets and layouts creationupstream/mikhail_layer_manager_makes_buckets
This is a step to stop using of render layers in tile worker thread.
Diffstat (limited to 'src/mbgl/layermanager/line_layer_factory.cpp')
-rw-r--r--src/mbgl/layermanager/line_layer_factory.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mbgl/layermanager/line_layer_factory.cpp b/src/mbgl/layermanager/line_layer_factory.cpp
index 7a8ea01d79..8bf756e159 100644
--- a/src/mbgl/layermanager/line_layer_factory.cpp
+++ b/src/mbgl/layermanager/line_layer_factory.cpp
@@ -1,5 +1,6 @@
#include <mbgl/layermanager/line_layer_factory.hpp>
+#include <mbgl/renderer/buckets/line_bucket.hpp>
#include <mbgl/renderer/layers/render_line_layer.hpp>
#include <mbgl/style/layers/line_layer.hpp>
#include <mbgl/style/layers/line_layer_impl.hpp>
@@ -23,6 +24,12 @@ std::unique_ptr<style::Layer> LineLayerFactory::createLayer(const std::string& i
return layer;
}
+std::unique_ptr<Layout> LineLayerFactory::createLayout(const LayoutParameters& parameters,
+ std::unique_ptr<GeometryTileLayer> layer,
+ const std::vector<const RenderLayer*>& group) noexcept {
+ return std::make_unique<PatternLayout<LineBucket>>(parameters.bucketParameters, group, std::move(layer), parameters.imageDependencies);
+}
+
std::unique_ptr<RenderLayer> LineLayerFactory::createRenderLayer(Immutable<style::Layer::Impl> impl) noexcept {
assert(impl->getTypeInfo() == getTypeInfo());
return std::make_unique<RenderLineLayer>(staticImmutableCast<style::LineLayer::Impl>(std::move(impl)));