28 #ifndef PIXELS_TEMPLATE_H
29 #define PIXELS_TEMPLATE_H
32 #if defined(PIXELS_ANTIALIASING_H)
33 #define PixelsBase PixelsAntialiased
37 #if defined(PIXELS_SPISW_H)
39 #elif defined(PIXELS_SPIHW_H)
41 #elif defined(PIXELS_PPI8_H)
43 #elif defined(PIXELS_PPI16_H)
48 void deviceWriteData(uint8_t high, uint8_t low) {
52 void setRegion(int16_t x1, int16_t y1, int16_t x2, int16_t y2);
53 void quickFill(
int b, int16_t x1, int16_t y1, int16_t x2, int16_t y2);
63 scrollSupported =
true;
64 setSpiPins(4, 3, 7, 5, 6);
65 setPpiPins(38, 39, 40, 41, 0);
69 scrollSupported =
true;
70 setSpiPins(4, 3, 7, 5, 6);
71 setPpiPins(38, 39, 40, 41, 0);
77 #if defined(PIXELS_ANTIALIASING_H)
94 void Pixels::scrollCmd() {
104 fillDirection = direction;
107 void Pixels::quickFill (
int color, int16_t x1, int16_t y1, int16_t x2, int16_t y2) {
110 setRegion(x1, y1, x2, y2);
111 int32_t counter = (int32_t)(x2 - x1 + 1) * (y2 - y1 + 1);
115 uint8_t lo = lowByte(color);
116 uint8_t hi = highByte(color);
118 for (int16_t i = 0; i < counter / 20; i++) {
140 for (int32_t i = 0; i < counter % 20; i++) {
147 void Pixels::setRegion(int16_t x1, int16_t y1, int16_t x2, int16_t y2) {
148 if ( orientation != PORTRAIT ) {
150 switch( orientation ) {
153 x1 = deviceWidth - y1 - 1;
156 x2 = deviceWidth - y2 - 1;
160 y1 = deviceHeight - y1 - 1;
161 y2 = deviceHeight - y2 - 1;
162 x1 = deviceWidth - x1 - 1;
163 x2 = deviceWidth - x2 - 1;
167 y1 = deviceHeight - x1 - 1;
170 y2 = deviceHeight - x2 - 1;
void setFillDirection(uint8_t direction)
PixelsBase(uint16_t width, uint16_t height)