#pragma once #include #include namespace scwx::qt::map { class LayerWrapper : public QMapLibre::CustomLayerHostInterface { public: explicit LayerWrapper(std::shared_ptr layer, std::shared_ptr mapContext); ~LayerWrapper(); LayerWrapper(const LayerWrapper&) = delete; LayerWrapper& operator=(const LayerWrapper&) = delete; LayerWrapper(LayerWrapper&&) noexcept; LayerWrapper& operator=(LayerWrapper&&) noexcept; void initialize() final; void render(const QMapLibre::CustomLayerRenderParameters&) final; void deinitialize() final; private: class Impl; std::unique_ptr p; }; } // namespace scwx::qt::map