summaryrefslogtreecommitdiff
path: root/include/mbgl/layermanager/layer_factory.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/mbgl/layermanager/layer_factory.hpp')
-rw-r--r--include/mbgl/layermanager/layer_factory.hpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/include/mbgl/layermanager/layer_factory.hpp b/include/mbgl/layermanager/layer_factory.hpp
index 3e2b2c3ddd..037de1b647 100644
--- a/include/mbgl/layermanager/layer_factory.hpp
+++ b/include/mbgl/layermanager/layer_factory.hpp
@@ -2,8 +2,15 @@
#include <mbgl/style/layer.hpp>
+#include <vector>
+
namespace mbgl {
+class Bucket;
+class BucketParameters;
+class GeometryTileLayer;
+class Layout;
+class LayoutParameters;
class RenderLayer;
/**
@@ -16,10 +23,14 @@ public:
virtual ~LayerFactory() = default;
/// Returns the layer type data.
virtual const style::LayerTypeInfo* getTypeInfo() const noexcept = 0;
- /// Returns a new Layer instance on success call; returns `nulltptr` otherwise.
+ /// Returns a new Layer instance on success call; returns `nullptr` otherwise.
virtual std::unique_ptr<style::Layer> createLayer(const std::string& id, const style::conversion::Convertible& value) noexcept = 0;
- /// Returns a new RenderLayer instance on success call; returns `nulltptr` otherwise.
+ /// Returns a new RenderLayer instance.
virtual std::unique_ptr<RenderLayer> createRenderLayer(Immutable<style::Layer::Impl>) noexcept = 0;
+ /// Returns a new Bucket instance on success call; returns `nullptr` otherwise.
+ virtual std::unique_ptr<Bucket> createBucket(const BucketParameters&, const std::vector<const RenderLayer*>&) noexcept;
+ /// Returns a new Layout instance on success call; returns `nullptr` otherwise.
+ virtual std::unique_ptr<Layout> createLayout(const LayoutParameters&, std::unique_ptr<GeometryTileLayer>, const std::vector<const RenderLayer*>&) noexcept;
protected:
optional<std::string> getSource(const style::conversion::Convertible& value) const noexcept;