canvas.h 567 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include <stdint.h>
  3. #include <u8g2.h>
  4. typedef enum {
  5. ColorWhite = 0x00,
  6. ColorBlack = 0x01,
  7. } Color;
  8. typedef enum {
  9. FontPrimary = 0x00,
  10. FontSecondary = 0x01,
  11. } Font;
  12. typedef struct CanvasApi CanvasApi;
  13. struct CanvasApi {
  14. uint8_t (*width)(CanvasApi* canvas);
  15. uint8_t (*height)(CanvasApi* canvas);
  16. void (*clear)(CanvasApi* canvas);
  17. void (*set_color)(CanvasApi* canvas, Color color);
  18. void (*set_font)(CanvasApi* canvas, Font font);
  19. void (*draw_str)(CanvasApi* canvas, uint8_t x, uint8_t y, const char* str);
  20. };