diff options
author | あく <alleteam@gmail.com> | 2021-07-07 11:57:49 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-07 11:57:49 +0300 |
commit | a7283280eff93f22c8fc1b65573ae0a6447e94bf (patch) | |
tree | 89501b407baf96f3070de9e893ab1be467201d16 /applications/power | |
parent | 607e873404d746c692c38482f03c54ed3edce26c (diff) |
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
Diffstat (limited to 'applications/power')
-rw-r--r-- | applications/power/power.c | 9 | ||||
-rw-r--r-- | applications/power/power_views.c | 22 |
2 files changed, 15 insertions, 16 deletions
diff --git a/applications/power/power.c b/applications/power/power.c index 841e0a76..22bc5db4 100644 --- a/applications/power/power.c +++ b/applications/power/power.c @@ -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; } diff --git a/applications/power/power_views.c b/applications/power/power_views.c index b851f6f8..c6248880 100644 --- a/applications/power/power_views.c +++ b/applications/power/power_views.c @@ -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) { |