Customize the model visuals in the onroad UI
Added toggles to customize the lane lines, path, road edges, path edges, and an "Unlimited Length" mode that extends the road UI out as far as the model can see.
This commit is contained in:
@@ -564,6 +564,44 @@ void AnnotatedCameraWidget::drawLaneLines(QPainter &painter, const UIState *s) {
|
||||
painter.setBrush(bg);
|
||||
painter.drawPolygon(scene.track_vertices);
|
||||
|
||||
// Create new path with track vertices and track edge vertices
|
||||
QPainterPath path;
|
||||
path.addPolygon(scene.track_vertices);
|
||||
path.addPolygon(scene.track_edge_vertices);
|
||||
|
||||
// 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) {
|
||||
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));
|
||||
} else if (scene.navigate_on_openpilot) {
|
||||
pe.setColorAt(0.0, QColor::fromHslF(205 / 360., 0.85, 0.56, 1.0));
|
||||
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 if (customColors != 0) {
|
||||
const auto &colorMap = std::get<3>(themeConfiguration[customColors]);
|
||||
for (const auto &[position, brush] : colorMap) {
|
||||
QColor darkerColor = brush.color().darker(120);
|
||||
pe.setColorAt(position, darkerColor);
|
||||
}
|
||||
} else {
|
||||
pe.setColorAt(0.0, QColor::fromHslF(148 / 360., 0.94, 0.51, 1.0));
|
||||
pe.setColorAt(0.5, QColor::fromHslF(112 / 360., 1.00, 0.68, 0.5));
|
||||
pe.setColorAt(1.0, QColor::fromHslF(112 / 360., 1.00, 0.68, 0.1));
|
||||
}
|
||||
|
||||
painter.setBrush(pe);
|
||||
painter.drawPath(path);
|
||||
|
||||
// Paint blindspot path
|
||||
if (scene.blind_spot_path) {
|
||||
QLinearGradient bs(0, height(), 0, 0);
|
||||
|
||||
Reference in New Issue
Block a user