mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-06-16 20:09:44 -07:00
Scrollable text support center alignment
This commit is contained in:
@@ -300,7 +300,8 @@ 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));
|
||||
(model->item_idx != idx),
|
||||
false);
|
||||
|
||||
furi_string_free(str_buf);
|
||||
}
|
||||
|
||||
@@ -580,7 +580,8 @@ void elements_scrollable_text_line(
|
||||
uint8_t width,
|
||||
FuriString* string,
|
||||
size_t scroll,
|
||||
bool ellipsis) {
|
||||
bool ellipsis,
|
||||
bool centered) {
|
||||
FuriString* line = furi_string_alloc_set(string);
|
||||
|
||||
size_t len_px = canvas_string_width(canvas, furi_string_get_cstr(line));
|
||||
@@ -616,7 +617,11 @@ void elements_scrollable_text_line(
|
||||
}
|
||||
}
|
||||
|
||||
canvas_draw_str(canvas, x, y, furi_string_get_cstr(line));
|
||||
if (centered) {
|
||||
canvas_draw_str_aligned(canvas, x, y, AlignCenter, AlignCenter, furi_string_get_cstr(line));
|
||||
} else {
|
||||
canvas_draw_str(canvas, x, y, furi_string_get_cstr(line));
|
||||
}
|
||||
furi_string_free(line);
|
||||
}
|
||||
|
||||
|
||||
@@ -218,6 +218,7 @@ void elements_string_fit_width(Canvas* canvas, FuriString* string, uint8_t width
|
||||
* @param string The string
|
||||
* @param[in] scroll The scroll counter: 0 - no scroll, any other number - scroll. Just count up, everything else will be calculated on the inside.
|
||||
* @param[in] ellipsis The ellipsis flag: true to add ellipse
|
||||
* @param[in] centered The centered flag: true to center text on x and y
|
||||
*/
|
||||
void elements_scrollable_text_line(
|
||||
Canvas* canvas,
|
||||
@@ -226,7 +227,8 @@ void elements_scrollable_text_line(
|
||||
uint8_t width,
|
||||
FuriString* string,
|
||||
size_t scroll,
|
||||
bool ellipsis);
|
||||
bool ellipsis,
|
||||
bool centered);
|
||||
|
||||
/** Draw text box element
|
||||
*
|
||||
|
||||
@@ -604,7 +604,8 @@ 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));
|
||||
(model->item_idx != idx),
|
||||
false);
|
||||
}
|
||||
|
||||
if(show_scrollbar) {
|
||||
|
||||
@@ -831,7 +831,7 @@ 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"
|
||||
Function,+,elements_scrollable_text_line,void,"Canvas*, uint8_t, uint8_t, uint8_t, FuriString*, 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"
|
||||
Function,+,elements_slightly_rounded_box,void,"Canvas*, uint8_t, uint8_t, uint8_t, uint8_t"
|
||||
|
||||
|
Reference in New Issue
Block a user