128x64 EasyC OLED Display 1.0.0
This is a library for Soldered OLED Display
Loading...
Searching...
No Matches
Adafruit_GFX.h
Go to the documentation of this file.
1#ifndef _ADAFRUIT_GFX_H
2#define _ADAFRUIT_GFX_H
3
4#if ARDUINO >= 100
5#include "Arduino.h"
6#include "Print.h"
7#else
8#include "WProgram.h"
9#endif
10#include "gfxfont.h"
11
15class Adafruit_GFX : public Print {
16
17public:
18 Adafruit_GFX(int16_t w, int16_t h); // Constructor
19
20 /**********************************************************************/
28 /**********************************************************************/
29 virtual void drawPixel(int16_t x, int16_t y, uint16_t color) = 0;
30
31 // TRANSACTION API / CORE DRAW API
32 // These MAY be overridden by the subclass to provide device-specific
33 // optimized code. Otherwise 'generic' versions are used.
34 virtual void startWrite(void);
35 virtual void writePixel(int16_t x, int16_t y, uint16_t color);
36 virtual void writeFillRect(int16_t x, int16_t y, int16_t w, int16_t h,
37 uint16_t color);
38 virtual void writeFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
39 virtual void writeFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color);
40 virtual void writeLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
41 uint16_t color);
42 virtual void endWrite(void);
43
44 // CONTROL API
45 // These MAY be overridden by the subclass to provide device-specific
46 // optimized code. Otherwise 'generic' versions are used.
47 virtual void setRotation(uint8_t r);
48 virtual void invertDisplay(bool i);
49
50 // BASIC DRAW API
51 // These MAY be overridden by the subclass to provide device-specific
52 // optimized code. Otherwise 'generic' versions are used.
53
54 // It's good to implement those, even if using transaction API
55 virtual void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
56 virtual void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color);
57 virtual void fillRect(int16_t x, int16_t y, int16_t w, int16_t h,
58 uint16_t color);
59 virtual void fillScreen(uint16_t color);
60 // Optional and probably not necessary to change
61 virtual void drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
62 uint16_t color);
63 virtual void drawRect(int16_t x, int16_t y, int16_t w, int16_t h,
64 uint16_t color);
65
66 // These exist only with Adafruit_GFX (no subclass overrides)
67 void drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color);
68 void drawCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername,
69 uint16_t color);
70 void fillCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color);
71 void fillCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername,
72 int16_t delta, uint16_t color);
73 void drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2,
74 int16_t y2, uint16_t color);
75 void fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2,
76 int16_t y2, uint16_t color);
77 void drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h,
78 int16_t radius, uint16_t color);
79 void fillRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h,
80 int16_t radius, uint16_t color);
81 void drawBitmap(int16_t x, int16_t y, const uint8_t bitmap[], int16_t w,
82 int16_t h, uint16_t color);
83 void drawBitmap(int16_t x, int16_t y, const uint8_t bitmap[], int16_t w,
84 int16_t h, uint16_t color, uint16_t bg);
85 void drawBitmap(int16_t x, int16_t y, uint8_t *bitmap, int16_t w, int16_t h,
86 uint16_t color);
87 void drawBitmap(int16_t x, int16_t y, uint8_t *bitmap, int16_t w, int16_t h,
88 uint16_t color, uint16_t bg);
89 void drawXBitmap(int16_t x, int16_t y, const uint8_t bitmap[], int16_t w,
90 int16_t h, uint16_t color);
91 void drawGrayscaleBitmap(int16_t x, int16_t y, const uint8_t bitmap[],
92 int16_t w, int16_t h);
93 void drawGrayscaleBitmap(int16_t x, int16_t y, uint8_t *bitmap, int16_t w,
94 int16_t h);
95 void drawGrayscaleBitmap(int16_t x, int16_t y, const uint8_t bitmap[],
96 const uint8_t mask[], int16_t w, int16_t h);
97 void drawGrayscaleBitmap(int16_t x, int16_t y, uint8_t *bitmap, uint8_t *mask,
98 int16_t w, int16_t h);
99 void drawRGBBitmap(int16_t x, int16_t y, const uint16_t bitmap[], int16_t w,
100 int16_t h);
101 void drawRGBBitmap(int16_t x, int16_t y, uint16_t *bitmap, int16_t w,
102 int16_t h);
103 void drawRGBBitmap(int16_t x, int16_t y, const uint16_t bitmap[],
104 const uint8_t mask[], int16_t w, int16_t h);
105 void drawRGBBitmap(int16_t x, int16_t y, uint16_t *bitmap, uint8_t *mask,
106 int16_t w, int16_t h);
107 void drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color,
108 uint16_t bg, uint8_t size);
109 void drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color,
110 uint16_t bg, uint8_t size_x, uint8_t size_y);
111 void getTextBounds(const char *string, int16_t x, int16_t y, int16_t *x1,
112 int16_t *y1, uint16_t *w, uint16_t *h);
113 void getTextBounds(const __FlashStringHelper *s, int16_t x, int16_t y,
114 int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h);
115 void getTextBounds(const String &str, int16_t x, int16_t y, int16_t *x1,
116 int16_t *y1, uint16_t *w, uint16_t *h);
117 void setTextSize(uint8_t s);
118 void setTextSize(uint8_t sx, uint8_t sy);
119 void setFont(const GFXfont *f = NULL);
120
121 /**********************************************************************/
127 /**********************************************************************/
128 void setCursor(int16_t x, int16_t y) {
129 cursor_x = x;
130 cursor_y = y;
131 }
132
133 /**********************************************************************/
140 /**********************************************************************/
141 void setTextColor(uint16_t c) { textcolor = textbgcolor = c; }
142
143 /**********************************************************************/
149 /**********************************************************************/
150 void setTextColor(uint16_t c, uint16_t bg) {
151 textcolor = c;
152 textbgcolor = bg;
153 }
154
155 /**********************************************************************/
161 /**********************************************************************/
162 void setTextWrap(bool w) { wrap = w; }
163
164 /**********************************************************************/
177 /**********************************************************************/
178 void cp437(bool x = true) { _cp437 = x; }
179
180 using Print::write;
181#if ARDUINO >= 100
182 virtual size_t write(uint8_t);
183#else
184 virtual void write(uint8_t);
185#endif
186
187 /************************************************************************/
192 /************************************************************************/
193 int16_t width(void) const { return _width; };
194
195 /************************************************************************/
200 /************************************************************************/
201 int16_t height(void) const { return _height; }
202
203 /************************************************************************/
208 /************************************************************************/
209 uint8_t getRotation(void) const { return rotation; }
210
211 // get current cursor position (get rotation safe maximum values,
212 // using: width() for x, height() for y)
213 /************************************************************************/
218 /************************************************************************/
219 int16_t getCursorX(void) const { return cursor_x; }
220
221 /************************************************************************/
226 /************************************************************************/
227 int16_t getCursorY(void) const { return cursor_y; };
228
229protected:
230 void charBounds(unsigned char c, int16_t *x, int16_t *y, int16_t *minx,
231 int16_t *miny, int16_t *maxx, int16_t *maxy);
232 int16_t WIDTH;
233 int16_t HEIGHT;
234 int16_t _width;
235 int16_t _height;
236 int16_t cursor_x;
237 int16_t cursor_y;
238 uint16_t textcolor;
239 uint16_t textbgcolor;
240 uint8_t textsize_x;
241 uint8_t textsize_y;
242 uint8_t rotation;
243 bool wrap;
244 bool _cp437;
246};
247
250
251public:
253 // "Classic" initButton() uses center & size
254 void initButton(Adafruit_GFX *gfx, int16_t x, int16_t y, uint16_t w,
255 uint16_t h, uint16_t outline, uint16_t fill,
256 uint16_t textcolor, char *label, uint8_t textsize);
257 void initButton(Adafruit_GFX *gfx, int16_t x, int16_t y, uint16_t w,
258 uint16_t h, uint16_t outline, uint16_t fill,
259 uint16_t textcolor, char *label, uint8_t textsize_x,
260 uint8_t textsize_y);
261 // New/alt initButton() uses upper-left corner & size
262 void initButtonUL(Adafruit_GFX *gfx, int16_t x1, int16_t y1, uint16_t w,
263 uint16_t h, uint16_t outline, uint16_t fill,
264 uint16_t textcolor, char *label, uint8_t textsize);
265 void initButtonUL(Adafruit_GFX *gfx, int16_t x1, int16_t y1, uint16_t w,
266 uint16_t h, uint16_t outline, uint16_t fill,
267 uint16_t textcolor, char *label, uint8_t textsize_x,
268 uint8_t textsize_y);
269 void drawButton(bool inverted = false);
270 bool contains(int16_t x, int16_t y);
271
272 /**********************************************************************/
277 /**********************************************************************/
278 void press(bool p) {
280 currstate = p;
281 }
282
283 bool justPressed();
284 bool justReleased();
285
286 /**********************************************************************/
291 /**********************************************************************/
292 bool isPressed(void) { return currstate; };
293
294private:
296 int16_t _x1, _y1; // Coordinates of top-left corner
297 uint16_t _w, _h;
298 uint8_t _textsize_x;
299 uint8_t _textsize_y;
301 char _label[10];
302
304};
305
307class GFXcanvas1 : public Adafruit_GFX {
308public:
309 GFXcanvas1(uint16_t w, uint16_t h);
310 ~GFXcanvas1(void);
311 void drawPixel(int16_t x, int16_t y, uint16_t color);
312 void fillScreen(uint16_t color);
313 void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
314 void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color);
315 bool getPixel(int16_t x, int16_t y) const;
316 /**********************************************************************/
321 /**********************************************************************/
322 uint8_t *getBuffer(void) const { return buffer; }
323
324protected:
325 bool getRawPixel(int16_t x, int16_t y) const;
326 void drawFastRawVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
327 void drawFastRawHLine(int16_t x, int16_t y, int16_t w, uint16_t color);
328
329private:
330 uint8_t *buffer;
331
332#ifdef __AVR__
333 // Bitmask tables of 0x80>>X and ~(0x80>>X), because X>>Y is slow on AVR
334 static const uint8_t PROGMEM GFXsetBit[], GFXclrBit[];
335#endif
336};
337
339class GFXcanvas8 : public Adafruit_GFX {
340public:
341 GFXcanvas8(uint16_t w, uint16_t h);
342 ~GFXcanvas8(void);
343 void drawPixel(int16_t x, int16_t y, uint16_t color);
344 void fillScreen(uint16_t color);
345 void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
346 void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color);
347 uint8_t getPixel(int16_t x, int16_t y) const;
348 /**********************************************************************/
353 /**********************************************************************/
354 uint8_t *getBuffer(void) const { return buffer; }
355
356protected:
357 uint8_t getRawPixel(int16_t x, int16_t y) const;
358 void drawFastRawVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
359 void drawFastRawHLine(int16_t x, int16_t y, int16_t w, uint16_t color);
360
361private:
362 uint8_t *buffer;
363};
364
366class GFXcanvas16 : public Adafruit_GFX {
367public:
368 GFXcanvas16(uint16_t w, uint16_t h);
369 ~GFXcanvas16(void);
370 void drawPixel(int16_t x, int16_t y, uint16_t color);
371 void fillScreen(uint16_t color);
372 void byteSwap(void);
373 void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
374 void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color);
375 uint16_t getPixel(int16_t x, int16_t y) const;
376 /**********************************************************************/
381 /**********************************************************************/
382 uint16_t *getBuffer(void) const { return buffer; }
383
384protected:
385 uint16_t getRawPixel(int16_t x, int16_t y) const;
386 void drawFastRawVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
387 void drawFastRawHLine(int16_t x, int16_t y, int16_t w, uint16_t color);
388
389private:
390 uint16_t *buffer;
391};
392
393#endif // _ADAFRUIT_GFX_H
const uint8_t FreeMono12pt7bBitmaps[] PROGMEM
Definition FreeMono12pt7b.h:1
A simple drawn button UI element.
Definition Adafruit_GFX.h:249
void initButton(Adafruit_GFX *gfx, int16_t x, int16_t y, uint16_t w, uint16_t h, uint16_t outline, uint16_t fill, uint16_t textcolor, char *label, uint8_t textsize)
Initialize button with our desired color/size/settings.
Definition Adafruit_GFX.cpp:1570
uint8_t _textsize_y
Definition Adafruit_GFX.h:299
bool currstate
Definition Adafruit_GFX.h:303
Adafruit_GFX_Button(void)
Create a simple drawn button UI element.
Definition Adafruit_GFX.cpp:1552
Adafruit_GFX * _gfx
Definition Adafruit_GFX.h:295
char _label[10]
Definition Adafruit_GFX.h:301
uint16_t _textcolor
Definition Adafruit_GFX.h:300
void initButtonUL(Adafruit_GFX *gfx, int16_t x1, int16_t y1, uint16_t w, uint16_t h, uint16_t outline, uint16_t fill, uint16_t textcolor, char *label, uint8_t textsize)
Initialize button with our desired color/size/settings, with upper-left coordinates.
Definition Adafruit_GFX.cpp:1622
int16_t _y1
Definition Adafruit_GFX.h:296
void drawButton(bool inverted=false)
Draw the button on the screen.
Definition Adafruit_GFX.cpp:1673
uint8_t _textsize_x
Definition Adafruit_GFX.h:298
uint16_t _outlinecolor
Definition Adafruit_GFX.h:300
int16_t _x1
Definition Adafruit_GFX.h:296
void press(bool p)
Sets button state, should be done by some touch function.
Definition Adafruit_GFX.h:278
uint16_t _w
Definition Adafruit_GFX.h:297
uint16_t _h
Definition Adafruit_GFX.h:297
bool justReleased()
Query whether the button was released since we last checked state.
Definition Adafruit_GFX.cpp:1725
bool laststate
Definition Adafruit_GFX.h:303
uint16_t _fillcolor
Definition Adafruit_GFX.h:300
bool justPressed()
Query whether the button was pressed since we last checked state.
Definition Adafruit_GFX.cpp:1717
bool contains(int16_t x, int16_t y)
Helper to let us know if a coordinate is within the bounds of the button.
Definition Adafruit_GFX.cpp:1706
bool isPressed(void)
Query whether the button is currently pressed.
Definition Adafruit_GFX.h:292
Definition Adafruit_GFX.h:15
int16_t getCursorX(void) const
Get text cursor X location.
Definition Adafruit_GFX.h:219
virtual void write(uint8_t)
virtual void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color)
Draw a perfectly vertical line (this is often optimized in a subclass!)
Definition Adafruit_GFX.cpp:265
void fillCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername, int16_t delta, uint16_t color)
Quarter-circle drawer with fill, used for circles and roundrects.
Definition Adafruit_GFX.cpp:471
uint16_t textbgcolor
16-bit text color for print()
Definition Adafruit_GFX.h:239
virtual void fillScreen(uint16_t color)
Fill the screen completely with one color. Update in subclasses if desired!
Definition Adafruit_GFX.cpp:316
int16_t HEIGHT
This is the 'raw' display height - never changes.
Definition Adafruit_GFX.h:233
void setTextWrap(bool w)
Set whether text that is too long for the screen width should automatically wrap around to the next l...
Definition Adafruit_GFX.h:162
int16_t width(void) const
Get width of the display, accounting for current rotation.
Definition Adafruit_GFX.h:193
uint8_t rotation
Display rotation (0 thru 3)
Definition Adafruit_GFX.h:242
void setTextSize(uint8_t s)
Set text 'magnification' size. Each increase in s makes 1 pixel that much bigger.
Definition Adafruit_GFX.cpp:1295
void drawCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername, uint16_t color)
Quarter-circle drawer, used to do circles and roundrects.
Definition Adafruit_GFX.cpp:407
virtual void invertDisplay(bool i)
Invert the display (ideally using built-in hardware command)
Definition Adafruit_GFX.cpp:1540
void drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color)
Draw a triangle with no fill color.
Definition Adafruit_GFX.cpp:600
int16_t height(void) const
Get height of the display, accounting for current rotation.
Definition Adafruit_GFX.h:201
void fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color)
Draw a triangle with color-fill.
Definition Adafruit_GFX.cpp:619
virtual void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color)
Draw a perfectly horizontal line (this is often optimized in a subclass!)
Definition Adafruit_GFX.cpp:282
void setTextColor(uint16_t c)
Set text font color with transparant background.
Definition Adafruit_GFX.h:141
virtual void writeFillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color)
Write a rectangle completely with one color, overwrite in subclasses if startWrite is defined!
Definition Adafruit_GFX.cpp:241
void fillCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color)
Draw a circle with filled color.
Definition Adafruit_GFX.cpp:452
void drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color)
Draw a circle outline.
Definition Adafruit_GFX.cpp:357
void charBounds(unsigned char c, int16_t *x, int16_t *y, int16_t *minx, int16_t *miny, int16_t *maxx, int16_t *maxy)
Helper to determine size of a character with current font/size. Broke this out as it's used by both t...
Definition Adafruit_GFX.cpp:1371
virtual void setRotation(uint8_t r)
Set rotation setting for display.
Definition Adafruit_GFX.cpp:1316
Adafruit_GFX(int16_t w, int16_t h)
Instatiate a GFX context for graphics! Can only be done by a superclass.
Definition Adafruit_GFX.cpp:110
bool _cp437
If set, use correct CP437 charset (default is off)
Definition Adafruit_GFX.h:244
void fillRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h, int16_t radius, uint16_t color)
Draw a rounded rectangle with fill color.
Definition Adafruit_GFX.cpp:574
void drawBitmap(int16_t x, int16_t y, const uint8_t bitmap[], int16_t w, int16_t h, uint16_t color)
Draw a PROGMEM-resident 1-bit image at the specified (x,y) position, using the specified foreground c...
Definition Adafruit_GFX.cpp:717
int16_t getCursorY(void) const
Get text cursor Y location.
Definition Adafruit_GFX.h:227
virtual size_t write(uint8_t)
Print one byte/character of data, used to support print()
Definition Adafruit_GFX.cpp:1242
bool wrap
If set, 'wrap' text at right edge of display.
Definition Adafruit_GFX.h:243
uint16_t textcolor
16-bit background color for print()
Definition Adafruit_GFX.h:238
int16_t cursor_x
x location to start print()ing text
Definition Adafruit_GFX.h:236
void getTextBounds(const char *string, int16_t x, int16_t y, int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h)
Helper to determine size of a string with current font/size. Pass string and a cursor position,...
Definition Adafruit_GFX.cpp:1448
uint8_t textsize_x
Desired magnification in X-axis of text to print()
Definition Adafruit_GFX.h:240
virtual void drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color)
Draw a rectangle with no fill color.
Definition Adafruit_GFX.cpp:523
virtual void drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color)
Draw a line.
Definition Adafruit_GFX.cpp:330
virtual void fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color)
Fill a rectangle completely with one color. Update in subclasses if desired!
Definition Adafruit_GFX.cpp:300
void drawXBitmap(int16_t x, int16_t y, const uint8_t bitmap[], int16_t w, int16_t h, uint16_t color)
Draw PROGMEM-resident XBitMap Files (*.xbm), exported from GIMP. Usage: Export from GIMP to *....
Definition Adafruit_GFX.cpp:851
uint8_t textsize_y
Desired magnification in Y-axis of text to print()
Definition Adafruit_GFX.h:241
virtual void startWrite(void)
Start a display-writing routine, overwrite in subclasses.
Definition Adafruit_GFX.cpp:180
void setCursor(int16_t x, int16_t y)
Set text cursor location.
Definition Adafruit_GFX.h:128
void setFont(const GFXfont *f=NULL)
Set the font to display when print()ing, either custom or default.
Definition Adafruit_GFX.cpp:1338
int16_t _width
Display width as modified by current rotation.
Definition Adafruit_GFX.h:234
void drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h, int16_t radius, uint16_t color)
Draw a rounded rectangle with no fill color.
Definition Adafruit_GFX.cpp:544
virtual void writePixel(int16_t x, int16_t y, uint16_t color)
Write a pixel, overwrite in subclasses if startWrite is defined!
Definition Adafruit_GFX.cpp:190
void setTextColor(uint16_t c, uint16_t bg)
Set text font color with custom background color.
Definition Adafruit_GFX.h:150
void drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color, uint16_t bg, uint8_t size)
Draw a single character.
Definition Adafruit_GFX.cpp:1115
virtual void drawPixel(int16_t x, int16_t y, uint16_t color)=0
Draw to the screen/framebuffer/etc. Must be overridden in subclass.
uint8_t getRotation(void) const
Get rotation setting for display.
Definition Adafruit_GFX.h:209
int16_t _height
Display height as modified by current rotation.
Definition Adafruit_GFX.h:235
virtual void endWrite(void)
End a display-writing routine, overwrite in subclasses if startWrite is defined!
Definition Adafruit_GFX.cpp:253
void cp437(bool x=true)
Enable (or disable) Code Page 437-compatible charset. There was an error in glcdfont....
Definition Adafruit_GFX.h:178
virtual void writeFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color)
Write a perfectly horizontal line, overwrite in subclasses if startWrite is defined!
Definition Adafruit_GFX.cpp:222
int16_t WIDTH
This is the 'raw' display width - never changes.
Definition Adafruit_GFX.h:232
virtual void writeFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color)
Write a perfectly vertical line, overwrite in subclasses if startWrite is defined!
Definition Adafruit_GFX.cpp:204
virtual void writeLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color)
Write a line. Bresenham's algorithm - thx wikpedia.
Definition Adafruit_GFX.cpp:132
int16_t cursor_y
y location to start print()ing text
Definition Adafruit_GFX.h:237
void drawGrayscaleBitmap(int16_t x, int16_t y, const uint8_t bitmap[], int16_t w, int16_t h)
Draw a PROGMEM-resident 8-bit image (grayscale) at the specified (x,y) pos. Specifically for 8-bit di...
Definition Adafruit_GFX.cpp:885
void drawRGBBitmap(int16_t x, int16_t y, const uint16_t bitmap[], int16_t w, int16_t h)
Draw a PROGMEM-resident 16-bit image (RGB 5/6/5) at the specified (x,y) position. For 16-bit display ...
Definition Adafruit_GFX.cpp:1001
GFXfont * gfxFont
Pointer to special font.
Definition Adafruit_GFX.h:245
A GFX 16-bit canvas context for graphics.
Definition Adafruit_GFX.h:366
GFXcanvas16(uint16_t w, uint16_t h)
Instatiate a GFX 16-bit canvas context for graphics.
Definition Adafruit_GFX.cpp:2385
void drawFastRawHLine(int16_t x, int16_t y, int16_t w, uint16_t color)
Speed optimized horizontal line drawing into the raw canvas buffer.
Definition Adafruit_GFX.cpp:2663
uint16_t * buffer
Definition Adafruit_GFX.h:390
~GFXcanvas16(void)
Delete the canvas, free memory.
Definition Adafruit_GFX.cpp:2397
void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color)
Speed optimized vertical line drawing.
Definition Adafruit_GFX.cpp:2534
void byteSwap(void)
Reverses the "endian-ness" of each 16-bit pixel within the canvas; little-endian to big-endian,...
Definition Adafruit_GFX.cpp:2517
void drawFastRawVLine(int16_t x, int16_t y, int16_t h, uint16_t color)
Speed optimized vertical line drawing into the raw canvas buffer.
Definition Adafruit_GFX.cpp:2644
uint16_t * getBuffer(void) const
Get a pointer to the internal buffer memory.
Definition Adafruit_GFX.h:382
uint16_t getPixel(int16_t x, int16_t y) const
Get the pixel color value at a given coordinate.
Definition Adafruit_GFX.cpp:2445
void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color)
Speed optimized horizontal line drawing.
Definition Adafruit_GFX.cpp:2589
void drawPixel(int16_t x, int16_t y, uint16_t color)
Draw a pixel to the canvas framebuffer.
Definition Adafruit_GFX.cpp:2410
void fillScreen(uint16_t color)
Fill the framebuffer completely with one color.
Definition Adafruit_GFX.cpp:2491
uint16_t getRawPixel(int16_t x, int16_t y) const
Get the pixel color value at a given, unrotated coordinate. This method is intended for hardware driv...
Definition Adafruit_GFX.cpp:2476
A GFX 1-bit canvas context for graphics.
Definition Adafruit_GFX.h:307
void drawPixel(int16_t x, int16_t y, uint16_t color)
Draw a pixel to the canvas framebuffer.
Definition Adafruit_GFX.cpp:1786
GFXcanvas1(uint16_t w, uint16_t h)
Instatiate a GFX 1-bit canvas context for graphics.
Definition Adafruit_GFX.cpp:1761
void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color)
Speed optimized vertical line drawing.
Definition Adafruit_GFX.cpp:1903
void drawFastRawVLine(int16_t x, int16_t y, int16_t h, uint16_t color)
Speed optimized vertical line drawing into the raw canvas buffer.
Definition Adafruit_GFX.cpp:2014
bool getRawPixel(int16_t x, int16_t y) const
Definition Adafruit_GFX.cpp:1865
void drawFastRawHLine(int16_t x, int16_t y, int16_t w, uint16_t color)
Speed optimized horizontal line drawing into the raw canvas buffer.
Definition Adafruit_GFX.cpp:2053
void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color)
Speed optimized horizontal line drawing.
Definition Adafruit_GFX.cpp:1959
~GFXcanvas1(void)
Delete the canvas, free memory.
Definition Adafruit_GFX.cpp:1773
static const uint8_t PROGMEM GFXsetBit[]
Definition Adafruit_GFX.h:1748
bool getPixel(int16_t x, int16_t y) const
Definition Adafruit_GFX.cpp:1833
void fillScreen(uint16_t color)
Fill the framebuffer completely with one color.
Definition Adafruit_GFX.cpp:1887
static const uint8_t PROGMEM GFXclrBit[]
Definition Adafruit_GFX.h:1750
uint8_t * buffer
Definition Adafruit_GFX.h:330
uint8_t * getBuffer(void) const
Get a pointer to the internal buffer memory.
Definition Adafruit_GFX.h:322
A GFX 8-bit canvas context for graphics.
Definition Adafruit_GFX.h:339
~GFXcanvas8(void)
Delete the canvas, free memory.
Definition Adafruit_GFX.cpp:2129
uint8_t getRawPixel(int16_t x, int16_t y) const
Get the pixel color value at a given, unrotated coordinate. This method is intended for hardware driv...
Definition Adafruit_GFX.cpp:2208
GFXcanvas8(uint16_t w, uint16_t h)
Instatiate a GFX 8-bit canvas context for graphics.
Definition Adafruit_GFX.cpp:2117
void drawPixel(int16_t x, int16_t y, uint16_t color)
Draw a pixel to the canvas framebuffer.
Definition Adafruit_GFX.cpp:2142
uint8_t getPixel(int16_t x, int16_t y) const
Get the pixel color value at a given coordinate.
Definition Adafruit_GFX.cpp:2177
uint8_t * getBuffer(void) const
Get a pointer to the internal buffer memory.
Definition Adafruit_GFX.h:354
void drawFastRawHLine(int16_t x, int16_t y, int16_t w, uint16_t color)
Speed optimized horizontal line drawing into the raw canvas buffer.
Definition Adafruit_GFX.cpp:2372
void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color)
Speed optimized vertical line drawing.
Definition Adafruit_GFX.cpp:2239
void fillScreen(uint16_t color)
Fill the framebuffer completely with one color.
Definition Adafruit_GFX.cpp:2223
uint8_t * buffer
Definition Adafruit_GFX.h:362
void drawFastRawVLine(int16_t x, int16_t y, int16_t h, uint16_t color)
Speed optimized vertical line drawing into the raw canvas buffer.
Definition Adafruit_GFX.cpp:2352
void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color)
Speed optimized horizontal line drawing.
Definition Adafruit_GFX.cpp:2295
Data stored for FONT AS A WHOLE.
Definition gfxfont.h:21