mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-16 04:24:45 -07:00
Add elements_scrollbar_horizontal()
This commit is contained in:
@@ -90,6 +90,29 @@ void elements_scrollbar_pos(
|
||||
}
|
||||
}
|
||||
|
||||
void elements_scrollbar_horizontal(
|
||||
Canvas* canvas,
|
||||
uint8_t x,
|
||||
uint8_t y,
|
||||
uint8_t width,
|
||||
uint16_t pos,
|
||||
uint16_t total) {
|
||||
furi_assert(canvas);
|
||||
// prevent overflows
|
||||
canvas_set_color(canvas, ColorWhite);
|
||||
canvas_draw_box(canvas, x, y - 3, width, 3);
|
||||
// dot line
|
||||
canvas_set_color(canvas, ColorBlack);
|
||||
for(uint8_t i = x; i < width + x; i += 2) {
|
||||
canvas_draw_dot(canvas, i, y - 2);
|
||||
}
|
||||
// Position block
|
||||
if(total) {
|
||||
float block_w = ((float)width) / total;
|
||||
canvas_draw_box(canvas, x + (block_w * pos), y - 3, MAX(block_w, 1), 3);
|
||||
}
|
||||
}
|
||||
|
||||
void elements_scrollbar(Canvas* canvas, uint16_t pos, uint16_t total) {
|
||||
furi_assert(canvas);
|
||||
|
||||
|
||||
@@ -65,6 +65,23 @@ void elements_scrollbar_pos(
|
||||
uint16_t pos,
|
||||
uint16_t total);
|
||||
|
||||
/** Draw horizontal scrollbar on canvas at specific position.
|
||||
*
|
||||
* @param canvas Canvas instance
|
||||
* @param x scrollbar position on X axis
|
||||
* @param y scrollbar position on Y axis
|
||||
* @param width scrollbar width
|
||||
* @param pos current element
|
||||
* @param total total elements
|
||||
*/
|
||||
void elements_scrollbar_horizontal(
|
||||
Canvas* canvas,
|
||||
uint8_t x,
|
||||
uint8_t y,
|
||||
uint8_t width,
|
||||
uint16_t pos,
|
||||
uint16_t total);
|
||||
|
||||
/** Draw scrollbar on canvas.
|
||||
* @note width 3px, height equal to canvas height
|
||||
*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
entry,status,name,type,params
|
||||
Version,+,34.4,,
|
||||
Version,+,34.5,,
|
||||
Header,+,applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h,,
|
||||
Header,+,applications/main/archive/helpers/favorite_timeout.h,,
|
||||
Header,+,applications/services/applications.h,,
|
||||
@@ -841,6 +841,7 @@ Function,+,elements_scrollable_text_line,void,"Canvas*, uint8_t, uint8_t, uint8_
|
||||
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_horizontal,void,"Canvas*, uint8_t, uint8_t, uint8_t, 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"
|
||||
Function,+,elements_slightly_rounded_frame,void,"Canvas*, uint8_t, uint8_t, uint8_t, uint8_t"
|
||||
|
||||
|
Reference in New Issue
Block a user