1

Files at this revision

API Documentation at this revision

Comitter:
hisi
Date:
Fri Jun 17 02:24:45 2022 +0000
Parent:
16:7fb1d4d3525d
Commit message:
11

Changed in this revision

Adafruit_GFX.cpp Show annotated file Show diff for this revision Revisions of this file
Adafruit_GFX.h Show annotated file Show diff for this revision Revisions of this file
Adafruit_GFX_Config.h Show annotated file Show diff for this revision Revisions of this file
cylogo.h Show annotated file Show diff for this revision Revisions of this file
glcdfont.h Show annotated file Show diff for this revision Revisions of this file
diff -r 7fb1d4d3525d -r c0c589ffe9bf Adafruit_GFX.cpp
--- a/Adafruit_GFX.cpp	Tue Nov 11 22:08:20 2014 +0000
+++ b/Adafruit_GFX.cpp	Fri Jun 17 02:24:45 2022 +0000
@@ -1,14 +1,14 @@
 /***********************************
-This is a our graphics core library, for all our displays. 
+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 
+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 
+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.  
+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
 ****************************************/
@@ -31,16 +31,14 @@
     int16_t ddF_y = -2 * r;
     int16_t x = 0;
     int16_t y = r;
-    
+
     drawPixel(x0, y0+r, color);
     drawPixel(x0, y0-r, color);
     drawPixel(x0+r, y0, color);
     drawPixel(x0-r, y0, color);
-    
-    while (x<y)
-    {
-        if (f >= 0)
-        {
+
+    while (x<y) {
+        if (f >= 0) {
             y--;
             ddF_y += 2;
             f += ddF_y;
@@ -48,7 +46,7 @@
         x++;
         ddF_x += 2;
         f += ddF_x;
-        
+
         drawPixel(x0 + x, y0 + y, color);
         drawPixel(x0 - x, y0 + y, color);
         drawPixel(x0 + x, y0 - y, color);
@@ -67,11 +65,9 @@
     int16_t ddF_y = -2 * r;
     int16_t x     = 0;
     int16_t y     = r;
-    
-    while (x<y)
-    {
-        if (f >= 0)
-        {
+
+    while (x<y) {
+        if (f >= 0) {
             y--;
             ddF_y += 2;
             f += ddF_y;
@@ -79,27 +75,23 @@
         x++;
         ddF_x += 2;
         f += ddF_x;
-        
-        if (cornername & 0x4)
-        {
+
+        if (cornername & 0x4) {
             drawPixel(x0 + x, y0 + y, color);
             drawPixel(x0 + y, y0 + x, color);
-        } 
+        }
 
-        if (cornername & 0x2)
-        {
+        if (cornername & 0x2) {
             drawPixel(x0 + x, y0 - y, color);
             drawPixel(x0 + y, y0 - x, color);
         }
 
-        if (cornername & 0x8)
-        {
+        if (cornername & 0x8) {
             drawPixel(x0 - y, y0 + x, color);
             drawPixel(x0 - x, y0 + y, color);
         }
-        
-        if (cornername & 0x1)
-        {
+
+        if (cornername & 0x1) {
             drawPixel(x0 - y, y0 - x, color);
             drawPixel(x0 - x, y0 - y, color);
         }
@@ -120,11 +112,9 @@
     int16_t ddF_y = -2 * r;
     int16_t x     = 0;
     int16_t y     = r;
-    
-    while (x<y)
-    {
-        if (f >= 0)
-        {
+
+    while (x<y) {
+        if (f >= 0) {
             y--;
             ddF_y += 2;
             f += ddF_y;
@@ -132,15 +122,13 @@
         x++;
         ddF_x += 2;
         f += ddF_x;
-        
-        if (cornername & 0x1)
-        {
+
+        if (cornername & 0x1) {
             drawFastVLine(x0+x, y0-y, 2*y+1+delta, color);
             drawFastVLine(x0+y, y0-x, 2*x+1+delta, color);
         }
 
-        if (cornername & 0x2)
-        {
+        if (cornername & 0x2) {
             drawFastVLine(x0-x, y0-y, 2*y+1+delta, color);
             drawFastVLine(x0-y, y0-x, 2*x+1+delta, color);
         }
@@ -153,41 +141,37 @@
 void Adafruit_GFX::drawLine(int16_t x0, int16_t y0,  int16_t x1, int16_t y1, uint16_t color)
 {
     int16_t steep = abs(y1 - y0) > abs(x1 - x0);
-    
-    if (steep)
-    {
+
+    if (steep) {
         swap(x0, y0);
         swap(x1, y1);
     }
-    
-    if (x0 > x1)
-    {
+
+    if (x0 > x1) {
         swap(x0, x1);
         swap(y0, y1);
     }
-    
+
     int16_t dx, dy;
     dx = x1 - x0;
     dy = abs(y1 - y0);
-    
+
     int16_t err = dx / 2;
     int16_t ystep;
-    
+
     if (y0 < y1)
         ystep = 1;
     else
         ystep = -1;
-    
-    for (; x0<=x1; x0++)
-    {
+
+    for (; x0<=x1; x0++) {
         if (steep)
             drawPixel(y0, x0, color);
         else
             drawPixel(x0, y0, color);
 
         err -= dy;
-        if (err < 0)
-        {
+        if (err < 0) {
             y0 += ystep;
             err += dx;
         }
@@ -204,7 +188,7 @@
 {
     // stupidest version - update in subclasses if desired!
     for (int16_t i=x; i<x+w; i++)
-        drawFastVLine(i, y, h, color); 
+        drawFastVLine(i, y, h, color);
 }
 #endif
 
@@ -233,15 +217,15 @@
 void Adafruit_GFX::drawRoundRect(int16_t x, int16_t y, int16_t w, int16_t h, int16_t r, uint16_t color)
 {
     // smarter version
-    drawFastHLine(x+r  , y    , w-2*r, color); // Top
-    drawFastHLine(x+r  , y+h-1, w-2*r, color); // Bottom
-    drawFastVLine(  x    , y+r  , h-2*r, color); // Left
-    drawFastVLine(  x+w-1, y+r  , h-2*r, color); // Right
+    drawFastHLine(x+r, y, w-2*r, color);       // Top
+    drawFastHLine(x+r, y+h-1, w-2*r, color);   // Bottom
+    drawFastVLine(  x, y+r, h-2*r, color);       // Left
+    drawFastVLine(  x+w-1, y+r, h-2*r, color);   // Right
     // draw four corners
-    drawCircleHelper(x+r    , y+r    , r, 1, color);
-    drawCircleHelper(x+w-r-1, y+r    , r, 2, color);
+    drawCircleHelper(x+r, y+r, r, 1, color);
+    drawCircleHelper(x+w-r-1, y+r, r, 2, color);
     drawCircleHelper(x+w-r-1, y+h-r-1, r, 4, color);
-    drawCircleHelper(x+r    , y+h-r-1, r, 8, color);
+    drawCircleHelper(x+r, y+h-r-1, r, 8, color);
 }
 
 // fill a rounded rectangle!
@@ -249,10 +233,10 @@
 {
     // smarter version
     fillRect(x+r, y, w-2*r, h, color);
-    
+
     // draw four corners
     fillCircleHelper(x+w-r-1, y+r, r, 1, h-2*r-1, color);
-    fillCircleHelper(x+r    , y+r, r, 2, h-2*r-1, color);
+    fillCircleHelper(x+r, y+r, r, 2, h-2*r-1, color);
 }
 
 // draw a triangle!
@@ -267,42 +251,45 @@
 void Adafruit_GFX::fillTriangle ( int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color)
 {
     int16_t a, b, y, last;
-    
+
     // Sort coordinates by Y order (y2 >= y1 >= y0)
     if (y0 > y1)
-        swap(y0, y1); swap(x0, x1);
+        swap(y0, y1);
+    swap(x0, x1);
 
     if (y1 > y2)
-        swap(y2, y1); swap(x2, x1);
+        swap(y2, y1);
+    swap(x2, x1);
 
     if (y0 > y1)
-        swap(y0, y1); swap(x0, x1);
+        swap(y0, y1);
+    swap(x0, x1);
 
-    
-    if(y0 == y2)
-    { // Handle awkward all-on-same-line case as its own thing
+
+    if(y0 == y2) {
+        // Handle awkward all-on-same-line case as its own thing
         a = b = x0;
         if(x1 < a)
             a = x1;
         else if(x1 > b)
             b = x1;
-            
+
         if(x2 < a)
             a = x2;
         else if(x2 > b) b = x2;
-            drawFastHLine(a, y0, b-a+1, color);
+        drawFastHLine(a, y0, b-a+1, color);
         return;
     }
 
     int16_t
-        dx01 = x1 - x0,
-        dy01 = y1 - y0,
-        dx02 = x2 - x0,
-        dy02 = y2 - y0,
-        dx12 = x2 - x1,
-        dy12 = y2 - y1,
-        sa   = 0,
-        sb   = 0;
+    dx01 = x1 - x0,
+    dy01 = y1 - y0,
+    dx02 = x2 - x0,
+    dy02 = y2 - y0,
+    dx12 = x2 - x1,
+    dy12 = y2 - y1,
+    sa   = 0,
+    sb   = 0;
 
     // For upper part of triangle, find scanline crossings for segments
     // 0-1 and 0-2.  If y1=y2 (flat-bottomed triangle), the scanline y1
@@ -315,8 +302,7 @@
     else
         last = y1-1; // Skip it
 
-    for(y=y0; y<=last; y++)
-    {
+    for(y=y0; y<=last; y++) {
         a   = x0 + sa / dy01;
         b   = x0 + sb / dy02;
         sa += dx01;
@@ -334,8 +320,7 @@
     // 0-2 and 1-2.  This loop is skipped if y1=y2.
     sa = dx12 * (y - y1);
     sb = dx02 * (y - y0);
-    for(; y<=y2; y++)
-    {
+    for(; y<=y2; y++) {
         a   = x1 + sa / dy12;
         b   = x0 + sb / dy02;
         sa += dx12;
@@ -352,10 +337,8 @@
 
 void Adafruit_GFX::drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t color)
 {
-    for (int16_t j=0; j<h; j++)
-    {
-        for (int16_t i=0; i<w; i++ )
-        {
+    for (int16_t j=0; j<h; j++) {
+        for (int16_t i=0; i<w; i++ ) {
             if (bitmap[i + (j/8)*w] & _BV(j%8))
                 drawPixel(x+i, y+j, color);
         }
@@ -365,19 +348,15 @@
 
 size_t Adafruit_GFX::writeChar(uint8_t c)
 {
-    if (c == '\n')
-    {
+    if (c == '\n') {
         cursor_y += textsize*8;
         cursor_x = 0;
-    }
-    else if (c == '\r')
+    } else if (c == '\r')
         cursor_x = 0;
-    else
-    {
+    else {
         drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);
         cursor_x += textsize*6;
-        if (wrap && (cursor_x > (_width - textsize*6)))
-        {
+        if (wrap && (cursor_x > (_width - textsize*6))) {
             cursor_y += textsize*8;
             cursor_x = 0;
         }
@@ -393,22 +372,19 @@
         (y >= _height) || // Clip bottom
         ((x + 5 * size - 1) < 0) || // Clip left
         ((y + 8 * size - 1) < 0) // Clip top
-        )
-    return;
-    
-    for (int8_t i=0; i<6; i++ )
-    {
+    )
+        return;
+
+    for (int8_t i=0; i<6; i++ ) {
         uint8_t line = 0;
 
-        if (i == 5) 
+        if (i == 5)
             line = 0x0;
-        else 
+        else
             line = font[(c*5)+i];
-            
-        for (int8_t j = 0; j<8; j++)
-        {
-            if (line & 0x1)
-            {
+
+        for (int8_t j = 0; j<8; j++) {
+            if (line & 0x1) {
 #if defined(GFX_WANT_ABSTRACTS) || defined(GFX_SIZEABLE_TEXT)
                 if (size == 1) // default size
                     drawPixel(x+i, y+j, color);
@@ -417,9 +393,7 @@
 #else
                 drawPixel(x+i, y+j, color);
 #endif
-            }
-            else if (bg != color)
-            {
+            } else if (bg != color) {
 #if defined(GFX_WANT_ABSTRACTS) || defined(GFX_SIZEABLE_TEXT)
                 if (size == 1) // default size
                     drawPixel(x+i, y+j, bg);
@@ -438,8 +412,7 @@
 {
     x %= 4;  // cant be higher than 3
     rotation = x;
-    switch (x)
-    {
+    switch (x) {
         case 0:
         case 2:
             _width = _rawWidth;
@@ -452,3 +425,25 @@
             break;
     }
 }
+
+void Adafruit_GFX::drawX11BitMap(const uint8_t bitmap[],uint16_t bitMapWidth,uint16_t bitMapSize,uint16_t posX,uint16_t posY)
+{
+    int16_t x1 = posX;
+    int16_t y1 = posY;
+    for(unsigned int i=0; i<bitMapSize; i++) {
+        uint8_t val = bitmap[i];
+        for(int j=0; j<8; j++) {
+            uint16_t pixColor;
+            if(val>>j & 0x01)
+                pixColor = 1;
+            else
+                pixColor = 0;
+            drawPixel(x1,y1, pixColor);
+            x1 = x1 + 1;
+            if(x1 == posX + bitMapWidth) {
+                x1 = posX;
+                y1 = y1 + 1;
+            }
+        }
+    }
+}
\ No newline at end of file
diff -r 7fb1d4d3525d -r c0c589ffe9bf Adafruit_GFX.h
--- a/Adafruit_GFX.h	Tue Nov 11 22:08:20 2014 +0000
+++ b/Adafruit_GFX.h	Fri Jun 17 02:24:45 2022 +0000
@@ -169,6 +169,9 @@
     void setRotation(uint8_t r);
     /// Get the current rotation
     inline uint8_t getRotation(void) { rotation %= 4; return rotation; };
+    
+    
+    virtual void drawX11BitMap ( const uint8_t bitmap [] , uint16_t bitMapWidth, uint16_t bitMapSize, uint16_t posX, uint16_t posY )  ;   
 
 protected:
     int16_t  _rawWidth, _rawHeight;   // this is the 'raw' display w/h - never changes
diff -r 7fb1d4d3525d -r c0c589ffe9bf Adafruit_GFX_Config.h
--- a/Adafruit_GFX_Config.h	Tue Nov 11 22:08:20 2014 +0000
+++ b/Adafruit_GFX_Config.h	Fri Jun 17 02:24:45 2022 +0000
@@ -2,13 +2,13 @@
 #define _ADAFRUIT_GFX_CONFIG_H_
 
 // Uncomment this to turn off the builtin splash
-//#define NO_SPLASH_ADAFRUIT
+#define NO_SPLASH_ADAFRUIT
 
 // Uncomment this to enable all functionality
-//#define GFX_WANT_ABSTRACTS
+#define GFX_WANT_ABSTRACTS
 
 // Uncomment this to enable only runtime font scaling, without all the rest of the Abstracts
-//#define GFX_SIZEABLE_TEXT
+#define GFX_SIZEABLE_TEXT
 
 
 #endif
\ No newline at end of file
diff -r 7fb1d4d3525d -r c0c589ffe9bf cylogo.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cylogo.h	Fri Jun 17 02:24:45 2022 +0000
@@ -0,0 +1,10 @@
+#define cylogo_width 128
+#define cylogo_height 40
+
+
+static unsigned char cylogo_bits[] = {
+   0x00, 0x00, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+   0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00,
+   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x3f,
+   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+   0x00, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,};
\ No newline at end of file
diff -r 7fb1d4d3525d -r c0c589ffe9bf glcdfont.h
--- a/glcdfont.h	Tue Nov 11 22:08:20 2014 +0000
+++ b/glcdfont.h	Fri Jun 17 02:24:45 2022 +0000
@@ -23,8 +23,7 @@
 #ifndef FONT5X7_H
 #define FONT5X7_H
 
-// standard ascii 5x7 font
-
+   // standard ascii 5x7 font
 static unsigned char  font[] = {
     0x00, 0x00, 0x00, 0x00, 0x00,   
     0x3E, 0x5B, 0x4F, 0x5B, 0x3E,