35 #define swap(a, b) { int16_t t = a; a = b; b = t; } 39 const unsigned char font[] = {
40 0x00, 0x00, 0x00, 0x00, 0x00,
41 0x3E, 0x5B, 0x4F, 0x5B, 0x3E,
42 0x3E, 0x6B, 0x4F, 0x6B, 0x3E,
43 0x1C, 0x3E, 0x7C, 0x3E, 0x1C,
44 0x18, 0x3C, 0x7E, 0x3C, 0x18,
45 0x1C, 0x57, 0x7D, 0x57, 0x1C,
46 0x1C, 0x5E, 0x7F, 0x5E, 0x1C,
47 0x00, 0x18, 0x3C, 0x18, 0x00,
48 0xFF, 0xE7, 0xC3, 0xE7, 0xFF,
49 0x00, 0x18, 0x24, 0x18, 0x00,
50 0xFF, 0xE7, 0xDB, 0xE7, 0xFF,
51 0x30, 0x48, 0x3A, 0x06, 0x0E,
52 0x26, 0x29, 0x79, 0x29, 0x26,
53 0x40, 0x7F, 0x05, 0x05, 0x07,
54 0x40, 0x7F, 0x05, 0x25, 0x3F,
55 0x5A, 0x3C, 0xE7, 0x3C, 0x5A,
56 0x7F, 0x3E, 0x1C, 0x1C, 0x08,
57 0x08, 0x1C, 0x1C, 0x3E, 0x7F,
58 0x14, 0x22, 0x7F, 0x22, 0x14,
59 0x5F, 0x5F, 0x00, 0x5F, 0x5F,
60 0x06, 0x09, 0x7F, 0x01, 0x7F,
61 0x00, 0x66, 0x89, 0x95, 0x6A,
62 0x60, 0x60, 0x60, 0x60, 0x60,
63 0x94, 0xA2, 0xFF, 0xA2, 0x94,
64 0x08, 0x04, 0x7E, 0x04, 0x08,
65 0x10, 0x20, 0x7E, 0x20, 0x10,
66 0x08, 0x08, 0x2A, 0x1C, 0x08,
67 0x08, 0x1C, 0x2A, 0x08, 0x08,
68 0x1E, 0x10, 0x10, 0x10, 0x10,
69 0x0C, 0x1E, 0x0C, 0x1E, 0x0C,
70 0x30, 0x38, 0x3E, 0x38, 0x30,
71 0x06, 0x0E, 0x3E, 0x0E, 0x06,
72 0x00, 0x00, 0x00, 0x00, 0x00,
73 0x00, 0x00, 0x5F, 0x00, 0x00,
74 0x00, 0x07, 0x00, 0x07, 0x00,
75 0x14, 0x7F, 0x14, 0x7F, 0x14,
76 0x24, 0x2A, 0x7F, 0x2A, 0x12,
77 0x23, 0x13, 0x08, 0x64, 0x62,
78 0x36, 0x49, 0x56, 0x20, 0x50,
79 0x00, 0x08, 0x07, 0x03, 0x00,
80 0x00, 0x1C, 0x22, 0x41, 0x00,
81 0x00, 0x41, 0x22, 0x1C, 0x00,
82 0x2A, 0x1C, 0x7F, 0x1C, 0x2A,
83 0x08, 0x08, 0x3E, 0x08, 0x08,
84 0x00, 0x80, 0x70, 0x30, 0x00,
85 0x08, 0x08, 0x08, 0x08, 0x08,
86 0x00, 0x00, 0x60, 0x60, 0x00,
87 0x20, 0x10, 0x08, 0x04, 0x02,
88 0x3E, 0x51, 0x49, 0x45, 0x3E,
89 0x00, 0x42, 0x7F, 0x40, 0x00,
90 0x72, 0x49, 0x49, 0x49, 0x46,
91 0x21, 0x41, 0x49, 0x4D, 0x33,
92 0x18, 0x14, 0x12, 0x7F, 0x10,
93 0x27, 0x45, 0x45, 0x45, 0x39,
94 0x3C, 0x4A, 0x49, 0x49, 0x31,
95 0x41, 0x21, 0x11, 0x09, 0x07,
96 0x36, 0x49, 0x49, 0x49, 0x36,
97 0x46, 0x49, 0x49, 0x29, 0x1E,
98 0x00, 0x00, 0x14, 0x00, 0x00,
99 0x00, 0x40, 0x34, 0x00, 0x00,
100 0x00, 0x08, 0x14, 0x22, 0x41,
101 0x14, 0x14, 0x14, 0x14, 0x14,
102 0x00, 0x41, 0x22, 0x14, 0x08,
103 0x02, 0x01, 0x59, 0x09, 0x06,
104 0x3E, 0x41, 0x5D, 0x59, 0x4E,
105 0x7C, 0x12, 0x11, 0x12, 0x7C,
106 0x7F, 0x49, 0x49, 0x49, 0x36,
107 0x3E, 0x41, 0x41, 0x41, 0x22,
108 0x7F, 0x41, 0x41, 0x41, 0x3E,
109 0x7F, 0x49, 0x49, 0x49, 0x41,
110 0x7F, 0x09, 0x09, 0x09, 0x01,
111 0x3E, 0x41, 0x41, 0x51, 0x73,
112 0x7F, 0x08, 0x08, 0x08, 0x7F,
113 0x00, 0x41, 0x7F, 0x41, 0x00,
114 0x20, 0x40, 0x41, 0x3F, 0x01,
115 0x7F, 0x08, 0x14, 0x22, 0x41,
116 0x7F, 0x40, 0x40, 0x40, 0x40,
117 0x7F, 0x02, 0x1C, 0x02, 0x7F,
118 0x7F, 0x04, 0x08, 0x10, 0x7F,
119 0x3E, 0x41, 0x41, 0x41, 0x3E,
120 0x7F, 0x09, 0x09, 0x09, 0x06,
121 0x3E, 0x41, 0x51, 0x21, 0x5E,
122 0x7F, 0x09, 0x19, 0x29, 0x46,
123 0x26, 0x49, 0x49, 0x49, 0x32,
124 0x03, 0x01, 0x7F, 0x01, 0x03,
125 0x3F, 0x40, 0x40, 0x40, 0x3F,
126 0x1F, 0x20, 0x40, 0x20, 0x1F,
127 0x3F, 0x40, 0x38, 0x40, 0x3F,
128 0x63, 0x14, 0x08, 0x14, 0x63,
129 0x03, 0x04, 0x78, 0x04, 0x03,
130 0x61, 0x59, 0x49, 0x4D, 0x43,
131 0x00, 0x7F, 0x41, 0x41, 0x41,
132 0x02, 0x04, 0x08, 0x10, 0x20,
133 0x00, 0x41, 0x41, 0x41, 0x7F,
134 0x04, 0x02, 0x01, 0x02, 0x04,
135 0x40, 0x40, 0x40, 0x40, 0x40,
136 0x00, 0x03, 0x07, 0x08, 0x00,
137 0x20, 0x54, 0x54, 0x78, 0x40,
138 0x7F, 0x28, 0x44, 0x44, 0x38,
139 0x38, 0x44, 0x44, 0x44, 0x28,
140 0x38, 0x44, 0x44, 0x28, 0x7F,
141 0x38, 0x54, 0x54, 0x54, 0x18,
142 0x00, 0x08, 0x7E, 0x09, 0x02,
143 0x18, 0xA4, 0xA4, 0x9C, 0x78,
144 0x7F, 0x08, 0x04, 0x04, 0x78,
145 0x00, 0x44, 0x7D, 0x40, 0x00,
146 0x20, 0x40, 0x40, 0x3D, 0x00,
147 0x7F, 0x10, 0x28, 0x44, 0x00,
148 0x00, 0x41, 0x7F, 0x40, 0x00,
149 0x7C, 0x04, 0x78, 0x04, 0x78,
150 0x7C, 0x08, 0x04, 0x04, 0x78,
151 0x38, 0x44, 0x44, 0x44, 0x38,
152 0xFC, 0x18, 0x24, 0x24, 0x18,
153 0x18, 0x24, 0x24, 0x18, 0xFC,
154 0x7C, 0x08, 0x04, 0x04, 0x08,
155 0x48, 0x54, 0x54, 0x54, 0x24,
156 0x04, 0x04, 0x3F, 0x44, 0x24,
157 0x3C, 0x40, 0x40, 0x20, 0x7C,
158 0x1C, 0x20, 0x40, 0x20, 0x1C,
159 0x3C, 0x40, 0x30, 0x40, 0x3C,
160 0x44, 0x28, 0x10, 0x28, 0x44,
161 0x4C, 0x90, 0x90, 0x90, 0x7C,
162 0x44, 0x64, 0x54, 0x4C, 0x44,
163 0x00, 0x08, 0x36, 0x41, 0x00,
164 0x00, 0x00, 0x77, 0x00, 0x00,
165 0x00, 0x41, 0x36, 0x08, 0x00,
166 0x02, 0x01, 0x02, 0x04, 0x02,
167 0x3C, 0x26, 0x23, 0x26, 0x3C,
168 0x1E, 0xA1, 0xA1, 0x61, 0x12,
169 0x3A, 0x40, 0x40, 0x20, 0x7A,
170 0x38, 0x54, 0x54, 0x55, 0x59,
171 0x21, 0x55, 0x55, 0x79, 0x41,
172 0x21, 0x54, 0x54, 0x78, 0x41,
173 0x21, 0x55, 0x54, 0x78, 0x40,
174 0x20, 0x54, 0x55, 0x79, 0x40,
175 0x0C, 0x1E, 0x52, 0x72, 0x12,
176 0x39, 0x55, 0x55, 0x55, 0x59,
177 0x39, 0x54, 0x54, 0x54, 0x59,
178 0x39, 0x55, 0x54, 0x54, 0x58,
179 0x00, 0x00, 0x45, 0x7C, 0x41,
180 0x00, 0x02, 0x45, 0x7D, 0x42,
181 0x00, 0x01, 0x45, 0x7C, 0x40,
182 0xF0, 0x29, 0x24, 0x29, 0xF0,
183 0xF0, 0x28, 0x25, 0x28, 0xF0,
184 0x7C, 0x54, 0x55, 0x45, 0x00,
185 0x20, 0x54, 0x54, 0x7C, 0x54,
186 0x7C, 0x0A, 0x09, 0x7F, 0x49,
187 0x32, 0x49, 0x49, 0x49, 0x32,
188 0x32, 0x48, 0x48, 0x48, 0x32,
189 0x32, 0x4A, 0x48, 0x48, 0x30,
190 0x3A, 0x41, 0x41, 0x21, 0x7A,
191 0x3A, 0x42, 0x40, 0x20, 0x78,
192 0x00, 0x9D, 0xA0, 0xA0, 0x7D,
193 0x39, 0x44, 0x44, 0x44, 0x39,
194 0x3D, 0x40, 0x40, 0x40, 0x3D,
195 0x3C, 0x24, 0xFF, 0x24, 0x24,
196 0x48, 0x7E, 0x49, 0x43, 0x66,
197 0x2B, 0x2F, 0xFC, 0x2F, 0x2B,
198 0xFF, 0x09, 0x29, 0xF6, 0x20,
199 0xC0, 0x88, 0x7E, 0x09, 0x03,
200 0x20, 0x54, 0x54, 0x79, 0x41,
201 0x00, 0x00, 0x44, 0x7D, 0x41,
202 0x30, 0x48, 0x48, 0x4A, 0x32,
203 0x38, 0x40, 0x40, 0x22, 0x7A,
204 0x00, 0x7A, 0x0A, 0x0A, 0x72,
205 0x7D, 0x0D, 0x19, 0x31, 0x7D,
206 0x26, 0x29, 0x29, 0x2F, 0x28,
207 0x26, 0x29, 0x29, 0x29, 0x26,
208 0x30, 0x48, 0x4D, 0x40, 0x20,
209 0x38, 0x08, 0x08, 0x08, 0x08,
210 0x08, 0x08, 0x08, 0x08, 0x38,
211 0x2F, 0x10, 0xC8, 0xAC, 0xBA,
212 0x2F, 0x10, 0x28, 0x34, 0xFA,
213 0x00, 0x00, 0x7B, 0x00, 0x00,
214 0x08, 0x14, 0x2A, 0x14, 0x22,
215 0x22, 0x14, 0x2A, 0x14, 0x08,
216 0xAA, 0x00, 0x55, 0x00, 0xAA,
217 0xAA, 0x55, 0xAA, 0x55, 0xAA,
218 0x00, 0x00, 0x00, 0xFF, 0x00,
219 0x10, 0x10, 0x10, 0xFF, 0x00,
220 0x14, 0x14, 0x14, 0xFF, 0x00,
221 0x10, 0x10, 0xFF, 0x00, 0xFF,
222 0x10, 0x10, 0xF0, 0x10, 0xF0,
223 0x14, 0x14, 0x14, 0xFC, 0x00,
224 0x14, 0x14, 0xF7, 0x00, 0xFF,
225 0x00, 0x00, 0xFF, 0x00, 0xFF,
226 0x14, 0x14, 0xF4, 0x04, 0xFC,
227 0x14, 0x14, 0x17, 0x10, 0x1F,
228 0x10, 0x10, 0x1F, 0x10, 0x1F,
229 0x14, 0x14, 0x14, 0x1F, 0x00,
230 0x10, 0x10, 0x10, 0xF0, 0x00,
231 0x00, 0x00, 0x00, 0x1F, 0x10,
232 0x10, 0x10, 0x10, 0x1F, 0x10,
233 0x10, 0x10, 0x10, 0xF0, 0x10,
234 0x00, 0x00, 0x00, 0xFF, 0x10,
235 0x10, 0x10, 0x10, 0x10, 0x10,
236 0x10, 0x10, 0x10, 0xFF, 0x10,
237 0x00, 0x00, 0x00, 0xFF, 0x14,
238 0x00, 0x00, 0xFF, 0x00, 0xFF,
239 0x00, 0x00, 0x1F, 0x10, 0x17,
240 0x00, 0x00, 0xFC, 0x04, 0xF4,
241 0x14, 0x14, 0x17, 0x10, 0x17,
242 0x14, 0x14, 0xF4, 0x04, 0xF4,
243 0x00, 0x00, 0xFF, 0x00, 0xF7,
244 0x14, 0x14, 0x14, 0x14, 0x14,
245 0x14, 0x14, 0xF7, 0x00, 0xF7,
246 0x14, 0x14, 0x14, 0x17, 0x14,
247 0x10, 0x10, 0x1F, 0x10, 0x1F,
248 0x14, 0x14, 0x14, 0xF4, 0x14,
249 0x10, 0x10, 0xF0, 0x10, 0xF0,
250 0x00, 0x00, 0x1F, 0x10, 0x1F,
251 0x00, 0x00, 0x00, 0x1F, 0x14,
252 0x00, 0x00, 0x00, 0xFC, 0x14,
253 0x00, 0x00, 0xF0, 0x10, 0xF0,
254 0x10, 0x10, 0xFF, 0x10, 0xFF,
255 0x14, 0x14, 0x14, 0xFF, 0x14,
256 0x10, 0x10, 0x10, 0x1F, 0x00,
257 0x00, 0x00, 0x00, 0xF0, 0x10,
258 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
259 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
260 0xFF, 0xFF, 0xFF, 0x00, 0x00,
261 0x00, 0x00, 0x00, 0xFF, 0xFF,
262 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
263 0x38, 0x44, 0x44, 0x38, 0x44,
264 0x7C, 0x2A, 0x2A, 0x3E, 0x14,
265 0x7E, 0x02, 0x02, 0x06, 0x06,
266 0x02, 0x7E, 0x02, 0x7E, 0x02,
267 0x63, 0x55, 0x49, 0x41, 0x63,
268 0x38, 0x44, 0x44, 0x3C, 0x04,
269 0x40, 0x7E, 0x20, 0x1E, 0x20,
270 0x06, 0x02, 0x7E, 0x02, 0x02,
271 0x99, 0xA5, 0xE7, 0xA5, 0x99,
272 0x1C, 0x2A, 0x49, 0x2A, 0x1C,
273 0x4C, 0x72, 0x01, 0x72, 0x4C,
274 0x30, 0x4A, 0x4D, 0x4D, 0x30,
275 0x30, 0x48, 0x78, 0x48, 0x30,
276 0xBC, 0x62, 0x5A, 0x46, 0x3D,
277 0x3E, 0x49, 0x49, 0x49, 0x00,
278 0x7E, 0x01, 0x01, 0x01, 0x7E,
279 0x2A, 0x2A, 0x2A, 0x2A, 0x2A,
280 0x44, 0x44, 0x5F, 0x44, 0x44,
281 0x40, 0x51, 0x4A, 0x44, 0x40,
282 0x40, 0x44, 0x4A, 0x51, 0x40,
283 0x00, 0x00, 0xFF, 0x01, 0x03,
284 0xE0, 0x80, 0xFF, 0x00, 0x00,
285 0x08, 0x08, 0x6B, 0x6B, 0x08,
286 0x36, 0x12, 0x36, 0x24, 0x36,
287 0x06, 0x0F, 0x09, 0x0F, 0x06,
288 0x00, 0x00, 0x18, 0x18, 0x00,
289 0x00, 0x00, 0x10, 0x10, 0x00,
290 0x30, 0x40, 0xFF, 0x01, 0x01,
291 0x00, 0x1F, 0x01, 0x01, 0x1E,
292 0x00, 0x19, 0x1D, 0x17, 0x12,
293 0x00, 0x3C, 0x3C, 0x3C, 0x3C,
294 0x00, 0x00, 0x00, 0x00, 0x00
325 virtual void drawPixel (int16_t x, int16_t y, uint16_t color) = 0;
342 void drawChar (int16_t x, int16_t y, uint8_t data, uint16_t color, uint16_t bg, uint8_t size);
349 void print (std::string msg);
367 void fillRect (int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color);
377 void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
388 void drawLine (int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color);
401 void drawTriangle (int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color);
411 void drawCircle (int16_t x, int16_t y, int16_t r, uint16_t color);
427 void setTextColor (uint16_t textColor, uint16_t textBGColor);
453 const unsigned char * m_font;
virtual void drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color)
Definition: ili9341_gfx.cxx:46
int m_textSize
Definition: ssd1351_gfx.hpp:446
void setTextSize(uint8_t s)
Definition: ili9341_gfx.cxx:427
int m_cursorY
Definition: ssd1351_gfx.hpp:450
int m_width
Definition: ssd1351_gfx.hpp:444
void setTextWrap(bool w)
Definition: ili9341_gfx.cxx:431
virtual void drawPixel(int16_t x, int16_t y, uint16_t color)=0
int16_t height(void) const
Definition: ili9341_gfx.cxx:489
void drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color)
Definition: ili9341_gfx.cxx:243
virtual void fillScreen(uint16_t color)
Definition: ili9341_gfx.cxx:125
virtual ~GFX()
Definition: ili9341_gfx.hpp:53
void setTextColor(uint16_t c)
Definition: ili9341_gfx.cxx:416
GFX(int16_t w, int16_t h)
Definition: ili9341_gfx.cxx:32
int m_textBGColor
Definition: ssd1351_gfx.hpp:448
C++ API wrapper for the bh1749 driver.
Definition: a110x.hpp:29
int m_cursorX
Definition: ssd1351_gfx.hpp:449
void setCursor(int16_t x, int16_t y)
Definition: ili9341_gfx.cxx:411
int m_wrap
Definition: ssd1351_gfx.hpp:451
virtual void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color)
Definition: ili9341_gfx.cxx:90
int m_textColor
Definition: ssd1351_gfx.hpp:447
void drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color, uint16_t bg, uint8_t size)
Definition: ili9341_gfx.cxx:372
int m_height
Definition: ssd1351_gfx.hpp:445
void print(std::string msg)
Definition: ili9341_gfx.cxx:478
int16_t width(void) const
Definition: ili9341_gfx.cxx:485
void drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color)
Definition: ili9341_gfx.cxx:133
virtual void fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color)
Definition: ili9341_gfx.cxx:115