aboutsummaryrefslogtreecommitdiffstats
path: root/include/console.h
diff options
context:
space:
mode:
authorAndrew Hannam <andrewh@inmarket.com.au>2012-09-10 15:54:22 +1000
committerAndrew Hannam <andrewh@inmarket.com.au>2012-09-10 15:54:22 +1000
commit3a8d39980b9124fe899605cb5350f42d093b1a10 (patch)
tree3da8ae2f3f9cc4ee3946537c2dbcec3cd42eb01e /include/console.h
parent967f37dffeef55fbf66d8d166b287b68a143d975 (diff)
downloaduGFX-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/console.h')
-rw-r--r--include/console.h140
1 files changed, 53 insertions, 87 deletions
diff --git a/include/console.h b/include/console.h
index edd8498e..7a2f25e9 100644
--- a/include/console.h
+++ b/include/console.h
@@ -1,87 +1,53 @@
-/*
- ChibiOS/RT - Copyright (C) 2012
- Joel Bodenmann aka Tectu <joel@unormal.org>
-
- This file is part of ChibiOS-LCD-Driver.
-
- ChibiOS-LCD-Driver is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS-LCD-Driver is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONSOLE_H
-#define CONSOLE_H
-
-#include "ch.h"
-#include "hal.h"
-
-#include "gdisp.h"
-
-/**
- * @brief Structure representing a GLCD driver.
- */
-typedef struct GLCDConsole GLCDConsole;
-
-/**
- * @brief @p GLCDConsole specific methods.
- */
-#define _glcd_driver_methods \
- _base_asynchronous_channel_methods
-
-/**
- * @extends BaseAsynchronousChannelVMT
- *
- * @brief @p GLCDConsole virtual methods table.
- */
-struct GLCDConsoleVMT {
- _glcd_driver_methods
-};
-
-/**
- * @extends BaseAsynchronousChannel
- *
- * @brief GLCD Console class.
- * @details This class extends @p BaseAsynchronousChannel by adding physical
- * I/O queues.
- */
-struct GLCDConsole {
- /** @brief Virtual Methods Table.*/
- const struct GLCDConsoleVMT *vmt;
- _base_asynchronous_channel_data
- /* WARNING: Do not add any data to this struct above this comment, only below */
- /* font */
- font_t font;
- /* lcd area to use */
- coord_t x0,y0;
- /* current cursor position, in pixels */
- coord_t cx,cy;
- /* console size in pixels */
- coord_t sx,sy;
- /* foreground and background colour */
- pixel_t bkcolor, color;
- /* font size in pixels */
- uint8_t fy;
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-msg_t lcdConsoleInit(GLCDConsole *console, coord_t x0, coord_t y0, coord_t width, coord_t height, font_t font, pixel_t bkcolor, pixel_t color);
-msg_t lcdConsolePut(GLCDConsole *console, char c);
-msg_t lcdConsoleWrite(GLCDConsole *console, char *bp, size_t n);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* CONSOLE_H */
+/*
+ ChibiOS/RT - Copyright (C) 2012
+ Joel Bodenmann aka Tectu <joel@unormal.org>
+
+ This file is part of ChibiOS-LCD-Driver.
+
+ ChibiOS-LCD-Driver is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ ChibiOS-LCD-Driver is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef CONSOLE_H
+#define CONSOLE_H
+
+#ifdef HAL_USE_GDISP
+
+#ifndef GDISP_NEED_CONSOLE
+ #define GDISP_NEED_CONSOLE FALSE
+#endif
+
+#if GDISP_NEED_CONSOLE
+
+#include "gdisp.h"
+
+/**
+ * @brief Structure representing a GConsole driver.
+ */
+typedef struct GConsole GConsole;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+msg_t lcdConsoleInit(GConsole *console, coord_t x0, coord_t y0, coord_t width, coord_t height, font_t font, pixel_t bkcolor, pixel_t color);
+msg_t lcdConsolePut(GConsole *console, char c);
+msg_t lcdConsoleWrite(GConsole *console, const uint8_t *bp, size_t n);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* GDISP_NEED_CONSOLE */
+#endif /* HAL_USE_GDISP */
+#endif /* CONSOLE_H */