#include #include #include #include namespace scwx { namespace qt { namespace map { class MapContext::Impl { public: explicit Impl(std::shared_ptr radarProductView) : radarProductView_ {radarProductView} { } ~Impl() {} std::weak_ptr map_ {}; MapSettings settings_ {}; float pixelRatio_ {1.0f}; common::RadarProductGroup radarProductGroup_ { common::RadarProductGroup::Unknown}; std::string radarProduct_ {"???"}; int16_t radarProductCode_ {0}; QMapLibre::CustomLayerRenderParameters renderParameters_ {}; std::shared_ptr overlayProductView_ {nullptr}; std::shared_ptr radarProductView_; }; MapContext::MapContext( std::shared_ptr radarProductView) : p(std::make_unique(radarProductView)) { } MapContext::~MapContext() = default; MapContext::MapContext(MapContext&&) noexcept = default; MapContext& MapContext::operator=(MapContext&&) noexcept = default; std::weak_ptr MapContext::map() const { return p->map_; } MapSettings& MapContext::settings() { return p->settings_; } float MapContext::pixel_ratio() const { return p->pixelRatio_; } std::shared_ptr MapContext::overlay_product_view() const { return p->overlayProductView_; } std::shared_ptr MapContext::radar_product_view() const { return p->radarProductView_; } common::RadarProductGroup MapContext::radar_product_group() const { return p->radarProductGroup_; } std::string MapContext::radar_product() const { return p->radarProduct_; } int16_t MapContext::radar_product_code() const { return p->radarProductCode_; } QMapLibre::CustomLayerRenderParameters MapContext::render_parameters() const { return p->renderParameters_; } void MapContext::set_map(const std::shared_ptr& map) { p->map_ = map; } void MapContext::set_overlay_product_view( const std::shared_ptr& overlayProductView) { p->overlayProductView_ = overlayProductView; } void MapContext::set_pixel_ratio(float pixelRatio) { p->pixelRatio_ = pixelRatio; } void MapContext::set_radar_product_view( const std::shared_ptr& radarProductView) { p->radarProductView_ = radarProductView; } void MapContext::set_radar_product_group( common::RadarProductGroup radarProductGroup) { p->radarProductGroup_ = radarProductGroup; } void MapContext::set_radar_product(const std::string& radarProduct) { p->radarProduct_ = radarProduct; } void MapContext::set_radar_product_code(int16_t radarProductCode) { p->radarProductCode_ = radarProductCode; } void MapContext::set_render_parameters( const QMapLibre::CustomLayerRenderParameters& params) { p->renderParameters_ = params; } } // namespace map } // namespace qt } // namespace scwx