diff --git a/scwx-qt/source/scwx/qt/map/alert_layer.cpp b/scwx-qt/source/scwx/qt/map/alert_layer.cpp index 1c387412..15fc4af0 100644 --- a/scwx-qt/source/scwx/qt/map/alert_layer.cpp +++ b/scwx-qt/source/scwx/qt/map/alert_layer.cpp @@ -118,7 +118,7 @@ public: { lineColor_.emplace( alertActive, - util::color::ToRgba8PixelT( + util::color::ToRgba32fPixelT( paletteSettings.alert_color(phenomenon_, alertActive) .GetValue())); } @@ -144,7 +144,7 @@ public: static void AddLines(std::shared_ptr& geoLines, const std::vector& coordinates, - boost::gil::rgba32_pixel_t color, + boost::gil::rgba32f_pixel_t color, float width, std::chrono::system_clock::time_point startTime, std::chrono::system_clock::time_point endTime, @@ -156,7 +156,7 @@ public: std::unordered_map> geoLines_; - std::unordered_map lineColor_; + std::unordered_map lineColor_; std::chrono::system_clock::time_point selectedTime_ {}; }; @@ -358,7 +358,7 @@ void AlertLayer::Impl::UpdateAlert( void AlertLayer::Impl::AddLines( std::shared_ptr& geoLines, const std::vector& coordinates, - boost::gil::rgba32_pixel_t color, + boost::gil::rgba32f_pixel_t color, float width, std::chrono::system_clock::time_point startTime, std::chrono::system_clock::time_point endTime, diff --git a/scwx-qt/source/scwx/qt/util/color.cpp b/scwx-qt/source/scwx/qt/util/color.cpp index c1246843..6e193dc9 100644 --- a/scwx-qt/source/scwx/qt/util/color.cpp +++ b/scwx-qt/source/scwx/qt/util/color.cpp @@ -29,6 +29,15 @@ boost::gil::rgba8_pixel_t ToRgba8PixelT(const std::string& argbString) static_cast(qAlpha(color))}; } +boost::gil::rgba32f_pixel_t ToRgba32fPixelT(const std::string& argbString) +{ + boost::gil::rgba8_pixel_t rgba8Pixel = ToRgba8PixelT(argbString); + return boost::gil::rgba32f_pixel_t {rgba8Pixel[0] / 255.0f, + rgba8Pixel[1] / 255.0f, + rgba8Pixel[2] / 255.0f, + rgba8Pixel[3] / 255.0f}; +} + } // namespace color } // namespace util } // namespace qt diff --git a/scwx-qt/source/scwx/qt/util/color.hpp b/scwx-qt/source/scwx/qt/util/color.hpp index d38f033f..73ca07f1 100644 --- a/scwx-qt/source/scwx/qt/util/color.hpp +++ b/scwx-qt/source/scwx/qt/util/color.hpp @@ -29,6 +29,16 @@ std::string ToArgbString(const boost::gil::rgba8_pixel_t& color); */ boost::gil::rgba8_pixel_t ToRgba8PixelT(const std::string& argbString); +/** + * Converts an ARGB string used by Qt libraries to a Boost.GIL 32-bit RGBA + * floating point pixel. + * + * @param argbString ARGB string in the format #AARRGGBB + * + * @return RGBA32 floating point pixel + */ +boost::gil::rgba32f_pixel_t ToRgba32fPixelT(const std::string& argbString); + } // namespace color } // namespace util } // namespace qt