#include namespace scwx { namespace qt { namespace map { class LayerWrapperImpl { public: explicit LayerWrapperImpl(std::shared_ptr layer) : layer_ {layer} { } ~LayerWrapperImpl() {} std::shared_ptr layer_; }; LayerWrapper::LayerWrapper(std::shared_ptr layer) : p(std::make_unique(layer)) { } LayerWrapper::~LayerWrapper() = default; LayerWrapper::LayerWrapper(LayerWrapper&&) noexcept = default; LayerWrapper& LayerWrapper::operator=(LayerWrapper&&) noexcept = default; void LayerWrapper::initialize() { p->layer_->Initialize(); } void LayerWrapper::render( const QMapLibreGL::CustomLayerRenderParameters& params) { p->layer_->Render(params); } void LayerWrapper::deinitialize() { p->layer_->Deinitialize(); } } // namespace map } // namespace qt } // namespace scwx