diff --git a/CHANGELOG.md b/CHANGELOG.md index ff126ec83..d01ea93de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,13 +8,16 @@ - Games: Pinball0 (by @rdefeo) - NFC: Metroflip (by @luu176) - CLI: Add `clear` and `cls` commands, add `did you mean ...?` command suggestion (#342 by @dexvleads) +- Main Menu: Add coverflow menu style (#314 by @CodyTolene) - BadKB: Added german Mac keyboard Layout (#325 by @Cloudy261) - UL: Sub-GHz: Jolly Motors support with add manually (by @pkooiman & @xMasterX) - OFW: Desktop: Add winter animations (by @Astrrra) +- API: + - Added `canvas_draw_icon_animation_ex()` to draw animated icons resized (#314 by @CodyTolene) + - OFW: Added `flipper_format_write_empty_line()` (by @janwiesemann) - OFW: Furi: Pipe support (by @portasynthinca3) - OFW: Furi: Thread stdin support (by @portasynthinca3) - OFW: RPC: Command to send a signal once (by @Astrrra) -- OFW: API: Added `flipper_format_write_empty_line()` (by @janwiesemann) - OFW: Add VCP break support (by @gsurkov) ### Updated: diff --git a/applications/services/gui/modules/menu.c b/applications/services/gui/modules/menu.c index 16c56df44..1c7770cc5 100644 --- a/applications/services/gui/modules/menu.c +++ b/applications/services/gui/modules/menu.c @@ -459,7 +459,6 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { break; } case MenuStyleCoverFlow: { - canvas_clear(canvas); canvas_set_font(canvas, FontPrimary); // Draw frames @@ -548,7 +547,6 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { // Draw label for center item if(center_item) { - FuriString* name = furi_string_alloc(); menu_get_name(center_item, name, false); elements_scrollable_text_line_centered( canvas, @@ -559,7 +557,6 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { 0, false, true); - furi_string_free(name); } // Add scrollbar element @@ -917,6 +914,7 @@ static void menu_process_left(Menu* menu) { case MenuStyleDsi: case MenuStylePs4: case MenuStyleVertical: + case MenuStyleCoverFlow: size_t vertical_offset = model->vertical_offset; if(position > 0) { position--; @@ -943,9 +941,7 @@ static void menu_process_left(Menu* menu) { position = position - 8; } break; - case MenuStyleCoverFlow: - position = (position + count - 1) % count; - break; + default: break; } @@ -983,6 +979,7 @@ static void menu_process_right(Menu* menu) { case MenuStyleDsi: case MenuStylePs4: case MenuStyleVertical: + case MenuStyleCoverFlow: size_t vertical_offset = model->vertical_offset; if(position < count - 1) { position++; @@ -1009,9 +1006,7 @@ static void menu_process_right(Menu* menu) { position = position - 8; } break; - case MenuStyleCoverFlow: - position = (position + 1) % count; - break; + default: break; } diff --git a/targets/f18/api_symbols.csv b/targets/f18/api_symbols.csv index 2e808067d..8d03e0e46 100644 --- a/targets/f18/api_symbols.csv +++ b/targets/f18/api_symbols.csv @@ -743,7 +743,7 @@ Function,+,canvas_draw_dot,void,"Canvas*, int32_t, int32_t" Function,+,canvas_draw_frame,void,"Canvas*, int32_t, int32_t, size_t, size_t" Function,+,canvas_draw_glyph,void,"Canvas*, int32_t, int32_t, uint16_t" Function,+,canvas_draw_icon,void,"Canvas*, int32_t, int32_t, const Icon*" -Function,+,canvas_draw_icon_animation,void,"Canvas*, int32_t, int32_t, int32_t, int32_t, IconAnimation*" +Function,+,canvas_draw_icon_animation,void,"Canvas*, int32_t, int32_t, IconAnimation*" Function,+,canvas_draw_icon_ex,void,"Canvas*, int32_t, int32_t, const Icon*, IconRotation" Function,+,canvas_draw_line,void,"Canvas*, int32_t, int32_t, int32_t, int32_t" Function,+,canvas_draw_rbox,void,"Canvas*, int32_t, int32_t, size_t, size_t, size_t"