aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2013-10-19 16:45:01 +1000
committerinmarket <andrewh@inmarket.com.au>2013-10-19 16:45:01 +1000
commit6ac1710dc5a73c62d2cb4a36cf99525b4ce63c65 (patch)
tree76a63f08c1eb11c208c07ff44d724e52bc070fae /drivers
parentb6986f5b169631fb76c8cb191807321c3ac04f7a (diff)
downloaduGFX-6ac1710dc5a73c62d2cb4a36cf99525b4ce63c65.tar.gz
uGFX-6ac1710dc5a73c62d2cb4a36cf99525b4ce63c65.tar.bz2
uGFX-6ac1710dc5a73c62d2cb4a36cf99525b4ce63c65.zip
Converted TestStub driver to new format.
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gdisp/TestStub/gdisp_lld.c106
-rw-r--r--drivers/gdisp/TestStub/gdisp_lld.mk5
-rw-r--r--drivers/gdisp/TestStub/gdisp_lld_config.h8
3 files changed, 26 insertions, 93 deletions
diff --git a/drivers/gdisp/TestStub/gdisp_lld.c b/drivers/gdisp/TestStub/gdisp_lld.c
index e5167989..f9c421f5 100644
--- a/drivers/gdisp/TestStub/gdisp_lld.c
+++ b/drivers/gdisp/TestStub/gdisp_lld.c
@@ -8,17 +8,15 @@
/**
* @file drivers/gdisp/TestStub/gdisp_lld.c
* @brief GDISP Graphics Driver subsystem low level driver source (stub).
- *
- * @addtogroup GDISP
- * @{
*/
#include "gfx.h"
#if GFX_USE_GDISP /*|| defined(__DOXYGEN__)*/
-/* Include the emulation code for things we don't support */
-#include "gdisp/lld/emulation.c"
+#define GDISP_DRIVER_VMT GDISPVMT_TestStub
+#include "../drivers/gdisp/TestStub/gdisp_lld_config.h"
+#include "gdisp/lld/gdisp_lld.h"
#ifndef GDISP_SCREEN_HEIGHT
#define GDISP_SCREEN_HEIGHT 128
@@ -26,93 +24,35 @@
#ifndef GDISP_SCREEN_WIDTH
#define GDISP_SCREEN_WIDTH 128
#endif
+#ifndef GDISP_INITIAL_CONTRAST
+ #define GDISP_INITIAL_CONTRAST 50
+#endif
+#ifndef GDISP_INITIAL_BACKLIGHT
+ #define GDISP_INITIAL_BACKLIGHT 100
+#endif
-/* ---- Required Routines ---- */
-/*
- The following 2 routines are required.
- All other routines are optional.
-*/
-
-/**
- * @brief Low level GDISP driver initialization.
- *
- * @notapi
- */
-bool_t gdisp_lld_init(void) {
+LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
/* Initialise the GDISP structure */
- GDISP.Width = GDISP_SCREEN_WIDTH;
- GDISP.Height = GDISP_SCREEN_HEIGHT;
- GDISP.Orientation = GDISP_ROTATE_0;
- GDISP.Powermode = powerOff;
- GDISP.Backlight = 100;
- GDISP.Contrast = 50;
- #if GDISP_NEED_VALIDATION || GDISP_NEED_CLIP
- GDISP.clipx0 = 0;
- GDISP.clipy0 = 0;
- GDISP.clipx1 = GDISP.Width;
- GDISP.clipy1 = GDISP.Height;
- #endif
+ g->g.Width = GDISP_SCREEN_WIDTH;
+ g->g.Height = GDISP_SCREEN_HEIGHT;
+ g->g.Orientation = GDISP_ROTATE_0;
+ g->g.Powermode = powerOn;
+ g->g.Backlight = GDISP_INITIAL_BACKLIGHT;
+ g->g.Contrast = GDISP_INITIAL_CONTRAST;
return TRUE;
}
-/**
- * @brief Draws a pixel on the display.
- *
- * @param[in] x X location of the pixel
- * @param[in] y Y location of the pixel
- * @param[in] color The color of the pixel
- *
- * @notapi
- */
-void gdisp_lld_draw_pixel(coord_t x, coord_t y, color_t color) {
- (void)x;
- (void)y;
- (void)color;
-}
-
-/* ---- Optional Routines ---- */
-
-#if (GDISP_NEED_PIXELREAD && GDISP_HARDWARE_PIXELREAD) || defined(__DOXYGEN__)
- /**
- * @brief Get the color of a particular pixel.
- * @note Optional.
- * @note If x,y is off the screen, the result is undefined.
- *
- * @param[in] x, y The start of the text
- *
- * @notapi
- */
- color_t gdisp_lld_get_pixel_color(coord_t x, coord_t y) {
- (void)x;
- (void)y;
-
- return 0;
+#if GDISP_HARDWARE_DRAWPIXEL
+ void gdisp_lld_draw_pixel(GDisplay *g) {
+ (void) g;
}
#endif
-#if (GDISP_NEED_SCROLL && GDISP_HARDWARE_SCROLL) || defined(__DOXYGEN__)
- /**
- * @brief Scroll vertically a section of the screen.
- * @note Optional.
- * @note If x,y + cx,cy is off the screen, the result is undefined.
- * @note If lines is >= cy, it is equivelent to a area fill with bgcolor.
- *
- * @param[in] x, y The start of the area to be scrolled
- * @param[in] cx, cy The size of the area to be scrolled
- * @param[in] lines The number of lines to scroll (Can be positive or negative)
- * @param[in] bgcolor The color to fill the newly exposed area.
- *
- * @notapi
- */
- void gdisp_lld_vertical_scroll(coord_t x, coord_t y, coord_t cx, coord_t cy, int lines, color_t bgcolor) {
- (void)x;
- (void)y;
- (void)cx;
- (void)cy;
- (void)lines;
- (void)bgcolor;
+#if GDISP_HARDWARE_PIXELREAD
+ color_t gdisp_lld_get_pixel_color(GDisplay *g) {
+ (void) g;
+ return 0;
}
#endif
#endif /* GFX_USE_GDISP */
-/** @} */
diff --git a/drivers/gdisp/TestStub/gdisp_lld.mk b/drivers/gdisp/TestStub/gdisp_lld.mk
index 5f35be9d..9394ee9d 100644
--- a/drivers/gdisp/TestStub/gdisp_lld.mk
+++ b/drivers/gdisp/TestStub/gdisp_lld.mk
@@ -1,5 +1,2 @@
-# List the required driver.
-GFXSRC += $(GFXLIB)/drivers/gdisp/TestStub/gdisp_lld.c
-
-# Required include directories
GFXINC += $(GFXLIB)/drivers/gdisp/TestStub
+GFXSRC += $(GFXLIB)/drivers/gdisp/TestStub/gdisp_lld.c
diff --git a/drivers/gdisp/TestStub/gdisp_lld_config.h b/drivers/gdisp/TestStub/gdisp_lld_config.h
index 38c55992..adb6c8b4 100644
--- a/drivers/gdisp/TestStub/gdisp_lld_config.h
+++ b/drivers/gdisp/TestStub/gdisp_lld_config.h
@@ -22,14 +22,10 @@
/* Driver hardware support. */
/*===========================================================================*/
-#define GDISP_DRIVER_NAME "TestStub"
-
-#define GDISP_HARDWARE_SCROLL GDISP_NEED_SCROLL
-#define GDISP_HARDWARE_PIXELREAD GDISP_NEED_PIXELREAD
+#define GDISP_HARDWARE_DRAWPIXEL TRUE
+#define GDISP_HARDWARE_PIXELREAD TRUE
#define GDISP_PIXELFORMAT GDISP_PIXELFORMAT_RGB565
-#define GDISP_PACKED_PIXELS FALSE
-#define GDISP_PACKED_LINES FALSE
#endif /* GFX_USE_GDISP */