#pragma once #include #include #include #include #include #include namespace scwx { namespace qt { namespace map { class AlertLayer : public DrawLayer { Q_OBJECT Q_DISABLE_COPY_MOVE(AlertLayer) public: explicit AlertLayer(std::shared_ptr context, scwx::awips::Phenomenon phenomenon); ~AlertLayer(); void Initialize() override final; void Render(const QMapLibre::CustomLayerRenderParameters&) override final; void Deinitialize() override final; static void InitializeHandler(); signals: void AlertSelected(const types::TextEventKey& key); private: class Impl; std::unique_ptr p; }; } // namespace map } // namespace qt } // namespace scwx