aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gdisp/QImage/gdisp_lld_driver.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gdisp/QImage/gdisp_lld_driver.c')
-rw-r--r--drivers/gdisp/QImage/gdisp_lld_driver.c64
1 files changed, 64 insertions, 0 deletions
diff --git a/drivers/gdisp/QImage/gdisp_lld_driver.c b/drivers/gdisp/QImage/gdisp_lld_driver.c
new file mode 100644
index 00000000..dbd7c279
--- /dev/null
+++ b/drivers/gdisp/QImage/gdisp_lld_driver.c
@@ -0,0 +1,64 @@
+/*b
+ * This file is subject to the terms of the GFX License. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://ugfx.org/license.html
+ */
+
+#include "../../../gfx.h"
+
+#if GFX_USE_GDISP
+
+#define GDISP_DRIVER_VMT GDISPVMT_QImage
+#include "gdisp_lld_config.h"
+#include "../../../src/gdisp/gdisp_driver.h"
+#include "gdisp_lld_qimage.h"
+
+#ifndef GDISP_SCREEN_HEIGHT
+ #define GDISP_SCREEN_HEIGHT 512
+#endif
+#ifndef GDISP_SCREEN_WIDTH
+ #define GDISP_SCREEN_WIDTH 512
+#endif
+#ifndef GDISP_INITIAL_CONTRAST
+ #define GDISP_INITIAL_CONTRAST 50
+#endif
+#ifndef GDISP_INITIAL_BACKLIGHT
+ #define GDISP_INITIAL_BACKLIGHT 100
+#endif
+
+LLDSPEC bool_t gdisp_lld_init(GDisplay *g)
+{
+ /* No board interface and no private driver area */
+ g->priv = g->board = 0;
+
+ if (!qimage_init(g, GDISP_SCREEN_WIDTH, GDISP_SCREEN_HEIGHT)) {
+ return FALSE;
+ }
+
+ /* Initialise the GDISP structure */
+ 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;
+}
+
+#if GDISP_HARDWARE_DRAWPIXEL
+ void gdisp_lld_draw_pixel(GDisplay *g)
+ {
+ qimage_setPixel(g);
+ }
+#endif
+
+#if GDISP_HARDWARE_PIXELREAD
+ color_t gdisp_lld_get_pixel_color(GDisplay *g)
+ {
+ return qimage_getPixel(g);
+ }
+#endif
+
+#endif /* GFX_USE_GDISP */