#pragma once #include #include #include #include namespace mbgl { class TransformState; namespace style { class CustomLayer::Impl : public Layer::Impl { public: Impl(const std::string& id, std::unique_ptr host); bool hasLayoutDifference(const Layer::Impl&) const override; void stringifyLayout(rapidjson::Writer&) const override; std::shared_ptr host; DECLARE_LAYER_TYPE_INFO; }; class CustomLayerProperties final : public LayerProperties { public: explicit CustomLayerProperties(Immutable impl) : LayerProperties(std::move(impl)) {} }; } // namespace style } // namespace mbgl