Adafruit LED Matrix Display program

Dependencies:   mbed

Committer:
tamaki
Date:
Sat Jul 11 01:16:40 2015 +0000
Revision:
0:86b6f02fab12
adafruit LED matrix Display program(Test)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tamaki 0:86b6f02fab12 1
tamaki 0:86b6f02fab12 2 #ifndef _ADAFRUIT_GFX_H
tamaki 0:86b6f02fab12 3 #define _ADAFRUIT_GFX_H
tamaki 0:86b6f02fab12 4
tamaki 0:86b6f02fab12 5 #include "mbed.h"
tamaki 0:86b6f02fab12 6 //#include "Arduino.h"
tamaki 0:86b6f02fab12 7 //#include "Print.h"
tamaki 0:86b6f02fab12 8
tamaki 0:86b6f02fab12 9 #define swap(a, b) { int16_t t = a; a = b; b = t; }
tamaki 0:86b6f02fab12 10
tamaki 0:86b6f02fab12 11 class Adafruit_GFX : public Print { // THIS LINE RIGHT HERE
tamaki 0:86b6f02fab12 12
tamaki 0:86b6f02fab12 13 public:
tamaki 0:86b6f02fab12 14
tamaki 0:86b6f02fab12 15 Adafruit_GFX(int16_t w, int16_t h); // Constructor
tamaki 0:86b6f02fab12 16
tamaki 0:86b6f02fab12 17 // This MUST be defined by the subclass:
tamaki 0:86b6f02fab12 18 virtual void drawPixel(int16_t x, int16_t y, uint16_t color) = 0;
tamaki 0:86b6f02fab12 19
tamaki 0:86b6f02fab12 20 // These MAY be overridden by the subclass to provide device-specific
tamaki 0:86b6f02fab12 21 // optimized code. Otherwise 'generic' versions are used.
tamaki 0:86b6f02fab12 22 virtual void
tamaki 0:86b6f02fab12 23 drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color),
tamaki 0:86b6f02fab12 24 drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color),
tamaki 0:86b6f02fab12 25 drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color),
tamaki 0:86b6f02fab12 26 drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color),
tamaki 0:86b6f02fab12 27 fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color),
tamaki 0:86b6f02fab12 28 fillScreen(uint16_t color),
tamaki 0:86b6f02fab12 29 invertDisplay(bool i);
tamaki 0:86b6f02fab12 30
tamaki 0:86b6f02fab12 31 // These exist only with Adafruit_GFX (no subclass overrides)
tamaki 0:86b6f02fab12 32 void
tamaki 0:86b6f02fab12 33 drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color),
tamaki 0:86b6f02fab12 34 drawCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername,
tamaki 0:86b6f02fab12 35 uint16_t color),
tamaki 0:86b6f02fab12 36 fillCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color),
tamaki 0:86b6f02fab12 37 fillCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername,
tamaki 0:86b6f02fab12 38 int16_t delta, uint16_t color),
tamaki 0:86b6f02fab12 39 drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
tamaki 0:86b6f02fab12 40 int16_t x2, int16_t y2, uint16_t color),
tamaki 0:86b6f02fab12 41 fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
tamaki 0:86b6f02fab12 42 int16_t x2, int16_t y2, uint16_t color),
tamaki 0:86b6f02fab12 43 drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h,
tamaki 0:86b6f02fab12 44 int16_t radius, uint16_t color),
tamaki 0:86b6f02fab12 45 fillRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h,
tamaki 0:86b6f02fab12 46 int16_t radius, uint16_t color),
tamaki 0:86b6f02fab12 47 drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap,
tamaki 0:86b6f02fab12 48 int16_t w, int16_t h, uint16_t color),
tamaki 0:86b6f02fab12 49 drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color,
tamaki 0:86b6f02fab12 50 uint16_t bg, uint8_t size),
tamaki 0:86b6f02fab12 51 setCursor(int16_t x, int16_t y),
tamaki 0:86b6f02fab12 52 setTextColor(uint16_t c),
tamaki 0:86b6f02fab12 53 setTextColor(uint16_t c, uint16_t bg),
tamaki 0:86b6f02fab12 54 setTextSize(uint8_t s),
tamaki 0:86b6f02fab12 55 setTextWrap(bool w),
tamaki 0:86b6f02fab12 56 setRotation(uint8_t r);
tamaki 0:86b6f02fab12 57
tamaki 0:86b6f02fab12 58 #if ARDUINO >= 100
tamaki 0:86b6f02fab12 59 virtual size_t write(uint8_t);
tamaki 0:86b6f02fab12 60 #else
tamaki 0:86b6f02fab12 61 virtual void write(uint8_t);
tamaki 0:86b6f02fab12 62 #endif
tamaki 0:86b6f02fab12 63
tamaki 0:86b6f02fab12 64 int16_t
tamaki 0:86b6f02fab12 65 height(void),
tamaki 0:86b6f02fab12 66 width(void);
tamaki 0:86b6f02fab12 67
tamaki 0:86b6f02fab12 68 uint8_t getRotation(void);
tamaki 0:86b6f02fab12 69
tamaki 0:86b6f02fab12 70 protected:
tamaki 0:86b6f02fab12 71 const int16_t
tamaki 0:86b6f02fab12 72 WIDTH, HEIGHT; // This is the 'raw' display w/h - never changes
tamaki 0:86b6f02fab12 73 int16_t
tamaki 0:86b6f02fab12 74 _width, _height, // Display w/h as modified by current rotation
tamaki 0:86b6f02fab12 75 cursor_x, cursor_y;
tamaki 0:86b6f02fab12 76 uint16_t
tamaki 0:86b6f02fab12 77 textcolor, textbgcolor;
tamaki 0:86b6f02fab12 78 uint8_t
tamaki 0:86b6f02fab12 79 textsize,
tamaki 0:86b6f02fab12 80 rotation;
tamaki 0:86b6f02fab12 81 bool
tamaki 0:86b6f02fab12 82 wrap; // If set, 'wrap' text at right edge of display
tamaki 0:86b6f02fab12 83 };
tamaki 0:86b6f02fab12 84