mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-18 15:52:09 +08:00
refactor draw_circle_image (#20473)
old-commit-hash: a93f787cef6e6d8e57b1d78433f9810f142a176c
This commit is contained in:
+18
-18
@@ -50,19 +50,19 @@ static void draw_chevron(UIState *s, float x, float y, float sz, NVGcolor fillCo
|
||||
nvgFill(s->vg);
|
||||
}
|
||||
|
||||
static void ui_draw_circle_image(const UIState *s, int x, int y, int size, const char *image, NVGcolor color, float img_alpha, int img_y = 0) {
|
||||
const int img_size = size * 1.5;
|
||||
static void ui_draw_circle_image(const UIState *s, int center_x, int center_y, int radius, const char *image, NVGcolor color, float img_alpha) {
|
||||
nvgBeginPath(s->vg);
|
||||
nvgCircle(s->vg, x, y + (bdr_s * 1.5), size);
|
||||
nvgCircle(s->vg, center_x, center_y, radius);
|
||||
nvgFillColor(s->vg, color);
|
||||
nvgFill(s->vg);
|
||||
ui_draw_image(s, {x - (img_size / 2), img_y ? img_y : y - (size / 4), img_size, img_size}, image, img_alpha);
|
||||
const int img_size = radius * 1.5;
|
||||
ui_draw_image(s, {center_x - (img_size / 2), center_y - (img_size / 2), img_size, img_size}, image, img_alpha);
|
||||
}
|
||||
|
||||
static void ui_draw_circle_image(const UIState *s, int x, int y, int size, const char *image, bool active) {
|
||||
static void ui_draw_circle_image(const UIState *s, int center_x, int center_y, int radius, const char *image, bool active) {
|
||||
float bg_alpha = active ? 0.3f : 0.1f;
|
||||
float img_alpha = active ? 1.0f : 0.15f;
|
||||
ui_draw_circle_image(s, x, y, size, image, nvgRGBA(0, 0, 0, (255 * bg_alpha)), img_alpha);
|
||||
ui_draw_circle_image(s, center_x, center_y, radius, image, nvgRGBA(0, 0, 0, (255 * bg_alpha)), img_alpha);
|
||||
}
|
||||
|
||||
static void draw_lead(UIState *s, int idx) {
|
||||
@@ -215,18 +215,18 @@ static void ui_draw_vision_speed(UIState *s) {
|
||||
static void ui_draw_vision_event(UIState *s) {
|
||||
if (s->scene.controls_state.getEngageable()) {
|
||||
// draw steering wheel
|
||||
const int bg_wheel_size = 96;
|
||||
const int bg_wheel_x = s->viz_rect.right() - bg_wheel_size - bdr_s * 2;
|
||||
const int bg_wheel_y = s->viz_rect.y + (bg_wheel_size / 2) + (bdr_s * 1.5);
|
||||
ui_draw_circle_image(s, bg_wheel_x, bg_wheel_y, bg_wheel_size, "wheel", bg_colors[s->status], 1.0f, bg_wheel_y - 25);
|
||||
const int radius = 96;
|
||||
const int center_x = s->viz_rect.right() - radius - bdr_s * 2;
|
||||
const int center_y = s->viz_rect.y + radius + (bdr_s * 1.5);
|
||||
ui_draw_circle_image(s, center_x, center_y, radius, "wheel", bg_colors[s->status], 1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
static void ui_draw_vision_face(UIState *s) {
|
||||
const int face_size = 96;
|
||||
const int face_x = (s->viz_rect.x + face_size + (bdr_s * 2));
|
||||
const int face_y = (s->viz_rect.bottom() - footer_h + ((footer_h - face_size) / 2));
|
||||
ui_draw_circle_image(s, face_x, face_y, face_size, "driver_face", s->scene.dmonitoring_state.getIsActiveMode());
|
||||
const int radius = 96;
|
||||
const int center_x = s->viz_rect.x + radius + (bdr_s * 2);
|
||||
const int center_y = s->viz_rect.bottom() - footer_h / 2;
|
||||
ui_draw_circle_image(s, center_x, center_y, radius, "driver_face", s->scene.dmonitoring_state.getIsActiveMode());
|
||||
}
|
||||
|
||||
static void ui_draw_driver_view(UIState *s) {
|
||||
@@ -266,10 +266,10 @@ static void ui_draw_driver_view(UIState *s) {
|
||||
}
|
||||
|
||||
// draw face icon
|
||||
const int face_size = 85;
|
||||
const int icon_x = is_rhd ? rect.right() - face_size - bdr_s * 2 : rect.x + face_size + bdr_s * 2;
|
||||
const int icon_y = rect.bottom() - face_size - bdr_s * 2.5;
|
||||
ui_draw_circle_image(s, icon_x, icon_y, face_size, "driver_face", face_detected);
|
||||
const int face_radius = 85;
|
||||
const int center_x = is_rhd ? rect.right() - face_radius - bdr_s * 2 : rect.x + face_radius + bdr_s * 2;
|
||||
const int center_y = rect.bottom() - face_radius - bdr_s * 2.5;
|
||||
ui_draw_circle_image(s, center_x, center_y, face_radius, "driver_face", face_detected);
|
||||
}
|
||||
|
||||
static void ui_draw_vision_header(UIState *s) {
|
||||
|
||||
Reference in New Issue
Block a user