dashboard: replace vehicle labels with icons

This commit is contained in:
2026-06-11 01:44:30 -06:00
parent 1328859d15
commit d39bf07441
2 changed files with 75 additions and 14 deletions
@@ -609,6 +609,73 @@ static void update_system_status_label()
static lv_obj_t *create_coolant_icon(lv_obj_t *parent)
{
lv_obj_t *icon = lv_obj_create(parent);
lv_obj_set_size(icon, 34, 46);
lv_obj_set_style_bg_opa(icon, LV_OPA_TRANSP, 0);
lv_obj_set_style_border_width(icon, 0, 0);
lv_obj_set_style_pad_all(icon, 0, 0);
lv_obj_clear_flag(icon, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_t *stem = lv_obj_create(icon);
lv_obj_set_size(stem, 10, 30);
lv_obj_align(stem, LV_ALIGN_TOP_MID, 0, 2);
lv_obj_set_style_radius(stem, 6, 0);
lv_obj_set_style_bg_color(stem, lv_color_hex(0x84CAFF), 0);
lv_obj_set_style_border_width(stem, 0, 0);
lv_obj_t *bulb = lv_obj_create(icon);
lv_obj_set_size(bulb, 22, 22);
lv_obj_align(bulb, LV_ALIGN_BOTTOM_MID, 0, -1);
lv_obj_set_style_radius(bulb, LV_RADIUS_CIRCLE, 0);
lv_obj_set_style_bg_color(bulb, lv_color_hex(0x84CAFF), 0);
lv_obj_set_style_border_width(bulb, 0, 0);
return icon;
}
static lv_obj_t *create_fuel_icon(lv_obj_t *parent)
{
lv_obj_t *icon = lv_obj_create(parent);
lv_obj_set_size(icon, 34, 34);
lv_obj_set_style_bg_opa(icon, LV_OPA_TRANSP, 0);
lv_obj_set_style_border_width(icon, 0, 0);
lv_obj_set_style_pad_all(icon, 0, 0);
lv_obj_clear_flag(icon, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_t *body = lv_obj_create(icon);
lv_obj_set_size(body, 18, 26);
lv_obj_align(body, LV_ALIGN_LEFT_MID, 2, 0);
lv_obj_set_style_radius(body, 3, 0);
lv_obj_set_style_bg_color(body, lv_color_hex(0xDDE3EA), 0);
lv_obj_set_style_border_width(body, 0, 0);
lv_obj_t *window = lv_obj_create(body);
lv_obj_set_size(window, 10, 7);
lv_obj_align(window, LV_ALIGN_TOP_MID, 0, 4);
lv_obj_set_style_radius(window, 1, 0);
lv_obj_set_style_bg_color(window, lv_color_hex(0x17202A), 0);
lv_obj_set_style_border_width(window, 0, 0);
lv_obj_t *hose = lv_obj_create(icon);
lv_obj_set_size(hose, 12, 4);
lv_obj_align(hose, LV_ALIGN_TOP_RIGHT, -2, 8);
lv_obj_set_style_radius(hose, 2, 0);
lv_obj_set_style_bg_color(hose, lv_color_hex(0xDDE3EA), 0);
lv_obj_set_style_border_width(hose, 0, 0);
lv_obj_t *nozzle = lv_obj_create(icon);
lv_obj_set_size(nozzle, 4, 14);
lv_obj_align(nozzle, LV_ALIGN_RIGHT_MID, -2, 2);
lv_obj_set_style_radius(nozzle, 2, 0);
lv_obj_set_style_bg_color(nozzle, lv_color_hex(0xDDE3EA), 0);
lv_obj_set_style_border_width(nozzle, 0, 0);
return icon;
}
static void fuel_bar_draw_value_cb(lv_event_t *e)
{
lv_obj_draw_part_dsc_t *dsc = lv_event_get_draw_part_dsc(e);
@@ -1181,11 +1248,8 @@ static void create_overland_overview_screen()
lv_obj_align(temp_tile_name_labels[i], LV_ALIGN_TOP_MID, 0, 86);
}
lv_obj_t *coolant_title = lv_label_create(vehicle_card);
lv_label_set_text(coolant_title, "Coolant");
lv_obj_set_style_text_color(coolant_title, lv_color_hex(0xDDE3EA), 0);
lv_obj_set_style_text_font(coolant_title, &lv_font_montserrat_26, 0);
lv_obj_align(coolant_title, LV_ALIGN_TOP_MID, 0, 4);
lv_obj_t *coolant_icon = create_coolant_icon(vehicle_card);
lv_obj_align(coolant_icon, LV_ALIGN_TOP_LEFT, 12, 8);
#if LV_USE_METER
vehicle_coolant_meter = lv_meter_create(vehicle_card);
@@ -1220,16 +1284,13 @@ static void create_overland_overview_screen()
lv_obj_set_style_text_align(vehicle_coolant_value_label, LV_TEXT_ALIGN_CENTER, 0);
lv_obj_align(vehicle_coolant_value_label, LV_ALIGN_TOP_MID, 0, 126);
lv_obj_t *fuel_title = lv_label_create(vehicle_card);
lv_label_set_text(fuel_title, "Fuel");
lv_obj_set_style_text_color(fuel_title, lv_color_hex(0xDDE3EA), 0);
lv_obj_set_style_text_font(fuel_title, &lv_font_montserrat_26, 0);
lv_obj_align(fuel_title, LV_ALIGN_BOTTOM_LEFT, 10, -18);
lv_obj_t *fuel_icon = create_fuel_icon(vehicle_card);
lv_obj_align(fuel_icon, LV_ALIGN_BOTTOM_LEFT, 10, -14);
vehicle_fuel_bar = lv_bar_create(vehicle_card);
lv_obj_add_event_cb(vehicle_fuel_bar, fuel_bar_draw_value_cb, LV_EVENT_DRAW_PART_END, NULL);
lv_obj_set_size(vehicle_fuel_bar, 190, 22);
lv_obj_align(vehicle_fuel_bar, LV_ALIGN_BOTTOM_LEFT, 64, -21);
lv_obj_set_size(vehicle_fuel_bar, 206, 22);
lv_obj_align(vehicle_fuel_bar, LV_ALIGN_BOTTOM_LEFT, 54, -20);
lv_bar_set_range(vehicle_fuel_bar, 0, 100);
lv_bar_set_value(vehicle_fuel_bar, 72, LV_ANIM_OFF);
lv_obj_set_style_radius(vehicle_fuel_bar, 3, 0);
@@ -1247,7 +1308,7 @@ static void create_overland_overview_screen()
lv_obj_set_style_bg_color(tick, lv_color_hex(0x7D8996), 0);
lv_obj_set_style_border_width(tick, 0, 0);
lv_obj_set_style_radius(tick, 0, 0);
lv_obj_align(tick, LV_ALIGN_BOTTOM_LEFT, 64 + (i * 47), -18);
lv_obj_align(tick, LV_ALIGN_BOTTOM_LEFT, 54 + (i * 51), -17);
}
vehicle_fuel_value_label = lv_label_create(vehicle_card);