This commit is contained in:
VerstreuteSeele
2022-12-27 20:22:31 +01:00
44 changed files with 1855 additions and 132 deletions

View File

@@ -17,6 +17,7 @@ extern "C" {
typedef enum {
ColorWhite = 0x00,
ColorBlack = 0x01,
ColorXOR = 0x02,
} Color;
/** Fonts enumeration */

View File

@@ -41,6 +41,31 @@ void elements_progress_bar(Canvas* canvas, uint8_t x, uint8_t y, uint8_t width,
canvas_draw_box(canvas, x + 1, y + 1, progress_length, height - 2);
}
void elements_progress_bar_with_text(
Canvas* canvas,
uint8_t x,
uint8_t y,
uint8_t width,
float progress,
const char* text) {
furi_assert(canvas);
furi_assert((progress >= 0.0f) && (progress <= 1.0f));
uint8_t height = 11;
uint8_t progress_length = roundf(progress * (width - 2));
canvas_set_color(canvas, ColorWhite);
canvas_draw_box(canvas, x + 1, y + 1, width - 2, height - 2);
canvas_set_color(canvas, ColorBlack);
canvas_draw_rframe(canvas, x, y, width, height, 3);
canvas_draw_box(canvas, x + 1, y + 1, progress_length, height - 2);
canvas_set_color(canvas, ColorXOR);
canvas_set_font(canvas, FontSecondary);
canvas_draw_str_aligned(canvas, x + width / 2, y + 2, AlignCenter, AlignTop, text);
}
void elements_scrollbar_pos(
Canvas* canvas,
uint8_t x,

View File

@@ -31,6 +31,23 @@ extern "C" {
*/
void elements_progress_bar(Canvas* canvas, uint8_t x, uint8_t y, uint8_t width, float progress);
/** Draw progress bar with text.
*
* @param canvas Canvas instance
* @param x progress bar position on X axis
* @param y progress bar position on Y axis
* @param width progress bar width
* @param progress progress (0.0 - 1.0)
* @param text text to draw
*/
void elements_progress_bar_with_text(
Canvas* canvas,
uint8_t x,
uint8_t y,
uint8_t width,
float progress,
const char* text);
/** Draw scrollbar on canvas at specific position.
*
* @param canvas Canvas instance