4#include "TinyGPU/Drivers/DisplayDriver.h"
5#include "TinyGPU/Color/RGB565.h"
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35template <
typename RGB_T =
RGB565>
37 static_assert(
sizeof(RGB_T) == 2,
38 "DisplayDriverTFTeSPI assumes a 16bpp RGB_T (RGB565) - "
39 "TFT_eSPI::pushImage() only accepts that format.");
63 bool writeData(ISurface<RGB_T>& surface, size_t x, size_t y)
override {
70 tft_.pushImage(
static_cast<int32_t>(x),
static_cast<int32_t>(y),
71 static_cast<int32_t>(surface.width()),
72 static_cast<int32_t>(surface.height()),
73 reinterpret_cast<
const uint16_t*>(surface.data()));
84 tft_.setRotation(
static_cast<uint8_t>(rotation));
87 size_t width()
const override {
return static_cast<size_t>(tft_.width()); }
89 return static_cast<size_t>(tft_.height());
97 tft_.setAddrWindow(
static_cast<int32_t>(x),
static_cast<int32_t>(y),
98 static_cast<int32_t>(w),
static_cast<int32_t>(h));
Display driver that renders a TinyGPU surface through Bodmer's TFT_eSPI (https://github....
Definition: DisplayDriverTFTeSPI.h:36
size_t height() const override
Definition: DisplayDriverTFTeSPI.h:88
void setRotation(DisplayRotation rotation) override
Definition: DisplayDriverTFTeSPI.h:81
bool writeData(ISurface< RGB_T > &surface, size_t x, size_t y) override
Definition: DisplayDriverTFTeSPI.h:63
TFT_eSPI & tft_
Definition: DisplayDriverTFTeSPI.h:93
size_t width() const override
Definition: DisplayDriverTFTeSPI.h:87
DisplayRotation rotation_
Definition: DisplayDriverTFTeSPI.h:94
bool begin() override
Definition: DisplayDriverTFTeSPI.h:51
bool setAddressWindow(size_t x, size_t y, size_t w, size_t h) override
Definition: DisplayDriverTFTeSPI.h:96
DisplayDriverTFTeSPI(TFT_eSPI &tft, DisplayRotation rotation=DisplayRotation::kNone)
Definition: DisplayDriverTFTeSPI.h:45
bool writeData(ISurface< RGB_T > &surface) override
Definition: DisplayDriverTFTeSPI.h:59
Definition: DisplayDriver.h:49
RGB color stored in 16-bit RGB565 format, byte-swapped from the conventional bit layout.
Definition: RGB565.h:24
Definition: DSIBusESP32.h:19
DisplayRotation
Abstract base class for display drivers.
Definition: DisplayDriver.h:28