Lib for the new LCD Display with ILI9341 controller with rounded (outlined and filled) rectangles added
Fork of SPI_TFT_ILI9341 by
Diff: SPI_TFT_ILI9341_NUCLEO.cpp
- 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;