18class Adafruit_GFX :
public Print {
21 Adafruit_GFX(int16_t w, int16_t h);
32 virtual void drawPixel(int16_t x, int16_t y, uint16_t color) = 0;
37 virtual void startWrite(
void);
38 virtual void writePixel(int16_t x, int16_t y, uint16_t color);
39 virtual void writeFillRect(int16_t x, int16_t y, int16_t w, int16_t h,
41 virtual void writeFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
42 virtual void writeFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color);
43 virtual void writeLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
45 virtual void endWrite(
void);
50 virtual void setRotation(uint8_t r);
51 virtual void invertDisplay(
bool i);
58 virtual void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
59 virtual void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color);
60 virtual void fillRect(int16_t x, int16_t y, int16_t w, int16_t h,
62 virtual void fillScreen(uint16_t color);
64 virtual void drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
66 virtual void drawRect(int16_t x, int16_t y, int16_t w, int16_t h,
70 void drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color);
71 void drawCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername,
73 void fillCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color);
74 void fillCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername,
75 int16_t delta, uint16_t color);
76 void drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2,
77 int16_t y2, uint16_t color);
78 void fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2,
79 int16_t y2, uint16_t color);
80 void drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h,
81 int16_t radius, uint16_t color);
82 void fillRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h,
83 int16_t radius, uint16_t color);
84 void drawBitmap(int16_t x, int16_t y,
const uint8_t bitmap[], int16_t w,
85 int16_t h, uint16_t color);
86 void drawBitmap(int16_t x, int16_t y,
const uint8_t bitmap[], int16_t w,
87 int16_t h, uint16_t color, uint16_t bg);
88 void drawBitmap(int16_t x, int16_t y, uint8_t *bitmap, int16_t w, int16_t h,
90 void drawBitmap(int16_t x, int16_t y, uint8_t *bitmap, int16_t w, int16_t h,
91 uint16_t color, uint16_t bg);
92 void drawXBitmap(int16_t x, int16_t y,
const uint8_t bitmap[], int16_t w,
93 int16_t h, uint16_t color);
94 void drawGrayscaleBitmap(int16_t x, int16_t y,
const uint8_t bitmap[],
95 int16_t w, int16_t h);
96 void drawGrayscaleBitmap(int16_t x, int16_t y, uint8_t *bitmap, int16_t w,
98 void drawGrayscaleBitmap(int16_t x, int16_t y,
const uint8_t bitmap[],
99 const uint8_t mask[], int16_t w, int16_t h);
100 void drawGrayscaleBitmap(int16_t x, int16_t y, uint8_t *bitmap, uint8_t *mask,
101 int16_t w, int16_t h);
102 void drawRGBBitmap(int16_t x, int16_t y,
const uint16_t bitmap[], int16_t w,
104 void drawRGBBitmap(int16_t x, int16_t y, uint16_t *bitmap, int16_t w,
106 void drawRGBBitmap(int16_t x, int16_t y,
const uint16_t bitmap[],
107 const uint8_t mask[], int16_t w, int16_t h);
108 void drawRGBBitmap(int16_t x, int16_t y, uint16_t *bitmap, uint8_t *mask,
109 int16_t w, int16_t h);
110 void drawChar(int16_t x, int16_t y,
unsigned char c, uint16_t color,
111 uint16_t bg, uint8_t size);
112 void drawChar(int16_t x, int16_t y,
unsigned char c, uint16_t color,
113 uint16_t bg, uint8_t size_x, uint8_t size_y);
114 void getTextBounds(
const char *
string, int16_t x, int16_t y, int16_t *x1,
115 int16_t *y1, uint16_t *w, uint16_t *h);
116 void getTextBounds(
const __FlashStringHelper *s, int16_t x, int16_t y,
117 int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h);
118 void getTextBounds(
const String &str, int16_t x, int16_t y, int16_t *x1,
119 int16_t *y1, uint16_t *w, uint16_t *h);
120 void setTextSize(uint8_t s);
121 void setTextSize(uint8_t sx, uint8_t sy);
122 void setFont(
const GFXfont *f = NULL);
185 virtual size_t write(uint8_t);
187 virtual void write(uint8_t);
233 void charBounds(
unsigned char c, int16_t *x, int16_t *y, int16_t *minx,
234 int16_t *miny, int16_t *maxx, int16_t *maxy);
252class Adafruit_GFX_Button {
255 Adafruit_GFX_Button(
void);
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);
260 void initButton(
Adafruit_GFX *gfx, int16_t x, int16_t y, uint16_t w,
261 uint16_t h, uint16_t outline, uint16_t fill,
262 uint16_t textcolor,
char *label, uint8_t textsize_x,
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);
268 void initButtonUL(
Adafruit_GFX *gfx, int16_t x1, int16_t y1, uint16_t w,
269 uint16_t h, uint16_t outline, uint16_t fill,
270 uint16_t textcolor,
char *label, uint8_t textsize_x,
272 void drawButton(
bool inverted =
false);
273 bool contains(int16_t x, int16_t y);
282 laststate = currstate;
303 uint16_t _outlinecolor, _fillcolor, _textcolor;
306 bool currstate, laststate;