canvas.c 735 B

12345678910111213141516171819202122232425262728
  1. #include <furi.h>
  2. #include "canvas.h"
  3. void canvas_printf(Canvas* canvas, uint8_t x, uint8_t y, const char* format, ...) {
  4. FuriString* string = furi_string_alloc();
  5. va_list args;
  6. va_start(args, format);
  7. furi_string_vprintf(string, format, args);
  8. va_end(args);
  9. canvas_draw_str(canvas, x, y, furi_string_get_cstr(string));
  10. furi_string_free(string);
  11. }
  12. size_t canvas_printf_width(Canvas* canvas, const char* format, ...) {
  13. FuriString* string = furi_string_alloc();
  14. va_list args;
  15. va_start(args, format);
  16. furi_string_vprintf(string, format, args);
  17. va_end(args);
  18. size_t size = canvas_string_width(canvas, furi_string_get_cstr(string));
  19. furi_string_free(string);
  20. return size;
  21. }