summaryrefslogtreecommitdiff
path: root/include/mbgl/layermanager/layer_manager.hpp
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 /include/mbgl/layermanager/layer_manager.hpp
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 'include/mbgl/layermanager/layer_manager.hpp')
-rw-r--r--include/mbgl/layermanager/layer_manager.hpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/include/mbgl/layermanager/layer_manager.hpp b/include/mbgl/layermanager/layer_manager.hpp
index 038a6dcb04..de10b0207c 100644
--- a/include/mbgl/layermanager/layer_manager.hpp
+++ b/include/mbgl/layermanager/layer_manager.hpp
@@ -2,10 +2,16 @@
#include <mbgl/style/layer.hpp>
-namespace mbgl {
+#include <vector>
+namespace mbgl {
+class GeometryTileLayer;
class LayerFactory;
class RenderLayer;
+class Bucket;
+class BucketParameters;
+class Layout;
+class LayoutParameters;
/**
* @brief A singleton class responsible for creating layer instances.
@@ -25,11 +31,15 @@ public:
*/
static LayerManager* get() noexcept;
- /// Returns a new Layer instance on success call; returns `nulltptr` otherwise.
+ /// Returns a new Layer instance on success call; returns `nullptr` otherwise.
std::unique_ptr<style::Layer> createLayer(const std::string& type, const std::string& id,
const style::conversion::Convertible& value, style::conversion::Error& error) noexcept;
- /// Returns a new RenderLayer instance on success call; returns `nulltptr` otherwise.
+ /// Returns a new RenderLayer instance on success call; returns `nullptr` otherwise.
std::unique_ptr<RenderLayer> createRenderLayer(Immutable<style::Layer::Impl>) noexcept;
+ /// Returns a new Bucket instance on success call; returns `nullptr` otherwise.
+ std::unique_ptr<Bucket> createBucket(const BucketParameters&, const std::vector<const RenderLayer*>&) noexcept;
+ /// Returns a new Layout instance on success call; returns `nullptr` otherwise.
+ std::unique_ptr<Layout> createLayout(const LayoutParameters&, std::unique_ptr<GeometryTileLayer>, const std::vector<const RenderLayer*>&) noexcept;
/**
* @brief a build-time flag to enable/disable annotations in mapbox-gl-native core.