diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-01-25 23:57:47 +0200 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-01-26 00:28:00 +0200 |
commit | 1bc6132060e41dd01940b424b2c5399e28bc8f5e (patch) | |
tree | 8c08101174586574bec06023c66bfcfad7ce517f /src/mbgl/layermanager/symbol_layer_factory.cpp | |
parent | 4b254dc99430ff6ce16bc767d7c9f1555ddf527e (diff) | |
download | qtlocation-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/symbol_layer_factory.cpp')
-rw-r--r-- | src/mbgl/layermanager/symbol_layer_factory.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mbgl/layermanager/symbol_layer_factory.cpp b/src/mbgl/layermanager/symbol_layer_factory.cpp index 8acefb9f41..d992741551 100644 --- a/src/mbgl/layermanager/symbol_layer_factory.cpp +++ b/src/mbgl/layermanager/symbol_layer_factory.cpp @@ -1,5 +1,6 @@ #include <mbgl/layermanager/symbol_layer_factory.hpp> +#include <mbgl/layout/symbol_layout.hpp> #include <mbgl/renderer/layers/render_symbol_layer.hpp> #include <mbgl/style/layers/symbol_layer.hpp> #include <mbgl/style/layers/symbol_layer_impl.hpp> @@ -23,6 +24,16 @@ std::unique_ptr<style::Layer> SymbolLayerFactory::createLayer(const std::string& return layer; } +std::unique_ptr<Layout> SymbolLayerFactory::createLayout(const LayoutParameters& parameters, + std::unique_ptr<GeometryTileLayer> tileLayer, + const std::vector<const RenderLayer*>& group) noexcept { + return std::make_unique<SymbolLayout>(parameters.bucketParameters, + group, + std::move(tileLayer), + parameters.imageDependencies, + parameters.glyphDependencies); +} + std::unique_ptr<RenderLayer> SymbolLayerFactory::createRenderLayer(Immutable<style::Layer::Impl> impl) noexcept { assert(impl->getTypeInfo() == getTypeInfo()); return std::make_unique<RenderSymbolLayer>(staticImmutableCast<style::SymbolLayer::Impl>(std::move(impl))); |