summaryrefslogtreecommitdiff
path: root/src/mbgl/layermanager/fill_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-02-25 13:47:56 +0200
commite800f3754758489e09c55e38bebd00c2203e4886 (patch)
tree8eeb7642f569ddbe0b8e00e4a025f2c4e91b5706 /src/mbgl/layermanager/fill_layer_factory.cpp
parentfee22273be2d33049311de72ff6bf973b6b05164 (diff)
downloadqtlocation-mapboxgl-e800f3754758489e09c55e38bebd00c2203e4886.tar.gz
[core] Layer manager is responsible for buckets and layouts creation
This is a step to stop using of render layers in tile worker thread.
Diffstat (limited to 'src/mbgl/layermanager/fill_layer_factory.cpp')
-rw-r--r--src/mbgl/layermanager/fill_layer_factory.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mbgl/layermanager/fill_layer_factory.cpp b/src/mbgl/layermanager/fill_layer_factory.cpp
index 664788de17..60a1818585 100644
--- a/src/mbgl/layermanager/fill_layer_factory.cpp
+++ b/src/mbgl/layermanager/fill_layer_factory.cpp
@@ -1,5 +1,6 @@
#include <mbgl/layermanager/fill_layer_factory.hpp>
+#include <mbgl/renderer/buckets/fill_bucket.hpp>
#include <mbgl/renderer/layers/render_fill_layer.hpp>
#include <mbgl/style/layers/fill_layer.hpp>
#include <mbgl/style/layers/fill_layer_impl.hpp>
@@ -23,6 +24,13 @@ std::unique_ptr<style::Layer> FillLayerFactory::createLayer(const std::string& i
return layer;
}
+std::unique_ptr<Layout>
+FillLayerFactory::createLayout(const LayoutParameters& parameters,
+ std::unique_ptr<GeometryTileLayer> layer,
+ const std::vector<const RenderLayer*>& group) noexcept {
+ return std::make_unique<PatternLayout<FillBucket>>(parameters.bucketParameters, group, std::move(layer), parameters.imageDependencies);
+}
+
std::unique_ptr<RenderLayer> FillLayerFactory::createRenderLayer(Immutable<style::Layer::Impl> impl) noexcept {
assert(impl->getTypeInfo() == getTypeInfo());
return std::make_unique<RenderFillLayer>(staticImmutableCast<style::FillLayer::Impl>(std::move(impl)));