#include "project/commands.h" // Generic helper functions
#ifdef CFG_TFTLCD
- #include "drivers/lcd/tft/lcd.h"
- #include "drivers/lcd/tft/drawing.h"
+ #include "drivers/displays/tft/lcd.h"
+ #include "drivers/displays/tft/drawing.h"
/**************************************************************************/
/*!
}
}
+/**************************************************************************/
+/*!
+ Displays a rectangle with rounded corners on the LCD.
+*/
+/**************************************************************************/
+void cmd_rectangleround(uint8_t argc, char **argv)
+{
+ int32_t x1, y1, x2, y2, c, radius, corners, filled, border;
+ filled = 0;
+
+ // Convert supplied parameters
+ getNumber (argv[0], &x1);
+ getNumber (argv[1], &y1);
+ getNumber (argv[2], &x2);
+ getNumber (argv[3], &y2);
+ getNumber (argv[4], &c);
+ getNumber (argv[5], &radius);
+ getNumber (argv[6], &corners);
+ if (argc >= 8)
+ {
+ getNumber (argv[7], &filled);
+ }
+ if (argc == 9)
+ {
+ getNumber (argv[8], &border);
+ if (border < 0 || border > 0xFFFF)
+ {
+ printf("Invalid Border Color%s", CFG_PRINTF_NEWLINE);
+ return;
+ }
+ }
+
+ // ToDo: Validate data!
+ if (c < 0 || c > 0xFFFF)
+ {
+ printf("Invalid Color%s", CFG_PRINTF_NEWLINE);
+ return;
+ }
+
+ if (filled)
+ drawRoundedRectangleFilled(x1, y1, x2, y2, (uint16_t)c, radius, corners);
+ else
+ drawRoundedRectangle(x1, y1, x2, y2, (uint16_t)c, radius, corners);
+
+ // Draw border if it's not the same color
+ if (argc == 9)
+ {
+ drawRoundedRectangle(x1, y1, x2, y2, (uint16_t)border, radius, corners);
+ }
+}
+
#endif