diff options
author | Andrew Hannam <andrewh@inmarket.com.au> | 2012-08-01 01:54:05 +1000 |
---|---|---|
committer | Andrew Hannam <andrewh@inmarket.com.au> | 2012-08-01 01:54:05 +1000 |
commit | 9ac85166b20d791c2c081dd78f9a39ee050c1897 (patch) | |
tree | 4ac4cf1568aef161e15c8dc48be4339c80d8980f /halext/drivers/gdispSsd1289/gdisp_lld_config.h | |
parent | d7fc0795d56a72392cd295400d2126c12d3acdbd (diff) | |
download | uGFX-9ac85166b20d791c2c081dd78f9a39ee050c1897.tar.gz uGFX-9ac85166b20d791c2c081dd78f9a39ee050c1897.tar.bz2 uGFX-9ac85166b20d791c2c081dd78f9a39ee050c1897.zip |
Added ssd1289 low level driver to GDISP
Untested as I don't have the hardware.
Back-ported from GLCD.
Diffstat (limited to 'halext/drivers/gdispSsd1289/gdisp_lld_config.h')
-rw-r--r-- | halext/drivers/gdispSsd1289/gdisp_lld_config.h | 224 |
1 files changed, 224 insertions, 0 deletions
diff --git a/halext/drivers/gdispSsd1289/gdisp_lld_config.h b/halext/drivers/gdispSsd1289/gdisp_lld_config.h new file mode 100644 index 00000000..07979581 --- /dev/null +++ b/halext/drivers/gdispSsd1289/gdisp_lld_config.h @@ -0,0 +1,224 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010, + 2011,2012 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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/RT 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/>. + + --- + + A special exception to the GPL can be applied should you wish to distribute + a combined work that includes ChibiOS/RT, without being obliged to provide + the source code for any proprietary components. See the file exception.txt + for full details of how and when the exception can be applied. +*/ +/* + Concepts and parts of this file have been contributed by: + Joel Bodenmann aka Tectu -> Maintainer + Andrew Hannam aka inmarket -> framework + Badger -> console implementation and FSMC + Abhishek -> font rendering + Ben William -> fastMath and lcdDrawEllipse() + Dongxu Li aka dxli -> lcdDrawEllipse() filled option +*/ + +/** + * @file gdispSsd1289/gdisp_lld_config.h + * @brief GDISP Graphic Driver subsystem low level driver header for the Ssd1289 display. + * + * @addtogroup GDISP + * @{ + */ + +#ifndef _GDISP_LLD_CONFIG_H +#define _GDISP_LLD_CONFIG_H + +#if HAL_USE_GDISP || defined(__DOXYGEN__) + +/*===========================================================================*/ +/* Driver pre-compile time settings. */ +/*===========================================================================*/ + +/** + * @name GDISP hardware accelerated support + * @{ + */ + /** + * @brief Hardware supports changing the orientation. + * @details If set to @p FALSE a software stubb is provided. + */ + #define GDISP_HARDWARE_ORIENTATION TRUE + + /** + * @brief Hardware supports power control. + * @details If set to @p FALSE a software stubb is provided. + */ + #define GDISP_HARDWARE_POWERCONTROL TRUE + + /** + * @brief Hardware accelerated line drawing. + * @details If set to @p FALSE software emulation is used. + */ + #define GDISP_HARDWARE_LINES FALSE + + /** + * @brief Hardware accelerated box drawing. + * @details If set to @p FALSE software emulation is used. + */ + #define GDISP_HARDWARE_BOX FALSE + + /** + * @brief Hardware accelerated screen clears. + * @details If set to @p FALSE software emulation is used. + */ + #define GDISP_HARDWARE_CLEARS TRUE + + /** + * @brief Hardware accelerated rectangular fills. + * @details If set to @p FALSE software emulation is used. + */ + #define GDISP_HARDWARE_FILLS TRUE + + /** + * @brief Hardware accelerated fills from an image. + * @details If set to @p FALSE software emulation is used. + */ + #define GDISP_HARDWARE_BITFILLS TRUE + + /** + * @brief Hardware accelerated circles. + * @details If set to @p FALSE software emulation is used. + */ + #define GDISP_HARDWARE_CIRCLES FALSE + + /** + * @brief Hardware accelerated filled circles. + * @details If set to @p FALSE software emulation is used. + */ + #define GDISP_HARDWARE_CIRCLEFILLS FALSE + + /** + * @brief Hardware accelerated ellipses. + * @details If set to @p FALSE software emulation is used. + */ + #define GDISP_HARDWARE_ELLIPSES FALSE + + /** + * @brief Hardware accelerated filled ellipses. + * @details If set to @p FALSE software emulation is used. + */ + #define GDISP_HARDWARE_ELLIPSEFILLS FALSE + + /** + * @brief Hardware accelerated text drawing. + * @details If set to @p FALSE software emulation is used. + */ + #define GDISP_HARDWARE_TEXT FALSE + + /** + * @brief Hardware accelerated text drawing with a filled background. + * @details If set to @p FALSE software emulation is used. + */ + #define GDISP_HARDWARE_TEXTFILLS FALSE + + /** + * @brief Hardware accelerated scrolling. + * @details If set to @p FALSE there is no support for scrolling. + */ + #define GDISP_HARDWARE_SCROLL TRUE + + /** + * @brief Reading back of pixel values. + * @details If set to @p FALSE there is no support for pixel read-back. + */ + #define GDISP_HARDWARE_PIXELREAD TRUE +/** @} */ + +/** + * @name GDISP software algorithm choices + * @{ + */ + /** + * @brief For filled text drawing, use a background fill and then draw + * the text instead of using a blit or direct pixel drawing. + * @details If set to @p TRUE background fill and then text draw is used. + * @note This is ignored if hardware accelerated text is supported. + */ + #define GDISP_SOFTWARE_TEXTFILLDRAW FALSE + /** + * @brief For filled text drawing, when using a bitmap blit + * use a column by column buffer rather than a full character + * buffer to save memory at a small performance cost. + * @details If set to @p TRUE background fill one character column at a time. + * @note This is ignored if software text using blit is not being used. + */ + #define GDISP_SOFTWARE_TEXTBLITCOLUMN FALSE +/** @} */ + +/** + * @name GDISP pixel format choices + * @{ + */ + /** + * @brief The native pixel format for this device + * @note One of the following should be defined: + * GDISP_PIXELFORMAT_RGB565 + * GDISP_PIXELFORMAT_RGB888 + * GDISP_PIXELFORMAT_RGB444 + * GDISP_PIXELFORMAT_RGB332 + * GDISP_PIXELFORMAT_RGB666 + * GDISP_PIXELFORMAT_CUSTOM + * @note If you define GDISP_PIXELFORMAT_CUSTOM you need to also define + * color_t, RGB2COLOR(r,g,b), HTML2COLOR(h), + * RED_OF(c), GREEN_OF(c), BLUE_OF(c), + * COLOR(c) and MASKCOLOR. + */ + #define GDISP_PIXELFORMAT_RGB565 + + /** + * @brief Do pixels require packing for a blit + * @note Is only valid for a pixel format that doesn't fill it's datatype. ie formats: + * GDISP_PIXELFORMAT_RGB888 + * GDISP_PIXELFORMAT_RGB444 + * GDISP_PIXELFORMAT_RGB666 + * GDISP_PIXELFORMAT_CUSTOM + * @note If you use GDISP_PIXELFORMAT_CUSTOM and packed bit fills + * you need to also define @P gdispPackPixels(buf,cx,x,y,c) + * @note If you are using GDISP_HARDWARE_BITFILLS = FALSE then the pixel + * format must not be a packed format as the software blit does + * not support packed pixels + * @note Very few cases should actually require packed pixels as the low + * level driver can also pack on the fly as it is sending it + * to the graphics device. + */ + #define GDISP_PACKED_PIXELS FALSE + + /** + * @brief Do lines of pixels require packing for a blit + * @note Ignored if GDISP_PACKED_PIXELS is FALSE + */ + #define GDISP_PACKED_LINES FALSE + + /** + * @brief Do lines of pixels require packing for a blit + * @note Ignored if GDISP_PACKED_PIXELS is FALSE + */ + #define GDISP_PACKED_LINES FALSE +/** @} */ + +#endif /* HAL_USE_GDISP */ + +#endif /* _GDISP_LLD_CONFIG_H */ +/** @} */ |