diff options
author | Andrew Hannam <andrewh@inmarket.com.au> | 2012-09-10 15:54:22 +1000 |
---|---|---|
committer | Andrew Hannam <andrewh@inmarket.com.au> | 2012-09-10 15:54:22 +1000 |
commit | 3a8d39980b9124fe899605cb5350f42d093b1a10 (patch) | |
tree | 3da8ae2f3f9cc4ee3946537c2dbcec3cd42eb01e /include/console.h | |
parent | 967f37dffeef55fbf66d8d166b287b68a143d975 (diff) | |
download | uGFX-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.h | 140 |
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 */
|