#include #include #include namespace mbgl { namespace style { CustomLayer::CustomLayer(const std::string& layerID, CustomLayerInitializeFunction init, CustomLayerRenderFunction render, CustomLayerDeinitializeFunction deinit, void* context) : Layer(LayerType::Custom, std::make_unique(layerID, init, render, deinit, context)) , impl(static_cast(baseImpl.get())) { Log::Info(Event::General, "New custom layer: %s", layerID.c_str()); } CustomLayer::CustomLayer(const Impl& other) : Layer(LayerType::Custom, std::make_unique(other)) , impl(static_cast(baseImpl.get())) { } CustomLayer::~CustomLayer() = default; template <> bool Layer::is() const { return type == LayerType::Custom; } } // namespace style } // namespace mbgl