diff options
author | Andrew Hannam <andrewh@inmarket.com.au> | 2012-09-10 15:54:22 +1000 |
---|---|---|
committer | Andrew Hannam <andrewh@inmarket.com.au> | 2012-09-10 15:54:22 +1000 |
commit | 3a8d39980b9124fe899605cb5350f42d093b1a10 (patch) | |
tree | 3da8ae2f3f9cc4ee3946537c2dbcec3cd42eb01e /include/gdisp_lld.h | |
parent | 967f37dffeef55fbf66d8d166b287b68a143d975 (diff) | |
download | uGFX-3a8d39980b9124fe899605cb5350f42d093b1a10.tar.gz uGFX-3a8d39980b9124fe899605cb5350f42d093b1a10.tar.bz2 uGFX-3a8d39980b9124fe899605cb5350f42d093b1a10.zip |
Changes to Console, VMT, BitBlt, Clip & Drivers
Console - Fix compile, add GDISP_NEED_CONSOLE for compilation
VMT - Fix after directory structure changes
BitBlt - Update API to allow a source bitmap position.
Clip - Add clipping support into gdisp
Arc - Allow hardware accelleration of Arc routines
Nokia6610 - Fixes to BitBlt.
Diffstat (limited to 'include/gdisp_lld.h')
-rw-r--r-- | include/gdisp_lld.h | 53 |
1 files changed, 52 insertions, 1 deletions
diff --git a/include/gdisp_lld.h b/include/gdisp_lld.h index 91485455..3e265b47 100644 --- a/include/gdisp_lld.h +++ b/include/gdisp_lld.h @@ -70,6 +70,14 @@ #endif
/**
+ * @brief Are arc functions needed.
+ * @details Defaults to FALSE
+ */
+ #ifndef GDISP_NEED_ARC
+ #define GDISP_NEED_ARC FALSE
+ #endif
+
+ /**
* @brief Are text functions needed.
* @details Defaults to TRUE
*/
@@ -94,6 +102,14 @@ #endif
/**
+ * @brief Are clipping functions needed.
+ * @details Defaults to TRUE
+ */
+ #ifndef GDISP_NEED_CLIP
+ #define GDISP_NEED_CLIP FALSE
+ #endif
+
+ /**
* @brief Control some aspect of the drivers operation.
* @details Defaults to FALSE
*/
@@ -254,6 +270,22 @@ #endif
/**
+ * @brief Hardware accelerated arc's.
+ * @details If set to @p FALSE software emulation is used.
+ */
+ #ifndef GDISP_HARDWARE_ARCS
+ #define GDISP_HARDWARE_ARCS FALSE
+ #endif
+
+ /**
+ * @brief Hardware accelerated filled arcs.
+ * @details If set to @p FALSE software emulation is used.
+ */
+ #ifndef GDISP_HARDWARE_ARCFILLS
+ #define GDISP_HARDWARE_ARCFILLS FALSE
+ #endif
+
+ /**
* @brief Hardware accelerated text drawing.
* @details If set to @p FALSE software emulation is used.
*/
@@ -300,6 +332,14 @@ #ifndef GDISP_HARDWARE_QUERY
#define GDISP_HARDWARE_QUERY FALSE
#endif
+
+ /**
+ * @brief The driver supports a clipping in hardware.
+ * @details If set to @p FALSE there is no support for non-standard queries.
+ */
+ #ifndef GDISP_HARDWARE_CLIP
+ #define GDISP_HARDWARE_CLIP FALSE
+ #endif
/** @} */
/**
@@ -543,7 +583,7 @@ extern "C" { extern void GDISP_LLD_VMT(clear)(color_t color);
extern void GDISP_LLD_VMT(drawpixel)(coord_t x, coord_t y, color_t color);
extern void GDISP_LLD_VMT(fillarea)(coord_t x, coord_t y, coord_t cx, coord_t cy, color_t color);
- extern void GDISP_LLD_VMT(blitarea)(coord_t x, coord_t y, coord_t cx, coord_t cy, const pixel_t *buffer);
+ extern void GDISP_LLD_VMT(blitareaex)(coord_t x, coord_t y, coord_t cx, coord_t cy, coord_t srcx, coord_t srcy, coord_t srccx, const pixel_t *buffer);
extern void GDISP_LLD_VMT(drawline)(coord_t x0, coord_t y0, coord_t x1, coord_t y1, color_t color);
/* Circular Drawing Functions */
@@ -557,6 +597,12 @@ extern "C" { extern void GDISP_LLD_VMT(fillellipse)(coord_t x, coord_t y, coord_t a, coord_t b, color_t color);
#endif
+ /* Arc Drawing Functions */
+ #if GDISP_NEED_ARC
+ extern void GDISP_LLD_VMT(drawarc)(coord_t x, coord_t y, coord_t radius, coord_t startangle, coord_t endangle, color_t color);
+ extern void GDISP_LLD_VMT(fillarc)(coord_t x, coord_t y, coord_t radius, coord_t startangle, coord_t endangle, color_t color);
+ #endif
+
/* Text Rendering Functions */
#if GDISP_NEED_TEXT
extern void GDISP_LLD_VMT(drawchar)(coord_t x, coord_t y, char c, font_t font, color_t color);
@@ -583,6 +629,11 @@ extern "C" { extern void *GDISP_LLD_VMT(query)(unsigned what);
#endif
+ /* Clipping Functions */
+ #if GDISP_NEED_CLIP
+ extern void GDISP_LLD_VMT(setclip)(coord_t x, coord_t y, coord_t cx, coord_t cy);
+ #endif
+
/* Messaging API */
#if GDISP_NEED_MSGAPI
#include "gdisp_lld_msgs.h"
|