ui: only draw speed limit offset when speed limit is valid (#1270)

This commit is contained in:
Jason Wen
2025-09-20 17:36:13 -04:00
committed by GitHub
parent 629cfd845f
commit 569a9216db
+5 -4
View File
@@ -333,15 +333,16 @@ void HudRendererSP::drawStandstillTimer(QPainter &p, int x, int y) {
}
void HudRendererSP::drawSpeedLimitSigns(QPainter &p) {
bool speedLimitValid = speedLimit > 0;
int speedLimitRounded = std::nearbyint(speedLimit);
bool overspeed = speedLimitRounded < std::nearbyint(speed) && speedLimitRounded > 0;
bool speedLimitWarningEnabled = speedLimitMode == SpeedLimitMode::WARNING;
QString speedLimitStr = speedLimit > 0 ? QString::number(speedLimitRounded) : "---";
QString speedLimitStr = speedLimitValid ? QString::number(speedLimitRounded) : "---";
// Offset display text
QString speedLimitSubText = "";
if (speedLimitOffset != 0) {
speedLimitSubText = (speedLimitOffset > 0 ? "+" : "") + QString::number(std::nearbyint(speedLimitOffset));
speedLimitSubText = (speedLimitOffset > 0 ? "+" : "-") + QString::number(std::nearbyint(speedLimitOffset));
}
// Position next to MAX speed box
@@ -392,7 +393,7 @@ void HudRendererSP::drawSpeedLimitSigns(QPainter &p) {
p.drawText(center_circle, Qt::AlignCenter, speedLimitStr);
// Offset value in small circular box
if (!speedLimitSubText.isEmpty()) {
if (!speedLimitSubText.isEmpty() && speedLimitValid) {
int offset_circle_size = circle_size * 0.4;
int overlap = offset_circle_size * 0.25;
QRect offset_circle_rect(
@@ -437,7 +438,7 @@ void HudRendererSP::drawSpeedLimitSigns(QPainter &p) {
p.drawText(inner_rect.adjusted(0, 80, 0, 0), Qt::AlignTop | Qt::AlignHCenter, speedLimitStr);
// Offset value in small box
if (!speedLimitSubText.isEmpty()) {
if (!speedLimitSubText.isEmpty() && speedLimitValid) {
int offset_box_size = sign_rect.width() * 0.4;
int overlap = offset_box_size * 0.25;
QRect offset_box_rect(