Merge branch 'master' of git://github.com/microbuilder/LPC1343CodeBase
[hackover2013-badge-firmware.git] / project / commands / drawing / cmd_rectangle.c
index 581d864..d35eafa 100644 (file)
@@ -43,8 +43,8 @@
 #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"  
 
 /**************************************************************************/
 /*! 
@@ -94,4 +94,55 @@ void cmd_rectangle(uint8_t argc, char **argv)
   }
 }
 
+/**************************************************************************/
+/*! 
+    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  
This page took 0.043602 seconds and 4 git commands to generate.