Merged Tectu/ugfx into master

This commit is contained in:
Paul Shamray 2014-07-12 11:02:11 +03:00
commit cae7b197b3
7 changed files with 31 additions and 1 deletions

View File

@ -113,6 +113,8 @@ static inline void setwritemode(GDisplay *g)
} }
static inline uint16_t read_data(GDisplay *g) { static inline uint16_t read_data(GDisplay *g) {
(void) g;
return palReadPort(GPIOE); return palReadPort(GPIOE);
} }

View File

@ -10,6 +10,7 @@ FEATURE: Added Linux-Framebuffer board definition
FEATURE: Added FatFS support for GFILE FEATURE: Added FatFS support for GFILE
FEATURE: Added gfileMount() and gfileUnmount() FEATURE: Added gfileMount() and gfileUnmount()
FEATURE: Added gfileSync() FEATURE: Added gfileSync()
FEATURE: Added gwinDrawThickLine()
*** Release 2.1 *** *** Release 2.1 ***

View File

@ -0,0 +1,2 @@
GFXINC += $(GFXLIB)/drivers/gdisp/PCF8812
GFXSRC += $(GFXLIB)/drivers/gdisp/PCF8812/gdisp_lld_PCF8812.c

View File

@ -73,7 +73,7 @@ void gfxSleepMilliseconds(delaytime_t ms);
void gfxSleepMicroseconds(delaytime_t ms); void gfxSleepMicroseconds(delaytime_t ms);
#define gfxAlloc(sz) malloc(sz) #define gfxAlloc(sz) malloc(sz)
#define gfxFree(ptr) free(sz) #define gfxFree(ptr) free(ptr)
#define gfxRealloc(ptr, oldsz, newsz) realloc(ptr, newsz) #define gfxRealloc(ptr, oldsz, newsz) realloc(ptr, newsz)
#define gfxSystemLock() cyg_scheduler_lock() #define gfxSystemLock() cyg_scheduler_lock()

View File

@ -4,4 +4,5 @@ GFXSRC += $(GFXLIB)/src/gos/chibios.c \
$(GFXLIB)/src/gos/linux.c \ $(GFXLIB)/src/gos/linux.c \
$(GFXLIB)/src/gos/osx.c \ $(GFXLIB)/src/gos/osx.c \
$(GFXLIB)/src/gos/raw32.c \ $(GFXLIB)/src/gos/raw32.c \
$(GFXLIB)/src/gos/ecos.c

View File

@ -226,6 +226,12 @@ void gwinDrawLine(GHandle gh, coord_t x0, coord_t y0, coord_t x1, coord_t y1) {
_gwinDrawEnd(gh); _gwinDrawEnd(gh);
} }
void gwinDrawThickLine(GHandle gh, coord_t x0, coord_t y0, coord_t x1, coord_t y1, coord_t width, bool_t round) {
if (!_gwinDrawStart(gh)) return;
gdispGDrawThickLine(gh->display, gh->x+x0, gh->y+y0, gh->x+x1, gh->y+y1, gh->color, width, round);
_gwinDrawEnd(gh);
}
void gwinDrawBox(GHandle gh, coord_t x, coord_t y, coord_t cx, coord_t cy) { void gwinDrawBox(GHandle gh, coord_t x, coord_t y, coord_t cx, coord_t cy) {
if (!_gwinDrawStart(gh)) return; if (!_gwinDrawStart(gh)) return;
gdispGDrawBox(gh->display, gh->x+x, gh->y+y, cx, cy, gh->color); gdispGDrawBox(gh->display, gh->x+x, gh->y+y, cx, cy, gh->color);

View File

@ -600,6 +600,24 @@ extern "C" {
*/ */
void gwinDrawLine(GHandle gh, coord_t x0, coord_t y0, coord_t x1, coord_t y1); void gwinDrawLine(GHandle gh, coord_t x0, coord_t y0, coord_t x1, coord_t y1);
/**
* @brief Draw a thick line in the window
* @details The line thickness is specified in pixels. The line ends can
* be selected to be either flat or round.
* @note Uses gdispGFillConvexPoly() internally to perform the drawing.
* @note Uses the current foreground color to draw the line
*
* @param[in] gh The window handle
* @param[in] x0,y0 The start position
* @param[in] x1,y1 The end position
* @param[in] color The color to use
* @param[in] width The width of the line
* @param[in] round Use round ends for the line
*
* @api
*/
void gwinDrawThickLine(GHandle gh, coord_t x0, coord_t y0, coord_t x1, coord_t y1, coord_t width, bool_t round);
/** /**
* @brief Draw a box in the window * @brief Draw a box in the window
* @note Uses the current foreground color to draw the box * @note Uses the current foreground color to draw the box