#pragma once #include #include namespace scwx { namespace qt { namespace map { class DrawLayerImpl; class DrawLayer : public GenericLayer { public: explicit DrawLayer(std::shared_ptr context); virtual ~DrawLayer(); virtual void Initialize(); virtual void Render(const QMapLibreGL::CustomLayerRenderParameters&); virtual void Deinitialize(); protected: void AddDrawItem(std::shared_ptr drawItem); private: std::unique_ptr p; }; } // namespace map } // namespace qt } // namespace scwx