2019-12-07 17:11:50 +01:00
|
|
|
#pragma once
|
|
|
|
#include <cstdint>
|
|
|
|
#include <nrf_font.h>
|
|
|
|
|
|
|
|
|
|
|
|
namespace Pinetime {
|
|
|
|
namespace Drivers {
|
|
|
|
class St7789;
|
|
|
|
}
|
|
|
|
namespace Components {
|
|
|
|
class Gfx {
|
|
|
|
public:
|
|
|
|
explicit Gfx(Drivers::St7789& lcd);
|
2020-01-18 18:17:52 +01:00
|
|
|
void Init();
|
2019-12-07 17:11:50 +01:00
|
|
|
void ClearScreen();
|
|
|
|
void DrawString(uint8_t x, uint8_t y, uint16_t color, const char* text, const FONT_INFO *p_font, bool wrap);
|
|
|
|
void DrawChar(const FONT_INFO *font, uint8_t c, uint8_t *x, uint8_t y, uint16_t color);
|
2019-12-07 19:15:33 +01:00
|
|
|
void FillRectangle(uint8_t x, uint8_t y, uint8_t width, uint8_t height, uint16_t color);
|
2019-12-07 17:11:50 +01:00
|
|
|
|
2020-01-17 22:16:45 +01:00
|
|
|
void Sleep();
|
|
|
|
void Wakeup();
|
|
|
|
|
2019-12-07 17:11:50 +01:00
|
|
|
private:
|
2020-01-19 19:47:49 +01:00
|
|
|
static constexpr uint8_t width = 240;
|
|
|
|
static constexpr uint8_t height = 240;
|
|
|
|
|
|
|
|
uint16_t buffer[width]; // 1 line buffer
|
2019-12-07 17:11:50 +01:00
|
|
|
Drivers::St7789& lcd;
|
2020-01-19 19:47:49 +01:00
|
|
|
|
2019-12-07 17:11:50 +01:00
|
|
|
void pixel_draw(uint8_t x, uint8_t y, uint16_t color);
|
2020-01-19 19:47:49 +01:00
|
|
|
void SetBackgroundColor(uint16_t color);
|
2019-12-07 17:11:50 +01:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|