]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/CORTEX_A5_SAMA5D2x_Xplained_IAR/AtmelFiles/utils/lcd_draw.h
Add SAMA5D2 Xplained IAR demo.
[freertos] / FreeRTOS / Demo / CORTEX_A5_SAMA5D2x_Xplained_IAR / AtmelFiles / utils / lcd_draw.h
diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D2x_Xplained_IAR/AtmelFiles/utils/lcd_draw.h b/FreeRTOS/Demo/CORTEX_A5_SAMA5D2x_Xplained_IAR/AtmelFiles/utils/lcd_draw.h
new file mode 100644 (file)
index 0000000..c70605c
--- /dev/null
@@ -0,0 +1,125 @@
+/* ----------------------------------------------------------------------------\r
+ *         SAM Software Package License\r
+ * ----------------------------------------------------------------------------\r
+ * Copyright (c) 2011, Atmel Corporation\r
+ *\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions are met:\r
+ *\r
+ * - Redistributions of source code must retain the above copyright notice,\r
+ * this list of conditions and the disclaimer below.\r
+ *\r
+ * Atmel's name may not be used to endorse or promote products derived from\r
+ * this software without specific prior written permission.\r
+ *\r
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR\r
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,\r
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ * ----------------------------------------------------------------------------\r
+ */\r
+\r
+/** \file */\r
+\r
+/** \addtogroup lcdd_draw Drawing On LCD\r
+ *\r
+ * Interface for drawing function on LCD.\r
+ *\r
+ * \note Before drawing, <b>canvas</b> should be selected via\r
+ *       lcdd_select_canvas(), or created by lcdd_create_canvas().\r
+ *\r
+ * Following functions can use:\r
+ * - Simple drawing:\r
+ *   - lcdd_fill()\r
+ *   - lcdd_draw_pixel()\r
+ *   - lcdd_read_pixel()\r
+ *   - lcdd_draw_line()\r
+ *   - lcdd_draw_rectangle(), lcdd_draw_filled_rectangle()\r
+ *   - lcdd_draw_circle(), lcdd_draw_filled_circle()\r
+ *   - lcdd_draw_image()\r
+ * - String related:\r
+ *   - lcdd_draw_string()\r
+ *   - lcdd_get_string_size()\r
+ *\r
+ * \sa \ref lcdd_module, \ref lcdd_font\r
+ */\r
+\r
+#ifndef DRAW_H\r
+#define DRAW_H\r
+/** \addtogroup lcdd_draw\r
+ *@{\r
+ */\r
+\r
+/*----------------------------------------------------------------------------\r
+ *        Headers\r
+ *----------------------------------------------------------------------------*/\r
+\r
+#include <stdint.h>\r
+\r
+/*----------------------------------------------------------------------------\r
+ *        Definitions\r
+ *----------------------------------------------------------------------------*/\r
+\r
+/*----------------------------------------------------------------------------\r
+ *        Exported functions\r
+ *----------------------------------------------------------------------------*/\r
+\r
+        /** \addtogroup lcdd_draw_func LCD Drawing Functions */\r
+/** @{*/\r
+extern void lcdd_fill_white(void);\r
+\r
+extern void lcdd_fill(uint32_t color);\r
+\r
+extern void lcdd_draw_pixel(uint32_t x, uint32_t y, uint32_t c);\r
+\r
+extern uint32_t lcdd_read_pixel(uint32_t x, uint32_t y);\r
+\r
+extern void lcdd_draw_line(uint32_t x1, uint32_t y1, uint32_t x2, uint32_t y2,\r
+                         uint32_t color);\r
+\r
+extern void lcdd_draw_rectangle(uint32_t dwX, uint32_t dwY, uint32_t dwWidth,\r
+                                                               uint32_t dwHeight, uint32_t dwColor);\r
+\r
+extern void lcdd_draw_filled_rectangle(uint32_t dwX1, uint32_t dwY1,\r
+                                                                               uint32_t dwX2, uint32_t dwY2, uint32_t dwColor);\r
+\r
+extern void lcdd_draw_circle(uint32_t x, uint32_t y, uint32_t r, uint32_t color);\r
+extern void lcdd_draw_filled_circle(uint32_t dwX, uint32_t dwY, uint32_t dwR,\r
+                                                                       uint32_t dwColor);\r
+\r
+extern void lcdd_draw_string(uint32_t x, uint32_t y, const char *pString,\r
+                           uint32_t color);\r
+\r
+extern void lcdd_draw_string_with_bgcolor(uint32_t x, uint32_t y,\r
+                                      const char *pString, uint32_t fontColor,\r
+                                      uint32_t bgColor);\r
+\r
+extern void lcdd_get_string_size(const char *pString, uint32_t * pWidth,\r
+                              uint32_t * pHeight);\r
+\r
+extern void lcdd_draw_image(uint32_t x, uint32_t y, const uint8_t * pImage,\r
+                          uint32_t width, uint32_t height);\r
+\r
+extern void lcdd_clear_window(uint32_t dwX, uint32_t dwY, uint32_t dwWidth,\r
+                                                               uint32_t dwHeight, uint32_t dwColor);\r
+\r
+\r
+extern void lcdd_draw_rounded_rect (uint32_t x, uint32_t y, uint32_t w, uint32_t h, uint32_t r, uint32_t color);\r
+\r
+extern void lcdd_fill_rounded_rect(uint32_t x, uint32_t y, uint32_t w, uint32_t h, uint32_t r, uint32_t color);\r
+\r
+\r
+extern void lcdd_draw_fast_vline (uint32_t x, uint32_t y, uint32_t h, uint32_t color);\r
+extern void lcdd_draw_fast_hline (uint32_t x, uint32_t y, uint32_t w, uint32_t color);\r
+\r
+/** @}*/\r
+/**@}*/\r
+#endif /* #ifndef DRAW_H */\r