diff --git a/selfdrive/ui/sunnypilot/qt/onroad/hud.cc b/selfdrive/ui/sunnypilot/qt/onroad/hud.cc index 510fc2d69..4bb2aca28 100644 --- a/selfdrive/ui/sunnypilot/qt/onroad/hud.cc +++ b/selfdrive/ui/sunnypilot/qt/onroad/hud.cc @@ -21,6 +21,8 @@ HudRendererSP::HudRendererSP() { green_light_alert_large_img = loadPixmap("../../sunnypilot/selfdrive/assets/images/green_light.png", {large_max, large_max}); lead_depart_alert_small_img = loadPixmap("../../sunnypilot/selfdrive/assets/images/lead_depart.png", {small_max, small_max}); lead_depart_alert_large_img = loadPixmap("../../sunnypilot/selfdrive/assets/images/lead_depart.png", {large_max, large_max}); + + standstillTimerOctagon.reserve(8); } void HudRendererSP::updateState(const UIState &s) { @@ -132,7 +134,6 @@ void HudRendererSP::draw(QPainter &p, const QRect &surface_rect) { if (is_cruise_available) { drawSetSpeedSP(p, surface_rect); } - drawCurrentSpeedSP(p, surface_rect); if (!hideVEgoUI) { drawCurrentSpeedSP(p, surface_rect); @@ -404,19 +405,19 @@ void HudRendererSP::drawStandstillTimer(QPainter &p, int x, int y) { // stop sign for standstill timer const int size = 190; // size - const float angle = M_PI / 8.0; + const float angle = M_PI / 8.0f; - QPolygon octagon; + standstillTimerOctagon.clear(); for (int i = 0; i < 8; i++) { - float curr_angle = angle + i * M_PI / 4.0; + float curr_angle = angle + i * M_PI / 4.0f; int point_x = x + size / 2 * cos(curr_angle); int point_y = y + size / 2 * sin(curr_angle); - octagon << QPoint(point_x, point_y); + standstillTimerOctagon << QPoint(point_x, point_y); } p.setPen(QPen(Qt::white, 6)); p.setBrush(QColor(255, 90, 81, 200)); // red pastel - p.drawPolygon(octagon); + p.drawPolygon(standstillTimerOctagon); QString time_str = QString("%1:%2").arg(minute, 1, 10, QChar('0')).arg(second, 2, 10, QChar('0')); p.setFont(InterFont(55, QFont::Bold)); diff --git a/selfdrive/ui/sunnypilot/qt/onroad/hud.h b/selfdrive/ui/sunnypilot/qt/onroad/hud.h index 16179b02a..7a4940a28 100644 --- a/selfdrive/ui/sunnypilot/qt/onroad/hud.h +++ b/selfdrive/ui/sunnypilot/qt/onroad/hud.h @@ -69,6 +69,7 @@ private: bool standstillTimer; bool isStandstill; float standstillElapsedTime; + QPolygon standstillTimerOctagon; bool longOverride; bool smartCruiseControlVisionEnabled; bool smartCruiseControlVisionActive;