diff options
Diffstat (limited to 'include/mbgl/style/layer.hpp')
-rw-r--r-- | include/mbgl/style/layer.hpp | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/include/mbgl/style/layer.hpp b/include/mbgl/style/layer.hpp index d85f459815..bd0905cd6d 100644 --- a/include/mbgl/style/layer.hpp +++ b/include/mbgl/style/layer.hpp @@ -126,74 +126,4 @@ protected: }; } // namespace style - -class RenderLayer; -// TODO: The following classes shall not be here. Move layer factories and manager to a dedicated folder. - -/** - * @brief The LayerFactory abstract class - * - * This class is responsible for creation of the layer objects that belong to a concrete layer type. - */ -class LayerFactory { -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. - 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. - virtual std::unique_ptr<RenderLayer> createRenderLayer(Immutable<style::Layer::Impl>) noexcept = 0; - -protected: - optional<std::string> getSource(const style::conversion::Convertible& value) const noexcept; - bool initSourceLayerAndFilter(style::Layer*, const style::conversion::Convertible& value) const noexcept; -}; - -/** - * @brief A singleton class responsible for creating layer instances. - * - * The LayerManager has implementation per platform. The LayerManager implementation - * defines what layer types are available and it can also disable annotations. - * - * Linker excludes the unreachable code for the disabled annotations and layers - * from the binaries, significantly reducing their size. - */ -class LayerManager { -public: - /** - * @brief A singleton getter. - * - * @return LayerManager* - */ - static LayerManager* get() noexcept; - - /// Returns a new Layer instance on success call; returns `nulltptr` 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. - std::unique_ptr<RenderLayer> createRenderLayer(Immutable<style::Layer::Impl>) noexcept; - - /** - * @brief a build-time flag to enable/disable annotations in mapbox-gl-native core. - * - * At the moment, the annotations implementation in core is creating concrete - * layer instances apart from LayerManager/LayerFactory code path. - * - * So, annotations must be disabled if the LayerManager implementation does - * not provide line, fill or symbol layers (those, used by the annotations - * implementation). - * - * Note: in future, annotations implemantation will be moved from the core to platform - * SDK (see https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-annotation) - * and this flag won't be needed any more. - */ - static const bool annotationsEnabled; - -protected: - virtual ~LayerManager() = default; - virtual LayerFactory* getFactory(const std::string& type) noexcept = 0; - virtual LayerFactory* getFactory(const style::LayerTypeInfo*) noexcept = 0; -}; - } // namespace mbgl |