1 #pragma once
2 
3 #include <mbgl/style/layer_impl.hpp>
4 #include <mbgl/style/layers/custom_layer.hpp>
5 
6 #include <memory>
7 
8 namespace mbgl {
9 
10 class TransformState;
11 
12 namespace style {
13 
14 class CustomLayer::Impl : public Layer::Impl {
15 public:
16     Impl(const std::string& id,
17          std::unique_ptr<CustomLayerHost> host);
18 
19     bool hasLayoutDifference(const Layer::Impl&) const override;
20     void stringifyLayout(rapidjson::Writer<rapidjson::StringBuffer>&) const override;
21 
22     std::shared_ptr<CustomLayerHost> host;
23 };
24 
25 } // namespace style
26 } // namespace mbgl
27