diff options
Diffstat (limited to 'src/mbgl/gl/custom_layer_impl.hpp')
-rw-r--r-- | src/mbgl/gl/custom_layer_impl.hpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/mbgl/gl/custom_layer_impl.hpp b/src/mbgl/gl/custom_layer_impl.hpp new file mode 100644 index 0000000000..0c9339adf1 --- /dev/null +++ b/src/mbgl/gl/custom_layer_impl.hpp @@ -0,0 +1,35 @@ +#pragma once + +#include <mbgl/gl/custom_layer.hpp> +#include <mbgl/style/layer_impl.hpp> +#include <mbgl/style/layer_properties.hpp> + +#include <memory> + +namespace mbgl { + +class TransformState; + +namespace style { + +class CustomLayer::Impl : public Layer::Impl { +public: + Impl(const std::string& id, + std::unique_ptr<CustomLayerHost> host); + + bool hasLayoutDifference(const Layer::Impl&) const override; + void stringifyLayout(rapidjson::Writer<rapidjson::StringBuffer>&) const override; + + std::shared_ptr<CustomLayerHost> host; + + DECLARE_LAYER_TYPE_INFO; +}; + +class CustomLayerProperties final : public LayerProperties { +public: + explicit CustomLayerProperties(Immutable<CustomLayer::Impl> impl) + : LayerProperties(std::move(impl)) {} +}; + +} // namespace style +} // namespace mbgl |