diff --git a/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/include/mission_details_display.hpp b/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/include/mission_details_display.hpp index ab5abfe3c3d83..ad0d02d934f9f 100644 --- a/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/include/mission_details_display.hpp +++ b/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/include/mission_details_display.hpp @@ -61,6 +61,9 @@ private Q_SLOTS: rviz_common::properties::IntProperty * property_height_; rviz_common::properties::IntProperty * property_right_; rviz_common::properties::IntProperty * property_top_; + rviz_common::properties::ColorProperty * property_bg_color_; + rviz_common::properties::FloatProperty * property_bg_alpha_; + rviz_common::properties::ColorProperty * property_text_color_; std::unique_ptr remaining_distance_time_topic_property_; diff --git a/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/include/remaining_distance_time_display.hpp b/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/include/remaining_distance_time_display.hpp index 843b75e352648..d3f246f47129d 100644 --- a/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/include/remaining_distance_time_display.hpp +++ b/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/include/remaining_distance_time_display.hpp @@ -36,7 +36,8 @@ class RemainingDistanceTimeDisplay { public: RemainingDistanceTimeDisplay(); - void drawRemainingDistanceTimeDisplay(QPainter & painter, const QRectF & backgroundRect); + void drawRemainingDistanceTimeDisplay( + QPainter & painter, const QRectF & backgroundRect, const QColor & text_color); void updateRemainingDistanceTimeData( const autoware_internal_msgs::msg::MissionRemainingDistanceTime::ConstSharedPtr & msg); @@ -44,8 +45,6 @@ class RemainingDistanceTimeDisplay double remaining_distance_; // Internal variable to store remaining distance double remaining_time_; // Internal variable to store remaining time - QColor gray = QColor(194, 194, 194); - QImage icon_dist_; QImage icon_dist_scaled_; QImage icon_time_; diff --git a/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/src/mission_details_display.cpp b/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/src/mission_details_display.cpp index bafae1727b2f1..2e76a2ae38f31 100644 --- a/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/src/mission_details_display.cpp +++ b/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/src/mission_details_display.cpp @@ -39,6 +39,12 @@ MissionDetailsDisplay::MissionDetailsDisplay() "Right", 10, "Margin from the right border", this, SLOT(update_size())); property_top_ = new rviz_common::properties::IntProperty( "Top", 10, "Margin from the top border", this, SLOT(update_size())); + property_bg_alpha_ = new rviz_common::properties::FloatProperty( + "Background Alpha", 0.3, "Background Alpha", this, SLOT(update_size())); + property_bg_color_ = new rviz_common::properties::ColorProperty( + "Background Color", QColor(0, 0, 0), "Background Color", this, SLOT(update_size())); + property_text_color_ = new rviz_common::properties::ColorProperty( + "Text Color", QColor(194, 194, 194), "Text Color", this, SLOT(update_size())); // Initialize the component displays remaining_distance_time_display_ = std::make_unique(); @@ -154,7 +160,8 @@ void MissionDetailsDisplay::draw_widget(QImage & hud) draw_rounded_rect(painter, backgroundRect); if (remaining_distance_time_display_) { - remaining_distance_time_display_->drawRemainingDistanceTimeDisplay(painter, backgroundRect); + remaining_distance_time_display_->drawRemainingDistanceTimeDisplay( + painter, backgroundRect, property_text_color_->getColor()); } painter.end(); @@ -164,8 +171,10 @@ void MissionDetailsDisplay::draw_rounded_rect(QPainter & painter, const QRectF & { painter.setRenderHint(QPainter::Antialiasing, true); QColor colorFromHSV; - colorFromHSV.setHsv(0, 0, 29); - colorFromHSV.setAlphaF(0.60); + colorFromHSV.setHsv( + property_bg_color_->getColor().hue(), property_bg_color_->getColor().saturation(), + property_bg_color_->getColor().value()); + colorFromHSV.setAlphaF(property_bg_alpha_->getFloat()); painter.setBrush(colorFromHSV); diff --git a/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/src/remaining_distance_time_display.cpp b/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/src/remaining_distance_time_display.cpp index 86395ef1918bc..13f3fdddfe76b 100644 --- a/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/src/remaining_distance_time_display.cpp +++ b/common/autoware_overlay_rviz_plugin/autoware_mission_details_overlay_rviz_plugin/src/remaining_distance_time_display.cpp @@ -60,7 +60,7 @@ void RemainingDistanceTimeDisplay::updateRemainingDistanceTimeData( } void RemainingDistanceTimeDisplay::drawRemainingDistanceTimeDisplay( - QPainter & painter, const QRectF & backgroundRect) + QPainter & painter, const QRectF & backgroundRect, const QColor & text_color) { const QFont font("Quicksand", 15, QFont::Bold); painter.setFont(font); @@ -107,7 +107,7 @@ void RemainingDistanceTimeDisplay::drawRemainingDistanceTimeDisplay( QRectF rect_text_unit( rect.topRight().x() - unit_width, rect.topRight().y(), unit_width, rect.height()); - painter.setPen(gray); + painter.setPen(text_color); painter.drawText(rect_text_unit, Qt::AlignLeft | Qt::AlignVCenter, str_unit); // place the value text