TinyGPU
Loading...
Searching...
No Matches
DisplayDriver.h
Go to the documentation of this file.
1#pragma once
2#include <stddef.h>
3
4#include "ISurface.h"
5
6namespace tinygpu {
7
8/**
9 * @brief Abstract base class for display drivers.
10 *
11 * Defines the interface for initializing the display, setting the address
12 * window, and writing pixel data from a Surface. Specific display drivers (e.g.
13 * SPI, SDL) should inherit from this and implement the virtual methods.
14 */
15
16template <typename RGB_T = RGB565>
18 public:
19 virtual ~DisplayDriver() = default;
20 virtual bool begin() = 0;
21 virtual void end() {}
22 virtual bool writeData(ISurface<RGB_T>& surface) = 0;
23
24 protected:
25 virtual bool setAddressWindow(size_t x, size_t y, size_t w, size_t h) = 0;
26};
27
28} // namespace tinygpu
Abstract base class for display drivers.
Definition: DisplayDriver.h:17
virtual bool setAddressWindow(size_t x, size_t y, size_t w, size_t h)=0
virtual bool writeData(ISurface< RGB_T > &surface)=0
virtual ~DisplayDriver()=default
virtual void end()
Definition: DisplayDriver.h:21
virtual bool begin()=0
RGB color stored in 16-bit RGB565 format.
Definition: RGB565.h:13
Definition: AVIWriter.h:9