| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /***********************************
- This is a our graphics core library, for all our displays.
- We'll be adapting all the
- existing libaries to use this core to make updating, support
- and upgrading easier!
- Adafruit invests time and resources providing this open source code,
- please support Adafruit and open-source hardware by purchasing
- products from Adafruit!
- Written by Limor Fried/Ladyada for Adafruit Industries.
- BSD license, check license.txt for more information
- All text above must be included in any redistribution
- ****************************************/
- #ifndef _ADAFRUIT_GFX_H
- #define _ADAFRUIT_GFX_H
- #if ARDUINO >= 100
- #include "Arduino.h"
- #include "Print.h"
- #else
- #include "WProgram.h"
- #endif
- #define swap(a, b) { int16_t t = a; a = b; b = t; }
- class Adafruit_GFX : public Print{
- public:
- // this must be defined by the subclass
- virtual void drawPixel(uint8_t x, uint8_t y, uint8_t color);
- // these are 'generic' drawing functions, so we can share them!
- void drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
- uint8_t color);
- virtual void drawFastVLine(uint8_t x, uint8_t y, uint8_t h, uint8_t color);
- void drawRect(uint8_t x, uint8_t y, uint8_t w, uint8_t h,
- uint8_t color);
- void fillRect(uint8_t x, uint8_t y, uint8_t w, uint8_t h,
- uint8_t color);
- void drawCircle(uint8_t x0, uint8_t y0, uint8_t r,
- uint8_t color);
- void fillCircle(uint8_t x0, uint8_t y0, uint8_t r,
- uint8_t color);
- void drawBitmap(uint8_t x, uint8_t y,
- const uint8_t *bitmap, uint8_t w, uint8_t h,
- uint8_t color);
- void drawChar(uint8_t x, uint8_t y, char c,
- uint16_t color, uint16_t bg, uint8_t size);
- #if ARDUINO >= 100
- virtual size_t write(uint8_t);
- #else
- virtual void write(uint8_t);
- #endif
- void setCursor(uint16_t x, uint16_t y);
- void setTextColor(uint16_t c);
- void setTextColor(uint16_t c, uint16_t bg);
- void setTextSize(uint8_t s);
- // return the size of the display
- uint16_t width() { return WIDTH; }
- uint16_t height() { return HEIGHT; }
- protected:
- uint16_t WIDTH, HEIGHT;
- uint16_t cursor_x, cursor_y, textcolor, textbgcolor;
- uint8_t textsize;
- };
- #endif
|