#pragma once #include namespace scwx::qt::map { class RadarSiteLayer : public DrawLayer { Q_OBJECT Q_DISABLE_COPY_MOVE(RadarSiteLayer) public: explicit RadarSiteLayer(const std::shared_ptr& glContext); ~RadarSiteLayer(); void Initialize(const std::shared_ptr& mapContext) final; void Render(const std::shared_ptr& mapContext, const QMapLibre::CustomLayerRenderParameters&) final; void Deinitialize() final; bool RunMousePicking(const std::shared_ptr& mapContext, const QMapLibre::CustomLayerRenderParameters& params, const QPointF& mouseLocalPos, const QPointF& mouseGlobalPos, const glm::vec2& mouseCoords, const common::Coordinate& mouseGeoCoords, std::shared_ptr& eventHandler) final; signals: void RadarSiteSelected(const std::string& id); private: class Impl; std::unique_ptr p; }; } // namespace scwx::qt::map