GUI: Icons and IconsAnimation refactoring. Switch assets to new Icon Api (#566)
* GUI: Icons and IconsAnimation refactoring. Switch assets to new Icon API. * Gui: icon and animation draw now do not accept null pointer * Format Sources * Fix no debug build * Furi: stricter checks in memmgr
This commit is contained in:
		| @@ -9,6 +9,7 @@ | ||||
| #include <menu/menu_item.h> | ||||
|  | ||||
| #include <gui/gui.h> | ||||
| #include <gui/icon_animation.h> | ||||
| #include <gui/view_port.h> | ||||
| #include <gui/view.h> | ||||
| #include <gui/view_dispatcher.h> | ||||
| @@ -32,7 +33,6 @@ struct Power { | ||||
|     View* off_view; | ||||
|     View* disconnect_view; | ||||
|  | ||||
|     Icon* battery_icon; | ||||
|     ViewPort* battery_view_port; | ||||
|  | ||||
|     Dialog* dialog; | ||||
| @@ -47,7 +47,7 @@ struct Power { | ||||
| void power_draw_battery_callback(Canvas* canvas, void* context) { | ||||
|     furi_assert(context); | ||||
|     Power* power = context; | ||||
|     canvas_draw_icon(canvas, 0, 0, power->battery_icon); | ||||
|     canvas_draw_icon(canvas, 0, 0, &I_Battery_26x8); | ||||
|     with_view_model( | ||||
|         power->info_view, (PowerInfoModel * model) { | ||||
|             canvas_draw_box(canvas, 2, 2, (float)model->charge / 100 * 20, 4); | ||||
| @@ -108,7 +108,7 @@ Power* power_alloc() { | ||||
|     power->cli = furi_record_open("cli"); | ||||
|     power_cli_init(power->cli, power); | ||||
|  | ||||
|     power->menu = menu_item_alloc_menu("Power", assets_icons_get(A_Power_14)); | ||||
|     power->menu = menu_item_alloc_menu("Power", icon_animation_alloc(&A_Power_14)); | ||||
|     menu_item_subitem_add( | ||||
|         power->menu, menu_item_alloc_function("Off", NULL, power_menu_off_callback, power)); | ||||
|     menu_item_subitem_add( | ||||
| @@ -143,10 +143,9 @@ Power* power_alloc() { | ||||
|     view_dispatcher_add_view( | ||||
|         power->view_dispatcher, PowerViewDialog, dialog_get_view(power->dialog)); | ||||
|  | ||||
|     power->battery_icon = assets_icons_get(I_Battery_26x8); | ||||
|     power->battery_view_port = view_port_alloc(); | ||||
|  | ||||
|     view_port_set_width(power->battery_view_port, icon_get_width(power->battery_icon)); | ||||
|     view_port_set_width(power->battery_view_port, icon_get_width(&I_Battery_26x8)); | ||||
|     view_port_draw_callback_set(power->battery_view_port, power_draw_battery_callback, power); | ||||
|     return power; | ||||
| } | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| #include "power_views.h" | ||||
| #include <gui/elements.h> | ||||
|  | ||||
| static void draw_stat(Canvas* canvas, int x, int y, IconName icon, char* val) { | ||||
| static void draw_stat(Canvas* canvas, int x, int y, const Icon* icon, char* val) { | ||||
|     canvas_draw_frame(canvas, x - 7, y + 7, 30, 13); | ||||
|     canvas_draw_icon_name(canvas, x, y, icon); | ||||
|     canvas_draw_icon(canvas, x, y, icon); | ||||
|     canvas_set_color(canvas, ColorWhite); | ||||
|     canvas_draw_box(canvas, x - 4, y + 16, 24, 6); | ||||
|     canvas_set_color(canvas, ColorBlack); | ||||
| @@ -18,15 +18,15 @@ static void draw_battery(Canvas* canvas, PowerInfoModel* data, int x, int y) { | ||||
|     int32_t drain_current = -data->current_gauge * 1000; | ||||
|     uint32_t charge_current = data->current_gauge * 1000; | ||||
|     // battery | ||||
|     canvas_draw_icon_name(canvas, x, y, I_BatteryBody_52x28); | ||||
|     canvas_draw_icon(canvas, x, y, &I_BatteryBody_52x28); | ||||
|     if(charge_current > 0) { | ||||
|         canvas_draw_icon_name(canvas, x + 16, y + 7, I_FaceCharging_29x14); | ||||
|         canvas_draw_icon(canvas, x + 16, y + 7, &I_FaceCharging_29x14); | ||||
|     } else if(drain_current > 100) { | ||||
|         canvas_draw_icon_name(canvas, x + 16, y + 7, I_FaceConfused_29x14); | ||||
|         canvas_draw_icon(canvas, x + 16, y + 7, &I_FaceConfused_29x14); | ||||
|     } else if(data->charge < 10) { | ||||
|         canvas_draw_icon_name(canvas, x + 16, y + 7, I_FaceNopower_29x14); | ||||
|         canvas_draw_icon(canvas, x + 16, y + 7, &I_FaceNopower_29x14); | ||||
|     } else { | ||||
|         canvas_draw_icon_name(canvas, x + 16, y + 7, I_FaceNormal_29x14); | ||||
|         canvas_draw_icon(canvas, x + 16, y + 7, &I_FaceNormal_29x14); | ||||
|     } | ||||
|  | ||||
|     //bubble | ||||
| @@ -99,10 +99,10 @@ void power_info_draw_callback(Canvas* canvas, void* context) { | ||||
|         (uint32_t)(data->voltage_gauge * 10) % 10); | ||||
|     snprintf(health, sizeof(health), "%d%s", data->health, "%"); | ||||
|  | ||||
|     draw_stat(canvas, 8, 42, I_Battery_16x16, batt_level); | ||||
|     draw_stat(canvas, 40, 42, I_Temperature_16x16, temperature); | ||||
|     draw_stat(canvas, 72, 42, I_Voltage_16x16, voltage); | ||||
|     draw_stat(canvas, 104, 42, I_Health_16x16, health); | ||||
|     draw_stat(canvas, 8, 42, &I_Battery_16x16, batt_level); | ||||
|     draw_stat(canvas, 40, 42, &I_Temperature_16x16, temperature); | ||||
|     draw_stat(canvas, 72, 42, &I_Voltage_16x16, voltage); | ||||
|     draw_stat(canvas, 104, 42, &I_Health_16x16, health); | ||||
| } | ||||
|  | ||||
| void power_off_draw_callback(Canvas* canvas, void* context) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user