Lib for the new LCD Display with ILI9341 controller with rounded (outlined and filled) rectangles added

Fork of SPI_TFT_ILI9341 by Peter Drescher

Revision:
14:70665f0a182f
Parent:
12:98cc5c193ecd
--- a/SPI_TFT_ILI9341_NUCLEO.cpp	Wed Jun 25 16:51:27 2014 +0000
+++ b/SPI_TFT_ILI9341_NUCLEO.cpp	Tue Mar 24 01:33:24 2015 +0000
@@ -503,6 +503,42 @@
     } while (x <= 0);
 }
 
+void SPI_TFT_ILI9341::circleGFX(int x0, int y0, int r, int color)
+{
+    int16_t f = 1 - r;
+    int16_t ddF_x = 1;
+    int16_t ddF_y = -2 * r;
+    int16_t x = 0;
+    int16_t y = r;
+    
+    pixel(x0, y0+r, color);
+    pixel(x0, y0-r, color);
+    pixel(x0+r, y0, color);
+    pixel(x0-r, y0, color);
+    
+    while (x<y)
+    {
+        if (f >= 0)
+        {
+            y--;
+            ddF_y += 2;
+            f += ddF_y;
+        }
+        x++;
+        ddF_x += 2;
+        f += ddF_x;
+        
+        pixel(x0 + x, y0 + y, color);
+        pixel(x0 - x, y0 + y, color);
+        pixel(x0 + x, y0 - y, color);
+        pixel(x0 - x, y0 - y, color);
+        pixel(x0 + y, y0 + x, color);
+        pixel(x0 - y, y0 + x, color);
+        pixel(x0 + y, y0 - x, color);
+        pixel(x0 - y, y0 - x, color);
+    }
+}
+
 void SPI_TFT_ILI9341::fillcircle(int x0, int y0, int r, int color)
 {
     int x = -r, y = 0, err = 2-2*r, e2;