diff --git a/selfdrive/ui/qt/onroad.cc b/selfdrive/ui/qt/onroad.cc index 49a3f77..ec06cbd 100644 --- a/selfdrive/ui/qt/onroad.cc +++ b/selfdrive/ui/qt/onroad.cc @@ -825,10 +825,10 @@ void AnnotatedCameraWidget::drawLaneLines(QPainter &painter, const UIState *s) { // CLEARPILOT: color channel code rewriten to allow custom colors // Define base RGB color and alpha - int base_red = 139; // Dark red component + int base_red = 200; // Dark red component int base_green = 0; // Minimal green component int base_blue = 0; // Minimal blue component - float base_alpha = 0.6; // 60% opacity + float base_alpha = 0.75; // 60% opacity QColor baseColor(base_red, base_green, base_blue); @@ -906,17 +906,15 @@ void AnnotatedCameraWidget::drawLaneLines(QPainter &painter, const UIState *s) { // Paint path edges QLinearGradient pe(0, height(), 0, 0); if (alwaysOnLateralActive) { - pe.setColorAt(0.0, QColor::fromHslF(178 / 360., 0.90, 0.38, 1.0)); - pe.setColorAt(0.5, QColor::fromHslF(178 / 360., 0.90, 0.38, 0.5)); - pe.setColorAt(1.0, QColor::fromHslF(178 / 360., 0.90, 0.38, 0.1)); - } else if (conditionalStatus == 1 || conditionalStatus == 3 || conditionalStatus == 5) { - pe.setColorAt(0.0, QColor::fromHslF(58 / 360., 1.00, 0.50, 1.0)); - pe.setColorAt(0.5, QColor::fromHslF(58 / 360., 1.00, 0.50, 0.5)); - pe.setColorAt(1.0, QColor::fromHslF(58 / 360., 1.00, 0.50, 0.1)); - } else if (experimentalMode) { - pe.setColorAt(0.0, QColor::fromHslF(25 / 360., 0.71, 0.50, 1.0)); - pe.setColorAt(0.5, QColor::fromHslF(25 / 360., 0.71, 0.50, 0.5)); - pe.setColorAt(1.0, QColor::fromHslF(25 / 360., 0.71, 0.50, 0.1)); + QColor color = bg_colors[STATUS_ALWAYS_ON_LATERAL_ACTIVE]; + pe.setColorAt(0.0, QColor(color.red(), color.green(), color.blue(), static_cast(base_alpha * 255))); + pe.setColorAt(0.5, QColor(color.red(), color.green(), color.blue(), static_cast(base_alpha * 255 * 0.5))); + pe.setColorAt(1.0, QColor(color.red(), color.green(), color.blue(), static_cast(base_alpha * 255 * 0.1))); + } else if (conditionalStatus == 1 || conditionalStatus == 3 || conditionalStatus == 5 || experimentalMode) { + QColor color = bg_colors[STATUS_EXPERIMENTAL_ACTIVE]; + pe.setColorAt(0.0, QColor(color.red(), color.green(), color.blue(), static_cast(base_alpha * 255))); + pe.setColorAt(0.5, QColor(color.red(), color.green(), color.blue(), static_cast(base_alpha * 255 * 0.5))); + pe.setColorAt(1.0, QColor(color.red(), color.green(), color.blue(), static_cast(base_alpha * 255 * 0.1))); } else if (trafficModeActive) { pe.setColorAt(0.0, QColor::fromHslF(355 / 360., 0.71, 0.46, 1.0)); pe.setColorAt(0.5, QColor::fromHslF(355 / 360., 0.71, 0.46, 0.5)); @@ -926,9 +924,10 @@ void AnnotatedCameraWidget::drawLaneLines(QPainter &painter, const UIState *s) { pe.setColorAt(0.5, QColor::fromHslF(205 / 360., 0.85, 0.56, 0.5)); pe.setColorAt(1.0, QColor::fromHslF(205 / 360., 0.85, 0.56, 0.1)); } else { -pe.setColorAt(0.0, QColor(baseColor.red(), baseColor.green(), baseColor.blue(), static_cast(base_alpha * 255))); -pe.setColorAt(0.5, QColor(baseColor.red(), baseColor.green(), baseColor.blue(), static_cast(base_alpha * 255 * 0.5))); -pe.setColorAt(1.0, QColor(baseColor.red(), baseColor.green(), baseColor.blue(), static_cast(base_alpha * 255 * 0.1))); + QColor color = bg_colors[STATUS_ENGAGED]; + pe.setColorAt(0.0, QColor(color.red(), color.green(), color.blue(), static_cast(base_alpha * 255))); + pe.setColorAt(0.5, QColor(color.red(), color.green(), color.blue(), static_cast(base_alpha * 255 * 0.5))); + pe.setColorAt(1.0, QColor(color.red(), color.green(), color.blue(), static_cast(base_alpha * 255 * 0.1))); } QPainterPath path; diff --git a/selfdrive/ui/ui.h b/selfdrive/ui/ui.h index b8faf7c..4b3a88d 100644 --- a/selfdrive/ui/ui.h +++ b/selfdrive/ui/ui.h @@ -107,17 +107,6 @@ struct Alert { } }; -typedef enum UIStatus { - STATUS_DISENGAGED, - STATUS_OVERRIDE, - STATUS_ENGAGED, - - // FrogPilot statuses - STATUS_ALWAYS_ON_LATERAL_ACTIVE, - STATUS_TRAFFIC_MODE_ACTIVE, - -} UIStatus; - enum PrimeType { UNKNOWN = -1, NONE = 0, @@ -127,15 +116,25 @@ enum PrimeType { MAGENTA_NEW = 4, PURPLE = 5, }; + +// Clearpilot redefined these. +typedef enum UIStatus { + STATUS_DISENGAGED, + STATUS_OVERRIDE, + STATUS_ENGAGED, + STATUS_ALWAYS_ON_LATERAL_ACTIVE, + STATUS_TRAFFIC_MODE_ACTIVE, + STATUS_EXPERIMENTAL_ACTIVE, +} UIStatus; +// Clearpilot custom colors const QColor bg_colors [] = { [STATUS_DISENGAGED] = QColor(0x17, 0x33, 0x49, 0xc8), - [STATUS_OVERRIDE] = QColor(0x91, 0x7b, 0x7b, 0xf1), - [STATUS_ENGAGED] = QColor(0x91, 0x7b, 0x7b, 0xf1), // CLEARPILOT changed to redish gray - - // FrogPilot colors - [STATUS_ALWAYS_ON_LATERAL_ACTIVE] = QColor(0x91, 0x7b, 0x7b, 0xf1), // CLEARPILOT changed to dark blue - [STATUS_TRAFFIC_MODE_ACTIVE] = QColor(0xc9, 0x22, 0x31, 0xf1), + [STATUS_OVERRIDE] = QColor(218, 112, 36, 0xd1), // When you nudge the steering wheel while engaged + [STATUS_ENGAGED] = QColor(218, 112, 36, 0xd1), // Orange + [STATUS_ALWAYS_ON_LATERAL_ACTIVE] = QColor(158, 126, 111, 0xd1), // Gray + [STATUS_TRAFFIC_MODE_ACTIVE] = QColor(0xc9, 0x22, 0x31, 0xd1), // ? unused? + [STATUS_EXPERIMENTAL_ACTIVE] = QColor(126, 32, 128, 0xd1), // Magenta }; static std::map alert_colors = {