From 3a8d39980b9124fe899605cb5350f42d093b1a10 Mon Sep 17 00:00:00 2001 From: Andrew Hannam Date: Mon, 10 Sep 2012 15:54:22 +1000 Subject: 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. --- include/gdisp_lld.h | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) (limited to 'include/gdisp_lld.h') 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 @@ -69,6 +69,14 @@ #define GDISP_NEED_ELLIPSE TRUE #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 @@ -93,6 +101,14 @@ #define GDISP_NEED_PIXELREAD FALSE #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 @@ -253,6 +269,22 @@ #define GDISP_HARDWARE_ELLIPSEFILLS FALSE #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" -- cgit v1.2.3