Update version of EALib.

Dependencies:   FATFileSystem

Fork of EALib by IONX

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Adafruit_GFX.h Source File

Adafruit_GFX.h

00001 #ifndef _ADAFRUIT_GFX_H
00002 
00003 
00004 #define swap(a, b) { int16_t t = a; a = b; b = t; }
00005 
00006 class Adafruit_GFX {
00007 
00008  public:
00009 
00010   Adafruit_GFX(int16_t w, int16_t h); // Constructor
00011 
00012   // This MUST be defined by the subclass:
00013   virtual void drawPixel(int16_t x, int16_t y, uint16_t color) = 0;
00014 
00015   // These MAY be overridden by the subclass to provide device-specific
00016   // optimized code.  Otherwise 'generic' versions are used.
00017   virtual void
00018     drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color),
00019     drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color),
00020     drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color),
00021     drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color),
00022     fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color),
00023     fillScreen(uint16_t color),
00024     invertDisplay(bool i);
00025 
00026   // These exist only with Adafruit_GFX (no subclass overrides)
00027   void
00028     drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color),
00029     drawCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername,
00030       uint16_t color),
00031     fillCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color),
00032     fillCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername,
00033       int16_t delta, uint16_t color),
00034     drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
00035       int16_t x2, int16_t y2, uint16_t color),
00036     fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
00037       int16_t x2, int16_t y2, uint16_t color),
00038     drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h,
00039       int16_t radius, uint16_t color),
00040     fillRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h,
00041       int16_t radius, uint16_t color),
00042     drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap,
00043       int16_t w, int16_t h, uint16_t color),
00044     drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color,
00045       uint16_t bg, uint8_t size),
00046     setCursor(int16_t x, int16_t y),
00047     setTextColor(uint16_t c),
00048     setTextColor(uint16_t c, uint16_t bg),
00049     setTextSize(uint8_t s),
00050     setTextWrap(bool w),
00051     setRotation(uint8_t r);
00052 
00053 
00054   virtual size_t write(uint8_t);
00055 
00056   int16_t
00057     height(void),
00058     width(void);
00059 
00060   uint8_t getRotation(void);
00061 
00062  protected:
00063   const int16_t
00064     WIDTH, HEIGHT;   // This is the 'raw' display w/h - never changes
00065   int16_t
00066     _width, _height, // Display w/h as modified by current rotation
00067     cursor_x, cursor_y;
00068   uint16_t
00069     textcolor, textbgcolor;
00070   uint8_t
00071     textsize,
00072     rotation;
00073   bool
00074     wrap; // If set, 'wrap' text at right edge of display
00075 };
00076 
00077 #endif // _ADAFRUIT_GFX_H
00078 
00079