dashboard: replace vehicle labels with icons
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user