dd

Dependencies:   Final HCSR04 TB6612FNG

Committer:
eunmango
Date:
Sun Jun 16 04:44:35 2019 +0000
Revision:
97:b483e656bd14
t

Who changed what in which revision?

UserRevisionLine numberNew contents of line
eunmango 97:b483e656bd14 1 #ifndef _ADAFRUIT_GFX_H
eunmango 97:b483e656bd14 2 #define _ADAFRUIT_GFX_H
eunmango 97:b483e656bd14 3
eunmango 97:b483e656bd14 4 #include <stdlib.h>
eunmango 97:b483e656bd14 5
eunmango 97:b483e656bd14 6 #include "gfxfont.h"
eunmango 97:b483e656bd14 7
eunmango 97:b483e656bd14 8 class Adafruit_GFX {
eunmango 97:b483e656bd14 9
eunmango 97:b483e656bd14 10 public:
eunmango 97:b483e656bd14 11
eunmango 97:b483e656bd14 12 Adafruit_GFX(int16_t w, int16_t h); // Constructor
eunmango 97:b483e656bd14 13
eunmango 97:b483e656bd14 14 // This MUST be defined by the subclass:
eunmango 97:b483e656bd14 15 virtual void drawPixel(int16_t x, int16_t y, uint16_t color) = 0;
eunmango 97:b483e656bd14 16
eunmango 97:b483e656bd14 17 // These MAY be overridden by the subclass to provide device-specific
eunmango 97:b483e656bd14 18 // optimized code. Otherwise 'generic' versions are used.
eunmango 97:b483e656bd14 19 virtual void
eunmango 97:b483e656bd14 20 drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color),
eunmango 97:b483e656bd14 21 drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color),
eunmango 97:b483e656bd14 22 drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color),
eunmango 97:b483e656bd14 23 drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color),
eunmango 97:b483e656bd14 24 fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color),
eunmango 97:b483e656bd14 25 fillScreen(uint16_t color),
eunmango 97:b483e656bd14 26 invertDisplay(bool i);
eunmango 97:b483e656bd14 27
eunmango 97:b483e656bd14 28 // These exist only with Adafruit_GFX (no subclass overrides)
eunmango 97:b483e656bd14 29 void
eunmango 97:b483e656bd14 30 drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color),
eunmango 97:b483e656bd14 31 drawCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername,
eunmango 97:b483e656bd14 32 uint16_t color),
eunmango 97:b483e656bd14 33 fillCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color),
eunmango 97:b483e656bd14 34 fillCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername,
eunmango 97:b483e656bd14 35 int16_t delta, uint16_t color),
eunmango 97:b483e656bd14 36 drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
eunmango 97:b483e656bd14 37 int16_t x2, int16_t y2, uint16_t color),
eunmango 97:b483e656bd14 38 fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
eunmango 97:b483e656bd14 39 int16_t x2, int16_t y2, uint16_t color),
eunmango 97:b483e656bd14 40 drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h,
eunmango 97:b483e656bd14 41 int16_t radius, uint16_t color),
eunmango 97:b483e656bd14 42 fillRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h,
eunmango 97:b483e656bd14 43 int16_t radius, uint16_t color),
eunmango 97:b483e656bd14 44
eunmango 97:b483e656bd14 45 drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t color),
eunmango 97:b483e656bd14 46 drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t color, uint16_t bg),
eunmango 97:b483e656bd14 47
eunmango 97:b483e656bd14 48 drawXBitmap(int16_t x, int16_t y, const uint8_t *bitmap,
eunmango 97:b483e656bd14 49 int16_t w, int16_t h, uint16_t color),
eunmango 97:b483e656bd14 50 drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color,
eunmango 97:b483e656bd14 51 uint16_t bg, uint8_t size),
eunmango 97:b483e656bd14 52 setCursor(int16_t x, int16_t y),
eunmango 97:b483e656bd14 53 setTextColor(uint16_t c),
eunmango 97:b483e656bd14 54 setTextColor(uint16_t c, uint16_t bg),
eunmango 97:b483e656bd14 55 setTextSize(uint8_t s),
eunmango 97:b483e656bd14 56 setTextWrap(bool w),
eunmango 97:b483e656bd14 57 setRotation(uint8_t r),
eunmango 97:b483e656bd14 58 cp437(bool x=true),
eunmango 97:b483e656bd14 59 setFont(const GFXfont *f = NULL),
eunmango 97:b483e656bd14 60 getTextBounds(char *string, int16_t x, int16_t y,
eunmango 97:b483e656bd14 61 int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h),
eunmango 97:b483e656bd14 62 getTextBounds(const char *s, int16_t x, int16_t y,
eunmango 97:b483e656bd14 63 int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h),
eunmango 97:b483e656bd14 64 print(const char* str),
eunmango 97:b483e656bd14 65 println(const char* str);
eunmango 97:b483e656bd14 66
eunmango 97:b483e656bd14 67 virtual size_t write(uint8_t);
eunmango 97:b483e656bd14 68
eunmango 97:b483e656bd14 69 int16_t height(void) const;
eunmango 97:b483e656bd14 70 int16_t width(void) const;
eunmango 97:b483e656bd14 71
eunmango 97:b483e656bd14 72 uint8_t getRotation(void) const;
eunmango 97:b483e656bd14 73
eunmango 97:b483e656bd14 74 // get current cursor position (get rotation safe maximum values, using: width() for x, height() for y)
eunmango 97:b483e656bd14 75 int16_t getCursorX(void) const;
eunmango 97:b483e656bd14 76 int16_t getCursorY(void) const;
eunmango 97:b483e656bd14 77
eunmango 97:b483e656bd14 78 protected:
eunmango 97:b483e656bd14 79 const int16_t
eunmango 97:b483e656bd14 80 WIDTH, HEIGHT; // This is the 'raw' display w/h - never changes
eunmango 97:b483e656bd14 81 int16_t
eunmango 97:b483e656bd14 82 _width, _height, // Display w/h as modified by current rotation
eunmango 97:b483e656bd14 83 cursor_x, cursor_y;
eunmango 97:b483e656bd14 84 uint16_t
eunmango 97:b483e656bd14 85 textcolor, textbgcolor;
eunmango 97:b483e656bd14 86 uint8_t
eunmango 97:b483e656bd14 87 textsize,
eunmango 97:b483e656bd14 88 rotation;
eunmango 97:b483e656bd14 89 bool
eunmango 97:b483e656bd14 90 wrap, // If set, 'wrap' text at right edge of display
eunmango 97:b483e656bd14 91 _cp437; // If set, use correct CP437 charset (default is off)
eunmango 97:b483e656bd14 92 GFXfont
eunmango 97:b483e656bd14 93 *gfxFont;
eunmango 97:b483e656bd14 94 };
eunmango 97:b483e656bd14 95
eunmango 97:b483e656bd14 96 #endif // _ADAFRUIT_GFX_H