aboutsummaryrefslogtreecommitdiffstats
path: root/halext/include/gdisp.h
diff options
context:
space:
mode:
Diffstat (limited to 'halext/include/gdisp.h')
-rw-r--r--halext/include/gdisp.h266
1 files changed, 0 insertions, 266 deletions
diff --git a/halext/include/gdisp.h b/halext/include/gdisp.h
deleted file mode 100644
index b5a59cf9..00000000
--- a/halext/include/gdisp.h
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- 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/>.
-*/
-/**
- * @file gdisp.h
- * @brief GDISP Graphic Driver subsystem header file.
- *
- * @addtogroup GDISP
- * @{
- */
-#ifndef _GDISP_H
-#define _GDISP_H
-
-#if HAL_USE_GDISP || defined(__DOXYGEN__)
-
-/*===========================================================================*/
-/* Driver constants. */
-/*===========================================================================*/
-
-/**
- * @brief Some basic colors
- */
-#define White HTML2COLOR(0xFFFFFF)
-#define Black HTML2COLOR(0x000000)
-#define Gray HTML2COLOR(0x808080)
-#define Grey Gray
-#define Blue HTML2COLOR(0x0000FF)
-#define Red HTML2COLOR(0xFF0000)
-#define Fuchsia HTML2COLOR(0xFF00FF)
-#define Magenta Fuchsia
-#define Green HTML2COLOR(0x008000)
-#define Yellow HTML2COLOR(0xFFFF00)
-#define Aqua HTML2COLOR(0x00FFFF)
-#define Cyan Aqua
-#define Lime HTML2COLOR(0x00FF00)
-#define Maroon HTML2COLOR(0x800000)
-#define Navy HTML2COLOR(0x000080)
-#define Olive HTML2COLOR(0x808000)
-#define Purple HTML2COLOR(0x800080)
-#define Silver HTML2COLOR(0xC0C0C0)
-#define Teal HTML2COLOR(0x008080)
-#define Orange HTML2COLOR(0xFFA500)
-#define Pink HTML2COLOR(0xFFC0CB)
-#define SkyBlue HTML2COLOR(0x87CEEB)
-
-/*===========================================================================*/
-/* Driver pre-compile time settings. */
-/*===========================================================================*/
-
-/**
- * @name GDISP more complex functionality to be compiled
- * @{
- */
- /**
- * @brief Do the drawing functions need to be thread-safe.
- * @details Defaults to FALSE
- * @note Both GDISP_NEED_MULTITHREAD and GDISP_NEED_ASYNC make
- * the gdisp API thread-safe.
- * @note This is more efficient than GDISP_NEED_ASYNC as it only
- * requires a context switch if something else is already
- * drawing.
- */
- #ifndef GDISP_NEED_MULTITHREAD
- #define GDISP_NEED_MULTITHREAD FALSE
- #endif
-
- /**
- * @brief Use asynchronous calls (multi-thread safe).
- * @details Defaults to FALSE
- * @note Both GDISP_NEED_MULTITHREAD and GDISP_NEED_ASYNC make
- * the gdisp API thread-safe.
- * @note Turning this on adds two context switches per transaction
- * so it can significantly slow graphics drawing.
- */
- #ifndef GDISP_NEED_ASYNC
- #define GDISP_NEED_ASYNC FALSE
- #endif
-/** @} */
-
-#if GDISP_NEED_MULTITHREAD && GDISP_NEED_ASYNC
- #error "GDISP: Only one of GDISP_NEED_MULTITHREAD and GDISP_NEED_ASYNC should be defined."
-#endif
-
-#if GDISP_NEED_ASYNC
- /* Messaging API is required for Async Multi-Thread */
- #undef GDISP_NEED_MSGAPI
- #define GDISP_NEED_MSGAPI TRUE
-#endif
-
-/*===========================================================================*/
-/* Low Level Driver details and error checks. */
-/*===========================================================================*/
-
-/* Include the low level driver information */
-#include "gdisp_lld.h"
-
-/*===========================================================================*/
-/* Type definitions */
-/*===========================================================================*/
-
-/**
- * @brief Type for the text justification.
- */
-typedef enum justify {justifyLeft, justifyCenter, justifyRight} justify_t;
-/**
- * @brief Type for the font metric.
- */
-typedef enum fontmetric {fontHeight, fontDescendersHeight, fontLineSpacing, fontCharPadding, fontMinWidth, fontMaxWidth} fontmetric_t;
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-#if GDISP_NEED_TEXT || defined(__DOXYGEN__)
-/**
- * @brief Predefined fonts.
- */
-extern const struct font fontSmall;
-extern const struct font fontSmallDouble;
-extern const struct font fontSmallNarrow;
-extern const struct font fontLarger;
-extern const struct font fontLargerDouble;
-extern const struct font fontLargerNarrow;
-extern const struct font fontUI1;
-extern const struct font fontUI1Double;
-extern const struct font fontUI1Narrow;
-extern const struct font fontUI2;
-extern const struct font fontUI2Double;
-extern const struct font fontUI2Narrow;
-extern const struct font fontLargeNumbers;
-extern const struct font fontLargeNumbersDouble;
-extern const struct font fontLargeNumbersNarrow;
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if GDISP_NEED_MULTITHREAD || GDISP_NEED_ASYNC
-
- /* Base Functions */
- bool_t gdispInit(void);
- bool_t gdispIsBusy(void);
-
- /* Drawing Functions */
- void gdispClear(color_t color);
- void gdispDrawPixel(coord_t x, coord_t y, color_t color);
- void gdispDrawLine(coord_t x0, coord_t y0, coord_t x1, coord_t y1, color_t color);
- void gdispFillArea(coord_t x, coord_t y, coord_t cx, coord_t cy, color_t color);
- void gdispBlitArea(coord_t x, coord_t y, coord_t cx, coord_t cy, const pixel_t *buffer);
-
- /* Circle Functions */
- #if GDISP_NEED_CIRCLE
- void gdispDrawCircle(coord_t x, coord_t y, coord_t radius, color_t color);
- void gdispFillCircle(coord_t x, coord_t y, coord_t radius, color_t color);
- #endif
-
- /* Ellipse Functions */
- #if GDISP_NEED_ELLIPSE
- void gdispDrawEllipse(coord_t x, coord_t y, coord_t a, coord_t b, color_t color);
- void gdispFillEllipse(coord_t x, coord_t y, coord_t a, coord_t b, color_t color);
- #endif
-
- /* Basic Text Rendering Functions */
- #if GDISP_NEED_TEXT
- void gdispDrawChar(coord_t x, coord_t y, char c, font_t font, color_t color);
- void gdispFillChar(coord_t x, coord_t y, char c, font_t font, color_t color, color_t bgcolor);
- #endif
-
- /* Read a pixel Function */
- #if GDISP_NEED_PIXELREAD
- color_t gdispGetPixelColor(coord_t x, coord_t y);
- #endif
-
- /* Scrolling Function - clears the area scrolled out */
- #if GDISP_NEED_SCROLL
- void gdispVerticalScroll(coord_t x, coord_t y, coord_t cx, coord_t cy, int lines, color_t bgcolor);
- #endif
-
- /* Set driver specific control */
- #if GDISP_NEED_CONTROL
- void gdispControl(unsigned what, void *value);
- #endif
-
- /* Query driver specific data */
- #if GDISP_NEED_CONTROL
- void *gdispQuery(unsigned what);
- #endif
-
-#else
-
- /* The same as above but use the low level driver directly if no multi-thread support is needed */
- #define gdispInit(gdisp) GDISP_LLD(init)()
- #define gdispIsBusy() FALSE
- #define gdispClear(color) GDISP_LLD(clear)(color)
- #define gdispDrawPixel(x, y, color) GDISP_LLD(drawpixel)(x, y, color)
- #define gdispDrawLine(x0, y0, x1, y1, color) GDISP_LLD(drawline)(x0, y0, x1, y1, color)
- #define gdispFillArea(x, y, cx, cy, color) GDISP_LLD(fillarea)(x, y, cx, cy, color)
- #define gdispBlitArea(x, y, cx, cy, buffer) GDISP_LLD(blitarea)(x, y, cx, cy, buffer)
- #define gdispDrawCircle(x, y, radius, color) GDISP_LLD(drawcircle)(x, y, radius, color)
- #define gdispFillCircle(x, y, radius, color) GDISP_LLD(fillcircle)(x, y, radius, color)
- #define gdispDrawEllipse(x, y, a, b, color) GDISP_LLD(drawellipse)(x, y, a, b, color)
- #define gdispFillEllipse(x, y, a, b, color) GDISP_LLD(fillellipse)(x, y, a, b, color)
- #define gdispDrawChar(x, y, c, font, color) GDISP_LLD(drawchar)(x, y, c, font, color)
- #define gdispFillChar(x, y, c, font, color, bgcolor) GDISP_LLD(fillchar)(x, y, c, font, color, bgcolor)
- #define gdispGetPixelColor(x, y) GDISP_LLD(getpixelcolor)(x, y)
- #define gdispVerticalScroll(x, y, cx, cy, lines, bgcolor) GDISP_LLD(verticalscroll)(x, y, cx, cy, lines, bgcolor)
- #define gdispControl(what, value) GDISP_LLD(control)(what, value)
- #define gdispQuery(what) GDISP_LLD(query)(what)
-
-#endif
-
-void gdispDrawBox(coord_t x, coord_t y, coord_t cx, coord_t cy, color_t color);
-
-/* Extra Text Functions */
-#if GDISP_NEED_TEXT
- void gdispDrawString(coord_t x, coord_t y, const char *str, font_t font, color_t color);
- void gdispFillString(coord_t x, coord_t y, const char *str, font_t font, color_t color, color_t bgcolor);
- void gdispFillStringBox(coord_t x, coord_t y, coord_t cx, coord_t cy, const char* str, font_t font, color_t color, color_t bgColor, justify_t justify);
- coord_t gdispGetFontMetric(font_t font, fontmetric_t metric);
- coord_t gdispGetCharWidth(char c, font_t font);
- coord_t gdispGetStringWidth(const char* str, font_t font);
-#endif
-
-/* Support routine for packed pixel formats */
-#ifndef gdispPackPixels
- void gdispPackPixels(const pixel_t *buf, coord_t cx, coord_t x, coord_t y, color_t color);
-#endif
-
-/* Macro definitions for common gets and sets */
-#define gdispSetPowerMode(powerMode) gdispControl(GDISP_CONTROL_POWER, (void *)(unsigned)(powerMode))
-#define gdispSetOrientation(newOrientation) gdispControl(GDISP_CONTROL_ORITENTATION, (void *)(unsigned)(newOrientation))
-#define gdispSetBacklight(percent) gdispControl(GDISP_CONTROL_BACKLIGHT, (void *)(unsigned)(percent))
-#define gdispSetContrast(percent) gdispControl(GDISP_CONTROL_CONTRAST, (void *)(unsigned)(percent))
-
-#define gdispGetWidth() ((coord_t)(unsigned)gdispQuery(GDISP_QUERY_WIDTH))
-#define gdispGetHeight() ((coord_t)(unsigned)gdispQuery(GDISP_QUERY_HEIGHT))
-#define gdispGetPowerMode() ((gdisp_powermode_t)(unsigned)gdispQuery(GDISP_QUERY_POWER))
-#define gdispGetOrientation() ((gdisp_orientation_t)(unsigned)gdispQuery(GDISP_QUERY_ORIENTATION))
-#define gdispGetBacklight() ((coord_t)(unsigned)gdispQuery(GDISP_QUERY_BACKLIGHT))
-#define gdispGetContrast() ((coord_t)(unsigned)gdispQuery(GDISP_QUERY_CONTRAST))
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* HAL_USE_GDISP */
-
-#endif /* _GDISP_H */
-/** @} */