summaryrefslogtreecommitdiff
path: root/src/mbgl/gl/custom_layer_impl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/gl/custom_layer_impl.hpp')
-rw-r--r--src/mbgl/gl/custom_layer_impl.hpp35
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