| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #include <furi.h>
- #include "canvas.h"
- void canvas_printf(Canvas* canvas, uint8_t x, uint8_t y, const char* format, ...) {
- FuriString* string = furi_string_alloc();
- va_list args;
- va_start(args, format);
- furi_string_vprintf(string, format, args);
- va_end(args);
- canvas_draw_str(canvas, x, y, furi_string_get_cstr(string));
- furi_string_free(string);
- }
- size_t canvas_printf_width(Canvas* canvas, const char* format, ...) {
- FuriString* string = furi_string_alloc();
- va_list args;
- va_start(args, format);
- furi_string_vprintf(string, format, args);
- va_end(args);
- size_t size = canvas_string_width(canvas, furi_string_get_cstr(string));
- furi_string_free(string);
- return size;
- }
- void canvas_draw_str_aligned_outline(
- Canvas* canvas,
- uint8_t x,
- uint8_t y,
- Align h,
- Align v,
- const char* cstr) {
- canvas_invert_color(canvas);
- canvas_draw_str_aligned(canvas, x + 1, y + 0, h, v, cstr);
- canvas_draw_str_aligned(canvas, x - 1, y - 0, h, v, cstr);
- canvas_draw_str_aligned(canvas, x + 0, y + 1, h, v, cstr);
- canvas_draw_str_aligned(canvas, x - 0, y - 1, h, v, cstr);
- canvas_invert_color(canvas);
- canvas_draw_str_aligned(canvas, x, y, h, v, cstr);
- }
|