diff --git a/applications/main/infrared/scenes/infrared_scene_universal_ac.c b/applications/main/infrared/scenes/infrared_scene_universal_ac.c index 58f067735..8914e5ad0 100644 --- a/applications/main/infrared/scenes/infrared_scene_universal_ac.c +++ b/applications/main/infrared/scenes/infrared_scene_universal_ac.c @@ -1,6 +1,7 @@ #include "../infrared_i.h" #include "common/infrared_scene_universal_common.h" +#include void infrared_scene_universal_ac_on_enter(void* context) { infrared_scene_universal_common_on_enter(context); @@ -18,24 +19,26 @@ void infrared_scene_universal_ac_on_enter(void* context) { i, 0, 0, - 3, - 22, - &I_Off_25x27, - &I_Off_hvr_25x27, + 6, + 15, + &I_power_19x20, + &I_power_hover_19x20, infrared_scene_universal_common_item_callback, context); + button_panel_add_icon(button_panel, 4, 37, &I_power_text_24x5); infrared_brute_force_add_record(brute_force, i++, "Off"); button_panel_add_item( button_panel, i, 1, 0, - 36, - 22, - &I_Dehumidify_25x27, - &I_Dehumidify_hvr_25x27, + 39, + 15, + &I_dry_19x20, + &I_dry_hover_19x20, infrared_scene_universal_common_item_callback, context); + button_panel_add_icon(button_panel, 41, 37, &I_dry_text_15x5); infrared_brute_force_add_record(brute_force, i++, "Dh"); button_panel_add_item( button_panel, @@ -43,9 +46,9 @@ void infrared_scene_universal_ac_on_enter(void* context) { 0, 1, 3, - 59, - &I_CoolHi_25x27, - &I_CoolHi_hvr_25x27, + 49, + &I_max_24x23, + &I_max_hover_24x23, infrared_scene_universal_common_item_callback, context); infrared_brute_force_add_record(brute_force, i++, "Cool_hi"); @@ -54,39 +57,71 @@ void infrared_scene_universal_ac_on_enter(void* context) { i, 1, 1, - 36, - 59, - &I_HeatHi_25x27, - &I_HeatHi_hvr_25x27, + 37, + 49, + &I_max_24x23, + &I_max_hover_24x23, infrared_scene_universal_common_item_callback, context); infrared_brute_force_add_record(brute_force, i++, "Heat_hi"); - button_panel_add_item( - button_panel, - i, - 0, - 2, - 3, - 91, - &I_CoolLo_25x27, - &I_CoolLo_hvr_25x27, - infrared_scene_universal_common_item_callback, - context); + if(furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric) { + button_panel_add_item( + button_panel, + i, + 0, + 2, + 3, + 100, + &I_celsius_24x23, + &I_celsius_hover_24x23, + infrared_scene_universal_common_item_callback, + context); + } else { + button_panel_add_item( + button_panel, + i, + 0, + 2, + 3, + 100, + &I_fahren_24x23, + &I_fahren_hover_24x23, + infrared_scene_universal_common_item_callback, + context); + } infrared_brute_force_add_record(brute_force, i++, "Cool_lo"); - button_panel_add_item( - button_panel, - i, - 1, - 2, - 36, - 91, - &I_HeatLo_25x27, - &I_HeatLo_hvr_25x27, - infrared_scene_universal_common_item_callback, - context); + + if(furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric) { + button_panel_add_item( + button_panel, + i, + 1, + 2, + 37, + 100, + &I_celsius_24x23, + &I_celsius_hover_24x23, + infrared_scene_universal_common_item_callback, + context); + } else { + button_panel_add_item( + button_panel, + i, + 1, + 2, + 37, + 100, + &I_fahren_24x23, + &I_fahren_hover_24x23, + infrared_scene_universal_common_item_callback, + context); + } infrared_brute_force_add_record(brute_force, i++, "Heat_lo"); - button_panel_add_label(button_panel, 6, 10, FontPrimary, "AC remote"); + button_panel_add_icon(button_panel, 0, 60, &I_cool_30x51); + button_panel_add_icon(button_panel, 34, 60, &I_heat_30x51); + + button_panel_add_label(button_panel, 4, 10, FontPrimary, "AC remote"); view_set_orientation(view_stack_get_view(infrared->view_stack), ViewOrientationVertical); view_dispatcher_switch_to_view(infrared->view_dispatcher, InfraredViewStack); diff --git a/applications/main/infrared/scenes/infrared_scene_universal_audio.c b/applications/main/infrared/scenes/infrared_scene_universal_audio.c index 00c86fff4..3938b6080 100644 --- a/applications/main/infrared/scenes/infrared_scene_universal_audio.c +++ b/applications/main/infrared/scenes/infrared_scene_universal_audio.c @@ -18,82 +18,88 @@ void infrared_scene_universal_audio_on_enter(void* context) { i, 0, 0, - 3, - 11, - &I_Power_25x27, - &I_Power_hvr_25x27, + 6, + 13, + &I_power_19x20, + &I_power_hover_19x20, infrared_scene_universal_common_item_callback, context); + button_panel_add_icon(button_panel, 4, 35, &I_power_text_24x5); infrared_brute_force_add_record(brute_force, i++, "Power"); button_panel_add_item( button_panel, i, 1, 0, - 36, - 11, - &I_Mute_25x27, - &I_Mute_hvr_25x27, + 39, + 13, + &I_mute_19x20, + &I_mute_hover_19x20, infrared_scene_universal_common_item_callback, context); + button_panel_add_icon(button_panel, 39, 35, &I_mute_text_19x5); infrared_brute_force_add_record(brute_force, i++, "Mute"); button_panel_add_item( button_panel, i, 0, 1, - 3, - 41, - &I_Play_25x27, - &I_Play_hvr_25x27, + 6, + 42, + &I_play_19x20, + &I_play_hover_19x20, infrared_scene_universal_common_item_callback, context); + button_panel_add_icon(button_panel, 6, 64, &I_play_text_19x5); infrared_brute_force_add_record(brute_force, i++, "Play"); button_panel_add_item( button_panel, i, - 1, - 1, - 36, - 41, - &I_Pause_25x27, - &I_Pause_hvr_25x27, + 0, + 2, + 6, + 71, + &I_pause_19x20, + &I_pause_hover_19x20, infrared_scene_universal_common_item_callback, context); + button_panel_add_icon(button_panel, 4, 93, &I_pause_text_23x5); infrared_brute_force_add_record(brute_force, i++, "Pause"); button_panel_add_item( button_panel, i, 0, - 2, 3, - 71, - &I_TrackPrev_25x27, - &I_TrackPrev_hvr_25x27, + 6, + 101, + &I_prev_19x20, + &I_prev_hover_19x20, infrared_scene_universal_common_item_callback, context); + button_panel_add_icon(button_panel, 6, 123, &I_prev_text_19x5); infrared_brute_force_add_record(brute_force, i++, "Prev"); button_panel_add_item( button_panel, i, 1, - 2, - 36, - 71, - &I_TrackNext_25x27, - &I_TrackNext_hvr_25x27, + 3, + 39, + 101, + &I_next_19x20, + &I_next_hover_19x20, infrared_scene_universal_common_item_callback, context); + button_panel_add_icon(button_panel, 39, 123, &I_next_text_19x6); infrared_brute_force_add_record(brute_force, i++, "Next"); button_panel_add_item( button_panel, i, - 0, - 3, - 3, - 101, - &I_Vol_down_25x27, - &I_Vol_down_hvr_25x27, + 1, + 2, + 37, + 77, + &I_voldown_24x21, + &I_voldown_hover_24x21, infrared_scene_universal_common_item_callback, context); infrared_brute_force_add_record(brute_force, i++, "Vol_dn"); @@ -101,16 +107,17 @@ void infrared_scene_universal_audio_on_enter(void* context) { button_panel, i, 1, - 3, - 36, - 101, - &I_Vol_up_25x27, - &I_Vol_up_hvr_25x27, + 1, + 37, + 43, + &I_volup_24x21, + &I_volup_hover_24x21, infrared_scene_universal_common_item_callback, context); infrared_brute_force_add_record(brute_force, i++, "Vol_up"); - button_panel_add_label(button_panel, 1, 8, FontPrimary, "Mus. remote"); + button_panel_add_label(button_panel, 1, 10, FontPrimary, "Mus. remote"); + button_panel_add_icon(button_panel, 34, 56, &I_vol_ac_text_30x30); view_set_orientation(view_stack_get_view(infrared->view_stack), ViewOrientationVertical); view_dispatcher_switch_to_view(infrared->view_dispatcher, InfraredViewStack); diff --git a/applications/main/infrared/scenes/infrared_scene_universal_projector.c b/applications/main/infrared/scenes/infrared_scene_universal_projector.c index c1df91c34..27ca46ea9 100644 --- a/applications/main/infrared/scenes/infrared_scene_universal_projector.c +++ b/applications/main/infrared/scenes/infrared_scene_universal_projector.c @@ -11,59 +11,62 @@ void infrared_scene_universal_projector_on_enter(void* context) { infrared_brute_force_set_db_filename(brute_force, EXT_PATH("infrared/assets/projector.ir")); - button_panel_reserve(button_panel, 2, 2); + button_panel_reserve(button_panel, 2, 3); uint32_t i = 0; button_panel_add_item( button_panel, i, 0, 0, - 3, - 19, - &I_Power_25x27, - &I_Power_hvr_25x27, + 6, + 23, + &I_power_19x20, + &I_power_hover_19x20, infrared_scene_universal_common_item_callback, context); + button_panel_add_icon(button_panel, 4, 45, &I_power_text_24x5); infrared_brute_force_add_record(brute_force, i++, "Power"); button_panel_add_item( button_panel, i, 1, 0, - 36, - 19, - &I_Mute_25x27, - &I_Mute_hvr_25x27, + 39, + 23, + &I_mute_19x20, + &I_mute_hover_19x20, infrared_scene_universal_common_item_callback, context); + button_panel_add_icon(button_panel, 39, 45, &I_mute_text_19x5); infrared_brute_force_add_record(brute_force, i++, "Mute"); button_panel_add_item( button_panel, i, 0, 1, - 3, - 66, - &I_Vol_up_25x27, - &I_Vol_up_hvr_25x27, + 20, + 59, + &I_volup_24x21, + &I_volup_hover_24x21, infrared_scene_universal_common_item_callback, context); infrared_brute_force_add_record(brute_force, i++, "Vol_up"); + button_panel_add_item( button_panel, i, - 1, - 1, - 36, - 66, - &I_Vol_down_25x27, - &I_Vol_down_hvr_25x27, + 0, + 2, + 20, + 93, + &I_voldown_24x21, + &I_voldown_hover_24x21, infrared_scene_universal_common_item_callback, context); infrared_brute_force_add_record(brute_force, i++, "Vol_dn"); - button_panel_add_label(button_panel, 2, 11, FontPrimary, "Proj. remote"); - button_panel_add_label(button_panel, 17, 62, FontSecondary, "Volume"); + button_panel_add_label(button_panel, 3, 11, FontPrimary, "Proj. remote"); + button_panel_add_icon(button_panel, 17, 72, &I_vol_ac_text_30x30); view_set_orientation(view_stack_get_view(infrared->view_stack), ViewOrientationVertical); view_dispatcher_switch_to_view(infrared->view_dispatcher, InfraredViewStack); diff --git a/applications/main/infrared/scenes/infrared_scene_universal_tv.c b/applications/main/infrared/scenes/infrared_scene_universal_tv.c index e21bf8f90..f2958d887 100644 --- a/applications/main/infrared/scenes/infrared_scene_universal_tv.c +++ b/applications/main/infrared/scenes/infrared_scene_universal_tv.c @@ -18,77 +18,82 @@ void infrared_scene_universal_tv_on_enter(void* context) { i, 0, 0, - 3, - 19, - &I_Power_25x27, - &I_Power_hvr_25x27, + 6, + 16, + &I_power_19x20, + &I_power_hover_19x20, infrared_scene_universal_common_item_callback, context); + button_panel_add_icon(button_panel, 4, 38, &I_power_text_24x5); infrared_brute_force_add_record(brute_force, i++, "Power"); button_panel_add_item( button_panel, i, 1, 0, - 36, - 19, - &I_Mute_25x27, - &I_Mute_hvr_25x27, + 39, + 16, + &I_mute_19x20, + &I_mute_hover_19x20, infrared_scene_universal_common_item_callback, context); + button_panel_add_icon(button_panel, 39, 38, &I_mute_text_19x5); + + button_panel_add_icon(button_panel, 0, 66, &I_ch_text_31x34); + button_panel_add_icon(button_panel, 35, 66, &I_vol_tv_text_29x34); + infrared_brute_force_add_record(brute_force, i++, "Mute"); + button_panel_add_item( + button_panel, + i, + 1, + 1, + 38, + 53, + &I_volup_24x21, + &I_volup_hover_24x21, + infrared_scene_universal_common_item_callback, + context); + + infrared_brute_force_add_record(brute_force, i++, "Vol_up"); button_panel_add_item( button_panel, i, 0, 1, 3, - 66, - &I_Vol_up_25x27, - &I_Vol_up_hvr_25x27, - infrared_scene_universal_common_item_callback, - context); - infrared_brute_force_add_record(brute_force, i++, "Vol_up"); - button_panel_add_item( - button_panel, - i, - 1, - 1, - 36, - 66, - &I_Up_25x27, - &I_Up_hvr_25x27, + 53, + &I_ch_up_24x21, + &I_ch_up_hover_24x21, infrared_scene_universal_common_item_callback, context); infrared_brute_force_add_record(brute_force, i++, "Ch_next"); button_panel_add_item( button_panel, i, - 0, + 1, 2, - 3, - 98, - &I_Vol_down_25x27, - &I_Vol_down_hvr_25x27, + 38, + 91, + &I_voldown_24x21, + &I_voldown_hover_24x21, infrared_scene_universal_common_item_callback, context); infrared_brute_force_add_record(brute_force, i++, "Vol_dn"); button_panel_add_item( button_panel, i, - 1, + 0, 2, - 36, - 98, - &I_Down_25x27, - &I_Down_hvr_25x27, + 3, + 91, + &I_ch_down_24x21, + &I_ch_down_hover_24x21, infrared_scene_universal_common_item_callback, context); infrared_brute_force_add_record(brute_force, i++, "Ch_prev"); - button_panel_add_label(button_panel, 6, 11, FontPrimary, "TV remote"); - button_panel_add_label(button_panel, 9, 64, FontSecondary, "Vol"); - button_panel_add_label(button_panel, 43, 64, FontSecondary, "Ch"); + button_panel_add_label(button_panel, 5, 10, FontPrimary, "TV remote"); view_set_orientation(view_stack_get_view(infrared->view_stack), ViewOrientationVertical); view_dispatcher_switch_to_view(infrared->view_dispatcher, InfraredViewStack); diff --git a/applications/services/gui/modules/button_panel.c b/applications/services/gui/modules/button_panel.c index 503be2dac..ded7891e6 100644 --- a/applications/services/gui/modules/button_panel.c +++ b/applications/services/gui/modules/button_panel.c @@ -29,6 +29,9 @@ typedef struct { const Icon* name_selected; } IconElement; +LIST_DEF(IconList, IconElement, M_POD_OPLIST) +#define M_OPL_IconList_t() LIST_OPLIST(IconList) + typedef struct ButtonItem { uint32_t index; ButtonItemCallback callback; @@ -47,6 +50,7 @@ struct ButtonPanel { typedef struct { ButtonMatrix_t button_matrix; + IconList_t icons; LabelList_t labels; uint16_t reserve_x; uint16_t reserve_y; @@ -146,6 +150,7 @@ void button_panel_reset(ButtonPanel* button_panel) { model->selected_item_x = 0; model->selected_item_y = 0; LabelList_reset(model->labels); + IconList_reset(model->icons); ButtonMatrix_reset(model->button_matrix); }, true); @@ -208,9 +213,17 @@ static void button_panel_view_draw_callback(Canvas* canvas, void* _model) { canvas_clear(canvas); canvas_set_color(canvas, ColorBlack); + for + M_EACH(icon, model->icons, IconList_t) { + canvas_draw_icon(canvas, icon->x, icon->y, icon->name); + } + for(size_t x = 0; x < model->reserve_x; ++x) { for(size_t y = 0; y < model->reserve_y; ++y) { ButtonItem* button_item = *button_panel_get_item(model, x, y); + if(!button_item) { + continue; + } const Icon* icon_name = button_item->icon.name; if((model->selected_item_x == x) && (model->selected_item_y == y)) { icon_name = button_item->icon.name_selected; @@ -406,3 +419,24 @@ void button_panel_add_label( }, true); } + +// Draw an icon but don't make it a button. +void button_panel_add_icon( + ButtonPanel* button_panel, + uint16_t x, + uint16_t y, + const Icon* icon_name) { + furi_assert(button_panel); + + with_view_model( //-V773 + button_panel->view, + ButtonPanelModel * model, + { + IconElement* icon = IconList_push_raw(model->icons); + icon->x = x; + icon->y = y; + icon->name = icon_name; + icon->name_selected = icon_name; + }, + true); +} \ No newline at end of file diff --git a/applications/services/gui/modules/button_panel.h b/applications/services/gui/modules/button_panel.h index f3b0bae70..1218222b8 100644 --- a/applications/services/gui/modules/button_panel.h +++ b/applications/services/gui/modules/button_panel.h @@ -100,6 +100,19 @@ void button_panel_add_label( Font font, const char* label_str); +/** Add a non-button icon to button_panel module. + * + * @param button_panel ButtonPanel instance + * @param x x-coordinate to place icon + * @param y y-coordinate to place icon + * @param icon_name name of the icon to draw + */ +void button_panel_add_icon( + ButtonPanel* button_panel, + uint16_t x, + uint16_t y, + const Icon* icon_name); + #ifdef __cplusplus } #endif diff --git a/assets/icons/Infrared/CoolHi_25x27.png b/assets/icons/Infrared/CoolHi_25x27.png deleted file mode 100644 index cea29a5b9..000000000 Binary files a/assets/icons/Infrared/CoolHi_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/CoolHi_hvr_25x27.png b/assets/icons/Infrared/CoolHi_hvr_25x27.png deleted file mode 100644 index 692ac7b8b..000000000 Binary files a/assets/icons/Infrared/CoolHi_hvr_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/CoolLo_25x27.png b/assets/icons/Infrared/CoolLo_25x27.png deleted file mode 100644 index 23288e44f..000000000 Binary files a/assets/icons/Infrared/CoolLo_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/CoolLo_hvr_25x27.png b/assets/icons/Infrared/CoolLo_hvr_25x27.png deleted file mode 100644 index ae5316e4d..000000000 Binary files a/assets/icons/Infrared/CoolLo_hvr_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/Dehumidify_25x27.png b/assets/icons/Infrared/Dehumidify_25x27.png deleted file mode 100644 index dca77ae41..000000000 Binary files a/assets/icons/Infrared/Dehumidify_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/Dehumidify_hvr_25x27.png b/assets/icons/Infrared/Dehumidify_hvr_25x27.png deleted file mode 100644 index 2c593ca8d..000000000 Binary files a/assets/icons/Infrared/Dehumidify_hvr_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/HeatHi_25x27.png b/assets/icons/Infrared/HeatHi_25x27.png deleted file mode 100644 index a1724f995..000000000 Binary files a/assets/icons/Infrared/HeatHi_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/HeatHi_hvr_25x27.png b/assets/icons/Infrared/HeatHi_hvr_25x27.png deleted file mode 100644 index b92108d68..000000000 Binary files a/assets/icons/Infrared/HeatHi_hvr_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/HeatLo_25x27.png b/assets/icons/Infrared/HeatLo_25x27.png deleted file mode 100644 index af2e59d49..000000000 Binary files a/assets/icons/Infrared/HeatLo_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/HeatLo_hvr_25x27.png b/assets/icons/Infrared/HeatLo_hvr_25x27.png deleted file mode 100644 index 6708edb36..000000000 Binary files a/assets/icons/Infrared/HeatLo_hvr_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/Mute_25x27.png b/assets/icons/Infrared/Mute_25x27.png deleted file mode 100644 index d8812dd4f..000000000 Binary files a/assets/icons/Infrared/Mute_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/Mute_hvr_25x27.png b/assets/icons/Infrared/Mute_hvr_25x27.png deleted file mode 100644 index 155bd9004..000000000 Binary files a/assets/icons/Infrared/Mute_hvr_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/Off_25x27.png b/assets/icons/Infrared/Off_25x27.png deleted file mode 100644 index c15100606..000000000 Binary files a/assets/icons/Infrared/Off_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/Off_hvr_25x27.png b/assets/icons/Infrared/Off_hvr_25x27.png deleted file mode 100644 index d5e5e6f45..000000000 Binary files a/assets/icons/Infrared/Off_hvr_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/Pause_25x27.png b/assets/icons/Infrared/Pause_25x27.png deleted file mode 100644 index a371ba817..000000000 Binary files a/assets/icons/Infrared/Pause_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/Pause_hvr_25x27.png b/assets/icons/Infrared/Pause_hvr_25x27.png deleted file mode 100644 index 472d583db..000000000 Binary files a/assets/icons/Infrared/Pause_hvr_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/Play_25x27.png b/assets/icons/Infrared/Play_25x27.png deleted file mode 100644 index fb793c5a9..000000000 Binary files a/assets/icons/Infrared/Play_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/Play_hvr_25x27.png b/assets/icons/Infrared/Play_hvr_25x27.png deleted file mode 100644 index 6708dcdbf..000000000 Binary files a/assets/icons/Infrared/Play_hvr_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/Power_25x27.png b/assets/icons/Infrared/Power_25x27.png deleted file mode 100644 index 5ae493fbe..000000000 Binary files a/assets/icons/Infrared/Power_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/Power_hvr_25x27.png b/assets/icons/Infrared/Power_hvr_25x27.png deleted file mode 100644 index 9425072c0..000000000 Binary files a/assets/icons/Infrared/Power_hvr_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/TrackNext_25x27.png b/assets/icons/Infrared/TrackNext_25x27.png deleted file mode 100644 index 7b8f28391..000000000 Binary files a/assets/icons/Infrared/TrackNext_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/TrackNext_hvr_25x27.png b/assets/icons/Infrared/TrackNext_hvr_25x27.png deleted file mode 100644 index a4de4fc3c..000000000 Binary files a/assets/icons/Infrared/TrackNext_hvr_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/TrackPrev_25x27.png b/assets/icons/Infrared/TrackPrev_25x27.png deleted file mode 100644 index 3cd2a8da6..000000000 Binary files a/assets/icons/Infrared/TrackPrev_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/TrackPrev_hvr_25x27.png b/assets/icons/Infrared/TrackPrev_hvr_25x27.png deleted file mode 100644 index 838055341..000000000 Binary files a/assets/icons/Infrared/TrackPrev_hvr_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/Up_25x27.png b/assets/icons/Infrared/Up_25x27.png deleted file mode 100644 index b81a02e8a..000000000 Binary files a/assets/icons/Infrared/Up_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/Up_hvr_25x27.png b/assets/icons/Infrared/Up_hvr_25x27.png deleted file mode 100644 index cf71e5965..000000000 Binary files a/assets/icons/Infrared/Up_hvr_25x27.png and /dev/null differ diff --git a/assets/icons/Infrared/back_btn_10x8.png b/assets/icons/Infrared/back_btn_10x8.png new file mode 100644 index 000000000..10d7beb30 Binary files /dev/null and b/assets/icons/Infrared/back_btn_10x8.png differ diff --git a/assets/icons/Infrared/celsius_24x23.png b/assets/icons/Infrared/celsius_24x23.png new file mode 100644 index 000000000..64d7a1db1 Binary files /dev/null and b/assets/icons/Infrared/celsius_24x23.png differ diff --git a/assets/icons/Infrared/celsius_hover_24x23.png b/assets/icons/Infrared/celsius_hover_24x23.png new file mode 100644 index 000000000..0488b40f5 Binary files /dev/null and b/assets/icons/Infrared/celsius_hover_24x23.png differ diff --git a/assets/icons/Infrared/Vol_down_hvr_25x27.png b/assets/icons/Infrared/ch_down_24x21.png similarity index 70% rename from assets/icons/Infrared/Vol_down_hvr_25x27.png rename to assets/icons/Infrared/ch_down_24x21.png index c556a037a..8c3f81c3d 100644 Binary files a/assets/icons/Infrared/Vol_down_hvr_25x27.png and b/assets/icons/Infrared/ch_down_24x21.png differ diff --git a/assets/icons/Infrared/Vol_up_hvr_25x27.png b/assets/icons/Infrared/ch_down_hover_24x21.png similarity index 70% rename from assets/icons/Infrared/Vol_up_hvr_25x27.png rename to assets/icons/Infrared/ch_down_hover_24x21.png index 90c2df47d..9b840f9ce 100644 Binary files a/assets/icons/Infrared/Vol_up_hvr_25x27.png and b/assets/icons/Infrared/ch_down_hover_24x21.png differ diff --git a/assets/icons/Infrared/Vol_down_25x27.png b/assets/icons/Infrared/ch_text_31x34.png similarity index 70% rename from assets/icons/Infrared/Vol_down_25x27.png rename to assets/icons/Infrared/ch_text_31x34.png index d7ae44558..30e0f584c 100644 Binary files a/assets/icons/Infrared/Vol_down_25x27.png and b/assets/icons/Infrared/ch_text_31x34.png differ diff --git a/assets/icons/Infrared/Vol_up_25x27.png b/assets/icons/Infrared/ch_up_24x21.png similarity index 70% rename from assets/icons/Infrared/Vol_up_25x27.png rename to assets/icons/Infrared/ch_up_24x21.png index c4d9e87a0..fa4074d12 100644 Binary files a/assets/icons/Infrared/Vol_up_25x27.png and b/assets/icons/Infrared/ch_up_24x21.png differ diff --git a/assets/icons/Infrared/ch_up_hover_24x21.png b/assets/icons/Infrared/ch_up_hover_24x21.png new file mode 100644 index 000000000..944a973f4 Binary files /dev/null and b/assets/icons/Infrared/ch_up_hover_24x21.png differ diff --git a/assets/icons/Infrared/Down_25x27.png b/assets/icons/Infrared/cool_30x51.png similarity index 73% rename from assets/icons/Infrared/Down_25x27.png rename to assets/icons/Infrared/cool_30x51.png index c13097778..38a8014bd 100644 Binary files a/assets/icons/Infrared/Down_25x27.png and b/assets/icons/Infrared/cool_30x51.png differ diff --git a/assets/icons/Infrared/dry_19x20.png b/assets/icons/Infrared/dry_19x20.png new file mode 100644 index 000000000..c689c0675 Binary files /dev/null and b/assets/icons/Infrared/dry_19x20.png differ diff --git a/assets/icons/Infrared/dry_hover_19x20.png b/assets/icons/Infrared/dry_hover_19x20.png new file mode 100644 index 000000000..5b7196ae2 Binary files /dev/null and b/assets/icons/Infrared/dry_hover_19x20.png differ diff --git a/assets/icons/Infrared/dry_text_15x5.png b/assets/icons/Infrared/dry_text_15x5.png new file mode 100644 index 000000000..7696e1fc8 Binary files /dev/null and b/assets/icons/Infrared/dry_text_15x5.png differ diff --git a/assets/icons/Infrared/fahren_24x23.png b/assets/icons/Infrared/fahren_24x23.png new file mode 100644 index 000000000..d6f55e806 Binary files /dev/null and b/assets/icons/Infrared/fahren_24x23.png differ diff --git a/assets/icons/Infrared/fahren_hover_24x23.png b/assets/icons/Infrared/fahren_hover_24x23.png new file mode 100644 index 000000000..db922c557 Binary files /dev/null and b/assets/icons/Infrared/fahren_hover_24x23.png differ diff --git a/assets/icons/Infrared/Down_hvr_25x27.png b/assets/icons/Infrared/heat_30x51.png similarity index 73% rename from assets/icons/Infrared/Down_hvr_25x27.png rename to assets/icons/Infrared/heat_30x51.png index 76d181924..aca27c7c8 100644 Binary files a/assets/icons/Infrared/Down_hvr_25x27.png and b/assets/icons/Infrared/heat_30x51.png differ diff --git a/assets/icons/Infrared/hourglass0_24x24.png b/assets/icons/Infrared/hourglass0_24x24.png new file mode 100644 index 000000000..a382d84e2 Binary files /dev/null and b/assets/icons/Infrared/hourglass0_24x24.png differ diff --git a/assets/icons/Infrared/hourglass1_24x24.png b/assets/icons/Infrared/hourglass1_24x24.png new file mode 100644 index 000000000..b4cc7b462 Binary files /dev/null and b/assets/icons/Infrared/hourglass1_24x24.png differ diff --git a/assets/icons/Infrared/hourglass2_24x24.png b/assets/icons/Infrared/hourglass2_24x24.png new file mode 100644 index 000000000..d2c3709f7 Binary files /dev/null and b/assets/icons/Infrared/hourglass2_24x24.png differ diff --git a/assets/icons/Infrared/hourglass3_24x24.png b/assets/icons/Infrared/hourglass3_24x24.png new file mode 100644 index 000000000..e7be1e995 Binary files /dev/null and b/assets/icons/Infrared/hourglass3_24x24.png differ diff --git a/assets/icons/Infrared/hourglass4_24x24.png b/assets/icons/Infrared/hourglass4_24x24.png new file mode 100644 index 000000000..49eee2f53 Binary files /dev/null and b/assets/icons/Infrared/hourglass4_24x24.png differ diff --git a/assets/icons/Infrared/hourglass5_24x24.png b/assets/icons/Infrared/hourglass5_24x24.png new file mode 100644 index 000000000..90e1d4b4e Binary files /dev/null and b/assets/icons/Infrared/hourglass5_24x24.png differ diff --git a/assets/icons/Infrared/hourglass6_24x24.png b/assets/icons/Infrared/hourglass6_24x24.png new file mode 100644 index 000000000..e68c744f0 Binary files /dev/null and b/assets/icons/Infrared/hourglass6_24x24.png differ diff --git a/assets/icons/Infrared/max_24x23.png b/assets/icons/Infrared/max_24x23.png new file mode 100644 index 000000000..d4163a65f Binary files /dev/null and b/assets/icons/Infrared/max_24x23.png differ diff --git a/assets/icons/Infrared/max_hover_24x23.png b/assets/icons/Infrared/max_hover_24x23.png new file mode 100644 index 000000000..65f97b0ce Binary files /dev/null and b/assets/icons/Infrared/max_hover_24x23.png differ diff --git a/assets/icons/Infrared/mute_19x20.png b/assets/icons/Infrared/mute_19x20.png new file mode 100644 index 000000000..410e88ac2 Binary files /dev/null and b/assets/icons/Infrared/mute_19x20.png differ diff --git a/assets/icons/Infrared/mute_hover_19x20.png b/assets/icons/Infrared/mute_hover_19x20.png new file mode 100644 index 000000000..e9a5b3510 Binary files /dev/null and b/assets/icons/Infrared/mute_hover_19x20.png differ diff --git a/assets/icons/Infrared/mute_text_19x5.png b/assets/icons/Infrared/mute_text_19x5.png new file mode 100644 index 000000000..fa2d042a6 Binary files /dev/null and b/assets/icons/Infrared/mute_text_19x5.png differ diff --git a/assets/icons/Infrared/next_19x20.png b/assets/icons/Infrared/next_19x20.png new file mode 100644 index 000000000..512b68745 Binary files /dev/null and b/assets/icons/Infrared/next_19x20.png differ diff --git a/assets/icons/Infrared/next_hover_19x20.png b/assets/icons/Infrared/next_hover_19x20.png new file mode 100644 index 000000000..c84bfdb90 Binary files /dev/null and b/assets/icons/Infrared/next_hover_19x20.png differ diff --git a/assets/icons/Infrared/next_text_19x6.png b/assets/icons/Infrared/next_text_19x6.png new file mode 100644 index 000000000..74d53171f Binary files /dev/null and b/assets/icons/Infrared/next_text_19x6.png differ diff --git a/assets/icons/Infrared/pause_19x20.png b/assets/icons/Infrared/pause_19x20.png new file mode 100644 index 000000000..99196d23b Binary files /dev/null and b/assets/icons/Infrared/pause_19x20.png differ diff --git a/assets/icons/Infrared/pause_hover_19x20.png b/assets/icons/Infrared/pause_hover_19x20.png new file mode 100644 index 000000000..33e7d8eb2 Binary files /dev/null and b/assets/icons/Infrared/pause_hover_19x20.png differ diff --git a/assets/icons/Infrared/pause_text_23x5.png b/assets/icons/Infrared/pause_text_23x5.png new file mode 100644 index 000000000..72c7b0403 Binary files /dev/null and b/assets/icons/Infrared/pause_text_23x5.png differ diff --git a/assets/icons/Infrared/play_19x20.png b/assets/icons/Infrared/play_19x20.png new file mode 100644 index 000000000..880e977d2 Binary files /dev/null and b/assets/icons/Infrared/play_19x20.png differ diff --git a/assets/icons/Infrared/play_hover_19x20.png b/assets/icons/Infrared/play_hover_19x20.png new file mode 100644 index 000000000..4c837a144 Binary files /dev/null and b/assets/icons/Infrared/play_hover_19x20.png differ diff --git a/assets/icons/Infrared/play_text_19x5.png b/assets/icons/Infrared/play_text_19x5.png new file mode 100644 index 000000000..c5f067bcf Binary files /dev/null and b/assets/icons/Infrared/play_text_19x5.png differ diff --git a/assets/icons/Infrared/power_19x20.png b/assets/icons/Infrared/power_19x20.png new file mode 100644 index 000000000..12b927973 Binary files /dev/null and b/assets/icons/Infrared/power_19x20.png differ diff --git a/assets/icons/Infrared/power_hover_19x20.png b/assets/icons/Infrared/power_hover_19x20.png new file mode 100644 index 000000000..3a41249ff Binary files /dev/null and b/assets/icons/Infrared/power_hover_19x20.png differ diff --git a/assets/icons/Infrared/power_text_24x5.png b/assets/icons/Infrared/power_text_24x5.png new file mode 100644 index 000000000..88fff8e33 Binary files /dev/null and b/assets/icons/Infrared/power_text_24x5.png differ diff --git a/assets/icons/Infrared/prev_19x20.png b/assets/icons/Infrared/prev_19x20.png new file mode 100644 index 000000000..8d17cec57 Binary files /dev/null and b/assets/icons/Infrared/prev_19x20.png differ diff --git a/assets/icons/Infrared/prev_hover_19x20.png b/assets/icons/Infrared/prev_hover_19x20.png new file mode 100644 index 000000000..be9dce700 Binary files /dev/null and b/assets/icons/Infrared/prev_hover_19x20.png differ diff --git a/assets/icons/Infrared/prev_text_19x5.png b/assets/icons/Infrared/prev_text_19x5.png new file mode 100644 index 000000000..473b89745 Binary files /dev/null and b/assets/icons/Infrared/prev_text_19x5.png differ diff --git a/assets/icons/Infrared/vol_ac_text_30x30.png b/assets/icons/Infrared/vol_ac_text_30x30.png new file mode 100644 index 000000000..068266d62 Binary files /dev/null and b/assets/icons/Infrared/vol_ac_text_30x30.png differ diff --git a/assets/icons/Infrared/vol_tv_text_29x34.png b/assets/icons/Infrared/vol_tv_text_29x34.png new file mode 100644 index 000000000..caef54c25 Binary files /dev/null and b/assets/icons/Infrared/vol_tv_text_29x34.png differ diff --git a/assets/icons/Infrared/voldown_24x21.png b/assets/icons/Infrared/voldown_24x21.png new file mode 100644 index 000000000..a80c59594 Binary files /dev/null and b/assets/icons/Infrared/voldown_24x21.png differ diff --git a/assets/icons/Infrared/voldown_hover_24x21.png b/assets/icons/Infrared/voldown_hover_24x21.png new file mode 100644 index 000000000..6bc57c70e Binary files /dev/null and b/assets/icons/Infrared/voldown_hover_24x21.png differ diff --git a/assets/icons/Infrared/volup_24x21.png b/assets/icons/Infrared/volup_24x21.png new file mode 100644 index 000000000..688552751 Binary files /dev/null and b/assets/icons/Infrared/volup_24x21.png differ diff --git a/assets/icons/Infrared/volup_hover_24x21.png b/assets/icons/Infrared/volup_hover_24x21.png new file mode 100644 index 000000000..5d790e796 Binary files /dev/null and b/assets/icons/Infrared/volup_hover_24x21.png differ diff --git a/firmware/targets/f18/api_symbols.csv b/firmware/targets/f18/api_symbols.csv index d935ee790..a61679bca 100644 --- a/firmware/targets/f18/api_symbols.csv +++ b/firmware/targets/f18/api_symbols.csv @@ -1,5 +1,5 @@ entry,status,name,type,params -Version,+,35.0,, +Version,+,35.1,, Header,+,applications/services/bt/bt_service/bt.h,, Header,+,applications/services/cli/cli.h,, Header,+,applications/services/cli/cli_vcp.h,, @@ -557,6 +557,7 @@ Function,+,button_menu_get_view,View*,ButtonMenu* Function,+,button_menu_reset,void,ButtonMenu* Function,+,button_menu_set_header,void,"ButtonMenu*, const char*" Function,+,button_menu_set_selected_item,void,"ButtonMenu*, uint32_t" +Function,+,button_panel_add_icon,void,"ButtonPanel*, uint16_t, uint16_t, const Icon*" Function,+,button_panel_add_item,void,"ButtonPanel*, uint32_t, uint16_t, uint16_t, uint16_t, uint16_t, const Icon*, const Icon*, ButtonItemCallback, void*" Function,+,button_panel_add_label,void,"ButtonPanel*, uint16_t, uint16_t, Font, const char*" Function,+,button_panel_alloc,ButtonPanel*, diff --git a/firmware/targets/f7/api_symbols.csv b/firmware/targets/f7/api_symbols.csv index d6c54e395..8baec5a8d 100644 --- a/firmware/targets/f7/api_symbols.csv +++ b/firmware/targets/f7/api_symbols.csv @@ -1,5 +1,5 @@ entry,status,name,type,params -Version,+,35.0,, +Version,+,35.1,, Header,+,applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h,, Header,+,applications/services/bt/bt_service/bt.h,, Header,+,applications/services/cli/cli.h,, @@ -618,6 +618,7 @@ Function,+,button_menu_get_view,View*,ButtonMenu* Function,+,button_menu_reset,void,ButtonMenu* Function,+,button_menu_set_header,void,"ButtonMenu*, const char*" Function,+,button_menu_set_selected_item,void,"ButtonMenu*, uint32_t" +Function,+,button_panel_add_icon,void,"ButtonPanel*, uint16_t, uint16_t, const Icon*" Function,+,button_panel_add_item,void,"ButtonPanel*, uint32_t, uint16_t, uint16_t, uint16_t, uint16_t, const Icon*, const Icon*, ButtonItemCallback, void*" Function,+,button_panel_add_label,void,"ButtonPanel*, uint16_t, uint16_t, Font, const char*" Function,+,button_panel_alloc,ButtonPanel*,