diff --git a/applications/main/archive/views/archive_browser_view.c b/applications/main/archive/views/archive_browser_view.c index 7bc608040..2f0bd3878 100644 --- a/applications/main/archive/views/archive_browser_view.c +++ b/applications/main/archive/views/archive_browser_view.c @@ -246,8 +246,7 @@ static void draw_list(Canvas* canvas, ArchiveBrowserViewModel* model) { ((scrollbar ? MAX_LEN_PX - 6 : MAX_LEN_PX) - x_offset), str_buf, scroll_counter, - (model->item_idx != idx), - false); + (model->item_idx != idx)); furi_string_free(str_buf); } diff --git a/applications/services/gui/elements.c b/applications/services/gui/elements.c index fc5609a36..f70a9f232 100644 --- a/applications/services/gui/elements.c +++ b/applications/services/gui/elements.c @@ -632,6 +632,18 @@ void elements_scrollable_text_line_str( } void elements_scrollable_text_line( + Canvas* canvas, + uint8_t x, + uint8_t y, + uint8_t width, + FuriString* string, + size_t scroll, + bool ellipsis) { + elements_scrollable_text_line_str( + canvas, x, y, width, furi_string_get_cstr(string), scroll, ellipsis, false); +} + +void elements_scrollable_text_line_centered( Canvas* canvas, uint8_t x, uint8_t y, diff --git a/applications/services/gui/elements.h b/applications/services/gui/elements.h index 7cab3a67f..e8029f75b 100644 --- a/applications/services/gui/elements.h +++ b/applications/services/gui/elements.h @@ -230,6 +230,14 @@ void elements_scrollable_text_line_str( bool ellipsis, bool centered); void elements_scrollable_text_line( + Canvas* canvas, + uint8_t x, + uint8_t y, + uint8_t width, + FuriString* string, + size_t scroll, + bool ellipsis); +void elements_scrollable_text_line_centered( Canvas* canvas, uint8_t x, uint8_t y, diff --git a/applications/services/gui/modules/file_browser.c b/applications/services/gui/modules/file_browser.c index 4ffecbf66..089b0b6b7 100644 --- a/applications/services/gui/modules/file_browser.c +++ b/applications/services/gui/modules/file_browser.c @@ -619,8 +619,7 @@ static void browser_draw_list(Canvas* canvas, FileBrowserModel* model) { (show_scrollbar ? MAX_LEN_PX - 6 : MAX_LEN_PX), filename, scroll_counter, - (model->item_idx != idx), - false); + (model->item_idx != idx)); } if(show_scrollbar) { diff --git a/applications/services/gui/modules/menu.c b/applications/services/gui/modules/menu.c index fecefb3c0..29c5b4131 100644 --- a/applications/services/gui/modules/menu.c +++ b/applications/services/gui/modules/menu.c @@ -91,7 +91,7 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { furi_string_right(name, trim + 2); } } - elements_scrollable_text_line( + elements_scrollable_text_line_centered( canvas, 20 + x_off, 26 + y_off, 36, name, scroll_counter, false, true); if(item_i == position) { canvas_set_color(canvas, ColorBlack); diff --git a/applications/services/gui/modules/variable_item_list.c b/applications/services/gui/modules/variable_item_list.c index 225118586..e37af509a 100644 --- a/applications/services/gui/modules/variable_item_list.c +++ b/applications/services/gui/modules/variable_item_list.c @@ -101,8 +101,7 @@ static void variable_item_list_draw_callback(Canvas* canvas, void* _model) { 37, item->current_value_text, scroll_counter, - false, - true); + false); if(item->current_value_index < (item->values_count - 1)) { canvas_draw_str(canvas, 115, item_text_y, ">"); diff --git a/firmware/targets/f7/api_symbols.csv b/firmware/targets/f7/api_symbols.csv index 91e27443a..0671c5211 100644 --- a/firmware/targets/f7/api_symbols.csv +++ b/firmware/targets/f7/api_symbols.csv @@ -832,7 +832,8 @@ Function,+,elements_multiline_text_aligned,void,"Canvas*, uint8_t, uint8_t, Alig Function,+,elements_multiline_text_framed,void,"Canvas*, uint8_t, uint8_t, const char*" Function,+,elements_progress_bar,void,"Canvas*, uint8_t, uint8_t, uint8_t, float" Function,+,elements_progress_bar_with_text,void,"Canvas*, uint8_t, uint8_t, uint8_t, float, const char*" -Function,+,elements_scrollable_text_line,void,"Canvas*, uint8_t, uint8_t, uint8_t, FuriString*, size_t, _Bool, _Bool" +Function,+,elements_scrollable_text_line,void,"Canvas*, uint8_t, uint8_t, uint8_t, FuriString*, size_t, _Bool" +Function,+,elements_scrollable_text_line_centered,void,"Canvas*, uint8_t, uint8_t, uint8_t, FuriString*, size_t, _Bool, _Bool" Function,+,elements_scrollable_text_line_str,void,"Canvas*, uint8_t, uint8_t, uint8_t, const char*, size_t, _Bool, _Bool" Function,+,elements_scrollbar,void,"Canvas*, uint16_t, uint16_t" Function,+,elements_scrollbar_pos,void,"Canvas*, uint8_t, uint8_t, uint8_t, uint16_t, uint16_t"