
RT1050 GUI demo using emWin library
emwin/emWin_header/GUI.h@0:dd702039127a, 2018-09-20 (annotated)
- Committer:
- alejandroRL
- Date:
- Thu Sep 20 19:16:34 2018 +0000
- Revision:
- 0:dd702039127a
emWin GUI Demo for RT1050
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
alejandroRL | 0:dd702039127a | 1 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 2 | * SEGGER Microcontroller GmbH & Co. KG * |
alejandroRL | 0:dd702039127a | 3 | * Solutions for real time microcontroller applications * |
alejandroRL | 0:dd702039127a | 4 | ********************************************************************** |
alejandroRL | 0:dd702039127a | 5 | * * |
alejandroRL | 0:dd702039127a | 6 | * (c) 1996 - 2016 SEGGER Microcontroller GmbH & Co. KG * |
alejandroRL | 0:dd702039127a | 7 | * * |
alejandroRL | 0:dd702039127a | 8 | * Internet: www.segger.com Support: support@segger.com * |
alejandroRL | 0:dd702039127a | 9 | * * |
alejandroRL | 0:dd702039127a | 10 | ********************************************************************** |
alejandroRL | 0:dd702039127a | 11 | |
alejandroRL | 0:dd702039127a | 12 | ** emWin V5.38 - Graphical user interface for embedded applications ** |
alejandroRL | 0:dd702039127a | 13 | All Intellectual Property rights in the Software belongs to SEGGER. |
alejandroRL | 0:dd702039127a | 14 | emWin is protected by international copyright laws. Knowledge of the |
alejandroRL | 0:dd702039127a | 15 | source code may not be used to write a similar product. This file may |
alejandroRL | 0:dd702039127a | 16 | only be used in accordance with the following terms: |
alejandroRL | 0:dd702039127a | 17 | |
alejandroRL | 0:dd702039127a | 18 | The software has been licensed to NXP Semiconductors USA, Inc. whose |
alejandroRL | 0:dd702039127a | 19 | registered office is situated at 411 E. Plumeria Drive, San Jose, |
alejandroRL | 0:dd702039127a | 20 | CA 95134, USA solely for the purposes of creating libraries for |
alejandroRL | 0:dd702039127a | 21 | NXPs M0, M3/M4 and ARM7/9 processor-based devices, sublicensed and |
alejandroRL | 0:dd702039127a | 22 | distributed under the terms and conditions of the NXP End User License |
alejandroRL | 0:dd702039127a | 23 | Agreement. |
alejandroRL | 0:dd702039127a | 24 | Full source code is available at: www.segger.com |
alejandroRL | 0:dd702039127a | 25 | |
alejandroRL | 0:dd702039127a | 26 | We appreciate your understanding and fairness. |
alejandroRL | 0:dd702039127a | 27 | ---------------------------------------------------------------------- |
alejandroRL | 0:dd702039127a | 28 | Licensing information |
alejandroRL | 0:dd702039127a | 29 | |
alejandroRL | 0:dd702039127a | 30 | Licensor: SEGGER Microcontroller Systems LLC |
alejandroRL | 0:dd702039127a | 31 | Licensed to: NXP Semiconductors, 1109 McKay Dr, M/S 76, San Jose, CA 95131, USA |
alejandroRL | 0:dd702039127a | 32 | Licensed SEGGER software: emWin |
alejandroRL | 0:dd702039127a | 33 | License number: GUI-00186 |
alejandroRL | 0:dd702039127a | 34 | License model: emWin License Agreement, dated August 20th 2011 |
alejandroRL | 0:dd702039127a | 35 | Licensed product: - |
alejandroRL | 0:dd702039127a | 36 | Licensed platform: NXP's ARM 7/9, Cortex-M0,M3,M4 |
alejandroRL | 0:dd702039127a | 37 | Licensed number of seats: - |
alejandroRL | 0:dd702039127a | 38 | ---------------------------------------------------------------------- |
alejandroRL | 0:dd702039127a | 39 | File : GUI.h |
alejandroRL | 0:dd702039127a | 40 | Purpose : GUI API include file |
alejandroRL | 0:dd702039127a | 41 | ---------------------------END-OF-HEADER------------------------------ |
alejandroRL | 0:dd702039127a | 42 | */ |
alejandroRL | 0:dd702039127a | 43 | |
alejandroRL | 0:dd702039127a | 44 | #ifndef GUI_H |
alejandroRL | 0:dd702039127a | 45 | #define GUI_H |
alejandroRL | 0:dd702039127a | 46 | |
alejandroRL | 0:dd702039127a | 47 | #include "GUI_ConfDefaults.h" |
alejandroRL | 0:dd702039127a | 48 | #include "GUI_Type.h" |
alejandroRL | 0:dd702039127a | 49 | #include "GUI_Version.h" |
alejandroRL | 0:dd702039127a | 50 | |
alejandroRL | 0:dd702039127a | 51 | #if defined(__cplusplus) |
alejandroRL | 0:dd702039127a | 52 | extern "C" { /* Make sure we have C-declarations in C++ programs */ |
alejandroRL | 0:dd702039127a | 53 | #endif |
alejandroRL | 0:dd702039127a | 54 | |
alejandroRL | 0:dd702039127a | 55 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 56 | * |
alejandroRL | 0:dd702039127a | 57 | * Disable string function warning with newer MSVC versions |
alejandroRL | 0:dd702039127a | 58 | */ |
alejandroRL | 0:dd702039127a | 59 | #if defined (_MSC_VER) |
alejandroRL | 0:dd702039127a | 60 | #if (_MSC_VER > 1200) |
alejandroRL | 0:dd702039127a | 61 | #pragma warning( disable : 4996) |
alejandroRL | 0:dd702039127a | 62 | #endif |
alejandroRL | 0:dd702039127a | 63 | #endif |
alejandroRL | 0:dd702039127a | 64 | |
alejandroRL | 0:dd702039127a | 65 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 66 | * |
alejandroRL | 0:dd702039127a | 67 | * Macros, function replacement |
alejandroRL | 0:dd702039127a | 68 | */ |
alejandroRL | 0:dd702039127a | 69 | #define GUI_COUNTOF(a) (sizeof(a) / sizeof(a[0])) |
alejandroRL | 0:dd702039127a | 70 | #define GUI_MIN(a,b) (((a) < (b)) ? (a) : (b)) |
alejandroRL | 0:dd702039127a | 71 | #define GUI_MAX(a,b) (((a) > (b)) ? (a) : (b)) |
alejandroRL | 0:dd702039127a | 72 | #define GUI_ZEROFILL(p, Size) (memset(p, 0, Size)) |
alejandroRL | 0:dd702039127a | 73 | |
alejandroRL | 0:dd702039127a | 74 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 75 | * |
alejandroRL | 0:dd702039127a | 76 | * Support for multitasking systems (locking) |
alejandroRL | 0:dd702039127a | 77 | */ |
alejandroRL | 0:dd702039127a | 78 | typedef struct GUI_CONTEXT GUI_CONTEXT; |
alejandroRL | 0:dd702039127a | 79 | |
alejandroRL | 0:dd702039127a | 80 | #if !GUI_OS |
alejandroRL | 0:dd702039127a | 81 | #define GUI_LOCK() |
alejandroRL | 0:dd702039127a | 82 | #define GUI_UNLOCK() |
alejandroRL | 0:dd702039127a | 83 | #define GUITASK_INIT() |
alejandroRL | 0:dd702039127a | 84 | #define GUITASK_COPY_CONTEXT() |
alejandroRL | 0:dd702039127a | 85 | #else |
alejandroRL | 0:dd702039127a | 86 | void GUI_Lock(void); |
alejandroRL | 0:dd702039127a | 87 | void GUI_Unlock(void); |
alejandroRL | 0:dd702039127a | 88 | void GUITASK_Init(void); |
alejandroRL | 0:dd702039127a | 89 | void GUITASK_CopyContext(void); |
alejandroRL | 0:dd702039127a | 90 | void GUITASK_SetMaxTask(int MaxTask); |
alejandroRL | 0:dd702039127a | 91 | int GUITASK_GetMaxTask(void); |
alejandroRL | 0:dd702039127a | 92 | GUI_CONTEXT * GUITASK_GetpContext(int Index); |
alejandroRL | 0:dd702039127a | 93 | #define GUI_LOCK() GUI_Lock() |
alejandroRL | 0:dd702039127a | 94 | #define GUI_UNLOCK() GUI_Unlock() |
alejandroRL | 0:dd702039127a | 95 | #define GUITASK_INIT() GUITASK_Init() |
alejandroRL | 0:dd702039127a | 96 | #define GUITASK_COPY_CONTEXT() GUITASK_CopyContext() |
alejandroRL | 0:dd702039127a | 97 | #endif |
alejandroRL | 0:dd702039127a | 98 | |
alejandroRL | 0:dd702039127a | 99 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 100 | * |
alejandroRL | 0:dd702039127a | 101 | * API table of a display driver |
alejandroRL | 0:dd702039127a | 102 | */ |
alejandroRL | 0:dd702039127a | 103 | struct GUI_DEVICE_API { |
alejandroRL | 0:dd702039127a | 104 | // |
alejandroRL | 0:dd702039127a | 105 | // Data |
alejandroRL | 0:dd702039127a | 106 | // |
alejandroRL | 0:dd702039127a | 107 | int DeviceClassIndex; |
alejandroRL | 0:dd702039127a | 108 | // |
alejandroRL | 0:dd702039127a | 109 | // Drawing functions |
alejandroRL | 0:dd702039127a | 110 | // |
alejandroRL | 0:dd702039127a | 111 | void (* pfDrawBitmap )(GUI_DEVICE * pDevice, int x0, int y0, int xsize, int ysize, int BitsPerPixel, int BytesPerLine, const U8 * pData, int Diff, const LCD_PIXELINDEX * pTrans); |
alejandroRL | 0:dd702039127a | 112 | void (* pfDrawHLine )(GUI_DEVICE * pDevice, int x0, int y0, int x1); |
alejandroRL | 0:dd702039127a | 113 | void (* pfDrawVLine )(GUI_DEVICE * pDevice, int x , int y0, int y1); |
alejandroRL | 0:dd702039127a | 114 | void (* pfFillRect )(GUI_DEVICE * pDevice, int x0, int y0, int x1, int y1); |
alejandroRL | 0:dd702039127a | 115 | LCD_PIXELINDEX (* pfGetPixelIndex)(GUI_DEVICE * pDevice, int x, int y); |
alejandroRL | 0:dd702039127a | 116 | void (* pfSetPixelIndex)(GUI_DEVICE * pDevice, int x, int y, LCD_PIXELINDEX ColorIndex); |
alejandroRL | 0:dd702039127a | 117 | void (* pfXorPixel )(GUI_DEVICE * pDevice, int x, int y); |
alejandroRL | 0:dd702039127a | 118 | // |
alejandroRL | 0:dd702039127a | 119 | // Set origin |
alejandroRL | 0:dd702039127a | 120 | // |
alejandroRL | 0:dd702039127a | 121 | void (* pfSetOrg )(GUI_DEVICE * pDevice, int x, int y); |
alejandroRL | 0:dd702039127a | 122 | // |
alejandroRL | 0:dd702039127a | 123 | // Request information |
alejandroRL | 0:dd702039127a | 124 | // |
alejandroRL | 0:dd702039127a | 125 | void (*(* pfGetDevFunc) (GUI_DEVICE ** ppDevice, int Index))(void); |
alejandroRL | 0:dd702039127a | 126 | I32 (* pfGetDevProp )(GUI_DEVICE * pDevice, int Index); |
alejandroRL | 0:dd702039127a | 127 | void *(* pfGetDevData )(GUI_DEVICE * pDevice, int Index); |
alejandroRL | 0:dd702039127a | 128 | void (* pfGetRect )(GUI_DEVICE * pDevice, LCD_RECT * pRect); |
alejandroRL | 0:dd702039127a | 129 | }; |
alejandroRL | 0:dd702039127a | 130 | |
alejandroRL | 0:dd702039127a | 131 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 132 | * |
alejandroRL | 0:dd702039127a | 133 | * Device classes |
alejandroRL | 0:dd702039127a | 134 | */ |
alejandroRL | 0:dd702039127a | 135 | typedef enum { |
alejandroRL | 0:dd702039127a | 136 | DEVICE_CLASS_DRIVER = 0, |
alejandroRL | 0:dd702039127a | 137 | DEVICE_CLASS_DRIVER_MODIFIER, // Zoom or delta-pixel modifier |
alejandroRL | 0:dd702039127a | 138 | DEVICE_CLASS_VNC, |
alejandroRL | 0:dd702039127a | 139 | DEVICE_CLASS_SPRITE, |
alejandroRL | 0:dd702039127a | 140 | DEVICE_CLASS_MEMDEV, |
alejandroRL | 0:dd702039127a | 141 | DEVICE_CLASS_ALPHA, |
alejandroRL | 0:dd702039127a | 142 | DEVICE_CLASS_AUTOALPHA, |
alejandroRL | 0:dd702039127a | 143 | DEVICE_CLASS_MEASDEV |
alejandroRL | 0:dd702039127a | 144 | } DEVICE_CLASS; |
alejandroRL | 0:dd702039127a | 145 | |
alejandroRL | 0:dd702039127a | 146 | #define GUI_DEVICE_STAYONTOP 1 |
alejandroRL | 0:dd702039127a | 147 | |
alejandroRL | 0:dd702039127a | 148 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 149 | * |
alejandroRL | 0:dd702039127a | 150 | * Display drivers |
alejandroRL | 0:dd702039127a | 151 | */ |
alejandroRL | 0:dd702039127a | 152 | // |
alejandroRL | 0:dd702039127a | 153 | // Addresses |
alejandroRL | 0:dd702039127a | 154 | // |
alejandroRL | 0:dd702039127a | 155 | extern const GUI_DEVICE_API GUIDRV_Win_API; |
alejandroRL | 0:dd702039127a | 156 | |
alejandroRL | 0:dd702039127a | 157 | extern const GUI_DEVICE_API GUIDRV_Template_API; |
alejandroRL | 0:dd702039127a | 158 | |
alejandroRL | 0:dd702039127a | 159 | // |
alejandroRL | 0:dd702039127a | 160 | // Macros to be used in configuration files |
alejandroRL | 0:dd702039127a | 161 | // |
alejandroRL | 0:dd702039127a | 162 | #define GUIDRV_WIN32 &GUIDRV_Win_API |
alejandroRL | 0:dd702039127a | 163 | |
alejandroRL | 0:dd702039127a | 164 | #if defined(WIN32) && !defined(LCD_SIMCONTROLLER) |
alejandroRL | 0:dd702039127a | 165 | |
alejandroRL | 0:dd702039127a | 166 | #define GUIDRV_TEMPLATE &GUIDRV_Win_API |
alejandroRL | 0:dd702039127a | 167 | |
alejandroRL | 0:dd702039127a | 168 | #else |
alejandroRL | 0:dd702039127a | 169 | |
alejandroRL | 0:dd702039127a | 170 | #define GUIDRV_TEMPLATE &GUIDRV_Template_API |
alejandroRL | 0:dd702039127a | 171 | |
alejandroRL | 0:dd702039127a | 172 | #endif |
alejandroRL | 0:dd702039127a | 173 | |
alejandroRL | 0:dd702039127a | 174 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 175 | * |
alejandroRL | 0:dd702039127a | 176 | * Definition of GUI_DEVICE structure |
alejandroRL | 0:dd702039127a | 177 | */ |
alejandroRL | 0:dd702039127a | 178 | struct GUI_DEVICE { |
alejandroRL | 0:dd702039127a | 179 | // |
alejandroRL | 0:dd702039127a | 180 | // Linking |
alejandroRL | 0:dd702039127a | 181 | // |
alejandroRL | 0:dd702039127a | 182 | GUI_DEVICE * pNext; |
alejandroRL | 0:dd702039127a | 183 | GUI_DEVICE * pPrev; |
alejandroRL | 0:dd702039127a | 184 | // |
alejandroRL | 0:dd702039127a | 185 | // Data |
alejandroRL | 0:dd702039127a | 186 | // |
alejandroRL | 0:dd702039127a | 187 | union { |
alejandroRL | 0:dd702039127a | 188 | GUI_HMEM hContext; // Handle of payload data like sprite- or memory device context |
alejandroRL | 0:dd702039127a | 189 | void * pContext; // Pointer for context data in a fixed block |
alejandroRL | 0:dd702039127a | 190 | } u; |
alejandroRL | 0:dd702039127a | 191 | // |
alejandroRL | 0:dd702039127a | 192 | // API pointers |
alejandroRL | 0:dd702039127a | 193 | // |
alejandroRL | 0:dd702039127a | 194 | const GUI_DEVICE_API * pDeviceAPI; |
alejandroRL | 0:dd702039127a | 195 | const LCD_API_COLOR_CONV * pColorConvAPI; |
alejandroRL | 0:dd702039127a | 196 | U16 Flags; |
alejandroRL | 0:dd702039127a | 197 | int LayerIndex; |
alejandroRL | 0:dd702039127a | 198 | }; |
alejandroRL | 0:dd702039127a | 199 | |
alejandroRL | 0:dd702039127a | 200 | extern const GUI_DEVICE_API GUI_MEMDEV_DEVICE_1; |
alejandroRL | 0:dd702039127a | 201 | extern const GUI_DEVICE_API GUI_MEMDEV_DEVICE_8; |
alejandroRL | 0:dd702039127a | 202 | extern const GUI_DEVICE_API GUI_MEMDEV_DEVICE_16; |
alejandroRL | 0:dd702039127a | 203 | extern const GUI_DEVICE_API GUI_MEMDEV_DEVICE_32; |
alejandroRL | 0:dd702039127a | 204 | |
alejandroRL | 0:dd702039127a | 205 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 206 | * |
alejandroRL | 0:dd702039127a | 207 | * GUI_CONTEXT |
alejandroRL | 0:dd702039127a | 208 | * |
alejandroRL | 0:dd702039127a | 209 | * This structure is public for one reason only: |
alejandroRL | 0:dd702039127a | 210 | * To allow the application to save and restore the context. |
alejandroRL | 0:dd702039127a | 211 | */ |
alejandroRL | 0:dd702039127a | 212 | typedef union { |
alejandroRL | 0:dd702039127a | 213 | U8 aColorIndex8[2]; |
alejandroRL | 0:dd702039127a | 214 | U16 aColorIndex16[2]; |
alejandroRL | 0:dd702039127a | 215 | U32 aColorIndex32[2]; |
alejandroRL | 0:dd702039127a | 216 | } LCD_COLORINDEX_UNION; |
alejandroRL | 0:dd702039127a | 217 | |
alejandroRL | 0:dd702039127a | 218 | struct GUI_CONTEXT { |
alejandroRL | 0:dd702039127a | 219 | // |
alejandroRL | 0:dd702039127a | 220 | // Variables in LCD module |
alejandroRL | 0:dd702039127a | 221 | // |
alejandroRL | 0:dd702039127a | 222 | LCD_COLORINDEX_UNION uLCD; |
alejandroRL | 0:dd702039127a | 223 | LCD_RECT ClipRect; |
alejandroRL | 0:dd702039127a | 224 | U8 DrawMode; |
alejandroRL | 0:dd702039127a | 225 | U8 SelLayer; |
alejandroRL | 0:dd702039127a | 226 | U8 TextStyle; |
alejandroRL | 0:dd702039127a | 227 | // |
alejandroRL | 0:dd702039127a | 228 | // Variables in GL module |
alejandroRL | 0:dd702039127a | 229 | // |
alejandroRL | 0:dd702039127a | 230 | GUI_RECT * pClipRect_HL; // High level clip rectangle ... Speed optimization so drawing routines can optimize |
alejandroRL | 0:dd702039127a | 231 | U8 PenSize; |
alejandroRL | 0:dd702039127a | 232 | U8 PenShape; |
alejandroRL | 0:dd702039127a | 233 | U8 LineStyle; |
alejandroRL | 0:dd702039127a | 234 | // |
alejandroRL | 0:dd702039127a | 235 | // Variables in GUICHAR module |
alejandroRL | 0:dd702039127a | 236 | // |
alejandroRL | 0:dd702039127a | 237 | const GUI_FONT * pAFont; |
alejandroRL | 0:dd702039127a | 238 | I16P LBorder; |
alejandroRL | 0:dd702039127a | 239 | I16P DispPosX, DispPosY; |
alejandroRL | 0:dd702039127a | 240 | I16P DrawPosX, DrawPosY; |
alejandroRL | 0:dd702039127a | 241 | I16P TextMode, TextAlign; |
alejandroRL | 0:dd702039127a | 242 | GUI_COLOR Color, BkColor; // Required only when changing devices and for speed opt (caching) |
alejandroRL | 0:dd702039127a | 243 | // |
alejandroRL | 0:dd702039127a | 244 | // Pointer to color indices |
alejandroRL | 0:dd702039127a | 245 | // |
alejandroRL | 0:dd702039127a | 246 | LCD_PIXELINDEX * LCD_pBkColorIndex; |
alejandroRL | 0:dd702039127a | 247 | LCD_PIXELINDEX * LCD_pColorIndex; |
alejandroRL | 0:dd702039127a | 248 | LCD_PIXELINDEX * LCD_pAColorIndex; |
alejandroRL | 0:dd702039127a | 249 | // |
alejandroRL | 0:dd702039127a | 250 | // Variables in WM module |
alejandroRL | 0:dd702039127a | 251 | // |
alejandroRL | 0:dd702039127a | 252 | #if GUI_WINSUPPORT |
alejandroRL | 0:dd702039127a | 253 | const GUI_RECT * WM__pUserClipRect; |
alejandroRL | 0:dd702039127a | 254 | GUI_HWIN hAWin; |
alejandroRL | 0:dd702039127a | 255 | int xOff, yOff; |
alejandroRL | 0:dd702039127a | 256 | U8 WM_IsActive; |
alejandroRL | 0:dd702039127a | 257 | #endif |
alejandroRL | 0:dd702039127a | 258 | // |
alejandroRL | 0:dd702039127a | 259 | // Array of pointers to device chains |
alejandroRL | 0:dd702039127a | 260 | // |
alejandroRL | 0:dd702039127a | 261 | //GUI_DEVICE * apDevice[GUI_NUM_LAYERS]; |
alejandroRL | 0:dd702039127a | 262 | GUI_DEVICE * apDriver[GUI_NUM_LAYERS]; |
alejandroRL | 0:dd702039127a | 263 | // |
alejandroRL | 0:dd702039127a | 264 | // Variables in MEMDEV module (with memory devices only) |
alejandroRL | 0:dd702039127a | 265 | // |
alejandroRL | 0:dd702039127a | 266 | GUI_HMEM hDevData; |
alejandroRL | 0:dd702039127a | 267 | // |
alejandroRL | 0:dd702039127a | 268 | // Variables in Anitaliasing module |
alejandroRL | 0:dd702039127a | 269 | // |
alejandroRL | 0:dd702039127a | 270 | const tLCD_HL_APIList * pLCD_HL; // Required to reroute drawing (HLine & Pixel) to the AA module |
alejandroRL | 0:dd702039127a | 271 | U8 AA_Factor; |
alejandroRL | 0:dd702039127a | 272 | U8 AA_HiResEnable; |
alejandroRL | 0:dd702039127a | 273 | void (* AA_pfSetPixelAA)(int x, int y, U8 Intens); // Function to be used for drawing a single pixel |
alejandroRL | 0:dd702039127a | 274 | }; |
alejandroRL | 0:dd702039127a | 275 | |
alejandroRL | 0:dd702039127a | 276 | /* Rename GUI_SaveContext in order to avoid crashes if wrong GUIConf is used */ |
alejandroRL | 0:dd702039127a | 277 | #if (GUI_WINSUPPORT == 1) |
alejandroRL | 0:dd702039127a | 278 | #define GUI_SaveContext GUI_SaveContext_W |
alejandroRL | 0:dd702039127a | 279 | #else |
alejandroRL | 0:dd702039127a | 280 | #define GUI_SaveContext GUI_SaveContext_ |
alejandroRL | 0:dd702039127a | 281 | #endif |
alejandroRL | 0:dd702039127a | 282 | |
alejandroRL | 0:dd702039127a | 283 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 284 | * |
alejandroRL | 0:dd702039127a | 285 | * Device management |
alejandroRL | 0:dd702039127a | 286 | */ |
alejandroRL | 0:dd702039127a | 287 | GUI_DEVICE * GUI_DEVICE_Create (const GUI_DEVICE_API * pDeviceAPI, const LCD_API_COLOR_CONV * pColorConvAPI, U16 Flags, int LayerIndex); |
alejandroRL | 0:dd702039127a | 288 | GUI_DEVICE * GUI_DEVICE_CreateAndLink(const GUI_DEVICE_API * pDeviceAPI, const LCD_API_COLOR_CONV * pColorConvAPI, U16 Flags, int LayerIndex); |
alejandroRL | 0:dd702039127a | 289 | void GUI_DEVICE_Delete (GUI_DEVICE * pDevice); |
alejandroRL | 0:dd702039127a | 290 | int GUI_DEVICE_Link (GUI_DEVICE * pDevice); |
alejandroRL | 0:dd702039127a | 291 | void GUI_DEVICE_Unlink (GUI_DEVICE * pDevice); |
alejandroRL | 0:dd702039127a | 292 | GUI_DEVICE * GUI_DEVICE__GetpDriver (int LayerIndex); |
alejandroRL | 0:dd702039127a | 293 | GUI_DEVICE * GUI_DEVICE__GetpDevice (int LayerIndex, int DeviceClass); |
alejandroRL | 0:dd702039127a | 294 | |
alejandroRL | 0:dd702039127a | 295 | GUI_DEVICE * GUI_DEVICE_UnlinkTaskDevices(void); |
alejandroRL | 0:dd702039127a | 296 | void GUI_DEVICE_LinkDevices (GUI_DEVICE * pDevice); |
alejandroRL | 0:dd702039127a | 297 | |
alejandroRL | 0:dd702039127a | 298 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 299 | * |
alejandroRL | 0:dd702039127a | 300 | * GUI_DIRTYDEVICE |
alejandroRL | 0:dd702039127a | 301 | */ |
alejandroRL | 0:dd702039127a | 302 | typedef struct { |
alejandroRL | 0:dd702039127a | 303 | void * pData; // Pointer to first pixel |
alejandroRL | 0:dd702039127a | 304 | int x0, y0; // Coordinates of the upper left pixel |
alejandroRL | 0:dd702039127a | 305 | int xSize, ySize; // Size of dirty rectangle |
alejandroRL | 0:dd702039127a | 306 | int LineOff; // Virtual xSize in pixels |
alejandroRL | 0:dd702039127a | 307 | int BytesPerPixel; // Number of bytes required per pixel |
alejandroRL | 0:dd702039127a | 308 | int IsDirty; // Indicates if dirty pixels exist |
alejandroRL | 0:dd702039127a | 309 | } GUI_DIRTYDEVICE_INFO; |
alejandroRL | 0:dd702039127a | 310 | |
alejandroRL | 0:dd702039127a | 311 | int GUI_DIRTYDEVICE_Create (void); |
alejandroRL | 0:dd702039127a | 312 | int GUI_DIRTYDEVICE_CreateEx (int LayerIndex); |
alejandroRL | 0:dd702039127a | 313 | int GUI_DIRTYDEVICE_CreateExInfo(GUI_DIRTYDEVICE_INFO * pInfo, int LayerIndex); |
alejandroRL | 0:dd702039127a | 314 | int GUI_DIRTYDEVICE_Delete (void); |
alejandroRL | 0:dd702039127a | 315 | int GUI_DIRTYDEVICE_DeleteEx (int LayerIndex); |
alejandroRL | 0:dd702039127a | 316 | int GUI_DIRTYDEVICE_Fetch (GUI_DIRTYDEVICE_INFO * pInfo); |
alejandroRL | 0:dd702039127a | 317 | int GUI_DIRTYDEVICE_FetchEx (GUI_DIRTYDEVICE_INFO * pInfo, int LayerIndex); |
alejandroRL | 0:dd702039127a | 318 | |
alejandroRL | 0:dd702039127a | 319 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 320 | * |
alejandroRL | 0:dd702039127a | 321 | * GUI_GCACHE |
alejandroRL | 0:dd702039127a | 322 | */ |
alejandroRL | 0:dd702039127a | 323 | int GUI_GCACHE_4_Create(const LCD_API_COLOR_CONV * pColorConvAPI); |
alejandroRL | 0:dd702039127a | 324 | int GUI_GCACHE_4_CreateEx(int LayerIndex, const LCD_API_COLOR_CONV * pColorConvAPI); |
alejandroRL | 0:dd702039127a | 325 | |
alejandroRL | 0:dd702039127a | 326 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 327 | * |
alejandroRL | 0:dd702039127a | 328 | * GUI_DCACHE |
alejandroRL | 0:dd702039127a | 329 | */ |
alejandroRL | 0:dd702039127a | 330 | void GUI_DCACHE_SetClearCacheHook(void (* pFunc)(U32 LayerMask)); |
alejandroRL | 0:dd702039127a | 331 | void GUI_DCACHE_Clear (U32 LayerMask); |
alejandroRL | 0:dd702039127a | 332 | |
alejandroRL | 0:dd702039127a | 333 | extern void (* GUI_DCACHE__pfClearCacheHook)(U32 LayerMask); |
alejandroRL | 0:dd702039127a | 334 | |
alejandroRL | 0:dd702039127a | 335 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 336 | * |
alejandroRL | 0:dd702039127a | 337 | * GUI_SOFTLAYER |
alejandroRL | 0:dd702039127a | 338 | */ |
alejandroRL | 0:dd702039127a | 339 | typedef struct { |
alejandroRL | 0:dd702039127a | 340 | int xPos; |
alejandroRL | 0:dd702039127a | 341 | int yPos; |
alejandroRL | 0:dd702039127a | 342 | int xSize; |
alejandroRL | 0:dd702039127a | 343 | int ySize; |
alejandroRL | 0:dd702039127a | 344 | int Visible; |
alejandroRL | 0:dd702039127a | 345 | } GUI_SOFTLAYER_CONFIG; |
alejandroRL | 0:dd702039127a | 346 | |
alejandroRL | 0:dd702039127a | 347 | int GUI_SOFTLAYER_Enable (GUI_SOFTLAYER_CONFIG * pConfig, int NumLayers, GUI_COLOR CompositeColor); |
alejandroRL | 0:dd702039127a | 348 | int GUI_SOFTLAYER_Refresh (void); |
alejandroRL | 0:dd702039127a | 349 | void GUI_SOFTLAYER_SetCompositeColor(U32 Color); |
alejandroRL | 0:dd702039127a | 350 | int GUI_SOFTLAYER_MULTIBUF_Enable (int OnOff); |
alejandroRL | 0:dd702039127a | 351 | |
alejandroRL | 0:dd702039127a | 352 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 353 | * |
alejandroRL | 0:dd702039127a | 354 | * General routines |
alejandroRL | 0:dd702039127a | 355 | */ |
alejandroRL | 0:dd702039127a | 356 | void GUI_Exit (void); |
alejandroRL | 0:dd702039127a | 357 | GUI_COLOR GUI_GetDefaultBkColor(void); |
alejandroRL | 0:dd702039127a | 358 | GUI_COLOR GUI_GetDefaultColor (void); |
alejandroRL | 0:dd702039127a | 359 | const GUI_FONT * GUI_GetDefaultFont (void); |
alejandroRL | 0:dd702039127a | 360 | int GUI_GetScreenSizeX (void); |
alejandroRL | 0:dd702039127a | 361 | int GUI_GetScreenSizeY (void); |
alejandroRL | 0:dd702039127a | 362 | const char * GUI_GetVersionString (void); |
alejandroRL | 0:dd702039127a | 363 | int GUI_Init (void); |
alejandroRL | 0:dd702039127a | 364 | int GUI_IsInitialized (void); |
alejandroRL | 0:dd702039127a | 365 | void GUI_SetAfterInitHook (void (* pFunc)(void)); |
alejandroRL | 0:dd702039127a | 366 | void GUI_RestoreContext (const GUI_CONTEXT * pContext); |
alejandroRL | 0:dd702039127a | 367 | void GUI_SaveContext (GUI_CONTEXT * pContext); |
alejandroRL | 0:dd702039127a | 368 | const GUI_RECT * GUI_SetClipRect (const GUI_RECT * pRect); |
alejandroRL | 0:dd702039127a | 369 | void GUI_SetControlHook (void (* pFunc)(int LayerIndex, int Cmd)); |
alejandroRL | 0:dd702039127a | 370 | void GUI_SetDefault (void); |
alejandroRL | 0:dd702039127a | 371 | void GUI_SetDefaultBkColor(GUI_COLOR Color); |
alejandroRL | 0:dd702039127a | 372 | void GUI_SetDefaultColor (GUI_COLOR Color); |
alejandroRL | 0:dd702039127a | 373 | void GUI_SetDefaultFont (const GUI_FONT * pFont); |
alejandroRL | 0:dd702039127a | 374 | GUI_DRAWMODE GUI_SetDrawMode (GUI_DRAWMODE dm); |
alejandroRL | 0:dd702039127a | 375 | void GUI_SetScreenSizeX (int xSize); |
alejandroRL | 0:dd702039127a | 376 | void GUI_SetScreenSizeY (int ySize); |
alejandroRL | 0:dd702039127a | 377 | void GUI_SetRefreshHook (void (* pFunc)(void)); |
alejandroRL | 0:dd702039127a | 378 | void MainTask (void); |
alejandroRL | 0:dd702039127a | 379 | |
alejandroRL | 0:dd702039127a | 380 | #define GUI_PID_SetInitFunc(x) GUI_SetAfterInitHook(x) // Compatibility |
alejandroRL | 0:dd702039127a | 381 | |
alejandroRL | 0:dd702039127a | 382 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 383 | * |
alejandroRL | 0:dd702039127a | 384 | * Rectangle helper functions |
alejandroRL | 0:dd702039127a | 385 | */ |
alejandroRL | 0:dd702039127a | 386 | int GUI_RectsIntersect(const GUI_RECT * pr0, const GUI_RECT * pr1); |
alejandroRL | 0:dd702039127a | 387 | void GUI_MoveRect (GUI_RECT * pRect, int x, int y); |
alejandroRL | 0:dd702039127a | 388 | void GUI_MergeRect (GUI_RECT * pDest, const GUI_RECT * pr0, const GUI_RECT * pr1); |
alejandroRL | 0:dd702039127a | 389 | int GUI__IntersectRects(GUI_RECT * pDest, const GUI_RECT * pr0, const GUI_RECT * pr1); |
alejandroRL | 0:dd702039127a | 390 | void GUI__IntersectRect (GUI_RECT * pDest, const GUI_RECT * pr0); |
alejandroRL | 0:dd702039127a | 391 | void GUI__ReduceRect (GUI_RECT * pDest, const GUI_RECT * pRect, int Dist); |
alejandroRL | 0:dd702039127a | 392 | |
alejandroRL | 0:dd702039127a | 393 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 394 | * |
alejandroRL | 0:dd702039127a | 395 | * Misc helper functions |
alejandroRL | 0:dd702039127a | 396 | */ |
alejandroRL | 0:dd702039127a | 397 | I32 GUI__ATan2(I32 x, I32 y, I32 * ph); |
alejandroRL | 0:dd702039127a | 398 | I32 GUI__ASinHQ(I32 SinHQ); |
alejandroRL | 0:dd702039127a | 399 | int GUI__CompactPixelIndices (LCD_PIXELINDEX * pBuffer, int NumPixels, int BitsPerPixel); |
alejandroRL | 0:dd702039127a | 400 | int GUI__CompactPixelIndicesEx(LCD_PIXELINDEX * pBuffer, int NumPixels, int BitsPerPixel, const LCD_API_COLOR_CONV * pColorConvAPI); |
alejandroRL | 0:dd702039127a | 401 | int GUI__ConvertColor2Index (LCD_PIXELINDEX * pBuffer, int NumPixels, int BitsPerPixel, const LCD_API_COLOR_CONV * pColorConvAPI, void * pResult); |
alejandroRL | 0:dd702039127a | 402 | void GUI__Config(void); |
alejandroRL | 0:dd702039127a | 403 | I32 GUI__CosHQ(I32 Ang1000); |
alejandroRL | 0:dd702039127a | 404 | int GUI__DivideRound (int a, int b); |
alejandroRL | 0:dd702039127a | 405 | I32 GUI__DivideRound32 (I32 a, I32 b); |
alejandroRL | 0:dd702039127a | 406 | void GUI__ExpandPixelIndices (void * pBuffer, int NumPixels, int BitsPerPixel); |
alejandroRL | 0:dd702039127a | 407 | void GUI__ExpandPixelIndicesEx (void * pBuffer, int NumPixels, int BitsPerPixel, const LCD_API_COLOR_CONV * pColorConvAPI); |
alejandroRL | 0:dd702039127a | 408 | void GUI__memcpy(void * pDest, const void * pSrc, int NumBytes); |
alejandroRL | 0:dd702039127a | 409 | int GUI__SetText(GUI_HMEM * phText, const char * s); |
alejandroRL | 0:dd702039127a | 410 | I32 GUI__SinHQ(I32 Ang1000); |
alejandroRL | 0:dd702039127a | 411 | I32 GUI__sqrt32(I32 Square); |
alejandroRL | 0:dd702039127a | 412 | void GUI__DrawTwinArc2(int xl, int xr, int y0, int r, GUI_COLOR ColorR0, GUI_COLOR ColorR1, GUI_COLOR ColorFill); |
alejandroRL | 0:dd702039127a | 413 | void GUI__DrawTwinArc4(int x0, int y0, int x1, int y1, int r, GUI_COLOR ColorR0, GUI_COLOR ColorR1, GUI_COLOR ColorFill); |
alejandroRL | 0:dd702039127a | 414 | void GUI__FillTrippleArc(int x0, int y0, int Size, GUI_COLOR ColorR0, GUI_COLOR ColorR1, GUI_COLOR ColorR2, GUI_COLOR ColorFill); |
alejandroRL | 0:dd702039127a | 415 | void GUI__RegisterExit(GUI_REGISTER_EXIT * pRegisterExit); |
alejandroRL | 0:dd702039127a | 416 | |
alejandroRL | 0:dd702039127a | 417 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 418 | * |
alejandroRL | 0:dd702039127a | 419 | * Get / Set Attributes |
alejandroRL | 0:dd702039127a | 420 | */ |
alejandroRL | 0:dd702039127a | 421 | GUI_COLOR GUI_GetBkColor (void); |
alejandroRL | 0:dd702039127a | 422 | int GUI_GetBkColorIndex(void); |
alejandroRL | 0:dd702039127a | 423 | GUI_COLOR GUI_GetColor (void); |
alejandroRL | 0:dd702039127a | 424 | int GUI_GetColorIndex (void); |
alejandroRL | 0:dd702039127a | 425 | U8 GUI_GetLineStyle (void); |
alejandroRL | 0:dd702039127a | 426 | U8 GUI_GetPenSize (void); |
alejandroRL | 0:dd702039127a | 427 | U8 GUI_GetPenShape (void); |
alejandroRL | 0:dd702039127a | 428 | unsigned GUI_GetPixelIndex (int x, int y); |
alejandroRL | 0:dd702039127a | 429 | |
alejandroRL | 0:dd702039127a | 430 | void GUI_SetBkColor (GUI_COLOR); |
alejandroRL | 0:dd702039127a | 431 | void GUI_SetColor (GUI_COLOR); |
alejandroRL | 0:dd702039127a | 432 | void GUI_SetBkColorIndex(int Index); |
alejandroRL | 0:dd702039127a | 433 | void GUI_SetColorIndex(int Index); |
alejandroRL | 0:dd702039127a | 434 | |
alejandroRL | 0:dd702039127a | 435 | U8 GUI_SetPenSize (U8 Size); |
alejandroRL | 0:dd702039127a | 436 | U8 GUI_SetPenShape (U8 Shape); |
alejandroRL | 0:dd702039127a | 437 | U8 GUI_SetLineStyle (U8 Style); |
alejandroRL | 0:dd702039127a | 438 | |
alejandroRL | 0:dd702039127a | 439 | /* Get/Set Character used as decimal point (usually '.' or ',') */ |
alejandroRL | 0:dd702039127a | 440 | char GUI_GetDecChar(void); |
alejandroRL | 0:dd702039127a | 441 | char GUI_SetDecChar(char c); |
alejandroRL | 0:dd702039127a | 442 | |
alejandroRL | 0:dd702039127a | 443 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 444 | * |
alejandroRL | 0:dd702039127a | 445 | * Color / Index related functions |
alejandroRL | 0:dd702039127a | 446 | */ |
alejandroRL | 0:dd702039127a | 447 | int GUI_Color2Index(GUI_COLOR color); |
alejandroRL | 0:dd702039127a | 448 | GUI_COLOR GUI_Color2VisColor(GUI_COLOR color); |
alejandroRL | 0:dd702039127a | 449 | char GUI_ColorIsAvailable(GUI_COLOR color); |
alejandroRL | 0:dd702039127a | 450 | GUI_COLOR GUI_Index2Color(int Index); |
alejandroRL | 0:dd702039127a | 451 | U32 GUI_CalcColorDist (GUI_COLOR Color0, GUI_COLOR Color1); |
alejandroRL | 0:dd702039127a | 452 | U32 GUI_CalcVisColorError(GUI_COLOR color); |
alejandroRL | 0:dd702039127a | 453 | |
alejandroRL | 0:dd702039127a | 454 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 455 | * |
alejandroRL | 0:dd702039127a | 456 | * Error handler |
alejandroRL | 0:dd702039127a | 457 | */ |
alejandroRL | 0:dd702039127a | 458 | void GUI_SetOnErrorFunc(void (* pFunc)(const char * s)); |
alejandroRL | 0:dd702039127a | 459 | |
alejandroRL | 0:dd702039127a | 460 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 461 | * |
alejandroRL | 0:dd702039127a | 462 | * Logging (for debugging primarily) |
alejandroRL | 0:dd702039127a | 463 | */ |
alejandroRL | 0:dd702039127a | 464 | void GUI_Log (const char * s); |
alejandroRL | 0:dd702039127a | 465 | void GUI_Log1 (const char * s, I32 p0); |
alejandroRL | 0:dd702039127a | 466 | void GUI_Log2 (const char * s, I32 p0, I32 p1); |
alejandroRL | 0:dd702039127a | 467 | void GUI_Log3 (const char * s, I32 p0, I32 p1, I32 p2); |
alejandroRL | 0:dd702039127a | 468 | void GUI_Log4 (const char * s, I32 p0, I32 p1, I32 p2,I32 p3); |
alejandroRL | 0:dd702039127a | 469 | void GUI_Warn (const char * s); |
alejandroRL | 0:dd702039127a | 470 | void GUI_Warn1 (const char * s, I32 p0); |
alejandroRL | 0:dd702039127a | 471 | void GUI_Warn2 (const char * s, I32 p0, I32 p1); |
alejandroRL | 0:dd702039127a | 472 | void GUI_Warn3 (const char * s, I32 p0, I32 p1, I32 p2); |
alejandroRL | 0:dd702039127a | 473 | void GUI_Warn4 (const char * s, I32 p0, I32 p1, I32 p2, I32 p3); |
alejandroRL | 0:dd702039127a | 474 | void GUI_ErrorOut (const char * s); |
alejandroRL | 0:dd702039127a | 475 | void GUI_ErrorOut1(const char * s, I32 p0); |
alejandroRL | 0:dd702039127a | 476 | void GUI_ErrorOut2(const char * s, I32 p0, I32 p1); |
alejandroRL | 0:dd702039127a | 477 | void GUI_ErrorOut3(const char * s, I32 p0, I32 p1, I32 p2); |
alejandroRL | 0:dd702039127a | 478 | void GUI_ErrorOut4(const char * s, I32 p0, I32 p1, I32 p2, I32 p3); |
alejandroRL | 0:dd702039127a | 479 | |
alejandroRL | 0:dd702039127a | 480 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 481 | * |
alejandroRL | 0:dd702039127a | 482 | * 2d - GL |
alejandroRL | 0:dd702039127a | 483 | */ |
alejandroRL | 0:dd702039127a | 484 | void GUI_Clear (void); |
alejandroRL | 0:dd702039127a | 485 | void GUI_ClearRect (int x0, int y0, int x1, int y1); |
alejandroRL | 0:dd702039127a | 486 | void GUI_ClearRectEx (const GUI_RECT * pRect); |
alejandroRL | 0:dd702039127a | 487 | void GUI_CopyRect (int x0, int y0, int x1, int y1, int dx, int dy); |
alejandroRL | 0:dd702039127a | 488 | void GUI_DrawArc (int x0, int y0, int rx, int ry, int a0, int a1); |
alejandroRL | 0:dd702039127a | 489 | void GUI_DrawBitmap (const GUI_BITMAP * pBM, int x0, int y0); |
alejandroRL | 0:dd702039127a | 490 | void GUI_DrawBitmapMag (const GUI_BITMAP * pBM, int x0, int y0, int XMul, int YMul); |
alejandroRL | 0:dd702039127a | 491 | void GUI_DrawBitmapEx (const GUI_BITMAP * pBM, int x0, int y0, int xCenter, int yCenter, int xMag, int yMag); |
alejandroRL | 0:dd702039127a | 492 | void GUI_DrawBitmapExp (int x0, int y0, int XSize, int YSize, int XMul, int YMul, int BitsPerPixel, int BytesPerLine, const U8 * pData, const GUI_LOGPALETTE * pPal); |
alejandroRL | 0:dd702039127a | 493 | void GUI_DrawBitmapHWAlpha(const GUI_BITMAP * pBM, int x0, int y0); |
alejandroRL | 0:dd702039127a | 494 | void GUI_DrawCircle (int x0, int y0, int r); |
alejandroRL | 0:dd702039127a | 495 | void GUI_DrawEllipse (int x0, int y0, int rx, int ry); |
alejandroRL | 0:dd702039127a | 496 | void GUI_DrawGradientH (int x0, int y0, int x1, int y1, GUI_COLOR Color0, GUI_COLOR Color1); |
alejandroRL | 0:dd702039127a | 497 | void GUI_DrawGradientV (int x0, int y0, int x1, int y1, GUI_COLOR Color0, GUI_COLOR Color1); |
alejandroRL | 0:dd702039127a | 498 | void GUI_DrawGradientRoundedH(int x0, int y0, int x1, int y1, int rd, GUI_COLOR Color0, GUI_COLOR Color1); |
alejandroRL | 0:dd702039127a | 499 | void GUI_DrawGradientRoundedV(int x0, int y0, int x1, int y1, int rd, GUI_COLOR Color0, GUI_COLOR Color1); |
alejandroRL | 0:dd702039127a | 500 | void GUI_DrawGraph (I16 * pay, int NumPoints, int x0, int y0); |
alejandroRL | 0:dd702039127a | 501 | void GUI_DrawGraphEx (I16 * pay, int NumPoints, int x0, int y0, int Numerator, int Denominator, int MirrorX); |
alejandroRL | 0:dd702039127a | 502 | void GUI_DrawHLine (int y0, int x0, int x1); |
alejandroRL | 0:dd702039127a | 503 | void GUI_DrawLine (int x0, int y0, int x1, int y1); |
alejandroRL | 0:dd702039127a | 504 | void GUI_DrawLineRel (int dx, int dy); |
alejandroRL | 0:dd702039127a | 505 | void GUI_DrawLineTo (int x, int y); |
alejandroRL | 0:dd702039127a | 506 | void GUI_DrawPie (int x0, int y0, int r, int a0, int a1, int Type); |
alejandroRL | 0:dd702039127a | 507 | void GUI_DrawPixel (int x, int y); |
alejandroRL | 0:dd702039127a | 508 | void GUI_DrawPoint (int x, int y); |
alejandroRL | 0:dd702039127a | 509 | void GUI_DrawPolygon (const GUI_POINT * pPoints, int NumPoints, int x0, int y0); |
alejandroRL | 0:dd702039127a | 510 | void GUI_DrawPolyLine (const GUI_POINT * pPoints, int NumPoints, int x0, int y0); |
alejandroRL | 0:dd702039127a | 511 | void GUI_DrawFocusRect (const GUI_RECT * pRect, int Dist); |
alejandroRL | 0:dd702039127a | 512 | void GUI_DrawRect (int x0, int y0, int x1, int y1); |
alejandroRL | 0:dd702039127a | 513 | void GUI_DrawRectEx (const GUI_RECT * pRect); |
alejandroRL | 0:dd702039127a | 514 | void GUI_DrawRoundedFrame (int x0, int y0, int x1, int y1, int r, int w); |
alejandroRL | 0:dd702039127a | 515 | void GUI_DrawRoundedRect (int x0, int y0, int x1, int y1, int r); |
alejandroRL | 0:dd702039127a | 516 | void GUI_DrawVLine (int x0, int y0, int y1); |
alejandroRL | 0:dd702039127a | 517 | void GUI_FillCircle (int x0, int y0, int r); |
alejandroRL | 0:dd702039127a | 518 | void GUI_FillEllipse (int x0, int y0, int rx, int ry); |
alejandroRL | 0:dd702039127a | 519 | void GUI_FillPolygon (const GUI_POINT * pPoints, int NumPoints, int x0, int y0); |
alejandroRL | 0:dd702039127a | 520 | void GUI_FillRect (int x0, int y0, int x1, int y1); |
alejandroRL | 0:dd702039127a | 521 | void GUI_FillRectEx (const GUI_RECT * pRect); |
alejandroRL | 0:dd702039127a | 522 | void GUI_FillRoundedFrame (int x0, int y0, int x1, int y1, int r, int w); |
alejandroRL | 0:dd702039127a | 523 | void GUI_FillRoundedRect (int x0, int y0, int x1, int y1, int r); |
alejandroRL | 0:dd702039127a | 524 | void GUI_FillRoundedRectB (int x0, int y0, int x1, int y1, int r); |
alejandroRL | 0:dd702039127a | 525 | void GUI_FillRoundedRectT (int x0, int y0, int x1, int y1, int r); |
alejandroRL | 0:dd702039127a | 526 | void GUI_GetClientRect (GUI_RECT * pRect); |
alejandroRL | 0:dd702039127a | 527 | void GUI_InvertRect (int x0, int y0, int x1, int y1); |
alejandroRL | 0:dd702039127a | 528 | void GUI_MoveRel (int dx, int dy); |
alejandroRL | 0:dd702039127a | 529 | void GUI_MoveTo (int x, int y); |
alejandroRL | 0:dd702039127a | 530 | void GUI_SetAlphaMask8888 (U32 OrMask, U32 AndMask); |
alejandroRL | 0:dd702039127a | 531 | |
alejandroRL | 0:dd702039127a | 532 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 533 | * |
alejandroRL | 0:dd702039127a | 534 | * Graphic file support |
alejandroRL | 0:dd702039127a | 535 | */ |
alejandroRL | 0:dd702039127a | 536 | typedef int GUI_GET_DATA_FUNC(void * p, const U8 ** ppData, unsigned NumBytes, U32 Off); |
alejandroRL | 0:dd702039127a | 537 | |
alejandroRL | 0:dd702039127a | 538 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 539 | * |
alejandroRL | 0:dd702039127a | 540 | * GIF file support |
alejandroRL | 0:dd702039127a | 541 | */ |
alejandroRL | 0:dd702039127a | 542 | int GUI_GIF_Draw (const void * pGIF, U32 NumBytes, int x0, int y0); |
alejandroRL | 0:dd702039127a | 543 | int GUI_GIF_DrawEx (GUI_GET_DATA_FUNC * pfGetData, void * p, int x0, int y0); |
alejandroRL | 0:dd702039127a | 544 | int GUI_GIF_DrawSub (const void * pGIF, U32 NumBytes, int x0, int y0, int Index); |
alejandroRL | 0:dd702039127a | 545 | int GUI_GIF_DrawSubEx (GUI_GET_DATA_FUNC * pfGetData, void * p, int x0, int y0, int Index); |
alejandroRL | 0:dd702039127a | 546 | int GUI_GIF_DrawSubScaled (const void * pGIF, U32 NumBytes, int x0, int y0, int Index, int Num, int Denom); |
alejandroRL | 0:dd702039127a | 547 | int GUI_GIF_DrawSubScaledEx(GUI_GET_DATA_FUNC * pfGetData, void * p, int x0, int y0, int Index, int Num, int Denom); |
alejandroRL | 0:dd702039127a | 548 | int GUI_GIF_GetComment (const void * pGIF, U32 NumBytes, U8 * pBuffer, int MaxSize, int Index); |
alejandroRL | 0:dd702039127a | 549 | int GUI_GIF_GetCommentEx (GUI_GET_DATA_FUNC * pfGetData, void * p, U8 * pBuffer, int MaxSize, int Index); |
alejandroRL | 0:dd702039127a | 550 | int GUI_GIF_GetImageInfo (const void * pGIF, U32 NumBytes, GUI_GIF_IMAGE_INFO * pInfo, int Index); |
alejandroRL | 0:dd702039127a | 551 | int GUI_GIF_GetImageInfoEx (GUI_GET_DATA_FUNC * pfGetData, void * p, GUI_GIF_IMAGE_INFO * pInfo, int Index); |
alejandroRL | 0:dd702039127a | 552 | int GUI_GIF_GetInfo (const void * pGIF, U32 NumBytes, GUI_GIF_INFO * pInfo); |
alejandroRL | 0:dd702039127a | 553 | int GUI_GIF_GetInfoEx (GUI_GET_DATA_FUNC * pfGetData, void * p, GUI_GIF_INFO * pInfo); |
alejandroRL | 0:dd702039127a | 554 | int GUI_GIF_GetXSize (const void * pGIF); |
alejandroRL | 0:dd702039127a | 555 | int GUI_GIF_GetXSizeEx (GUI_GET_DATA_FUNC * pfGetData, void * p); |
alejandroRL | 0:dd702039127a | 556 | int GUI_GIF_GetYSize (const void * pGIF); |
alejandroRL | 0:dd702039127a | 557 | int GUI_GIF_GetYSizeEx (GUI_GET_DATA_FUNC * pfGetData, void * p); |
alejandroRL | 0:dd702039127a | 558 | int GUI_GIF_SetFillTrans (int OnOff); |
alejandroRL | 0:dd702039127a | 559 | |
alejandroRL | 0:dd702039127a | 560 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 561 | * |
alejandroRL | 0:dd702039127a | 562 | * BMP file support |
alejandroRL | 0:dd702039127a | 563 | */ |
alejandroRL | 0:dd702039127a | 564 | int GUI_BMP_Draw (const void * pFileData, int x0, int y0); |
alejandroRL | 0:dd702039127a | 565 | int GUI_BMP_DrawEx (GUI_GET_DATA_FUNC * pfGetData, void * p, int x0, int y0); |
alejandroRL | 0:dd702039127a | 566 | int GUI_BMP_DrawScaled (const void * pFileData, int x0, int y0, int Num, int Denom); |
alejandroRL | 0:dd702039127a | 567 | int GUI_BMP_DrawScaledEx(GUI_GET_DATA_FUNC * pfGetData, void * p, int x0, int y0, int Num, int Denom); |
alejandroRL | 0:dd702039127a | 568 | int GUI_BMP_GetXSize (const void * pFileData); |
alejandroRL | 0:dd702039127a | 569 | int GUI_BMP_GetXSizeEx (GUI_GET_DATA_FUNC * pfGetData, void * p); |
alejandroRL | 0:dd702039127a | 570 | int GUI_BMP_GetYSize (const void * pFileData); |
alejandroRL | 0:dd702039127a | 571 | int GUI_BMP_GetYSizeEx (GUI_GET_DATA_FUNC * pfGetData, void * p); |
alejandroRL | 0:dd702039127a | 572 | void GUI_BMP_EnableAlpha (void); |
alejandroRL | 0:dd702039127a | 573 | void GUI_BMP_DisableAlpha(void); |
alejandroRL | 0:dd702039127a | 574 | |
alejandroRL | 0:dd702039127a | 575 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 576 | * |
alejandroRL | 0:dd702039127a | 577 | * PNG file support |
alejandroRL | 0:dd702039127a | 578 | */ |
alejandroRL | 0:dd702039127a | 579 | int GUI_PNG_Draw (const void * pFileData, int DataSize, int x0, int y0); |
alejandroRL | 0:dd702039127a | 580 | int GUI_PNG_DrawEx (GUI_GET_DATA_FUNC * pfGetData, void * p, int x0, int y0); |
alejandroRL | 0:dd702039127a | 581 | int GUI_PNG_GetXSize (const void * pFileData, int FileSize); |
alejandroRL | 0:dd702039127a | 582 | int GUI_PNG_GetXSizeEx(GUI_GET_DATA_FUNC * pfGetData, void * p); |
alejandroRL | 0:dd702039127a | 583 | int GUI_PNG_GetYSize (const void * pFileData, int FileSize); |
alejandroRL | 0:dd702039127a | 584 | int GUI_PNG_GetYSizeEx(GUI_GET_DATA_FUNC * pfGetData, void * p); |
alejandroRL | 0:dd702039127a | 585 | |
alejandroRL | 0:dd702039127a | 586 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 587 | * |
alejandroRL | 0:dd702039127a | 588 | * JPEG file support |
alejandroRL | 0:dd702039127a | 589 | */ |
alejandroRL | 0:dd702039127a | 590 | typedef struct { |
alejandroRL | 0:dd702039127a | 591 | int XSize; |
alejandroRL | 0:dd702039127a | 592 | int YSize; |
alejandroRL | 0:dd702039127a | 593 | } GUI_JPEG_INFO; |
alejandroRL | 0:dd702039127a | 594 | |
alejandroRL | 0:dd702039127a | 595 | int GUI_JPEG_Draw (const void * pFileData, int DataSize, int x0, int y0); |
alejandroRL | 0:dd702039127a | 596 | int GUI_JPEG_DrawEx (GUI_GET_DATA_FUNC * pfGetData, void * p, int x0, int y0); |
alejandroRL | 0:dd702039127a | 597 | int GUI_JPEG_DrawScaled (const void * pFileData, int DataSize, int x0, int y0, int Num, int Denom); |
alejandroRL | 0:dd702039127a | 598 | int GUI_JPEG_DrawScaledEx(GUI_GET_DATA_FUNC * pfGetData, void * p, int x0, int y0, int Num, int Denom); |
alejandroRL | 0:dd702039127a | 599 | int GUI_JPEG_GetInfo (const void * pFileData, int DataSize, GUI_JPEG_INFO * pInfo); |
alejandroRL | 0:dd702039127a | 600 | int GUI_JPEG_GetInfoEx (GUI_GET_DATA_FUNC * pfGetData, void * p, GUI_JPEG_INFO * pInfo); |
alejandroRL | 0:dd702039127a | 601 | |
alejandroRL | 0:dd702039127a | 602 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 603 | * |
alejandroRL | 0:dd702039127a | 604 | * MOVIE file support |
alejandroRL | 0:dd702039127a | 605 | */ |
alejandroRL | 0:dd702039127a | 606 | #define GUI_MOVIE_NOTIFICATION_PREDRAW 0 // Immediately before frame is drawn |
alejandroRL | 0:dd702039127a | 607 | #define GUI_MOVIE_NOTIFICATION_POSTDRAW 1 // Immediately after a frame is drawn |
alejandroRL | 0:dd702039127a | 608 | #define GUI_MOVIE_NOTIFICATION_START 2 // Send when start playing a movie |
alejandroRL | 0:dd702039127a | 609 | #define GUI_MOVIE_NOTIFICATION_STOP 3 // Movie has stopped |
alejandroRL | 0:dd702039127a | 610 | #define GUI_MOVIE_NOTIFICATION_DELETE 4 // Movie has been deleted |
alejandroRL | 0:dd702039127a | 611 | |
alejandroRL | 0:dd702039127a | 612 | typedef GUI_HMEM GUI_MOVIE_HANDLE; |
alejandroRL | 0:dd702039127a | 613 | |
alejandroRL | 0:dd702039127a | 614 | typedef void GUI_MOVIE_FUNC(GUI_MOVIE_HANDLE hMovie, int Notification, U32 CurrentFrame); |
alejandroRL | 0:dd702039127a | 615 | |
alejandroRL | 0:dd702039127a | 616 | typedef struct { |
alejandroRL | 0:dd702039127a | 617 | int xSize; // X-size of images |
alejandroRL | 0:dd702039127a | 618 | int ySize; // Y-size of images |
alejandroRL | 0:dd702039127a | 619 | int msPerFrame; // Default duration of 1 frame |
alejandroRL | 0:dd702039127a | 620 | U32 NumFrames; // Number of frames |
alejandroRL | 0:dd702039127a | 621 | } GUI_MOVIE_INFO; |
alejandroRL | 0:dd702039127a | 622 | |
alejandroRL | 0:dd702039127a | 623 | GUI_MOVIE_HANDLE GUI_MOVIE_Create (const void * pFileData, U32 FileSize, GUI_MOVIE_FUNC * pfNotify); |
alejandroRL | 0:dd702039127a | 624 | GUI_MOVIE_HANDLE GUI_MOVIE_CreateEx (GUI_GET_DATA_FUNC * pfGetData, void * pParam, GUI_MOVIE_FUNC * pfNotify); |
alejandroRL | 0:dd702039127a | 625 | int GUI_MOVIE_Delete (GUI_MOVIE_HANDLE hMovie); |
alejandroRL | 0:dd702039127a | 626 | U32 GUI_MOVIE_GetFrameIndex(GUI_MOVIE_HANDLE hMovie); |
alejandroRL | 0:dd702039127a | 627 | int GUI_MOVIE_GetInfo (const void * pFileData, U32 FileSize, GUI_MOVIE_INFO * pInfo); |
alejandroRL | 0:dd702039127a | 628 | int GUI_MOVIE_GetInfoEx (GUI_GET_DATA_FUNC * pfGetData, void * pParam, GUI_MOVIE_INFO * pInfo); |
alejandroRL | 0:dd702039127a | 629 | int GUI_MOVIE_GetPos (GUI_MOVIE_HANDLE hMovie, int * pxPos, int * pyPos, int * pxSize, int * pySize); |
alejandroRL | 0:dd702039127a | 630 | int GUI_MOVIE_GotoFrame (GUI_MOVIE_HANDLE hMovie, U32 Frame); |
alejandroRL | 0:dd702039127a | 631 | int GUI_MOVIE_Pause (GUI_MOVIE_HANDLE hMovie); |
alejandroRL | 0:dd702039127a | 632 | int GUI_MOVIE_Play (GUI_MOVIE_HANDLE hMovie); |
alejandroRL | 0:dd702039127a | 633 | int GUI_MOVIE_SetPeriod (GUI_MOVIE_HANDLE hMovie, unsigned Period); |
alejandroRL | 0:dd702039127a | 634 | int GUI_MOVIE_SetPos (GUI_MOVIE_HANDLE hMovie, int xPos, int yPos); |
alejandroRL | 0:dd702039127a | 635 | int GUI_MOVIE_Show (GUI_MOVIE_HANDLE hMovie, int xPos, int yPos, int DoLoop); |
alejandroRL | 0:dd702039127a | 636 | |
alejandroRL | 0:dd702039127a | 637 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 638 | * |
alejandroRL | 0:dd702039127a | 639 | * Cursor routines |
alejandroRL | 0:dd702039127a | 640 | */ |
alejandroRL | 0:dd702039127a | 641 | #define GUI_CURSOR_SHOW 0 |
alejandroRL | 0:dd702039127a | 642 | #define GUI_CURSOR_HIDE 1 |
alejandroRL | 0:dd702039127a | 643 | |
alejandroRL | 0:dd702039127a | 644 | typedef struct { |
alejandroRL | 0:dd702039127a | 645 | const GUI_BITMAP * pBitmap; |
alejandroRL | 0:dd702039127a | 646 | int xHot; |
alejandroRL | 0:dd702039127a | 647 | int yHot; |
alejandroRL | 0:dd702039127a | 648 | } GUI_CURSOR; |
alejandroRL | 0:dd702039127a | 649 | |
alejandroRL | 0:dd702039127a | 650 | typedef struct { |
alejandroRL | 0:dd702039127a | 651 | const GUI_BITMAP ** ppBm; |
alejandroRL | 0:dd702039127a | 652 | int xHot; |
alejandroRL | 0:dd702039127a | 653 | int yHot; |
alejandroRL | 0:dd702039127a | 654 | unsigned Period; |
alejandroRL | 0:dd702039127a | 655 | const unsigned * pPeriod; |
alejandroRL | 0:dd702039127a | 656 | int NumItems; |
alejandroRL | 0:dd702039127a | 657 | } GUI_CURSOR_ANIM; |
alejandroRL | 0:dd702039127a | 658 | |
alejandroRL | 0:dd702039127a | 659 | #if GUI_SUPPORT_CURSOR |
alejandroRL | 0:dd702039127a | 660 | int GUI_CURSOR_GetState (void); |
alejandroRL | 0:dd702039127a | 661 | int GUI_CURSOR_GetStateEx (int Layer); |
alejandroRL | 0:dd702039127a | 662 | void GUI_CURSOR_Hide (void); |
alejandroRL | 0:dd702039127a | 663 | void GUI_CURSOR_HideEx (int Layer); |
alejandroRL | 0:dd702039127a | 664 | const GUI_CURSOR * GUI_CURSOR_Select (const GUI_CURSOR * pCursor); |
alejandroRL | 0:dd702039127a | 665 | const GUI_CURSOR * GUI_CURSOR_SelectEx (const GUI_CURSOR * pCursor, int Layer); |
alejandroRL | 0:dd702039127a | 666 | int GUI_CURSOR_SelectAnim (const GUI_CURSOR_ANIM * pCursorAnim); |
alejandroRL | 0:dd702039127a | 667 | int GUI_CURSOR_SelectAnimEx (const GUI_CURSOR_ANIM * pCursorAnim, int LayerIndex); |
alejandroRL | 0:dd702039127a | 668 | int GUI_CURSOR_SetBitmap (const GUI_BITMAP * pBM); |
alejandroRL | 0:dd702039127a | 669 | int GUI_CURSOR_SetBitmapEx (const GUI_BITMAP * pBM, int Layer); |
alejandroRL | 0:dd702039127a | 670 | void GUI_CURSOR_SetPosition (int x, int y); |
alejandroRL | 0:dd702039127a | 671 | void GUI_CURSOR_SetPositionEx(int xNewPos, int yNewPos, int Layer); |
alejandroRL | 0:dd702039127a | 672 | void GUI_CURSOR_Show (void); |
alejandroRL | 0:dd702039127a | 673 | void GUI_CURSOR_ShowEx (int Layer); |
alejandroRL | 0:dd702039127a | 674 | GUI_HSPRITE GUI_CURSOR__GetSpriteEx (int LayerIndex, int * pxPos, int * pyPos); |
alejandroRL | 0:dd702039127a | 675 | void GUI_CURSOR__SetSpriteEx (GUI_HSPRITE hSprite, const GUI_CURSOR * pCursor, int LayerIndex); |
alejandroRL | 0:dd702039127a | 676 | #else |
alejandroRL | 0:dd702039127a | 677 | #define GUI_CURSOR_Show(); |
alejandroRL | 0:dd702039127a | 678 | #define GUI_CURSOR_Clear(); |
alejandroRL | 0:dd702039127a | 679 | #endif |
alejandroRL | 0:dd702039127a | 680 | |
alejandroRL | 0:dd702039127a | 681 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 682 | * |
alejandroRL | 0:dd702039127a | 683 | * Sprite support |
alejandroRL | 0:dd702039127a | 684 | */ |
alejandroRL | 0:dd702039127a | 685 | #define GUI_SPRITE_CF_STAYONTOP (1 << 0) |
alejandroRL | 0:dd702039127a | 686 | #define GUI_SPRITE_CF_SHOW (1 << 1) |
alejandroRL | 0:dd702039127a | 687 | |
alejandroRL | 0:dd702039127a | 688 | #define GUI_SPRITE_SHOW 0 |
alejandroRL | 0:dd702039127a | 689 | #define GUI_SPRITE_HIDE 1 |
alejandroRL | 0:dd702039127a | 690 | |
alejandroRL | 0:dd702039127a | 691 | GUI_HSPRITE GUI_SPRITE__CreateEx (const GUI_BITMAP * pBM, int x, int y, int Layer, U16 Flags); /* Not to be documented, only used by cursor modul */ |
alejandroRL | 0:dd702039127a | 692 | void GUI_SPRITE__SetCallback (GUI_HSPRITE hSprite, GUI_HMEM hContext, void (* pCB)(GUI_HSPRITE, int)); |
alejandroRL | 0:dd702039127a | 693 | GUI_HSPRITE GUI_SPRITE_Create (const GUI_BITMAP * pBM, int x, int y); |
alejandroRL | 0:dd702039127a | 694 | GUI_HSPRITE GUI_SPRITE_CreateAnim (const GUI_BITMAP ** ppBm, int x, int y, unsigned Period, const unsigned * pPeriod, int NumItems); |
alejandroRL | 0:dd702039127a | 695 | GUI_HSPRITE GUI_SPRITE_CreateEx (const GUI_BITMAP * pBM, int x, int y, int Layer); |
alejandroRL | 0:dd702039127a | 696 | GUI_HSPRITE GUI_SPRITE_CreateExAnim (const GUI_BITMAP ** ppBm, int x, int y, unsigned Period, const unsigned * pPeriod, int NumItems, int LayerIndex); |
alejandroRL | 0:dd702039127a | 697 | GUI_HSPRITE GUI_SPRITE_CreateHidden (const GUI_BITMAP * pBM, int x, int y); |
alejandroRL | 0:dd702039127a | 698 | GUI_HSPRITE GUI_SPRITE_CreateHiddenEx (const GUI_BITMAP * pBM, int x, int y, int Layer); |
alejandroRL | 0:dd702039127a | 699 | void GUI_SPRITE_Delete (GUI_HSPRITE hSprite); |
alejandroRL | 0:dd702039127a | 700 | int GUI_SPRITE_GetState (GUI_HSPRITE hSprite); |
alejandroRL | 0:dd702039127a | 701 | void GUI_SPRITE_Hide (GUI_HSPRITE hSprite); |
alejandroRL | 0:dd702039127a | 702 | int GUI_SPRITE_SetBitmap (GUI_HSPRITE hSprite, const GUI_BITMAP * pBM); |
alejandroRL | 0:dd702039127a | 703 | int GUI_SPRITE_SetBitmapAndPosition(GUI_HSPRITE hSprite, const GUI_BITMAP * pBM, int x, int y); |
alejandroRL | 0:dd702039127a | 704 | int GUI_SPRITE_SetLoop (GUI_HSPRITE hSprite, int OnOff); |
alejandroRL | 0:dd702039127a | 705 | void GUI_SPRITE_SetPosition (GUI_HSPRITE hSprite, int x, int y); |
alejandroRL | 0:dd702039127a | 706 | int GUI_SPRITE_StartAnim (GUI_HSPRITE hSprite); |
alejandroRL | 0:dd702039127a | 707 | int GUI_SPRITE_StopAnim (GUI_HSPRITE hSprite); |
alejandroRL | 0:dd702039127a | 708 | void GUI_SPRITE_Show (GUI_HSPRITE hSprite); |
alejandroRL | 0:dd702039127a | 709 | |
alejandroRL | 0:dd702039127a | 710 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 711 | * |
alejandroRL | 0:dd702039127a | 712 | * Cursors and their bitmaps |
alejandroRL | 0:dd702039127a | 713 | */ |
alejandroRL | 0:dd702039127a | 714 | extern GUI_CONST_STORAGE GUI_CURSOR GUI_CursorArrowS, GUI_CursorArrowSI; |
alejandroRL | 0:dd702039127a | 715 | extern GUI_CONST_STORAGE GUI_CURSOR GUI_CursorArrowM, GUI_CursorArrowMI; |
alejandroRL | 0:dd702039127a | 716 | extern GUI_CONST_STORAGE GUI_CURSOR GUI_CursorArrowL, GUI_CursorArrowLI; |
alejandroRL | 0:dd702039127a | 717 | extern GUI_CONST_STORAGE GUI_CURSOR GUI_CursorCrossS, GUI_CursorCrossSI; |
alejandroRL | 0:dd702039127a | 718 | extern GUI_CONST_STORAGE GUI_CURSOR GUI_CursorCrossM, GUI_CursorCrossMI; |
alejandroRL | 0:dd702039127a | 719 | extern GUI_CONST_STORAGE GUI_CURSOR GUI_CursorCrossL, GUI_CursorCrossLI; |
alejandroRL | 0:dd702039127a | 720 | extern GUI_CONST_STORAGE GUI_CURSOR GUI_CursorHeaderM, GUI_CursorHeaderMI; |
alejandroRL | 0:dd702039127a | 721 | |
alejandroRL | 0:dd702039127a | 722 | extern GUI_CONST_STORAGE GUI_BITMAP GUI_BitmapArrowS, GUI_BitmapArrowSI; |
alejandroRL | 0:dd702039127a | 723 | extern GUI_CONST_STORAGE GUI_BITMAP GUI_BitmapArrowM, GUI_BitmapArrowMI; |
alejandroRL | 0:dd702039127a | 724 | extern GUI_CONST_STORAGE GUI_BITMAP GUI_BitmapArrowL, GUI_BitmapArrowLI; |
alejandroRL | 0:dd702039127a | 725 | extern GUI_CONST_STORAGE GUI_BITMAP GUI_BitmapCrossS, GUI_BitmapCrossSI; |
alejandroRL | 0:dd702039127a | 726 | extern GUI_CONST_STORAGE GUI_BITMAP GUI_BitmapCrossM, GUI_BitmapCrossMI; |
alejandroRL | 0:dd702039127a | 727 | extern GUI_CONST_STORAGE GUI_BITMAP GUI_BitmapCrossL, GUI_BitmapCrossLI; |
alejandroRL | 0:dd702039127a | 728 | |
alejandroRL | 0:dd702039127a | 729 | extern GUI_CONST_STORAGE GUI_CURSOR_ANIM GUI_CursorAnimHourglassM; |
alejandroRL | 0:dd702039127a | 730 | |
alejandroRL | 0:dd702039127a | 731 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 732 | * |
alejandroRL | 0:dd702039127a | 733 | * Wrap modes |
alejandroRL | 0:dd702039127a | 734 | */ |
alejandroRL | 0:dd702039127a | 735 | typedef enum { GUI_WRAPMODE_NONE, GUI_WRAPMODE_WORD, GUI_WRAPMODE_CHAR } GUI_WRAPMODE; |
alejandroRL | 0:dd702039127a | 736 | |
alejandroRL | 0:dd702039127a | 737 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 738 | * |
alejandroRL | 0:dd702039127a | 739 | * Text related routines |
alejandroRL | 0:dd702039127a | 740 | */ |
alejandroRL | 0:dd702039127a | 741 | void GUI_DispCEOL (void); |
alejandroRL | 0:dd702039127a | 742 | void GUI_DispChar (U16 c); |
alejandroRL | 0:dd702039127a | 743 | void GUI_DispCharAt (U16 c, I16P x, I16P y); |
alejandroRL | 0:dd702039127a | 744 | void GUI_DispChars (U16 c, int Cnt); |
alejandroRL | 0:dd702039127a | 745 | void GUI_DispNextLine (void); |
alejandroRL | 0:dd702039127a | 746 | void GUI_DispString (const char * s); |
alejandroRL | 0:dd702039127a | 747 | void GUI_DispStringAt (const char * s, int x, int y); |
alejandroRL | 0:dd702039127a | 748 | void GUI_DispStringAtCEOL (const char * s, int x, int y); |
alejandroRL | 0:dd702039127a | 749 | void GUI_DispStringHCenterAt (const char * s, int x, int y); |
alejandroRL | 0:dd702039127a | 750 | void GUI__DispStringInRect (const char * s, GUI_RECT * pRect, int TextAlign, int MaxNumChars); |
alejandroRL | 0:dd702039127a | 751 | void GUI_DispStringInRect (const char * s, GUI_RECT * pRect, int TextAlign); |
alejandroRL | 0:dd702039127a | 752 | #if GUI_SUPPORT_ROTATION |
alejandroRL | 0:dd702039127a | 753 | void GUI_DispStringInRectEx (const char * s, GUI_RECT * pRect, int TextAlign, int MaxLen, const GUI_ROTATION * pLCD_Api); |
alejandroRL | 0:dd702039127a | 754 | #endif |
alejandroRL | 0:dd702039127a | 755 | void GUI_DispStringInRectMax (const char * s, GUI_RECT * pRect, int TextAlign, int MaxLen); /* Not to be doc. */ |
alejandroRL | 0:dd702039127a | 756 | void GUI_DispStringInRectWrap (const char * s, GUI_RECT * pRect, int TextAlign, GUI_WRAPMODE WrapMode); /* Not to be doc. */ |
alejandroRL | 0:dd702039127a | 757 | void GUI_DispStringLen (const char * s, int Len); |
alejandroRL | 0:dd702039127a | 758 | void GUI_GetTextExtend (GUI_RECT* pRect, const char * s, int Len); |
alejandroRL | 0:dd702039127a | 759 | int GUI_GetYAdjust (void); |
alejandroRL | 0:dd702039127a | 760 | int GUI_GetDispPosX (void); |
alejandroRL | 0:dd702039127a | 761 | int GUI_GetDispPosY (void); |
alejandroRL | 0:dd702039127a | 762 | const GUI_FONT * GUI_GetFont(void); |
alejandroRL | 0:dd702039127a | 763 | int GUI_GetCharDistX (U16 c); |
alejandroRL | 0:dd702039127a | 764 | int GUI_GetCharDistXEx (U16 c, int * pSizeX); |
alejandroRL | 0:dd702039127a | 765 | int GUI_GetStringDistX (const char * s); |
alejandroRL | 0:dd702039127a | 766 | GUI_DRAWMODE GUI_GetDrawMode (void); |
alejandroRL | 0:dd702039127a | 767 | int GUI_GetFontDistY (void); |
alejandroRL | 0:dd702039127a | 768 | int GUI_GetFontSizeY (void); |
alejandroRL | 0:dd702039127a | 769 | void GUI_GetFontInfo (const GUI_FONT * pFont, GUI_FONTINFO * pfi); |
alejandroRL | 0:dd702039127a | 770 | void GUI_GetOrg (int * px, int * py); |
alejandroRL | 0:dd702039127a | 771 | int GUI_GetYSizeOfFont (const GUI_FONT * pFont); |
alejandroRL | 0:dd702039127a | 772 | int GUI_GetYDistOfFont (const GUI_FONT * pFont); |
alejandroRL | 0:dd702039127a | 773 | int GUI_GetTextAlign (void); |
alejandroRL | 0:dd702039127a | 774 | int GUI_GetTextMode (void); |
alejandroRL | 0:dd702039127a | 775 | char GUI_IsInFont (const GUI_FONT * pFont, U16 c); |
alejandroRL | 0:dd702039127a | 776 | int GUI_SetTextAlign (int Align); |
alejandroRL | 0:dd702039127a | 777 | int GUI_SetTextMode (int Mode); |
alejandroRL | 0:dd702039127a | 778 | char GUI_SetTextStyle (char Style); |
alejandroRL | 0:dd702039127a | 779 | int GUI_SetLBorder (int x); |
alejandroRL | 0:dd702039127a | 780 | const GUI_FONT * GUI_SetFont(const GUI_FONT * pNewFont); |
alejandroRL | 0:dd702039127a | 781 | char GUI_GotoXY (int x, int y); |
alejandroRL | 0:dd702039127a | 782 | char GUI_GotoX (int x); |
alejandroRL | 0:dd702039127a | 783 | char GUI_GotoY (int y); |
alejandroRL | 0:dd702039127a | 784 | int GUI_WrapGetNumLines (const char * pText, int xSize, GUI_WRAPMODE WrapMode); |
alejandroRL | 0:dd702039127a | 785 | |
alejandroRL | 0:dd702039127a | 786 | int GUI_GetLeadingBlankCols (U16 c); |
alejandroRL | 0:dd702039127a | 787 | int GUI_GetTrailingBlankCols(U16 c); |
alejandroRL | 0:dd702039127a | 788 | |
alejandroRL | 0:dd702039127a | 789 | |
alejandroRL | 0:dd702039127a | 790 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 791 | * |
alejandroRL | 0:dd702039127a | 792 | * System independent fonts (SIF) |
alejandroRL | 0:dd702039127a | 793 | */ |
alejandroRL | 0:dd702039127a | 794 | void GUI_SIF_CreateFont(const void * pFontData, GUI_FONT * pFont, const GUI_SIF_TYPE * pFontType); |
alejandroRL | 0:dd702039127a | 795 | void GUI_SIF_DeleteFont(GUI_FONT * pFont); |
alejandroRL | 0:dd702039127a | 796 | |
alejandroRL | 0:dd702039127a | 797 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 798 | * |
alejandroRL | 0:dd702039127a | 799 | * External binary fonts (XBF) |
alejandroRL | 0:dd702039127a | 800 | */ |
alejandroRL | 0:dd702039127a | 801 | int GUI_XBF_CreateFont(GUI_FONT * pFont, GUI_XBF_DATA * pXBF, const GUI_XBF_TYPE * pFontType, GUI_XBF_GET_DATA_FUNC * pfGetData, void * pVoid); |
alejandroRL | 0:dd702039127a | 802 | void GUI_XBF_DeleteFont(GUI_FONT * pFont); |
alejandroRL | 0:dd702039127a | 803 | |
alejandroRL | 0:dd702039127a | 804 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 805 | * |
alejandroRL | 0:dd702039127a | 806 | * TrueType support (TTF) |
alejandroRL | 0:dd702039127a | 807 | */ |
alejandroRL | 0:dd702039127a | 808 | int GUI_TTF_CreateFont (GUI_FONT * pFont, GUI_TTF_CS * pCS); |
alejandroRL | 0:dd702039127a | 809 | int GUI_TTF_CreateFontAA (GUI_FONT * pFont, GUI_TTF_CS * pCS); |
alejandroRL | 0:dd702039127a | 810 | void GUI_TTF_DestroyCache (void); |
alejandroRL | 0:dd702039127a | 811 | void GUI_TTF_Done (void); |
alejandroRL | 0:dd702039127a | 812 | int GUI_TTF_GetFamilyName(GUI_FONT * pFont, char * pBuffer, int NumBytes); |
alejandroRL | 0:dd702039127a | 813 | int GUI_TTF_GetStyleName (GUI_FONT * pFont, char * pBuffer, int NumBytes); |
alejandroRL | 0:dd702039127a | 814 | void GUI_TTF_SetCacheSize (unsigned MaxFaces, unsigned MaxSizes, U32 MaxBytes); |
alejandroRL | 0:dd702039127a | 815 | |
alejandroRL | 0:dd702039127a | 816 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 817 | * |
alejandroRL | 0:dd702039127a | 818 | * Resource file support |
alejandroRL | 0:dd702039127a | 819 | */ |
alejandroRL | 0:dd702039127a | 820 | int GUI_LANG_GetLang (void); |
alejandroRL | 0:dd702039127a | 821 | int GUI_LANG_GetNumItems (int IndexLang); |
alejandroRL | 0:dd702039127a | 822 | const char * GUI_LANG_GetText (int IndexText); |
alejandroRL | 0:dd702039127a | 823 | int GUI_LANG_GetTextBuffered (int IndexText, char * pBuffer, int SizeOfBuffer); |
alejandroRL | 0:dd702039127a | 824 | int GUI_LANG_GetTextBufferedEx(int IndexText, int IndexLang, char * pBuffer, int SizeOfBuffer); |
alejandroRL | 0:dd702039127a | 825 | const char * GUI_LANG_GetTextEx (int IndexText, int IndexLang); |
alejandroRL | 0:dd702039127a | 826 | int GUI_LANG_LoadCSV (U8 * pFileData, U32 FileSize); |
alejandroRL | 0:dd702039127a | 827 | int GUI_LANG_LoadCSVEx (GUI_GET_DATA_FUNC * pfGetData, void * p); |
alejandroRL | 0:dd702039127a | 828 | int GUI_LANG_LoadText (U8 * pFileData, U32 FileSize, int IndexLang); |
alejandroRL | 0:dd702039127a | 829 | int GUI_LANG_LoadTextEx (GUI_GET_DATA_FUNC * pfGetData, void * p, int IndexLang); |
alejandroRL | 0:dd702039127a | 830 | int GUI_LANG_SetLang (int IndexLang); |
alejandroRL | 0:dd702039127a | 831 | unsigned GUI_LANG_SetMaxNumLang (unsigned MaxNumLang); |
alejandroRL | 0:dd702039127a | 832 | U16 GUI_LANG_SetSep (U16 Sep); |
alejandroRL | 0:dd702039127a | 833 | |
alejandroRL | 0:dd702039127a | 834 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 835 | * |
alejandroRL | 0:dd702039127a | 836 | * Unicode support |
alejandroRL | 0:dd702039127a | 837 | */ |
alejandroRL | 0:dd702039127a | 838 | int GUI_UC_ConvertUC2UTF8(const U16 * s, int Len, char * pBuffer, int BufferSize); |
alejandroRL | 0:dd702039127a | 839 | int GUI_UC_ConvertUTF82UC(const char * s, int Len, U16 * pBuffer, int BufferSize); |
alejandroRL | 0:dd702039127a | 840 | int GUI_UC_EnableBIDI (int OnOff); |
alejandroRL | 0:dd702039127a | 841 | int GUI_UC_Encode (char * s, U16 Char); |
alejandroRL | 0:dd702039127a | 842 | int GUI_UC_GetCharSize (const char * s); |
alejandroRL | 0:dd702039127a | 843 | U16 GUI_UC_GetCharCode (const char * s); |
alejandroRL | 0:dd702039127a | 844 | void GUI_UC_SetEncodeNone (void); |
alejandroRL | 0:dd702039127a | 845 | void GUI_UC_SetEncodeUTF8 (void); |
alejandroRL | 0:dd702039127a | 846 | void GUI_UC_SetBaseDir (int Dir); // Only available with new version of BIDI algorithm |
alejandroRL | 0:dd702039127a | 847 | int GUI_UC_GetBaseDir (void); // Only available with new version of BIDI algorithm |
alejandroRL | 0:dd702039127a | 848 | |
alejandroRL | 0:dd702039127a | 849 | void GUI_UC_DispString(const U16 * s); |
alejandroRL | 0:dd702039127a | 850 | void GUI_UC2DB (U16 Code, U8 * pOut); |
alejandroRL | 0:dd702039127a | 851 | U16 GUI_DB2UC (U8 Byte0, U8 Byte1); |
alejandroRL | 0:dd702039127a | 852 | |
alejandroRL | 0:dd702039127a | 853 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 854 | * |
alejandroRL | 0:dd702039127a | 855 | * Bidi support |
alejandroRL | 0:dd702039127a | 856 | */ |
alejandroRL | 0:dd702039127a | 857 | #define GUI_BIDI_BASEDIR_LTR 0 |
alejandroRL | 0:dd702039127a | 858 | #define GUI_BIDI_BASEDIR_RTL 1 |
alejandroRL | 0:dd702039127a | 859 | #define GUI_BIDI_BASEDIR_AUTO 2 |
alejandroRL | 0:dd702039127a | 860 | |
alejandroRL | 0:dd702039127a | 861 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 862 | * |
alejandroRL | 0:dd702039127a | 863 | * Drawing of binary, decimal and hexadecimal values |
alejandroRL | 0:dd702039127a | 864 | */ |
alejandroRL | 0:dd702039127a | 865 | void GUI_DispBin (U32 v, U8 Len); |
alejandroRL | 0:dd702039127a | 866 | void GUI_DispBinAt(U32 v, I16P x, I16P y, U8 Len); |
alejandroRL | 0:dd702039127a | 867 | void GUI_DispDec (I32 v, U8 Len); |
alejandroRL | 0:dd702039127a | 868 | void GUI_DispDecAt (I32 v, I16P x, I16P y, U8 Len); |
alejandroRL | 0:dd702039127a | 869 | void GUI_DispDecMin(I32 v); |
alejandroRL | 0:dd702039127a | 870 | void GUI_DispDecShift(I32 v, U8 Len, U8 Shift); |
alejandroRL | 0:dd702039127a | 871 | void GUI_DispDecSpace(I32 v, U8 MaxDigits); |
alejandroRL | 0:dd702039127a | 872 | void GUI_DispHex (U32 v, U8 Len); |
alejandroRL | 0:dd702039127a | 873 | void GUI_DispHexAt(U32 v, I16P x, I16P y, U8 Len); |
alejandroRL | 0:dd702039127a | 874 | void GUI_DispSDec(I32 v, U8 Len); |
alejandroRL | 0:dd702039127a | 875 | void GUI_DispSDecShift(I32 v, U8 Len, U8 Shift); |
alejandroRL | 0:dd702039127a | 876 | |
alejandroRL | 0:dd702039127a | 877 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 878 | * |
alejandroRL | 0:dd702039127a | 879 | * Drawing of floating point values |
alejandroRL | 0:dd702039127a | 880 | */ |
alejandroRL | 0:dd702039127a | 881 | void GUI_DispFloat (float v, char Len); |
alejandroRL | 0:dd702039127a | 882 | void GUI_DispFloatFix (float v, char Len, char Fract); |
alejandroRL | 0:dd702039127a | 883 | void GUI_DispFloatMin (float v, char Fract); |
alejandroRL | 0:dd702039127a | 884 | void GUI_DispSFloatFix(float v, char Len, char Fract); |
alejandroRL | 0:dd702039127a | 885 | void GUI_DispSFloatMin(float v, char Fract); |
alejandroRL | 0:dd702039127a | 886 | |
alejandroRL | 0:dd702039127a | 887 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 888 | * |
alejandroRL | 0:dd702039127a | 889 | * Dynamic memory management |
alejandroRL | 0:dd702039127a | 890 | */ |
alejandroRL | 0:dd702039127a | 891 | typedef struct { |
alejandroRL | 0:dd702039127a | 892 | U32 TotalBytes; |
alejandroRL | 0:dd702039127a | 893 | U32 FreeBytes; |
alejandroRL | 0:dd702039127a | 894 | U32 UsedBytes; |
alejandroRL | 0:dd702039127a | 895 | U32 AllocSize; |
alejandroRL | 0:dd702039127a | 896 | U32 NumFixedBytes; |
alejandroRL | 0:dd702039127a | 897 | U32 MaxUsedBytes; |
alejandroRL | 0:dd702039127a | 898 | } GUI_ALLOC_INFO; |
alejandroRL | 0:dd702039127a | 899 | |
alejandroRL | 0:dd702039127a | 900 | GUI_ALLOC_DATATYPE GUI_ALLOC_GetNumFreeBlocks(void); |
alejandroRL | 0:dd702039127a | 901 | GUI_ALLOC_DATATYPE GUI_ALLOC_GetNumFreeBytes (void); |
alejandroRL | 0:dd702039127a | 902 | GUI_ALLOC_DATATYPE GUI_ALLOC_GetNumUsedBlocks(void); |
alejandroRL | 0:dd702039127a | 903 | GUI_ALLOC_DATATYPE GUI_ALLOC_GetNumUsedBytes (void); |
alejandroRL | 0:dd702039127a | 904 | GUI_ALLOC_DATATYPE GUI_ALLOC_GetMaxUsedBytes (void); |
alejandroRL | 0:dd702039127a | 905 | |
alejandroRL | 0:dd702039127a | 906 | void GUI_ALLOC_GetMemInfo (GUI_ALLOC_INFO * pInfo); |
alejandroRL | 0:dd702039127a | 907 | void GUI_ALLOC_SuppressPeak(int OnOff); |
alejandroRL | 0:dd702039127a | 908 | |
alejandroRL | 0:dd702039127a | 909 | GUI_HMEM GUI_ALLOC_AllocInit (const void * pInitData, GUI_ALLOC_DATATYPE Size); |
alejandroRL | 0:dd702039127a | 910 | GUI_HMEM GUI_ALLOC_AllocNoInit (GUI_ALLOC_DATATYPE size); |
alejandroRL | 0:dd702039127a | 911 | GUI_HMEM GUI_ALLOC_AllocZero (GUI_ALLOC_DATATYPE size); |
alejandroRL | 0:dd702039127a | 912 | void GUI_ALLOC_AssignMemory (void * p, U32 NumBytes); |
alejandroRL | 0:dd702039127a | 913 | void GUI_ALLOC_Free (GUI_HMEM hMem); |
alejandroRL | 0:dd702039127a | 914 | void GUI_ALLOC_FreeFixedBlock (void * p); |
alejandroRL | 0:dd702039127a | 915 | void GUI_ALLOC_FreePtrArray (GUI_HMEM * pArray, int NumElems); |
alejandroRL | 0:dd702039127a | 916 | void GUI_ALLOC_FreePtr (GUI_HMEM * phMem); |
alejandroRL | 0:dd702039127a | 917 | void * GUI_ALLOC_GetFixedBlock (GUI_ALLOC_DATATYPE Size); |
alejandroRL | 0:dd702039127a | 918 | GUI_ALLOC_DATATYPE GUI_ALLOC_GetMaxSize (void); |
alejandroRL | 0:dd702039127a | 919 | GUI_ALLOC_DATATYPE GUI_ALLOC_GetSize (GUI_HMEM hMem); |
alejandroRL | 0:dd702039127a | 920 | void * GUI_ALLOC_h2p (GUI_HMEM hMem); |
alejandroRL | 0:dd702039127a | 921 | GUI_HMEM GUI_ALLOC_p2h (void * p); |
alejandroRL | 0:dd702039127a | 922 | void GUI_ALLOC_Init (void); |
alejandroRL | 0:dd702039127a | 923 | void GUI_ALLOC_Lock (void); |
alejandroRL | 0:dd702039127a | 924 | void * GUI_ALLOC_LockH (GUI_HMEM hMem); |
alejandroRL | 0:dd702039127a | 925 | GUI_HMEM GUI_ALLOC_Realloc (GUI_HMEM hOld, int NewSize); |
alejandroRL | 0:dd702039127a | 926 | GUI_ALLOC_DATATYPE GUI_ALLOC_RequestSize (void); |
alejandroRL | 0:dd702039127a | 927 | void GUI_ALLOC_SetAvBlockSize (U32 BlockSize); |
alejandroRL | 0:dd702039127a | 928 | void GUI_ALLOC_Unlock (void); |
alejandroRL | 0:dd702039127a | 929 | void * GUI_ALLOC_UnlockH (void ** pp); |
alejandroRL | 0:dd702039127a | 930 | int GUI_ALLOC_SetMaxPercentage(int MaxPercentage); |
alejandroRL | 0:dd702039127a | 931 | void GUI_ALLOC_Exit (void); |
alejandroRL | 0:dd702039127a | 932 | |
alejandroRL | 0:dd702039127a | 933 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 934 | * |
alejandroRL | 0:dd702039127a | 935 | * Memory devices: GUI_MEMDEV |
alejandroRL | 0:dd702039127a | 936 | */ |
alejandroRL | 0:dd702039127a | 937 | #define GUI_MEMDEV_HASTRANS 0 |
alejandroRL | 0:dd702039127a | 938 | #define GUI_MEMDEV_NOTRANS (1 << 0) |
alejandroRL | 0:dd702039127a | 939 | |
alejandroRL | 0:dd702039127a | 940 | typedef GUI_HMEM GUI_MEMDEV_Handle; |
alejandroRL | 0:dd702039127a | 941 | typedef void GUI_CALLBACK_VOID_P (void * p); |
alejandroRL | 0:dd702039127a | 942 | typedef int GUI_ANIMATION_CALLBACK_FUNC(int TimeRem, void * pVoid); |
alejandroRL | 0:dd702039127a | 943 | typedef void GUI_DRAWMEMDEV_16BPP_FUNC (void * pDst, const void * pSrc, int xSize, int ySize, int BytesPerLineDst, int BytesPerLineSrc); |
alejandroRL | 0:dd702039127a | 944 | |
alejandroRL | 0:dd702039127a | 945 | #define GUI_DRAWMEMDEV_FUNC GUI_DRAWMEMDEV_16BPP_FUNC |
alejandroRL | 0:dd702039127a | 946 | |
alejandroRL | 0:dd702039127a | 947 | typedef void GUI_DRAWBITMAP32_FUNC (int LayerIndex, int x, int y, U32 const * p, int xSize, int ySize, int BytesPerLine); |
alejandroRL | 0:dd702039127a | 948 | |
alejandroRL | 0:dd702039127a | 949 | int GUI_SetFuncDrawAlpha(GUI_DRAWMEMDEV_FUNC * pfDrawAlphaMemdevFunc, GUI_DRAWBITMAP32_FUNC * pfDrawAlphaBitmapFunc); |
alejandroRL | 0:dd702039127a | 950 | |
alejandroRL | 0:dd702039127a | 951 | extern GUI_ANIMATION_CALLBACK_FUNC * GUI_MEMDEV__pCbAnimation; |
alejandroRL | 0:dd702039127a | 952 | extern void * GUI_MEMDEV__pVoid; |
alejandroRL | 0:dd702039127a | 953 | |
alejandroRL | 0:dd702039127a | 954 | extern void (* GUI_MEMDEV__pfMEMDEV_Write) (GUI_MEMDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 955 | extern void (* GUI_MEMDEV__pfMEMDEV_CopyToLCD)(GUI_MEMDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 956 | |
alejandroRL | 0:dd702039127a | 957 | typedef struct { |
alejandroRL | 0:dd702039127a | 958 | GUI_RECT rView, rPrev; |
alejandroRL | 0:dd702039127a | 959 | char FirstCall; |
alejandroRL | 0:dd702039127a | 960 | } GUI_AUTODEV; |
alejandroRL | 0:dd702039127a | 961 | |
alejandroRL | 0:dd702039127a | 962 | typedef struct { |
alejandroRL | 0:dd702039127a | 963 | char DrawFixed; |
alejandroRL | 0:dd702039127a | 964 | char IsMeasurement; |
alejandroRL | 0:dd702039127a | 965 | } GUI_AUTODEV_INFO; |
alejandroRL | 0:dd702039127a | 966 | |
alejandroRL | 0:dd702039127a | 967 | int GUI_MEMDEV_CreateAuto(GUI_AUTODEV * pAutoDev); |
alejandroRL | 0:dd702039127a | 968 | void GUI_MEMDEV_DeleteAuto(GUI_AUTODEV * pAutoDev); |
alejandroRL | 0:dd702039127a | 969 | int GUI_MEMDEV_DrawAuto (GUI_AUTODEV * pAutoDev, GUI_AUTODEV_INFO * pAutoDevInfo, GUI_CALLBACK_VOID_P * pfDraw, void * pData); |
alejandroRL | 0:dd702039127a | 970 | |
alejandroRL | 0:dd702039127a | 971 | /* Create a memory device which is compatible to the selected LCD */ |
alejandroRL | 0:dd702039127a | 972 | GUI_MEMDEV_Handle GUI_MEMDEV_Create (int x0, int y0, int xSize, int ySize); |
alejandroRL | 0:dd702039127a | 973 | GUI_MEMDEV_Handle GUI_MEMDEV_CreateEx (int x0, int y0, int xSize, int ySize, int Flags); |
alejandroRL | 0:dd702039127a | 974 | GUI_MEMDEV_Handle GUI_MEMDEV_CreateFixed (int x0, int y0, int xSize, int ySize, int Flags, |
alejandroRL | 0:dd702039127a | 975 | const GUI_DEVICE_API * pDeviceAPI, |
alejandroRL | 0:dd702039127a | 976 | const LCD_API_COLOR_CONV * pColorConvAPI); |
alejandroRL | 0:dd702039127a | 977 | GUI_MEMDEV_Handle GUI_MEMDEV_CreateFixed32(int x0, int y0, int xSize, int ySize); |
alejandroRL | 0:dd702039127a | 978 | |
alejandroRL | 0:dd702039127a | 979 | void GUI_MEMDEV_Clear (GUI_MEMDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 980 | int GUI_MEMDEV_ClearAlpha (GUI_MEMDEV_Handle hMemData, GUI_MEMDEV_Handle hMemMask); |
alejandroRL | 0:dd702039127a | 981 | void GUI_MEMDEV_CopyFromLCD (GUI_MEMDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 982 | void GUI_MEMDEV_CopyFromLCDAA (GUI_MEMDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 983 | void GUI_MEMDEV_CopyToLCD (GUI_MEMDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 984 | void GUI_MEMDEV_CopyToLCDAA (GUI_MEMDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 985 | void GUI_MEMDEV_CopyToLCDAt (GUI_MEMDEV_Handle hMem, int x, int y); |
alejandroRL | 0:dd702039127a | 986 | int GUI_MEMDEV_CompareWithLCD (GUI_MEMDEV_Handle hMem, int * px, int * py, int * pExp, int * pAct); |
alejandroRL | 0:dd702039127a | 987 | void GUI_MEMDEV_Delete (GUI_MEMDEV_Handle MemDev); |
alejandroRL | 0:dd702039127a | 988 | void GUI_MEMDEV_DrawPerspectiveX (GUI_MEMDEV_Handle hMem, int x, int y, int h0, int h1, int dx, int dy); |
alejandroRL | 0:dd702039127a | 989 | int GUI_MEMDEV_GetXPos (GUI_MEMDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 990 | int GUI_MEMDEV_GetXSize (GUI_MEMDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 991 | int GUI_MEMDEV_GetYPos (GUI_MEMDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 992 | int GUI_MEMDEV_GetYSize (GUI_MEMDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 993 | void GUI_MEMDEV_MarkDirty (GUI_MEMDEV_Handle hMem, int x0, int y0, int x1, int y1); |
alejandroRL | 0:dd702039127a | 994 | void GUI_MEMDEV_ReduceYSize (GUI_MEMDEV_Handle hMem, int YSize); |
alejandroRL | 0:dd702039127a | 995 | void GUI_MEMDEV_Rotate (GUI_MEMDEV_Handle hSrc, GUI_MEMDEV_Handle hDst, int dx, int dy, int a, int Mag); |
alejandroRL | 0:dd702039127a | 996 | void GUI_MEMDEV_RotateAlpha (GUI_MEMDEV_Handle hSrc, GUI_MEMDEV_Handle hDst, int dx, int dy, int a, int Mag, U8 Alpha); |
alejandroRL | 0:dd702039127a | 997 | void GUI_MEMDEV_RotateHR (GUI_MEMDEV_Handle hSrc, GUI_MEMDEV_Handle hDst, I32 dx, I32 dy, int a, int Mag); |
alejandroRL | 0:dd702039127a | 998 | void GUI_MEMDEV__Rotate (GUI_MEMDEV_Handle hSrc, GUI_MEMDEV_Handle hDst, int dx, int dy, int a, int Mag, U32 Mask); |
alejandroRL | 0:dd702039127a | 999 | void GUI_MEMDEV__RotateHR (GUI_MEMDEV_Handle hSrc, GUI_MEMDEV_Handle hDst, I32 dx, I32 dy, int a, int Mag, U32 Mask); |
alejandroRL | 0:dd702039127a | 1000 | void GUI_MEMDEV_RotateHQ (GUI_MEMDEV_Handle hSrc, GUI_MEMDEV_Handle hDst, int dx, int dy, int a, int Mag); |
alejandroRL | 0:dd702039127a | 1001 | void GUI_MEMDEV_RotateHQAlpha (GUI_MEMDEV_Handle hSrc, GUI_MEMDEV_Handle hDst, int dx, int dy, int a, int Mag, U8 Alpha); |
alejandroRL | 0:dd702039127a | 1002 | void GUI_MEMDEV_RotateHQHR (GUI_MEMDEV_Handle hSrc, GUI_MEMDEV_Handle hDst, I32 dx, I32 dy, int a, int Mag); |
alejandroRL | 0:dd702039127a | 1003 | void GUI_MEMDEV_RotateHQT (GUI_MEMDEV_Handle hSrc, GUI_MEMDEV_Handle hDst, int dx, int dy, int a, int Mag); |
alejandroRL | 0:dd702039127a | 1004 | void GUI_MEMDEV_RotateHQTI (GUI_MEMDEV_Handle hSrc, GUI_MEMDEV_Handle hDst, int dx, int dy, int a, int Mag); |
alejandroRL | 0:dd702039127a | 1005 | GUI_MEMDEV_Handle GUI_MEMDEV_Select (GUI_MEMDEV_Handle hMem); /* Select (activate) a particular memory device. */ |
alejandroRL | 0:dd702039127a | 1006 | void GUI_MEMDEV_SetOrg (GUI_MEMDEV_Handle hMem, int x0, int y0); |
alejandroRL | 0:dd702039127a | 1007 | void GUI_MEMDEV_WriteAt (GUI_MEMDEV_Handle hMem, int x, int y); |
alejandroRL | 0:dd702039127a | 1008 | void GUI_MEMDEV_Write (GUI_MEMDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 1009 | void GUI_MEMDEV_WriteAlphaAt (GUI_MEMDEV_Handle hMem, int Alpha, int x, int y); |
alejandroRL | 0:dd702039127a | 1010 | void GUI_MEMDEV_WriteAlpha (GUI_MEMDEV_Handle hMem, int Alpha); |
alejandroRL | 0:dd702039127a | 1011 | void GUI_MEMDEV_WriteExAt (GUI_MEMDEV_Handle hMem, int x, int y, int xMag, int yMag, int Alpha); |
alejandroRL | 0:dd702039127a | 1012 | void GUI_MEMDEV_WriteEx (GUI_MEMDEV_Handle hMem, int xMag, int yMag, int Alpha); |
alejandroRL | 0:dd702039127a | 1013 | void GUI_MEMDEV_WriteOpaque (GUI_MEMDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 1014 | void GUI_MEMDEV_WriteOpaqueAt (GUI_MEMDEV_Handle hMem, int x, int y); |
alejandroRL | 0:dd702039127a | 1015 | int GUI_MEMDEV_Draw (GUI_RECT * pRect, GUI_CALLBACK_VOID_P * pfDraw, void * pData, int NumLines, int Flags); |
alejandroRL | 0:dd702039127a | 1016 | void* GUI_MEMDEV_GetDataPtr (GUI_MEMDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 1017 | void GUI_MEMDEV_SetColorConv (GUI_MEMDEV_Handle hMem, const LCD_API_COLOR_CONV * pColorConvAPI); |
alejandroRL | 0:dd702039127a | 1018 | const LCD_API_COLOR_CONV * GUI_MEMDEV_GetColorConv(GUI_MEMDEV_Handle hMemDev); |
alejandroRL | 0:dd702039127a | 1019 | int GUI_MEMDEV_GetBitsPerPixel (GUI_MEMDEV_Handle hMemDev); |
alejandroRL | 0:dd702039127a | 1020 | int GUI_MEMDEV_FadeInDevices (GUI_MEMDEV_Handle hMem0, GUI_MEMDEV_Handle hMem1, int Period); |
alejandroRL | 0:dd702039127a | 1021 | int GUI_MEMDEV_FadeOutDevices (GUI_MEMDEV_Handle hMem0, GUI_MEMDEV_Handle hMem1, int Period); |
alejandroRL | 0:dd702039127a | 1022 | void GUI_MEMDEV_SerializeBMP (GUI_MEMDEV_Handle hDev, GUI_CALLBACK_VOID_U8_P * pfSerialize, void * p); |
alejandroRL | 0:dd702039127a | 1023 | void GUI_MEMDEV_SetAnimationCallback(GUI_ANIMATION_CALLBACK_FUNC * pCbAnimation, void * pVoid); |
alejandroRL | 0:dd702039127a | 1024 | void GUI_MEMDEV__FadeDevice (GUI_MEMDEV_Handle hMemWin, GUI_MEMDEV_Handle hMemBk, GUI_MEMDEV_Handle hMemDst, U8 Intens); |
alejandroRL | 0:dd702039127a | 1025 | void GUI_MEMDEV__FadeDeviceEx (GUI_MEMDEV_Handle hMemWin, GUI_MEMDEV_Handle hMemBk, GUI_MEMDEV_Handle hMemDst, U8 Intens, int xPosWin, int yPosWin); |
alejandroRL | 0:dd702039127a | 1026 | int GUI_MEMDEV_PunchOutDevice (GUI_MEMDEV_Handle hMemData, GUI_MEMDEV_Handle hMemMask); |
alejandroRL | 0:dd702039127a | 1027 | void GUI_MEMDEV_SetTimePerFrame (unsigned TimePerFrame); |
alejandroRL | 0:dd702039127a | 1028 | int GUI_MEMDEV_MULTIBUF_Enable (int OnOff); |
alejandroRL | 0:dd702039127a | 1029 | |
alejandroRL | 0:dd702039127a | 1030 | void GUI_SelectLCD(void); |
alejandroRL | 0:dd702039127a | 1031 | |
alejandroRL | 0:dd702039127a | 1032 | /* Blurring, dithering and blending */ |
alejandroRL | 0:dd702039127a | 1033 | GUI_MEMDEV_Handle GUI_MEMDEV_CreateBlurredDevice32 (GUI_MEMDEV_Handle hMem, U8 Depth); |
alejandroRL | 0:dd702039127a | 1034 | GUI_MEMDEV_Handle GUI_MEMDEV_CreateBlurredDevice32HQ(GUI_MEMDEV_Handle hMem, U8 Depth); |
alejandroRL | 0:dd702039127a | 1035 | GUI_MEMDEV_Handle GUI_MEMDEV_CreateBlurredDevice32LQ(GUI_MEMDEV_Handle hMem, U8 Depth); |
alejandroRL | 0:dd702039127a | 1036 | void GUI_MEMDEV_SetBlurHQ (void); |
alejandroRL | 0:dd702039127a | 1037 | void GUI_MEMDEV_SetBlurLQ (void); |
alejandroRL | 0:dd702039127a | 1038 | int GUI_MEMDEV_BlendColor32 (GUI_MEMDEV_Handle hMem, U32 BlendColor, U8 BlendIntens); |
alejandroRL | 0:dd702039127a | 1039 | int GUI_MEMDEV_Dither32 (GUI_MEMDEV_Handle hMem, const LCD_API_COLOR_CONV * pColorConvAPI); |
alejandroRL | 0:dd702039127a | 1040 | |
alejandroRL | 0:dd702039127a | 1041 | /* Optional custom drawing of 16bpp memory devices */ |
alejandroRL | 0:dd702039127a | 1042 | void GUI_MEMDEV_SetDrawMemdev16bppFunc(GUI_DRAWMEMDEV_16BPP_FUNC * pfDrawMemdev16bppFunc); |
alejandroRL | 0:dd702039127a | 1043 | |
alejandroRL | 0:dd702039127a | 1044 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1045 | * |
alejandroRL | 0:dd702039127a | 1046 | * Alpha blending |
alejandroRL | 0:dd702039127a | 1047 | */ |
alejandroRL | 0:dd702039127a | 1048 | typedef struct { |
alejandroRL | 0:dd702039127a | 1049 | U32 UserAlpha; |
alejandroRL | 0:dd702039127a | 1050 | } GUI_ALPHA_STATE; |
alejandroRL | 0:dd702039127a | 1051 | |
alejandroRL | 0:dd702039127a | 1052 | #define GUI_MAKE_ALPHA(Alpha, Color) ((U32)(((U32)Alpha << 24) | (Color & 0xFFFFFF))) |
alejandroRL | 0:dd702039127a | 1053 | |
alejandroRL | 0:dd702039127a | 1054 | unsigned GUI_EnableAlpha (unsigned OnOff); |
alejandroRL | 0:dd702039127a | 1055 | U32 GUI_RestoreUserAlpha (GUI_ALPHA_STATE * pAlphaState); |
alejandroRL | 0:dd702039127a | 1056 | unsigned GUI_SetAlpha (U8 Alpha); |
alejandroRL | 0:dd702039127a | 1057 | U32 GUI_SetUserAlpha (GUI_ALPHA_STATE * pAlphaState, U32 UserAlpha); |
alejandroRL | 0:dd702039127a | 1058 | void GUI_SetFuncAlphaBlending(void (* pfAlphaBlending)(LCD_COLOR *, LCD_COLOR *, LCD_COLOR *, U32)); |
alejandroRL | 0:dd702039127a | 1059 | void GUI_SetFuncMixColors (LCD_COLOR (* pFunc)(LCD_COLOR Color, LCD_COLOR BkColor, U8 Intens)); |
alejandroRL | 0:dd702039127a | 1060 | void GUI_SetFuncMixColorsBulk(void (* pFunc)(U32 * pFG, U32 * pBG, U32 * pDst, unsigned OffFG, unsigned OffBG, unsigned OffDest, unsigned xSize, unsigned ySize, U8 Intens)); |
alejandroRL | 0:dd702039127a | 1061 | unsigned GUI_PreserveTrans (unsigned OnOff); |
alejandroRL | 0:dd702039127a | 1062 | |
alejandroRL | 0:dd702039127a | 1063 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1064 | * |
alejandroRL | 0:dd702039127a | 1065 | * Multi layer support |
alejandroRL | 0:dd702039127a | 1066 | */ |
alejandroRL | 0:dd702039127a | 1067 | unsigned GUI_SelectLayer(unsigned Index); |
alejandroRL | 0:dd702039127a | 1068 | unsigned GUI_GetSelLayer(void); |
alejandroRL | 0:dd702039127a | 1069 | |
alejandroRL | 0:dd702039127a | 1070 | int GUI_SetLayerPosEx (unsigned Index, int xPos, int yPos); |
alejandroRL | 0:dd702039127a | 1071 | int GUI_SetLayerSizeEx (unsigned Index, int xSize, int ySize); |
alejandroRL | 0:dd702039127a | 1072 | int GUI_SetLayerVisEx (unsigned Index, int OnOff); |
alejandroRL | 0:dd702039127a | 1073 | int GUI_SetLayerAlphaEx(unsigned Index, int Alpha); |
alejandroRL | 0:dd702039127a | 1074 | int GUI_GetLayerPosEx (unsigned Index, int * pxPos, int * pyPos); |
alejandroRL | 0:dd702039127a | 1075 | |
alejandroRL | 0:dd702039127a | 1076 | void GUI_AssignCursorLayer(unsigned Index, unsigned CursorLayer); |
alejandroRL | 0:dd702039127a | 1077 | unsigned GUI_GetCursorLayer (unsigned Index); |
alejandroRL | 0:dd702039127a | 1078 | |
alejandroRL | 0:dd702039127a | 1079 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1080 | * |
alejandroRL | 0:dd702039127a | 1081 | * Multiple buffers and display origin |
alejandroRL | 0:dd702039127a | 1082 | */ |
alejandroRL | 0:dd702039127a | 1083 | void GUI_SetOrg(int x, int y); |
alejandroRL | 0:dd702039127a | 1084 | |
alejandroRL | 0:dd702039127a | 1085 | void GUI_MULTIBUF_Begin (void); |
alejandroRL | 0:dd702039127a | 1086 | void GUI_MULTIBUF_BeginEx (int LayerIndex); |
alejandroRL | 0:dd702039127a | 1087 | void GUI_MULTIBUF_End (void); |
alejandroRL | 0:dd702039127a | 1088 | void GUI_MULTIBUF_EndEx (int LayerIndex); |
alejandroRL | 0:dd702039127a | 1089 | void GUI_MULTIBUF_Config (int NumBuffers); |
alejandroRL | 0:dd702039127a | 1090 | void GUI_MULTIBUF_ConfigEx (int LayerIndex, int NumBuffers); |
alejandroRL | 0:dd702039127a | 1091 | void GUI_MULTIBUF_Confirm (int Index); |
alejandroRL | 0:dd702039127a | 1092 | void GUI_MULTIBUF_ConfirmEx (int LayerIndex, int BufferIndex); |
alejandroRL | 0:dd702039127a | 1093 | int GUI_MULTIBUF_GetNumBuffers (void); |
alejandroRL | 0:dd702039127a | 1094 | int GUI_MULTIBUF_GetNumBuffersEx(int LayerIndex); |
alejandroRL | 0:dd702039127a | 1095 | void GUI_MULTIBUF_SetLayerMask (U32 LayerMask); |
alejandroRL | 0:dd702039127a | 1096 | void GUI_MULTIBUF_UseSingleBuffer(void); |
alejandroRL | 0:dd702039127a | 1097 | |
alejandroRL | 0:dd702039127a | 1098 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1099 | * |
alejandroRL | 0:dd702039127a | 1100 | * emWinSPY |
alejandroRL | 0:dd702039127a | 1101 | */ |
alejandroRL | 0:dd702039127a | 1102 | int GUI_SPY_Process (GUI_tSend pfSend, GUI_tRecv pfRecv, void * pConnectInfo); |
alejandroRL | 0:dd702039127a | 1103 | void GUI_SPY_SetMemHandler(GUI_tMalloc pMalloc, GUI_tFree pFree); |
alejandroRL | 0:dd702039127a | 1104 | int GUI_SPY_StartServer (void); |
alejandroRL | 0:dd702039127a | 1105 | int GUI_SPY_X_StartServer(void); |
alejandroRL | 0:dd702039127a | 1106 | |
alejandroRL | 0:dd702039127a | 1107 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1108 | * |
alejandroRL | 0:dd702039127a | 1109 | * QR-Codes |
alejandroRL | 0:dd702039127a | 1110 | */ |
alejandroRL | 0:dd702039127a | 1111 | #define GUI_QR_ECLEVEL_L 0 |
alejandroRL | 0:dd702039127a | 1112 | #define GUI_QR_ECLEVEL_M 1 |
alejandroRL | 0:dd702039127a | 1113 | #define GUI_QR_ECLEVEL_Q 2 |
alejandroRL | 0:dd702039127a | 1114 | #define GUI_QR_ECLEVEL_H 3 |
alejandroRL | 0:dd702039127a | 1115 | |
alejandroRL | 0:dd702039127a | 1116 | typedef struct { |
alejandroRL | 0:dd702039127a | 1117 | int Version; // Version according to QR code documentation |
alejandroRL | 0:dd702039127a | 1118 | int Width; // Number of 'Modules' |
alejandroRL | 0:dd702039127a | 1119 | int Size; // Size of bitmap in pixels |
alejandroRL | 0:dd702039127a | 1120 | } GUI_QR_INFO; |
alejandroRL | 0:dd702039127a | 1121 | |
alejandroRL | 0:dd702039127a | 1122 | GUI_HMEM GUI_QR_Create (const char * pText, int PixelSize, int EccLevel, int Version); |
alejandroRL | 0:dd702039127a | 1123 | void GUI_QR_Draw (GUI_HMEM hQR, int xPos, int yPos); |
alejandroRL | 0:dd702039127a | 1124 | void GUI_QR_GetInfo(GUI_HMEM hQR, GUI_QR_INFO * pInfo); |
alejandroRL | 0:dd702039127a | 1125 | void GUI_QR_Delete (GUI_HMEM hQR); |
alejandroRL | 0:dd702039127a | 1126 | |
alejandroRL | 0:dd702039127a | 1127 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1128 | * |
alejandroRL | 0:dd702039127a | 1129 | * Basics for animations |
alejandroRL | 0:dd702039127a | 1130 | */ |
alejandroRL | 0:dd702039127a | 1131 | #define ANIM_LINEAR GUI_ANIM__Linear |
alejandroRL | 0:dd702039127a | 1132 | #define ANIM_ACCEL GUI_ANIM__Accel |
alejandroRL | 0:dd702039127a | 1133 | #define ANIM_DECEL GUI_ANIM__Decel |
alejandroRL | 0:dd702039127a | 1134 | #define ANIM_ACCELDECEL GUI_ANIM__AccelDecel |
alejandroRL | 0:dd702039127a | 1135 | |
alejandroRL | 0:dd702039127a | 1136 | #define GUI_ANIM_START 0 |
alejandroRL | 0:dd702039127a | 1137 | #define GUI_ANIM_RUNNING 1 |
alejandroRL | 0:dd702039127a | 1138 | #define GUI_ANIM_END 2 |
alejandroRL | 0:dd702039127a | 1139 | |
alejandroRL | 0:dd702039127a | 1140 | #ifndef GUI_ANIM_RANGE |
alejandroRL | 0:dd702039127a | 1141 | #define GUI_ANIM_RANGE 32767L |
alejandroRL | 0:dd702039127a | 1142 | #endif |
alejandroRL | 0:dd702039127a | 1143 | |
alejandroRL | 0:dd702039127a | 1144 | typedef GUI_HMEM GUI_ANIM_HANDLE; |
alejandroRL | 0:dd702039127a | 1145 | |
alejandroRL | 0:dd702039127a | 1146 | typedef I32 (* GUI_ANIM_GETPOS_FUNC)(GUI_TIMER_TIME ts, GUI_TIMER_TIME te, GUI_TIMER_TIME tNow); |
alejandroRL | 0:dd702039127a | 1147 | |
alejandroRL | 0:dd702039127a | 1148 | typedef struct { |
alejandroRL | 0:dd702039127a | 1149 | int Pos; |
alejandroRL | 0:dd702039127a | 1150 | int State; |
alejandroRL | 0:dd702039127a | 1151 | GUI_ANIM_HANDLE hAnim; |
alejandroRL | 0:dd702039127a | 1152 | GUI_TIMER_TIME Period; |
alejandroRL | 0:dd702039127a | 1153 | } GUI_ANIM_INFO; |
alejandroRL | 0:dd702039127a | 1154 | |
alejandroRL | 0:dd702039127a | 1155 | typedef void GUI_ANIMATION_FUNC(GUI_ANIM_INFO * pInfo, void * pVoid); |
alejandroRL | 0:dd702039127a | 1156 | |
alejandroRL | 0:dd702039127a | 1157 | I32 GUI_ANIM__Linear (GUI_TIMER_TIME ts, GUI_TIMER_TIME te, GUI_TIMER_TIME tNow); |
alejandroRL | 0:dd702039127a | 1158 | I32 GUI_ANIM__Decel (GUI_TIMER_TIME ts, GUI_TIMER_TIME te, GUI_TIMER_TIME tNow); |
alejandroRL | 0:dd702039127a | 1159 | I32 GUI_ANIM__Accel (GUI_TIMER_TIME ts, GUI_TIMER_TIME te, GUI_TIMER_TIME tNow); |
alejandroRL | 0:dd702039127a | 1160 | I32 GUI_ANIM__AccelDecel(GUI_TIMER_TIME ts, GUI_TIMER_TIME te, GUI_TIMER_TIME tNow); |
alejandroRL | 0:dd702039127a | 1161 | |
alejandroRL | 0:dd702039127a | 1162 | int GUI_ANIM_AddItem(GUI_ANIM_HANDLE hAnim, GUI_TIMER_TIME ts, GUI_TIMER_TIME te, GUI_ANIM_GETPOS_FUNC pfGetPos, void * pVoid, GUI_ANIMATION_FUNC * pfAnim); |
alejandroRL | 0:dd702039127a | 1163 | GUI_ANIM_HANDLE GUI_ANIM_Create (GUI_TIMER_TIME Period, unsigned MinTimePerFrame, void * pVoid, void (* pfSliceInfo)(int State, void * pVoid)); |
alejandroRL | 0:dd702039127a | 1164 | void GUI_ANIM_Delete (GUI_ANIM_HANDLE hAnim); |
alejandroRL | 0:dd702039127a | 1165 | int GUI_ANIM_Exec (GUI_ANIM_HANDLE hAnim); |
alejandroRL | 0:dd702039127a | 1166 | void GUI_ANIM_Start (GUI_ANIM_HANDLE hAnim); |
alejandroRL | 0:dd702039127a | 1167 | void GUI_ANIM_StartEx(GUI_ANIM_HANDLE hAnim, int NumLoops, void (* pfOnDelete)(void * pVoid)); |
alejandroRL | 0:dd702039127a | 1168 | void GUI_ANIM_Stop (GUI_ANIM_HANDLE hAnim); |
alejandroRL | 0:dd702039127a | 1169 | |
alejandroRL | 0:dd702039127a | 1170 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1171 | * |
alejandroRL | 0:dd702039127a | 1172 | * Display orientation |
alejandroRL | 0:dd702039127a | 1173 | */ |
alejandroRL | 0:dd702039127a | 1174 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1175 | * |
alejandroRL | 0:dd702039127a | 1176 | * GUI_ORIENTATION_API |
alejandroRL | 0:dd702039127a | 1177 | */ |
alejandroRL | 0:dd702039127a | 1178 | typedef struct { |
alejandroRL | 0:dd702039127a | 1179 | void (* pfDrawBitmap )(GUI_DEVICE * pDevice, int x0, int y0, int xsize, int ysize, int BitsPerPixel, int BytesPerLine, const U8 * pData, int Diff, const LCD_PIXELINDEX * pTrans); |
alejandroRL | 0:dd702039127a | 1180 | void (* pfDrawHLine )(GUI_DEVICE * pDevice, int x0, int y0, int x1); |
alejandroRL | 0:dd702039127a | 1181 | void (* pfDrawVLine )(GUI_DEVICE * pDevice, int x , int y0, int y1); |
alejandroRL | 0:dd702039127a | 1182 | void (* pfFillRect )(GUI_DEVICE * pDevice, int x0, int y0, int x1, int y1); |
alejandroRL | 0:dd702039127a | 1183 | LCD_PIXELINDEX (* pfGetPixelIndex)(GUI_DEVICE * pDevice, int x, int y); |
alejandroRL | 0:dd702039127a | 1184 | void (* pfSetPixelIndex)(GUI_DEVICE * pDevice, int x, int y, LCD_PIXELINDEX ColorIndex); |
alejandroRL | 0:dd702039127a | 1185 | void (* pfXorPixel )(GUI_DEVICE * pDevice, int x, int y); |
alejandroRL | 0:dd702039127a | 1186 | int BytesPerPixel; |
alejandroRL | 0:dd702039127a | 1187 | } GUI_ORIENTATION_API; |
alejandroRL | 0:dd702039127a | 1188 | |
alejandroRL | 0:dd702039127a | 1189 | extern const GUI_ORIENTATION_API GUI_OrientationAPI_C0; |
alejandroRL | 0:dd702039127a | 1190 | extern const GUI_ORIENTATION_API GUI_OrientationAPI_C8; |
alejandroRL | 0:dd702039127a | 1191 | extern const GUI_ORIENTATION_API GUI_OrientationAPI_C16; |
alejandroRL | 0:dd702039127a | 1192 | extern const GUI_ORIENTATION_API GUI_OrientationAPI_C32; |
alejandroRL | 0:dd702039127a | 1193 | |
alejandroRL | 0:dd702039127a | 1194 | #define GUI_ORIENTATION_C0 &GUI_OrientationAPI_C0 |
alejandroRL | 0:dd702039127a | 1195 | #define GUI_ORIENTATION_C8 &GUI_OrientationAPI_C8 |
alejandroRL | 0:dd702039127a | 1196 | #define GUI_ORIENTATION_C16 &GUI_OrientationAPI_C16 |
alejandroRL | 0:dd702039127a | 1197 | #define GUI_ORIENTATION_C32 &GUI_OrientationAPI_C32 |
alejandroRL | 0:dd702039127a | 1198 | |
alejandroRL | 0:dd702039127a | 1199 | int GUI_SetOrientation (int Orientation); |
alejandroRL | 0:dd702039127a | 1200 | int GUI_SetOrientationEx (int Orientation, int LayerIndex); |
alejandroRL | 0:dd702039127a | 1201 | int GUI_SetOrientationExCached(int Orientation, int LayerIndex, const GUI_ORIENTATION_API * pAPI); |
alejandroRL | 0:dd702039127a | 1202 | |
alejandroRL | 0:dd702039127a | 1203 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1204 | * |
alejandroRL | 0:dd702039127a | 1205 | * Measure device: GUI_MEASDEV |
alejandroRL | 0:dd702039127a | 1206 | */ |
alejandroRL | 0:dd702039127a | 1207 | typedef GUI_HMEM GUI_MEASDEV_Handle; |
alejandroRL | 0:dd702039127a | 1208 | |
alejandroRL | 0:dd702039127a | 1209 | GUI_MEASDEV_Handle GUI_MEASDEV_Create (void); |
alejandroRL | 0:dd702039127a | 1210 | void GUI_MEASDEV_Delete (GUI_MEASDEV_Handle hMemDev); |
alejandroRL | 0:dd702039127a | 1211 | void GUI_MEASDEV_Select (GUI_MEASDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 1212 | void GUI_MEASDEV_GetRect(GUI_MEASDEV_Handle hMem, GUI_RECT * pRect); |
alejandroRL | 0:dd702039127a | 1213 | void GUI_MEASDEV_ClearRect(GUI_MEASDEV_Handle hMem); |
alejandroRL | 0:dd702039127a | 1214 | |
alejandroRL | 0:dd702039127a | 1215 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1216 | * |
alejandroRL | 0:dd702039127a | 1217 | * Polygon helpers |
alejandroRL | 0:dd702039127a | 1218 | */ |
alejandroRL | 0:dd702039127a | 1219 | void GUI_RotatePolygon (GUI_POINT * pDest, const GUI_POINT * pSrc, int NumPoints, float Angle); |
alejandroRL | 0:dd702039127a | 1220 | void GUI_MagnifyPolygon(GUI_POINT * pDest, const GUI_POINT * pSrc, int NumPoints, int Mag); |
alejandroRL | 0:dd702039127a | 1221 | void GUI_EnlargePolygon(GUI_POINT * pDest, const GUI_POINT * pSrc, int NumPoints, int Len); |
alejandroRL | 0:dd702039127a | 1222 | |
alejandroRL | 0:dd702039127a | 1223 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1224 | * |
alejandroRL | 0:dd702039127a | 1225 | * Streamed bitmaps |
alejandroRL | 0:dd702039127a | 1226 | */ |
alejandroRL | 0:dd702039127a | 1227 | #define GUI_BITMAPSTREAM_GET_BUFFER 1 |
alejandroRL | 0:dd702039127a | 1228 | #define GUI_BITMAPSTREAM_RELEASE_BUFFER 2 |
alejandroRL | 0:dd702039127a | 1229 | #define GUI_BITMAPSTREAM_MODIFY_PALETTE 3 |
alejandroRL | 0:dd702039127a | 1230 | |
alejandroRL | 0:dd702039127a | 1231 | #define DECLARE_CREATE_FROM_STREAM(ID) int GUI_CreateBitmapFromStream##ID(GUI_BITMAP * pBMP, GUI_LOGPALETTE * pPAL, const void * p); |
alejandroRL | 0:dd702039127a | 1232 | |
alejandroRL | 0:dd702039127a | 1233 | DECLARE_CREATE_FROM_STREAM(IDX) |
alejandroRL | 0:dd702039127a | 1234 | DECLARE_CREATE_FROM_STREAM(RLE4) |
alejandroRL | 0:dd702039127a | 1235 | DECLARE_CREATE_FROM_STREAM(RLE8) |
alejandroRL | 0:dd702039127a | 1236 | DECLARE_CREATE_FROM_STREAM(565) |
alejandroRL | 0:dd702039127a | 1237 | DECLARE_CREATE_FROM_STREAM(M565) |
alejandroRL | 0:dd702039127a | 1238 | DECLARE_CREATE_FROM_STREAM(555) |
alejandroRL | 0:dd702039127a | 1239 | DECLARE_CREATE_FROM_STREAM(M555) |
alejandroRL | 0:dd702039127a | 1240 | DECLARE_CREATE_FROM_STREAM(A565) |
alejandroRL | 0:dd702039127a | 1241 | DECLARE_CREATE_FROM_STREAM(AM565) |
alejandroRL | 0:dd702039127a | 1242 | DECLARE_CREATE_FROM_STREAM(A555) |
alejandroRL | 0:dd702039127a | 1243 | DECLARE_CREATE_FROM_STREAM(AM555) |
alejandroRL | 0:dd702039127a | 1244 | DECLARE_CREATE_FROM_STREAM(RLE16) |
alejandroRL | 0:dd702039127a | 1245 | DECLARE_CREATE_FROM_STREAM(RLEM16) |
alejandroRL | 0:dd702039127a | 1246 | DECLARE_CREATE_FROM_STREAM(24) |
alejandroRL | 0:dd702039127a | 1247 | DECLARE_CREATE_FROM_STREAM(Alpha) |
alejandroRL | 0:dd702039127a | 1248 | DECLARE_CREATE_FROM_STREAM(M8888I) |
alejandroRL | 0:dd702039127a | 1249 | DECLARE_CREATE_FROM_STREAM(RLEAlpha) |
alejandroRL | 0:dd702039127a | 1250 | DECLARE_CREATE_FROM_STREAM(RLE32) |
alejandroRL | 0:dd702039127a | 1251 | DECLARE_CREATE_FROM_STREAM(444_12) |
alejandroRL | 0:dd702039127a | 1252 | DECLARE_CREATE_FROM_STREAM(M444_12) |
alejandroRL | 0:dd702039127a | 1253 | DECLARE_CREATE_FROM_STREAM(444_12_1) |
alejandroRL | 0:dd702039127a | 1254 | DECLARE_CREATE_FROM_STREAM(M444_12_1) |
alejandroRL | 0:dd702039127a | 1255 | DECLARE_CREATE_FROM_STREAM(444_16) |
alejandroRL | 0:dd702039127a | 1256 | DECLARE_CREATE_FROM_STREAM(M444_16) |
alejandroRL | 0:dd702039127a | 1257 | |
alejandroRL | 0:dd702039127a | 1258 | int GUI_CreateBitmapFromStream (GUI_BITMAP * pBMP, GUI_LOGPALETTE * pPAL, const void * p); |
alejandroRL | 0:dd702039127a | 1259 | void GUI_DrawStreamedBitmap (const void * p, int x, int y); |
alejandroRL | 0:dd702039127a | 1260 | void GUI_DrawStreamedBitmapAuto (const void * p, int x, int y); |
alejandroRL | 0:dd702039127a | 1261 | int GUI_DrawStreamedBitmapEx (GUI_GET_DATA_FUNC * pfGetData, const void * p, int x, int y); |
alejandroRL | 0:dd702039127a | 1262 | int GUI_DrawStreamedBitmapExAuto (GUI_GET_DATA_FUNC * pfGetData, const void * p, int x, int y); |
alejandroRL | 0:dd702039127a | 1263 | int GUI_DrawStreamedBitmap555Ex (GUI_GET_DATA_FUNC * pfGetData, const void * p, int x, int y); |
alejandroRL | 0:dd702039127a | 1264 | int GUI_DrawStreamedBitmapM555Ex (GUI_GET_DATA_FUNC * pfGetData, const void * p, int x, int y); |
alejandroRL | 0:dd702039127a | 1265 | int GUI_DrawStreamedBitmap565Ex (GUI_GET_DATA_FUNC * pfGetData, const void * p, int x, int y); |
alejandroRL | 0:dd702039127a | 1266 | int GUI_DrawStreamedBitmapM565Ex (GUI_GET_DATA_FUNC * pfGetData, const void * p, int x, int y); |
alejandroRL | 0:dd702039127a | 1267 | int GUI_DrawStreamedBitmapA555Ex (GUI_GET_DATA_FUNC * pfGetData, const void * p, int x, int y); |
alejandroRL | 0:dd702039127a | 1268 | int GUI_DrawStreamedBitmapAM555Ex(GUI_GET_DATA_FUNC * pfGetData, const void * p, int x, int y); |
alejandroRL | 0:dd702039127a | 1269 | int GUI_DrawStreamedBitmapA565Ex (GUI_GET_DATA_FUNC * pfGetData, const void * p, int x, int y); |
alejandroRL | 0:dd702039127a | 1270 | int GUI_DrawStreamedBitmapAM565Ex(GUI_GET_DATA_FUNC * pfGetData, const void * p, int x, int y); |
alejandroRL | 0:dd702039127a | 1271 | int GUI_DrawStreamedBitmap24Ex (GUI_GET_DATA_FUNC * pfGetData, const void * p, int x, int y); |
alejandroRL | 0:dd702039127a | 1272 | void GUI_GetStreamedBitmapInfo (const void * p, GUI_BITMAPSTREAM_INFO * pInfo); |
alejandroRL | 0:dd702039127a | 1273 | int GUI_GetStreamedBitmapInfoEx (GUI_GET_DATA_FUNC * pfGetData, const void * p, GUI_BITMAPSTREAM_INFO * pInfo); |
alejandroRL | 0:dd702039127a | 1274 | void GUI_SetStreamedBitmapHook (GUI_BITMAPSTREAM_CALLBACK pfStreamedBitmapHook); |
alejandroRL | 0:dd702039127a | 1275 | |
alejandroRL | 0:dd702039127a | 1276 | void LCD__RLE4_SetFunc (GUI_GET_DATA_FUNC * pfGetData, void * pVoid, U32 Off, const LCD_LOGPALETTE * pLogPal); |
alejandroRL | 0:dd702039127a | 1277 | void LCD__RLE8_SetFunc (GUI_GET_DATA_FUNC * pfGetData, void * pVoid, U32 Off, const LCD_LOGPALETTE * pLogPal); |
alejandroRL | 0:dd702039127a | 1278 | void LCD__RLE16_SetFunc(GUI_GET_DATA_FUNC * pfGetData, void * pVoid, U32 Off); |
alejandroRL | 0:dd702039127a | 1279 | void LCD__RLE32_SetFunc(GUI_GET_DATA_FUNC * pfGetData, void * pVoid, U32 Off); |
alejandroRL | 0:dd702039127a | 1280 | |
alejandroRL | 0:dd702039127a | 1281 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1282 | * |
alejandroRL | 0:dd702039127a | 1283 | * BMP-export |
alejandroRL | 0:dd702039127a | 1284 | */ |
alejandroRL | 0:dd702039127a | 1285 | void GUI_BMP_Serialize (GUI_CALLBACK_VOID_U8_P * pfSerialize, void * p); |
alejandroRL | 0:dd702039127a | 1286 | void GUI_BMP_SerializeEx (GUI_CALLBACK_VOID_U8_P * pfSerialize, int x0, int y0, int xSize, int ySize, void * p); |
alejandroRL | 0:dd702039127a | 1287 | void GUI_BMP_SerializeExBpp(GUI_CALLBACK_VOID_U8_P * pfSerialize, int x0, int y0, int xSize, int ySize, void * p, int BitsPerPixel); |
alejandroRL | 0:dd702039127a | 1288 | |
alejandroRL | 0:dd702039127a | 1289 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1290 | * |
alejandroRL | 0:dd702039127a | 1291 | * Time / execution related routines |
alejandroRL | 0:dd702039127a | 1292 | */ |
alejandroRL | 0:dd702039127a | 1293 | void GUI_Delay (int Period); |
alejandroRL | 0:dd702039127a | 1294 | GUI_TIMER_TIME GUI_GetTime (void); |
alejandroRL | 0:dd702039127a | 1295 | int GUI_GetTimeSlice(void); |
alejandroRL | 0:dd702039127a | 1296 | int GUI_Exec (void); /* Execute all jobs ... Return 0 if nothing was done. */ |
alejandroRL | 0:dd702039127a | 1297 | int GUI_Exec1 (void); /* Execute one job ... Return 0 if nothing was done. */ |
alejandroRL | 0:dd702039127a | 1298 | void GUI_SetTimeSlice(int TimeSlice); |
alejandroRL | 0:dd702039127a | 1299 | |
alejandroRL | 0:dd702039127a | 1300 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1301 | * |
alejandroRL | 0:dd702039127a | 1302 | * MessageBox |
alejandroRL | 0:dd702039127a | 1303 | */ |
alejandroRL | 0:dd702039127a | 1304 | int GUI_MessageBox (const char * sMessage, const char * sCaption, int Flags); |
alejandroRL | 0:dd702039127a | 1305 | #define GUI_MESSAGEBOX_CF_MOVEABLE (1 << 0) |
alejandroRL | 0:dd702039127a | 1306 | #define GUI_MESSAGEBOX_CF_MODAL (1 << 1) |
alejandroRL | 0:dd702039127a | 1307 | |
alejandroRL | 0:dd702039127a | 1308 | #define GUI_MB_OK 20 |
alejandroRL | 0:dd702039127a | 1309 | #define GUI_MB_WARNING 21 |
alejandroRL | 0:dd702039127a | 1310 | |
alejandroRL | 0:dd702039127a | 1311 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1312 | * |
alejandroRL | 0:dd702039127a | 1313 | * GUI_TIMER module |
alejandroRL | 0:dd702039127a | 1314 | */ |
alejandroRL | 0:dd702039127a | 1315 | #define GUI_TIMER_CF_WINDOW (1 << 0) |
alejandroRL | 0:dd702039127a | 1316 | #define GUI_TIMER_CF_CURSOR (1 << 1) |
alejandroRL | 0:dd702039127a | 1317 | |
alejandroRL | 0:dd702039127a | 1318 | typedef GUI_HMEM GUI_TIMER_HANDLE; |
alejandroRL | 0:dd702039127a | 1319 | |
alejandroRL | 0:dd702039127a | 1320 | typedef struct { |
alejandroRL | 0:dd702039127a | 1321 | GUI_TIMER_TIME Time; |
alejandroRL | 0:dd702039127a | 1322 | U32 Context; |
alejandroRL | 0:dd702039127a | 1323 | GUI_TIMER_HANDLE hTimer; |
alejandroRL | 0:dd702039127a | 1324 | } GUI_TIMER_MESSAGE; |
alejandroRL | 0:dd702039127a | 1325 | |
alejandroRL | 0:dd702039127a | 1326 | typedef void GUI_TIMER_CALLBACK(/*const*/ GUI_TIMER_MESSAGE* pTM); |
alejandroRL | 0:dd702039127a | 1327 | |
alejandroRL | 0:dd702039127a | 1328 | GUI_TIMER_HANDLE GUI_TIMER_Create (GUI_TIMER_CALLBACK * cb, GUI_TIMER_TIME Time, U32 Context, U16 Flags); |
alejandroRL | 0:dd702039127a | 1329 | void GUI_TIMER_Delete (GUI_TIMER_HANDLE hObj); |
alejandroRL | 0:dd702039127a | 1330 | |
alejandroRL | 0:dd702039127a | 1331 | /* Methods changing properties */ |
alejandroRL | 0:dd702039127a | 1332 | GUI_TIMER_TIME GUI_TIMER_GetPeriod(GUI_TIMER_HANDLE hObj); |
alejandroRL | 0:dd702039127a | 1333 | void GUI_TIMER_SetPeriod(GUI_TIMER_HANDLE hObj, GUI_TIMER_TIME Period); |
alejandroRL | 0:dd702039127a | 1334 | void GUI_TIMER_SetTime (GUI_TIMER_HANDLE hObj, GUI_TIMER_TIME Period); |
alejandroRL | 0:dd702039127a | 1335 | void GUI_TIMER_SetDelay (GUI_TIMER_HANDLE hObj, GUI_TIMER_TIME Delay); |
alejandroRL | 0:dd702039127a | 1336 | void GUI_TIMER_Restart (GUI_TIMER_HANDLE hObj); |
alejandroRL | 0:dd702039127a | 1337 | int GUI_TIMER_GetFlag (GUI_TIMER_HANDLE hObj, int Flag); /* Not to be documented */ |
alejandroRL | 0:dd702039127a | 1338 | int GUI_TIMER_Exec (void); |
alejandroRL | 0:dd702039127a | 1339 | |
alejandroRL | 0:dd702039127a | 1340 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1341 | * |
alejandroRL | 0:dd702039127a | 1342 | * Anti Aliasing |
alejandroRL | 0:dd702039127a | 1343 | */ |
alejandroRL | 0:dd702039127a | 1344 | #define GUI_AA_TRANS 0 // Foreground color mixed up with current content of framebuffer |
alejandroRL | 0:dd702039127a | 1345 | #define GUI_AA_NOTRANS 1 // Foreground color mixed up with current background color |
alejandroRL | 0:dd702039127a | 1346 | |
alejandroRL | 0:dd702039127a | 1347 | void GUI_AA_DisableHiRes (void); |
alejandroRL | 0:dd702039127a | 1348 | void GUI_AA_EnableHiRes (void); |
alejandroRL | 0:dd702039127a | 1349 | int GUI_AA_GetFactor (void); |
alejandroRL | 0:dd702039127a | 1350 | void GUI_AA_SetFactor (int Factor); |
alejandroRL | 0:dd702039127a | 1351 | void GUI_AA_DrawArc (int x0, int y0, int rx, int ry, int a0, int a1); |
alejandroRL | 0:dd702039127a | 1352 | void GUI_AA_DrawLine (int x0, int y0, int x1, int y1); |
alejandroRL | 0:dd702039127a | 1353 | void GUI_AA_DrawPolyOutline (const GUI_POINT * pSrc, int NumPoints, int Thickness, int x, int y); |
alejandroRL | 0:dd702039127a | 1354 | void GUI_AA_DrawPolyOutlineEx(const GUI_POINT * pSrc, int NumPoints, int Thickness, int x, int y, GUI_POINT * pBuffer); |
alejandroRL | 0:dd702039127a | 1355 | void GUI_AA_DrawRoundedRect (int x0, int y0, int x1, int y1, int r); |
alejandroRL | 0:dd702039127a | 1356 | void GUI_AA_DrawRoundedRectEx(GUI_RECT * pRect, int r); |
alejandroRL | 0:dd702039127a | 1357 | void GUI_AA_FillCircle (int x0, int y0, int r); |
alejandroRL | 0:dd702039127a | 1358 | void GUI_AA_FillEllipse (int x0, int y0, int rx, int ry); |
alejandroRL | 0:dd702039127a | 1359 | void GUI_AA_FillPolygon (const GUI_POINT * pPoints, int NumPoints, int x0, int y0); |
alejandroRL | 0:dd702039127a | 1360 | void GUI_AA_FillRoundedRect (int x0, int y0, int x1, int y1, int r); |
alejandroRL | 0:dd702039127a | 1361 | void GUI_AA_FillRoundedRectEx(GUI_RECT * pRect, int r); |
alejandroRL | 0:dd702039127a | 1362 | int GUI_AA_SetDrawMode (int Mode); |
alejandroRL | 0:dd702039127a | 1363 | void GUI_AA_SetpfDrawCharAA4 (int (* pfDrawChar)(int LayerIndex, int x, int y, U8 const * p, int xSize, int ySize, int BytesPerLine)); |
alejandroRL | 0:dd702039127a | 1364 | void GUI_AA_SetGammaAA4 (U8 * pGamma); |
alejandroRL | 0:dd702039127a | 1365 | void GUI_AA_GetGammaAA4 (U8 * pGamma); |
alejandroRL | 0:dd702039127a | 1366 | void GUI_AA_EnableGammaAA4 (int OnOff); |
alejandroRL | 0:dd702039127a | 1367 | |
alejandroRL | 0:dd702039127a | 1368 | #define GUI_AA_PreserveTrans(OnOff) GUI_PreserveTrans(OnOff) // For compatibility only |
alejandroRL | 0:dd702039127a | 1369 | |
alejandroRL | 0:dd702039127a | 1370 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1371 | * |
alejandroRL | 0:dd702039127a | 1372 | * Keyboard |
alejandroRL | 0:dd702039127a | 1373 | */ |
alejandroRL | 0:dd702039127a | 1374 | /* Message layer */ |
alejandroRL | 0:dd702039127a | 1375 | void GUI_StoreKeyMsg(int Key, int Pressed); |
alejandroRL | 0:dd702039127a | 1376 | void GUI_SendKeyMsg (int Key, int Pressed); |
alejandroRL | 0:dd702039127a | 1377 | int GUI_PollKeyMsg (void); |
alejandroRL | 0:dd702039127a | 1378 | void GUI_GetKeyState(GUI_KEY_STATE * pState); |
alejandroRL | 0:dd702039127a | 1379 | |
alejandroRL | 0:dd702039127a | 1380 | void GUI_KEY__SetHook(void (* pfHook)(const GUI_KEY_STATE *)); |
alejandroRL | 0:dd702039127a | 1381 | |
alejandroRL | 0:dd702039127a | 1382 | /* Application layer */ |
alejandroRL | 0:dd702039127a | 1383 | int GUI_GetKey(void); |
alejandroRL | 0:dd702039127a | 1384 | int GUI_WaitKey(void); |
alejandroRL | 0:dd702039127a | 1385 | void GUI_StoreKey(int c); |
alejandroRL | 0:dd702039127a | 1386 | void GUI_ClearKeyBuffer(void); |
alejandroRL | 0:dd702039127a | 1387 | |
alejandroRL | 0:dd702039127a | 1388 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1389 | * |
alejandroRL | 0:dd702039127a | 1390 | * Task synchronization |
alejandroRL | 0:dd702039127a | 1391 | */ |
alejandroRL | 0:dd702039127a | 1392 | void GUI_WaitEvent (void); |
alejandroRL | 0:dd702039127a | 1393 | void GUI_SignalEvent (void); |
alejandroRL | 0:dd702039127a | 1394 | void GUI_SetSignalEventFunc (GUI_SIGNAL_EVENT_FUNC pfSignalEvent); |
alejandroRL | 0:dd702039127a | 1395 | void GUI_SetWaitEventFunc (GUI_WAIT_EVENT_FUNC pfWaitEvent); |
alejandroRL | 0:dd702039127a | 1396 | void GUI_SetWaitEventTimedFunc(GUI_WAIT_EVENT_TIMED_FUNC pfWaitEventTimed); |
alejandroRL | 0:dd702039127a | 1397 | |
alejandroRL | 0:dd702039127a | 1398 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1399 | * |
alejandroRL | 0:dd702039127a | 1400 | * Joystick, generic |
alejandroRL | 0:dd702039127a | 1401 | */ |
alejandroRL | 0:dd702039127a | 1402 | void GUI_JOYSTICK_StoreState(const GUI_PID_STATE * pState); |
alejandroRL | 0:dd702039127a | 1403 | |
alejandroRL | 0:dd702039127a | 1404 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1405 | * |
alejandroRL | 0:dd702039127a | 1406 | * PID (Pointer input device ... mouse/touch) |
alejandroRL | 0:dd702039127a | 1407 | */ |
alejandroRL | 0:dd702039127a | 1408 | void GUI_PID_StoreState (const GUI_PID_STATE * pState); |
alejandroRL | 0:dd702039127a | 1409 | int GUI_PID_GetState ( GUI_PID_STATE * pState); |
alejandroRL | 0:dd702039127a | 1410 | void GUI_PID_GetCurrentState( GUI_PID_STATE * pState); |
alejandroRL | 0:dd702039127a | 1411 | int GUI_PID_IsEmpty (void); |
alejandroRL | 0:dd702039127a | 1412 | int GUI_PID_IsPressed (void); |
alejandroRL | 0:dd702039127a | 1413 | void GUI_PID_SetHook (void (* pfHook)( GUI_PID_STATE *)); // Public |
alejandroRL | 0:dd702039127a | 1414 | void GUI_PID__SetHook (void (* pfHook)(const GUI_PID_STATE *)); // Private |
alejandroRL | 0:dd702039127a | 1415 | |
alejandroRL | 0:dd702039127a | 1416 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1417 | * |
alejandroRL | 0:dd702039127a | 1418 | * Mouse, generic |
alejandroRL | 0:dd702039127a | 1419 | */ |
alejandroRL | 0:dd702039127a | 1420 | int GUI_MOUSE_GetState ( GUI_PID_STATE * pState); |
alejandroRL | 0:dd702039127a | 1421 | void GUI_MOUSE_StoreState(const GUI_PID_STATE * pState); |
alejandroRL | 0:dd702039127a | 1422 | |
alejandroRL | 0:dd702039127a | 1423 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1424 | * |
alejandroRL | 0:dd702039127a | 1425 | * TOUCH screen, generic |
alejandroRL | 0:dd702039127a | 1426 | */ |
alejandroRL | 0:dd702039127a | 1427 | int GUI_TOUCH_GetLayer (void); |
alejandroRL | 0:dd702039127a | 1428 | int GUI_TOUCH_GetState (GUI_PID_STATE * pState); |
alejandroRL | 0:dd702039127a | 1429 | void GUI_TOUCH_GetUnstable (int * px, int * py); /* for diagnostics only */ |
alejandroRL | 0:dd702039127a | 1430 | void GUI_TOUCH_SetLayer (int Layer); |
alejandroRL | 0:dd702039127a | 1431 | void GUI_TOUCH_StoreState (int x, int y); |
alejandroRL | 0:dd702039127a | 1432 | void GUI_TOUCH_StoreStateEx (const GUI_PID_STATE * pState); |
alejandroRL | 0:dd702039127a | 1433 | void GUI_TOUCH_StoreUnstable(int x, int y); |
alejandroRL | 0:dd702039127a | 1434 | |
alejandroRL | 0:dd702039127a | 1435 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1436 | * |
alejandroRL | 0:dd702039127a | 1437 | * Mouse, PS2 driver |
alejandroRL | 0:dd702039127a | 1438 | */ |
alejandroRL | 0:dd702039127a | 1439 | void GUI_MOUSE_DRIVER_PS2_Init(void); /* optional */ |
alejandroRL | 0:dd702039127a | 1440 | void GUI_MOUSE_DRIVER_PS2_OnRx(unsigned char Data); |
alejandroRL | 0:dd702039127a | 1441 | |
alejandroRL | 0:dd702039127a | 1442 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1443 | * |
alejandroRL | 0:dd702039127a | 1444 | * TOUCH screen, analog driver |
alejandroRL | 0:dd702039127a | 1445 | */ |
alejandroRL | 0:dd702039127a | 1446 | int GUI_TOUCH_CalcCoefficients (int NumPoints, int * pxRef, int * pyRef, int * pxSample, int * pySample, int xSize, int ySize); |
alejandroRL | 0:dd702039127a | 1447 | int GUI_TOUCH_Calibrate (int Coord, int Log0, int Log1, int Phys0, int Phys1); |
alejandroRL | 0:dd702039127a | 1448 | int GUI_TOUCH_CalibratePoint (int * px, int * py); |
alejandroRL | 0:dd702039127a | 1449 | void GUI_TOUCH_EnableCalibration(int OnOff); |
alejandroRL | 0:dd702039127a | 1450 | void GUI_TOUCH_Exec (void); |
alejandroRL | 0:dd702039127a | 1451 | int GUI_TOUCH_GetxPhys (void); /* for diagnostics only */ |
alejandroRL | 0:dd702039127a | 1452 | int GUI_TOUCH_GetyPhys (void); /* for diagnostics only */ |
alejandroRL | 0:dd702039127a | 1453 | void GUI_TOUCH_SetCalibration (int (* pFunc)(int *, int *)); /* Not to be documented */ |
alejandroRL | 0:dd702039127a | 1454 | void GUI_TOUCH_SetOrientation (unsigned Orientation); |
alejandroRL | 0:dd702039127a | 1455 | int GUI_TOUCH_TransformPoint (int * px, int * py); /* Not to be documented */ |
alejandroRL | 0:dd702039127a | 1456 | |
alejandroRL | 0:dd702039127a | 1457 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1458 | * |
alejandroRL | 0:dd702039127a | 1459 | * TOUCH: imports |
alejandroRL | 0:dd702039127a | 1460 | * |
alejandroRL | 0:dd702039127a | 1461 | * Please note: The following functions are required by the module. |
alejandroRL | 0:dd702039127a | 1462 | * They need to be part of your application software (or rather, part |
alejandroRL | 0:dd702039127a | 1463 | * of the hardware-layer of your software). |
alejandroRL | 0:dd702039127a | 1464 | */ |
alejandroRL | 0:dd702039127a | 1465 | void GUI_TOUCH_X_ActivateX(void); |
alejandroRL | 0:dd702039127a | 1466 | void GUI_TOUCH_X_ActivateY(void); |
alejandroRL | 0:dd702039127a | 1467 | void GUI_TOUCH_X_Disable (void); |
alejandroRL | 0:dd702039127a | 1468 | int GUI_TOUCH_X_MeasureX (void); |
alejandroRL | 0:dd702039127a | 1469 | int GUI_TOUCH_X_MeasureY (void); |
alejandroRL | 0:dd702039127a | 1470 | |
alejandroRL | 0:dd702039127a | 1471 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1472 | * |
alejandroRL | 0:dd702039127a | 1473 | * GUI_X_ |
alejandroRL | 0:dd702039127a | 1474 | * |
alejandroRL | 0:dd702039127a | 1475 | * Externals, to be defined by application |
alejandroRL | 0:dd702039127a | 1476 | * |
alejandroRL | 0:dd702039127a | 1477 | * The externals defined below should be defined by the |
alejandroRL | 0:dd702039127a | 1478 | * application. They are per default contained in the module |
alejandroRL | 0:dd702039127a | 1479 | * GUI_X.c. |
alejandroRL | 0:dd702039127a | 1480 | * Note that a lot if not all of these are not required in most target |
alejandroRL | 0:dd702039127a | 1481 | * systems. |
alejandroRL | 0:dd702039127a | 1482 | * For this module, samples are available for configurations |
alejandroRL | 0:dd702039127a | 1483 | * with or without operating system. |
alejandroRL | 0:dd702039127a | 1484 | */ |
alejandroRL | 0:dd702039127a | 1485 | // |
alejandroRL | 0:dd702039127a | 1486 | // Configuration |
alejandroRL | 0:dd702039127a | 1487 | // |
alejandroRL | 0:dd702039127a | 1488 | void GUI_X_Config(void); |
alejandroRL | 0:dd702039127a | 1489 | void GUI_X_Init (void); |
alejandroRL | 0:dd702039127a | 1490 | |
alejandroRL | 0:dd702039127a | 1491 | // |
alejandroRL | 0:dd702039127a | 1492 | // Timing routines |
alejandroRL | 0:dd702039127a | 1493 | // |
alejandroRL | 0:dd702039127a | 1494 | GUI_TIMER_TIME GUI_X_GetTime(void); |
alejandroRL | 0:dd702039127a | 1495 | void GUI_X_Delay (int Period); |
alejandroRL | 0:dd702039127a | 1496 | |
alejandroRL | 0:dd702039127a | 1497 | // |
alejandroRL | 0:dd702039127a | 1498 | // Multitask routines - required only if multitasking is used (#define GUI_OS 1) |
alejandroRL | 0:dd702039127a | 1499 | // |
alejandroRL | 0:dd702039127a | 1500 | void GUI_X_Unlock (void); |
alejandroRL | 0:dd702039127a | 1501 | void GUI_X_Lock (void); |
alejandroRL | 0:dd702039127a | 1502 | U32 GUI_X_GetTaskId(void); |
alejandroRL | 0:dd702039127a | 1503 | void GUI_X_InitOS (void); |
alejandroRL | 0:dd702039127a | 1504 | |
alejandroRL | 0:dd702039127a | 1505 | // |
alejandroRL | 0:dd702039127a | 1506 | // Event driving (optional with multitasking) |
alejandroRL | 0:dd702039127a | 1507 | // |
alejandroRL | 0:dd702039127a | 1508 | void GUI_X_ExecIdle (void); |
alejandroRL | 0:dd702039127a | 1509 | void GUI_X_WaitEvent (void); |
alejandroRL | 0:dd702039127a | 1510 | void GUI_X_WaitEventTimed(int Period); |
alejandroRL | 0:dd702039127a | 1511 | void GUI_X_SignalEvent (void); |
alejandroRL | 0:dd702039127a | 1512 | |
alejandroRL | 0:dd702039127a | 1513 | // |
alejandroRL | 0:dd702039127a | 1514 | // Recording (logs/warnings and errors) - required only for higher levels |
alejandroRL | 0:dd702039127a | 1515 | // |
alejandroRL | 0:dd702039127a | 1516 | void GUI_X_Log (const char * s); |
alejandroRL | 0:dd702039127a | 1517 | void GUI_X_Warn (const char * s); |
alejandroRL | 0:dd702039127a | 1518 | void GUI_X_ErrorOut(const char * s); |
alejandroRL | 0:dd702039127a | 1519 | |
alejandroRL | 0:dd702039127a | 1520 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1521 | * |
alejandroRL | 0:dd702039127a | 1522 | * Constants for fonts and bitmaps |
alejandroRL | 0:dd702039127a | 1523 | */ |
alejandroRL | 0:dd702039127a | 1524 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsRLE4; |
alejandroRL | 0:dd702039127a | 1525 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsRLE4Ex; |
alejandroRL | 0:dd702039127a | 1526 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsRLE8; |
alejandroRL | 0:dd702039127a | 1527 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsRLE8Ex; |
alejandroRL | 0:dd702039127a | 1528 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsRLE16; |
alejandroRL | 0:dd702039127a | 1529 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsRLE16Ex; |
alejandroRL | 0:dd702039127a | 1530 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsRLEM16; |
alejandroRL | 0:dd702039127a | 1531 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsRLEM16Ex; |
alejandroRL | 0:dd702039127a | 1532 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsRLE32; |
alejandroRL | 0:dd702039127a | 1533 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsRLE32Ex; |
alejandroRL | 0:dd702039127a | 1534 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsRLEAlpha; |
alejandroRL | 0:dd702039127a | 1535 | |
alejandroRL | 0:dd702039127a | 1536 | extern const GUI_BITMAP_METHODS GUI_BitmapMethods444_12; |
alejandroRL | 0:dd702039127a | 1537 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsM444_12; |
alejandroRL | 0:dd702039127a | 1538 | extern const GUI_BITMAP_METHODS GUI_BitmapMethods444_12_1; |
alejandroRL | 0:dd702039127a | 1539 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsM444_12_1; |
alejandroRL | 0:dd702039127a | 1540 | extern const GUI_BITMAP_METHODS GUI_BitmapMethods444_16; |
alejandroRL | 0:dd702039127a | 1541 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsM444_16; |
alejandroRL | 0:dd702039127a | 1542 | extern const GUI_BITMAP_METHODS GUI_BitmapMethods555; |
alejandroRL | 0:dd702039127a | 1543 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsM555; |
alejandroRL | 0:dd702039127a | 1544 | extern const GUI_BITMAP_METHODS GUI_BitmapMethods565; |
alejandroRL | 0:dd702039127a | 1545 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsM565; |
alejandroRL | 0:dd702039127a | 1546 | extern const GUI_BITMAP_METHODS GUI_BitmapMethods24; |
alejandroRL | 0:dd702039127a | 1547 | extern const GUI_BITMAP_METHODS GUI_BitmapMethods888; |
alejandroRL | 0:dd702039127a | 1548 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsM888; |
alejandroRL | 0:dd702039127a | 1549 | extern const GUI_BITMAP_METHODS GUI_BitmapMethods8888; |
alejandroRL | 0:dd702039127a | 1550 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsM8888I; |
alejandroRL | 0:dd702039127a | 1551 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsA565; |
alejandroRL | 0:dd702039127a | 1552 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsAM565; |
alejandroRL | 0:dd702039127a | 1553 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsA555; |
alejandroRL | 0:dd702039127a | 1554 | extern const GUI_BITMAP_METHODS GUI_BitmapMethodsAM555; |
alejandroRL | 0:dd702039127a | 1555 | |
alejandroRL | 0:dd702039127a | 1556 | #define GUI_COMPRESS_RLE4 0 |
alejandroRL | 0:dd702039127a | 1557 | #define GUI_COMPRESS_RLE8 0 |
alejandroRL | 0:dd702039127a | 1558 | |
alejandroRL | 0:dd702039127a | 1559 | #define GUI_DRAW_RLE4 &GUI_BitmapMethodsRLE4 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1560 | #define GUI_DRAW_RLE8 &GUI_BitmapMethodsRLE8 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1561 | #define GUI_DRAW_RLE16 &GUI_BitmapMethodsRLE16 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1562 | #define GUI_DRAW_RLEM16 &GUI_BitmapMethodsRLEM16 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1563 | #define GUI_DRAW_RLE32 &GUI_BitmapMethodsRLE32 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1564 | #define GUI_DRAW_RLEALPHA &GUI_BitmapMethodsRLEAlpha /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1565 | |
alejandroRL | 0:dd702039127a | 1566 | #define GUI_DRAW_BMP444_12 &GUI_BitmapMethods444_12 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1567 | #define GUI_DRAW_BMPM444_12 &GUI_BitmapMethodsM444_12 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1568 | #define GUI_DRAW_BMP444_12_1 &GUI_BitmapMethods444_12_1 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1569 | #define GUI_DRAW_BMPM444_12_1 &GUI_BitmapMethodsM444_12_1 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1570 | #define GUI_DRAW_BMP444_16 &GUI_BitmapMethods444_16 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1571 | #define GUI_DRAW_BMPM444_16 &GUI_BitmapMethodsM444_16 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1572 | #define GUI_DRAW_BMP555 &GUI_BitmapMethods555 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1573 | #define GUI_DRAW_BMPM555 &GUI_BitmapMethodsM555 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1574 | #define GUI_DRAW_BMP565 &GUI_BitmapMethods565 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1575 | #define GUI_DRAW_BMPM565 &GUI_BitmapMethodsM565 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1576 | #define GUI_DRAW_BMP24 &GUI_BitmapMethods24 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1577 | #define GUI_DRAW_BMP888 &GUI_BitmapMethods888 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1578 | #define GUI_DRAW_BMPM888 &GUI_BitmapMethodsM888 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1579 | #define GUI_DRAW_BMP8888 &GUI_BitmapMethods8888 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1580 | #define GUI_DRAW_BMPM8888I &GUI_BitmapMethodsM8888I /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1581 | #define GUI_DRAW_BMPA555 &GUI_BitmapMethodsA555 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1582 | #define GUI_DRAW_BMPAM555 &GUI_BitmapMethodsAM555 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1583 | #define GUI_DRAW_BMPA565 &GUI_BitmapMethodsA565 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1584 | #define GUI_DRAW_BMPAM565 &GUI_BitmapMethodsAM565 /* Method table ! */ |
alejandroRL | 0:dd702039127a | 1585 | |
alejandroRL | 0:dd702039127a | 1586 | extern const tGUI_SIF_APIList GUI_SIF_APIList_Prop; |
alejandroRL | 0:dd702039127a | 1587 | extern const tGUI_SIF_APIList GUI_SIF_APIList_Prop_Ext; |
alejandroRL | 0:dd702039127a | 1588 | extern const tGUI_SIF_APIList GUI_SIF_APIList_Prop_Frm; |
alejandroRL | 0:dd702039127a | 1589 | extern const tGUI_SIF_APIList GUI_SIF_APIList_Prop_AA2; |
alejandroRL | 0:dd702039127a | 1590 | extern const tGUI_SIF_APIList GUI_SIF_APIList_Prop_AA4; |
alejandroRL | 0:dd702039127a | 1591 | extern const tGUI_SIF_APIList GUI_SIF_APIList_Prop_AA2_EXT; |
alejandroRL | 0:dd702039127a | 1592 | extern const tGUI_SIF_APIList GUI_SIF_APIList_Prop_AA4_EXT; |
alejandroRL | 0:dd702039127a | 1593 | |
alejandroRL | 0:dd702039127a | 1594 | extern const tGUI_XBF_APIList GUI_XBF_APIList_Prop; |
alejandroRL | 0:dd702039127a | 1595 | extern const tGUI_XBF_APIList GUI_XBF_APIList_Prop_Ext; |
alejandroRL | 0:dd702039127a | 1596 | extern const tGUI_XBF_APIList GUI_XBF_APIList_Prop_Frm; |
alejandroRL | 0:dd702039127a | 1597 | extern const tGUI_XBF_APIList GUI_XBF_APIList_Prop_AA2_Ext; |
alejandroRL | 0:dd702039127a | 1598 | extern const tGUI_XBF_APIList GUI_XBF_APIList_Prop_AA4_Ext; |
alejandroRL | 0:dd702039127a | 1599 | |
alejandroRL | 0:dd702039127a | 1600 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1601 | * |
alejandroRL | 0:dd702039127a | 1602 | * GUI_KEY_... |
alejandroRL | 0:dd702039127a | 1603 | * |
alejandroRL | 0:dd702039127a | 1604 | * These ID values are basically meant to be used with widgets |
alejandroRL | 0:dd702039127a | 1605 | * Note that we have chosen the values to be close to existing |
alejandroRL | 0:dd702039127a | 1606 | * "standards", so do not change them unless forced to. |
alejandroRL | 0:dd702039127a | 1607 | * |
alejandroRL | 0:dd702039127a | 1608 | */ |
alejandroRL | 0:dd702039127a | 1609 | #define GUI_KEY_BACKSPACE 8 /* ASCII: BACKSPACE Crtl-H */ |
alejandroRL | 0:dd702039127a | 1610 | #define GUI_KEY_TAB 9 /* ASCII: TAB Crtl-I */ |
alejandroRL | 0:dd702039127a | 1611 | #define GUI_KEY_BACKTAB 10 |
alejandroRL | 0:dd702039127a | 1612 | #define GUI_KEY_ENTER 13 /* ASCII: ENTER Crtl-M */ |
alejandroRL | 0:dd702039127a | 1613 | #define GUI_KEY_LEFT 16 |
alejandroRL | 0:dd702039127a | 1614 | #define GUI_KEY_UP 17 |
alejandroRL | 0:dd702039127a | 1615 | #define GUI_KEY_RIGHT 18 |
alejandroRL | 0:dd702039127a | 1616 | #define GUI_KEY_DOWN 19 |
alejandroRL | 0:dd702039127a | 1617 | #define GUI_KEY_HOME 23 |
alejandroRL | 0:dd702039127a | 1618 | #define GUI_KEY_END 24 |
alejandroRL | 0:dd702039127a | 1619 | #define GUI_KEY_SHIFT 25 |
alejandroRL | 0:dd702039127a | 1620 | #define GUI_KEY_CONTROL 26 |
alejandroRL | 0:dd702039127a | 1621 | #define GUI_KEY_ESCAPE 27 /* ASCII: ESCAPE 0x1b */ |
alejandroRL | 0:dd702039127a | 1622 | #define GUI_KEY_INSERT 29 |
alejandroRL | 0:dd702039127a | 1623 | #define GUI_KEY_DELETE 30 |
alejandroRL | 0:dd702039127a | 1624 | #define GUI_KEY_SPACE 32 |
alejandroRL | 0:dd702039127a | 1625 | #define GUI_KEY_PGUP 33 |
alejandroRL | 0:dd702039127a | 1626 | #define GUI_KEY_PGDOWN 34 |
alejandroRL | 0:dd702039127a | 1627 | |
alejandroRL | 0:dd702039127a | 1628 | #define GUI_KEY_F1 40 |
alejandroRL | 0:dd702039127a | 1629 | #define GUI_KEY_F2 41 |
alejandroRL | 0:dd702039127a | 1630 | |
alejandroRL | 0:dd702039127a | 1631 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1632 | * |
alejandroRL | 0:dd702039127a | 1633 | * Dialog item IDs |
alejandroRL | 0:dd702039127a | 1634 | * |
alejandroRL | 0:dd702039127a | 1635 | * The IDs below are arbitrary values. They just have to be unique |
alejandroRL | 0:dd702039127a | 1636 | * within the dialog. |
alejandroRL | 0:dd702039127a | 1637 | * |
alejandroRL | 0:dd702039127a | 1638 | * If you use your own Ids, we recommend to use values above GUI_ID_USER. |
alejandroRL | 0:dd702039127a | 1639 | */ |
alejandroRL | 0:dd702039127a | 1640 | #define GUI_ID_OK 1 |
alejandroRL | 0:dd702039127a | 1641 | #define GUI_ID_CANCEL 2 |
alejandroRL | 0:dd702039127a | 1642 | #define GUI_ID_YES 3 |
alejandroRL | 0:dd702039127a | 1643 | #define GUI_ID_NO 4 |
alejandroRL | 0:dd702039127a | 1644 | #define GUI_ID_CLOSE 5 |
alejandroRL | 0:dd702039127a | 1645 | #define GUI_ID_HELP 6 |
alejandroRL | 0:dd702039127a | 1646 | #define GUI_ID_MAXIMIZE 7 |
alejandroRL | 0:dd702039127a | 1647 | #define GUI_ID_MINIMIZE 8 |
alejandroRL | 0:dd702039127a | 1648 | |
alejandroRL | 0:dd702039127a | 1649 | #define GUI_ID_VSCROLL 0xFE |
alejandroRL | 0:dd702039127a | 1650 | #define GUI_ID_HSCROLL 0xFF |
alejandroRL | 0:dd702039127a | 1651 | |
alejandroRL | 0:dd702039127a | 1652 | #define GUI_ID_EDIT0 0x100 |
alejandroRL | 0:dd702039127a | 1653 | #define GUI_ID_EDIT1 0x101 |
alejandroRL | 0:dd702039127a | 1654 | #define GUI_ID_EDIT2 0x102 |
alejandroRL | 0:dd702039127a | 1655 | #define GUI_ID_EDIT3 0x103 |
alejandroRL | 0:dd702039127a | 1656 | #define GUI_ID_EDIT4 0x104 |
alejandroRL | 0:dd702039127a | 1657 | #define GUI_ID_EDIT5 0x105 |
alejandroRL | 0:dd702039127a | 1658 | #define GUI_ID_EDIT6 0x106 |
alejandroRL | 0:dd702039127a | 1659 | #define GUI_ID_EDIT7 0x107 |
alejandroRL | 0:dd702039127a | 1660 | #define GUI_ID_EDIT8 0x108 |
alejandroRL | 0:dd702039127a | 1661 | #define GUI_ID_EDIT9 0x109 |
alejandroRL | 0:dd702039127a | 1662 | |
alejandroRL | 0:dd702039127a | 1663 | #define GUI_ID_LISTBOX0 0x110 |
alejandroRL | 0:dd702039127a | 1664 | #define GUI_ID_LISTBOX1 0x111 |
alejandroRL | 0:dd702039127a | 1665 | #define GUI_ID_LISTBOX2 0x112 |
alejandroRL | 0:dd702039127a | 1666 | #define GUI_ID_LISTBOX3 0x113 |
alejandroRL | 0:dd702039127a | 1667 | #define GUI_ID_LISTBOX4 0x114 |
alejandroRL | 0:dd702039127a | 1668 | #define GUI_ID_LISTBOX5 0x115 |
alejandroRL | 0:dd702039127a | 1669 | #define GUI_ID_LISTBOX6 0x116 |
alejandroRL | 0:dd702039127a | 1670 | #define GUI_ID_LISTBOX7 0x117 |
alejandroRL | 0:dd702039127a | 1671 | #define GUI_ID_LISTBOX8 0x118 |
alejandroRL | 0:dd702039127a | 1672 | #define GUI_ID_LISTBOX9 0x119 |
alejandroRL | 0:dd702039127a | 1673 | |
alejandroRL | 0:dd702039127a | 1674 | #define GUI_ID_CHECK0 0x120 |
alejandroRL | 0:dd702039127a | 1675 | #define GUI_ID_CHECK1 0x121 |
alejandroRL | 0:dd702039127a | 1676 | #define GUI_ID_CHECK2 0x122 |
alejandroRL | 0:dd702039127a | 1677 | #define GUI_ID_CHECK3 0x123 |
alejandroRL | 0:dd702039127a | 1678 | #define GUI_ID_CHECK4 0x124 |
alejandroRL | 0:dd702039127a | 1679 | #define GUI_ID_CHECK5 0x125 |
alejandroRL | 0:dd702039127a | 1680 | #define GUI_ID_CHECK6 0x126 |
alejandroRL | 0:dd702039127a | 1681 | #define GUI_ID_CHECK7 0x127 |
alejandroRL | 0:dd702039127a | 1682 | #define GUI_ID_CHECK8 0x128 |
alejandroRL | 0:dd702039127a | 1683 | #define GUI_ID_CHECK9 0x129 |
alejandroRL | 0:dd702039127a | 1684 | |
alejandroRL | 0:dd702039127a | 1685 | #define GUI_ID_SLIDER0 0x130 |
alejandroRL | 0:dd702039127a | 1686 | #define GUI_ID_SLIDER1 0x131 |
alejandroRL | 0:dd702039127a | 1687 | #define GUI_ID_SLIDER2 0x132 |
alejandroRL | 0:dd702039127a | 1688 | #define GUI_ID_SLIDER3 0x133 |
alejandroRL | 0:dd702039127a | 1689 | #define GUI_ID_SLIDER4 0x134 |
alejandroRL | 0:dd702039127a | 1690 | #define GUI_ID_SLIDER5 0x135 |
alejandroRL | 0:dd702039127a | 1691 | #define GUI_ID_SLIDER6 0x136 |
alejandroRL | 0:dd702039127a | 1692 | #define GUI_ID_SLIDER7 0x137 |
alejandroRL | 0:dd702039127a | 1693 | #define GUI_ID_SLIDER8 0x138 |
alejandroRL | 0:dd702039127a | 1694 | #define GUI_ID_SLIDER9 0x139 |
alejandroRL | 0:dd702039127a | 1695 | |
alejandroRL | 0:dd702039127a | 1696 | #define GUI_ID_SCROLLBAR0 0x140 |
alejandroRL | 0:dd702039127a | 1697 | #define GUI_ID_SCROLLBAR1 0x141 |
alejandroRL | 0:dd702039127a | 1698 | #define GUI_ID_SCROLLBAR2 0x142 |
alejandroRL | 0:dd702039127a | 1699 | #define GUI_ID_SCROLLBAR3 0x143 |
alejandroRL | 0:dd702039127a | 1700 | |
alejandroRL | 0:dd702039127a | 1701 | #define GUI_ID_RADIO0 0x150 |
alejandroRL | 0:dd702039127a | 1702 | #define GUI_ID_RADIO1 0x151 |
alejandroRL | 0:dd702039127a | 1703 | #define GUI_ID_RADIO2 0x152 |
alejandroRL | 0:dd702039127a | 1704 | #define GUI_ID_RADIO3 0x153 |
alejandroRL | 0:dd702039127a | 1705 | #define GUI_ID_RADIO4 0x154 |
alejandroRL | 0:dd702039127a | 1706 | #define GUI_ID_RADIO5 0x155 |
alejandroRL | 0:dd702039127a | 1707 | #define GUI_ID_RADIO6 0x156 |
alejandroRL | 0:dd702039127a | 1708 | #define GUI_ID_RADIO7 0x157 |
alejandroRL | 0:dd702039127a | 1709 | |
alejandroRL | 0:dd702039127a | 1710 | #define GUI_ID_TEXT0 0x160 |
alejandroRL | 0:dd702039127a | 1711 | #define GUI_ID_TEXT1 0x161 |
alejandroRL | 0:dd702039127a | 1712 | #define GUI_ID_TEXT2 0x162 |
alejandroRL | 0:dd702039127a | 1713 | #define GUI_ID_TEXT3 0x163 |
alejandroRL | 0:dd702039127a | 1714 | #define GUI_ID_TEXT4 0x164 |
alejandroRL | 0:dd702039127a | 1715 | #define GUI_ID_TEXT5 0x165 |
alejandroRL | 0:dd702039127a | 1716 | #define GUI_ID_TEXT6 0x166 |
alejandroRL | 0:dd702039127a | 1717 | #define GUI_ID_TEXT7 0x167 |
alejandroRL | 0:dd702039127a | 1718 | #define GUI_ID_TEXT8 0x168 |
alejandroRL | 0:dd702039127a | 1719 | #define GUI_ID_TEXT9 0x169 |
alejandroRL | 0:dd702039127a | 1720 | |
alejandroRL | 0:dd702039127a | 1721 | #define GUI_ID_BUTTON0 0x170 |
alejandroRL | 0:dd702039127a | 1722 | #define GUI_ID_BUTTON1 0x171 |
alejandroRL | 0:dd702039127a | 1723 | #define GUI_ID_BUTTON2 0x172 |
alejandroRL | 0:dd702039127a | 1724 | #define GUI_ID_BUTTON3 0x173 |
alejandroRL | 0:dd702039127a | 1725 | #define GUI_ID_BUTTON4 0x174 |
alejandroRL | 0:dd702039127a | 1726 | #define GUI_ID_BUTTON5 0x175 |
alejandroRL | 0:dd702039127a | 1727 | #define GUI_ID_BUTTON6 0x176 |
alejandroRL | 0:dd702039127a | 1728 | #define GUI_ID_BUTTON7 0x177 |
alejandroRL | 0:dd702039127a | 1729 | #define GUI_ID_BUTTON8 0x178 |
alejandroRL | 0:dd702039127a | 1730 | #define GUI_ID_BUTTON9 0x179 |
alejandroRL | 0:dd702039127a | 1731 | |
alejandroRL | 0:dd702039127a | 1732 | #define GUI_ID_DROPDOWN0 0x180 |
alejandroRL | 0:dd702039127a | 1733 | #define GUI_ID_DROPDOWN1 0x181 |
alejandroRL | 0:dd702039127a | 1734 | #define GUI_ID_DROPDOWN2 0x182 |
alejandroRL | 0:dd702039127a | 1735 | #define GUI_ID_DROPDOWN3 0x183 |
alejandroRL | 0:dd702039127a | 1736 | |
alejandroRL | 0:dd702039127a | 1737 | #define GUI_ID_MULTIEDIT0 0x190 |
alejandroRL | 0:dd702039127a | 1738 | #define GUI_ID_MULTIEDIT1 0x191 |
alejandroRL | 0:dd702039127a | 1739 | #define GUI_ID_MULTIEDIT2 0x192 |
alejandroRL | 0:dd702039127a | 1740 | #define GUI_ID_MULTIEDIT3 0x193 |
alejandroRL | 0:dd702039127a | 1741 | |
alejandroRL | 0:dd702039127a | 1742 | #define GUI_ID_LISTVIEW0 0x200 |
alejandroRL | 0:dd702039127a | 1743 | #define GUI_ID_LISTVIEW1 0x201 |
alejandroRL | 0:dd702039127a | 1744 | #define GUI_ID_LISTVIEW2 0x202 |
alejandroRL | 0:dd702039127a | 1745 | #define GUI_ID_LISTVIEW3 0x203 |
alejandroRL | 0:dd702039127a | 1746 | |
alejandroRL | 0:dd702039127a | 1747 | #define GUI_ID_PROGBAR0 0x210 |
alejandroRL | 0:dd702039127a | 1748 | #define GUI_ID_PROGBAR1 0x211 |
alejandroRL | 0:dd702039127a | 1749 | #define GUI_ID_PROGBAR2 0x212 |
alejandroRL | 0:dd702039127a | 1750 | #define GUI_ID_PROGBAR3 0x213 |
alejandroRL | 0:dd702039127a | 1751 | |
alejandroRL | 0:dd702039127a | 1752 | #define GUI_ID_GRAPH0 0x220 |
alejandroRL | 0:dd702039127a | 1753 | #define GUI_ID_GRAPH1 0x221 |
alejandroRL | 0:dd702039127a | 1754 | #define GUI_ID_GRAPH2 0x222 |
alejandroRL | 0:dd702039127a | 1755 | #define GUI_ID_GRAPH3 0x223 |
alejandroRL | 0:dd702039127a | 1756 | |
alejandroRL | 0:dd702039127a | 1757 | #define GUI_ID_MULTIPAGE0 0x230 |
alejandroRL | 0:dd702039127a | 1758 | #define GUI_ID_MULTIPAGE1 0x231 |
alejandroRL | 0:dd702039127a | 1759 | #define GUI_ID_MULTIPAGE2 0x232 |
alejandroRL | 0:dd702039127a | 1760 | #define GUI_ID_MULTIPAGE3 0x233 |
alejandroRL | 0:dd702039127a | 1761 | |
alejandroRL | 0:dd702039127a | 1762 | #define GUI_ID_TREEVIEW0 0x240 |
alejandroRL | 0:dd702039127a | 1763 | #define GUI_ID_TREEVIEW1 0x241 |
alejandroRL | 0:dd702039127a | 1764 | #define GUI_ID_TREEVIEW2 0x242 |
alejandroRL | 0:dd702039127a | 1765 | #define GUI_ID_TREEVIEW3 0x243 |
alejandroRL | 0:dd702039127a | 1766 | |
alejandroRL | 0:dd702039127a | 1767 | #define GUI_ID_ICONVIEW0 0x250 |
alejandroRL | 0:dd702039127a | 1768 | #define GUI_ID_ICONVIEW1 0x251 |
alejandroRL | 0:dd702039127a | 1769 | #define GUI_ID_ICONVIEW2 0x252 |
alejandroRL | 0:dd702039127a | 1770 | #define GUI_ID_ICONVIEW3 0x253 |
alejandroRL | 0:dd702039127a | 1771 | |
alejandroRL | 0:dd702039127a | 1772 | #define GUI_ID_LISTWHEEL0 0x260 |
alejandroRL | 0:dd702039127a | 1773 | #define GUI_ID_LISTWHEEL1 0x261 |
alejandroRL | 0:dd702039127a | 1774 | #define GUI_ID_LISTWHEEL2 0x262 |
alejandroRL | 0:dd702039127a | 1775 | #define GUI_ID_LISTWHEEL3 0x263 |
alejandroRL | 0:dd702039127a | 1776 | |
alejandroRL | 0:dd702039127a | 1777 | #define GUI_ID_IMAGE0 0x270 |
alejandroRL | 0:dd702039127a | 1778 | #define GUI_ID_IMAGE1 0x271 |
alejandroRL | 0:dd702039127a | 1779 | #define GUI_ID_IMAGE2 0x272 |
alejandroRL | 0:dd702039127a | 1780 | #define GUI_ID_IMAGE3 0x273 |
alejandroRL | 0:dd702039127a | 1781 | #define GUI_ID_IMAGE4 0x274 |
alejandroRL | 0:dd702039127a | 1782 | #define GUI_ID_IMAGE5 0x275 |
alejandroRL | 0:dd702039127a | 1783 | #define GUI_ID_IMAGE6 0x276 |
alejandroRL | 0:dd702039127a | 1784 | #define GUI_ID_IMAGE7 0x277 |
alejandroRL | 0:dd702039127a | 1785 | #define GUI_ID_IMAGE8 0x278 |
alejandroRL | 0:dd702039127a | 1786 | #define GUI_ID_IMAGE9 0x279 |
alejandroRL | 0:dd702039127a | 1787 | |
alejandroRL | 0:dd702039127a | 1788 | #define GUI_ID_SPINBOX0 0x280 |
alejandroRL | 0:dd702039127a | 1789 | #define GUI_ID_SPINBOX1 0x281 |
alejandroRL | 0:dd702039127a | 1790 | #define GUI_ID_SPINBOX2 0x282 |
alejandroRL | 0:dd702039127a | 1791 | #define GUI_ID_SPINBOX3 0x283 |
alejandroRL | 0:dd702039127a | 1792 | #define GUI_ID_SPINBOX4 0x284 |
alejandroRL | 0:dd702039127a | 1793 | #define GUI_ID_SPINBOX5 0x285 |
alejandroRL | 0:dd702039127a | 1794 | #define GUI_ID_SPINBOX6 0x286 |
alejandroRL | 0:dd702039127a | 1795 | #define GUI_ID_SPINBOX7 0x287 |
alejandroRL | 0:dd702039127a | 1796 | #define GUI_ID_SPINBOX8 0x288 |
alejandroRL | 0:dd702039127a | 1797 | #define GUI_ID_SPINBOX9 0x289 |
alejandroRL | 0:dd702039127a | 1798 | |
alejandroRL | 0:dd702039127a | 1799 | #define GUI_ID_CALENDAR0 0x290 |
alejandroRL | 0:dd702039127a | 1800 | |
alejandroRL | 0:dd702039127a | 1801 | #define GUI_ID_KNOB0 0x300 |
alejandroRL | 0:dd702039127a | 1802 | #define GUI_ID_KNOB1 0x301 |
alejandroRL | 0:dd702039127a | 1803 | #define GUI_ID_KNOB2 0x302 |
alejandroRL | 0:dd702039127a | 1804 | #define GUI_ID_KNOB3 0x303 |
alejandroRL | 0:dd702039127a | 1805 | #define GUI_ID_KNOB4 0x304 |
alejandroRL | 0:dd702039127a | 1806 | #define GUI_ID_KNOB5 0x305 |
alejandroRL | 0:dd702039127a | 1807 | #define GUI_ID_KNOB6 0x306 |
alejandroRL | 0:dd702039127a | 1808 | #define GUI_ID_KNOB7 0x307 |
alejandroRL | 0:dd702039127a | 1809 | #define GUI_ID_KNOB8 0x308 |
alejandroRL | 0:dd702039127a | 1810 | #define GUI_ID_KNOB9 0x309 |
alejandroRL | 0:dd702039127a | 1811 | |
alejandroRL | 0:dd702039127a | 1812 | #define GUI_ID_SWIPELIST0 0x320 |
alejandroRL | 0:dd702039127a | 1813 | #define GUI_ID_SWIPELIST1 0x321 |
alejandroRL | 0:dd702039127a | 1814 | #define GUI_ID_SWIPELIST2 0x322 |
alejandroRL | 0:dd702039127a | 1815 | |
alejandroRL | 0:dd702039127a | 1816 | #define GUI_ID_USER 0x800 |
alejandroRL | 0:dd702039127a | 1817 | |
alejandroRL | 0:dd702039127a | 1818 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1819 | * |
alejandroRL | 0:dd702039127a | 1820 | * Mouse buttons |
alejandroRL | 0:dd702039127a | 1821 | */ |
alejandroRL | 0:dd702039127a | 1822 | #define GUI_LBUTTON (1 << 0) /* Left button */ |
alejandroRL | 0:dd702039127a | 1823 | #define GUI_RBUTTON (1 << 1) /* Right button */ |
alejandroRL | 0:dd702039127a | 1824 | #define GUI_MBUTTON (1 << 2) /* Middle button */ |
alejandroRL | 0:dd702039127a | 1825 | #define GUI_DBUTTON (1 << 7) /* Double-click button */ |
alejandroRL | 0:dd702039127a | 1826 | |
alejandroRL | 0:dd702039127a | 1827 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1828 | * |
alejandroRL | 0:dd702039127a | 1829 | * Text styles |
alejandroRL | 0:dd702039127a | 1830 | */ |
alejandroRL | 0:dd702039127a | 1831 | #define GUI_TS_NORMAL (0) |
alejandroRL | 0:dd702039127a | 1832 | #define GUI_TS_UNDERLINE (1 << 0) |
alejandroRL | 0:dd702039127a | 1833 | #define GUI_TS_STRIKETHRU (1 << 1) |
alejandroRL | 0:dd702039127a | 1834 | #define GUI_TS_OVERLINE (1 << 2) |
alejandroRL | 0:dd702039127a | 1835 | |
alejandroRL | 0:dd702039127a | 1836 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1837 | * |
alejandroRL | 0:dd702039127a | 1838 | * Line styles |
alejandroRL | 0:dd702039127a | 1839 | */ |
alejandroRL | 0:dd702039127a | 1840 | #define GUI_LS_SOLID (0) |
alejandroRL | 0:dd702039127a | 1841 | #define GUI_LS_DASH (1) |
alejandroRL | 0:dd702039127a | 1842 | #define GUI_LS_DOT (2) |
alejandroRL | 0:dd702039127a | 1843 | #define GUI_LS_DASHDOT (3) |
alejandroRL | 0:dd702039127a | 1844 | #define GUI_LS_DASHDOTDOT (4) |
alejandroRL | 0:dd702039127a | 1845 | |
alejandroRL | 0:dd702039127a | 1846 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1847 | * |
alejandroRL | 0:dd702039127a | 1848 | * Pen shapes |
alejandroRL | 0:dd702039127a | 1849 | */ |
alejandroRL | 0:dd702039127a | 1850 | #define GUI_PS_ROUND (0) |
alejandroRL | 0:dd702039127a | 1851 | #define GUI_PS_FLAT (1) |
alejandroRL | 0:dd702039127a | 1852 | #define GUI_PS_SQUARE (2) |
alejandroRL | 0:dd702039127a | 1853 | |
alejandroRL | 0:dd702039127a | 1854 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1855 | * |
alejandroRL | 0:dd702039127a | 1856 | * Standard colors |
alejandroRL | 0:dd702039127a | 1857 | */ |
alejandroRL | 0:dd702039127a | 1858 | #if (GUI_USE_ARGB) |
alejandroRL | 0:dd702039127a | 1859 | #define GUI_BLUE 0xFF0000FF |
alejandroRL | 0:dd702039127a | 1860 | #define GUI_GREEN 0xFF00FF00 |
alejandroRL | 0:dd702039127a | 1861 | #define GUI_RED 0xFFFF0000 |
alejandroRL | 0:dd702039127a | 1862 | #define GUI_CYAN 0xFF00FFFF |
alejandroRL | 0:dd702039127a | 1863 | #define GUI_MAGENTA 0xFFFF00FF |
alejandroRL | 0:dd702039127a | 1864 | #define GUI_YELLOW 0xFFFFFF00 |
alejandroRL | 0:dd702039127a | 1865 | #define GUI_LIGHTBLUE 0xFF8080FF |
alejandroRL | 0:dd702039127a | 1866 | #define GUI_LIGHTGREEN 0xFF80FF80 |
alejandroRL | 0:dd702039127a | 1867 | #define GUI_LIGHTRED 0xFFFF8080 |
alejandroRL | 0:dd702039127a | 1868 | #define GUI_LIGHTCYAN 0xFF80FFFF |
alejandroRL | 0:dd702039127a | 1869 | #define GUI_LIGHTMAGENTA 0xFFFF80FF |
alejandroRL | 0:dd702039127a | 1870 | #define GUI_LIGHTYELLOW 0xFFFFFF80 |
alejandroRL | 0:dd702039127a | 1871 | #define GUI_DARKBLUE 0xFF000080 |
alejandroRL | 0:dd702039127a | 1872 | #define GUI_DARKGREEN 0xFF008000 |
alejandroRL | 0:dd702039127a | 1873 | #define GUI_DARKRED 0xFF800000 |
alejandroRL | 0:dd702039127a | 1874 | #define GUI_DARKCYAN 0xFF008080 |
alejandroRL | 0:dd702039127a | 1875 | #define GUI_DARKMAGENTA 0xFF800080 |
alejandroRL | 0:dd702039127a | 1876 | #define GUI_DARKYELLOW 0xFF808000 |
alejandroRL | 0:dd702039127a | 1877 | #define GUI_WHITE 0xFFFFFFFF |
alejandroRL | 0:dd702039127a | 1878 | #define GUI_LIGHTGRAY 0xFFD3D3D3 |
alejandroRL | 0:dd702039127a | 1879 | #define GUI_GRAY 0xFF808080 |
alejandroRL | 0:dd702039127a | 1880 | #define GUI_DARKGRAY 0xFF404040 |
alejandroRL | 0:dd702039127a | 1881 | #define GUI_BLACK 0xFF000000 |
alejandroRL | 0:dd702039127a | 1882 | #define GUI_BROWN 0xFFA52A2A |
alejandroRL | 0:dd702039127a | 1883 | #define GUI_ORANGE 0xFFFFA500 |
alejandroRL | 0:dd702039127a | 1884 | #define GUI_TRANSPARENT 0x00000000 |
alejandroRL | 0:dd702039127a | 1885 | |
alejandroRL | 0:dd702039127a | 1886 | #define GUI_GRAY_3F 0xFF3F3F3F |
alejandroRL | 0:dd702039127a | 1887 | #define GUI_GRAY_50 0xFF505050 |
alejandroRL | 0:dd702039127a | 1888 | #define GUI_GRAY_55 0xFF555555 |
alejandroRL | 0:dd702039127a | 1889 | #define GUI_GRAY_60 0xFF606060 |
alejandroRL | 0:dd702039127a | 1890 | #define GUI_GRAY_7C 0xFF7C7C7C |
alejandroRL | 0:dd702039127a | 1891 | #define GUI_GRAY_9A 0xFF9A9A9A |
alejandroRL | 0:dd702039127a | 1892 | #define GUI_GRAY_AA 0xFFAAAAAA |
alejandroRL | 0:dd702039127a | 1893 | #define GUI_GRAY_C0 0xFFC0C0C0 |
alejandroRL | 0:dd702039127a | 1894 | #define GUI_GRAY_C8 0xFFC8C8C8 |
alejandroRL | 0:dd702039127a | 1895 | #define GUI_GRAY_D0 0xFFD0D0D0 |
alejandroRL | 0:dd702039127a | 1896 | #define GUI_GRAY_E7 0xFFE7E7E7 |
alejandroRL | 0:dd702039127a | 1897 | #define GUI_BLUE_98 0xFF000098 |
alejandroRL | 0:dd702039127a | 1898 | #else |
alejandroRL | 0:dd702039127a | 1899 | #define GUI_BLUE 0x00FF0000 |
alejandroRL | 0:dd702039127a | 1900 | #define GUI_GREEN 0x0000FF00 |
alejandroRL | 0:dd702039127a | 1901 | #define GUI_RED 0x000000FF |
alejandroRL | 0:dd702039127a | 1902 | #define GUI_CYAN 0x00FFFF00 |
alejandroRL | 0:dd702039127a | 1903 | #define GUI_MAGENTA 0x00FF00FF |
alejandroRL | 0:dd702039127a | 1904 | #define GUI_YELLOW 0x0000FFFF |
alejandroRL | 0:dd702039127a | 1905 | #define GUI_LIGHTBLUE 0x00FF8080 |
alejandroRL | 0:dd702039127a | 1906 | #define GUI_LIGHTGREEN 0x0080FF80 |
alejandroRL | 0:dd702039127a | 1907 | #define GUI_LIGHTRED 0x008080FF |
alejandroRL | 0:dd702039127a | 1908 | #define GUI_LIGHTCYAN 0x00FFFF80 |
alejandroRL | 0:dd702039127a | 1909 | #define GUI_LIGHTMAGENTA 0x00FF80FF |
alejandroRL | 0:dd702039127a | 1910 | #define GUI_LIGHTYELLOW 0x0080FFFF |
alejandroRL | 0:dd702039127a | 1911 | #define GUI_DARKBLUE 0x00800000 |
alejandroRL | 0:dd702039127a | 1912 | #define GUI_DARKGREEN 0x00008000 |
alejandroRL | 0:dd702039127a | 1913 | #define GUI_DARKRED 0x00000080 |
alejandroRL | 0:dd702039127a | 1914 | #define GUI_DARKCYAN 0x00808000 |
alejandroRL | 0:dd702039127a | 1915 | #define GUI_DARKMAGENTA 0x00800080 |
alejandroRL | 0:dd702039127a | 1916 | #define GUI_DARKYELLOW 0x00008080 |
alejandroRL | 0:dd702039127a | 1917 | #define GUI_WHITE 0x00FFFFFF |
alejandroRL | 0:dd702039127a | 1918 | #define GUI_LIGHTGRAY 0x00D3D3D3 |
alejandroRL | 0:dd702039127a | 1919 | #define GUI_GRAY 0x00808080 |
alejandroRL | 0:dd702039127a | 1920 | #define GUI_DARKGRAY 0x00404040 |
alejandroRL | 0:dd702039127a | 1921 | #define GUI_BLACK 0x00000000 |
alejandroRL | 0:dd702039127a | 1922 | #define GUI_BROWN 0x002A2AA5 |
alejandroRL | 0:dd702039127a | 1923 | #define GUI_ORANGE 0x0000A5FF |
alejandroRL | 0:dd702039127a | 1924 | #define GUI_TRANSPARENT 0xFF000000 |
alejandroRL | 0:dd702039127a | 1925 | |
alejandroRL | 0:dd702039127a | 1926 | #define GUI_GRAY_3F 0x003F3F3F |
alejandroRL | 0:dd702039127a | 1927 | #define GUI_GRAY_50 0x00505050 |
alejandroRL | 0:dd702039127a | 1928 | #define GUI_GRAY_55 0x00555555 |
alejandroRL | 0:dd702039127a | 1929 | #define GUI_GRAY_60 0x00606060 |
alejandroRL | 0:dd702039127a | 1930 | #define GUI_GRAY_7C 0x007C7C7C |
alejandroRL | 0:dd702039127a | 1931 | #define GUI_GRAY_9A 0x009A9A9A |
alejandroRL | 0:dd702039127a | 1932 | #define GUI_GRAY_AA 0x00AAAAAA |
alejandroRL | 0:dd702039127a | 1933 | #define GUI_GRAY_C0 0x00C0C0C0 |
alejandroRL | 0:dd702039127a | 1934 | #define GUI_GRAY_C8 0x00C8C8C8 |
alejandroRL | 0:dd702039127a | 1935 | #define GUI_GRAY_D0 0x00D0D0D0 |
alejandroRL | 0:dd702039127a | 1936 | #define GUI_GRAY_E7 0x00E7E7E7 |
alejandroRL | 0:dd702039127a | 1937 | #define GUI_BLUE_98 0x00980000 |
alejandroRL | 0:dd702039127a | 1938 | #endif |
alejandroRL | 0:dd702039127a | 1939 | |
alejandroRL | 0:dd702039127a | 1940 | #define GUI_INVALID_COLOR 0xFFFFFFF /* Invalid color - more than 24 bits */ |
alejandroRL | 0:dd702039127a | 1941 | |
alejandroRL | 0:dd702039127a | 1942 | #if (GUI_USE_ARGB) |
alejandroRL | 0:dd702039127a | 1943 | #define GUI_MAKE_COLOR(ABGR) (((((U32)ABGR) & 0xFF000000ul) ^ 0xFF000000ul) | ((((U32)ABGR) & 0x00FF0000ul) >> 16) | (((U32)ABGR) & 0x0000FF00ul) | ((((U32)ABGR) & 0x000000FFul) << 16)) |
alejandroRL | 0:dd702039127a | 1944 | #define GUI_MAKE_TRANS(Alpha) (255 - (Alpha)) |
alejandroRL | 0:dd702039127a | 1945 | #else |
alejandroRL | 0:dd702039127a | 1946 | #define GUI_MAKE_COLOR(ABGR) (ABGR) |
alejandroRL | 0:dd702039127a | 1947 | #define GUI_MAKE_TRANS(Alpha) (Alpha) |
alejandroRL | 0:dd702039127a | 1948 | #endif |
alejandroRL | 0:dd702039127a | 1949 | |
alejandroRL | 0:dd702039127a | 1950 | #if (GUI_USE_ARGB) |
alejandroRL | 0:dd702039127a | 1951 | #define GUI_TRANS_BYTE 0x00 |
alejandroRL | 0:dd702039127a | 1952 | #else |
alejandroRL | 0:dd702039127a | 1953 | #define GUI_TRANS_BYTE 0xFF |
alejandroRL | 0:dd702039127a | 1954 | #endif |
alejandroRL | 0:dd702039127a | 1955 | |
alejandroRL | 0:dd702039127a | 1956 | |
alejandroRL | 0:dd702039127a | 1957 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1958 | * |
alejandroRL | 0:dd702039127a | 1959 | * MultiTouch-Support |
alejandroRL | 0:dd702039127a | 1960 | */ |
alejandroRL | 0:dd702039127a | 1961 | // |
alejandroRL | 0:dd702039127a | 1962 | // Defines |
alejandroRL | 0:dd702039127a | 1963 | // |
alejandroRL | 0:dd702039127a | 1964 | #define GUI_MTOUCH_FLAG_DOWN (1 << 0) |
alejandroRL | 0:dd702039127a | 1965 | #define GUI_MTOUCH_FLAG_MOVE (1 << 1) |
alejandroRL | 0:dd702039127a | 1966 | #define GUI_MTOUCH_FLAG_UP (1 << 2) |
alejandroRL | 0:dd702039127a | 1967 | |
alejandroRL | 0:dd702039127a | 1968 | // |
alejandroRL | 0:dd702039127a | 1969 | // Variables |
alejandroRL | 0:dd702039127a | 1970 | // |
alejandroRL | 0:dd702039127a | 1971 | extern T_GUI_MTOUCH_STOREEVENT GUI_MTOUCH__pStoreEvent; |
alejandroRL | 0:dd702039127a | 1972 | |
alejandroRL | 0:dd702039127a | 1973 | // |
alejandroRL | 0:dd702039127a | 1974 | // Interface |
alejandroRL | 0:dd702039127a | 1975 | // |
alejandroRL | 0:dd702039127a | 1976 | void GUI_MTOUCH_Enable (int OnOff); |
alejandroRL | 0:dd702039127a | 1977 | int GUI_MTOUCH_GetEvent (GUI_MTOUCH_EVENT * pEvent); |
alejandroRL | 0:dd702039127a | 1978 | int GUI_MTOUCH_GetTouchInput (GUI_MTOUCH_EVENT * pEvent, GUI_MTOUCH_INPUT * pBuffer, unsigned Index); |
alejandroRL | 0:dd702039127a | 1979 | int GUI_MTOUCH_IsEmpty (void); |
alejandroRL | 0:dd702039127a | 1980 | void GUI_MTOUCH_SetOrientation (int Orientation); |
alejandroRL | 0:dd702039127a | 1981 | void GUI_MTOUCH_SetOrientationEx(int Orientation, int LayerIndex); |
alejandroRL | 0:dd702039127a | 1982 | void GUI_MTOUCH_StoreEvent (GUI_MTOUCH_EVENT * pEvent, GUI_MTOUCH_INPUT * pInput); |
alejandroRL | 0:dd702039127a | 1983 | |
alejandroRL | 0:dd702039127a | 1984 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1985 | * |
alejandroRL | 0:dd702039127a | 1986 | * Coordinates used in touch driver |
alejandroRL | 0:dd702039127a | 1987 | */ |
alejandroRL | 0:dd702039127a | 1988 | #define GUI_COORD_X 0 |
alejandroRL | 0:dd702039127a | 1989 | #define GUI_COORD_Y 1 |
alejandroRL | 0:dd702039127a | 1990 | |
alejandroRL | 0:dd702039127a | 1991 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 1992 | * |
alejandroRL | 0:dd702039127a | 1993 | * Addresses of standard fonts |
alejandroRL | 0:dd702039127a | 1994 | */ |
alejandroRL | 0:dd702039127a | 1995 | // |
alejandroRL | 0:dd702039127a | 1996 | // Proportional fonts |
alejandroRL | 0:dd702039127a | 1997 | // |
alejandroRL | 0:dd702039127a | 1998 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font8_ASCII, GUI_Font8_1; |
alejandroRL | 0:dd702039127a | 1999 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font10S_ASCII, GUI_Font10S_1; |
alejandroRL | 0:dd702039127a | 2000 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font10_ASCII, GUI_Font10_1; |
alejandroRL | 0:dd702039127a | 2001 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font13_ASCII, GUI_Font13_1; |
alejandroRL | 0:dd702039127a | 2002 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font13B_ASCII, GUI_Font13B_1; |
alejandroRL | 0:dd702039127a | 2003 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font13H_ASCII, GUI_Font13H_1; |
alejandroRL | 0:dd702039127a | 2004 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font13HB_ASCII, GUI_Font13HB_1; |
alejandroRL | 0:dd702039127a | 2005 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font16_ASCII, GUI_Font16_1, GUI_Font16_HK, GUI_Font16_1HK; |
alejandroRL | 0:dd702039127a | 2006 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font16B_ASCII, GUI_Font16B_1; |
alejandroRL | 0:dd702039127a | 2007 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font20_ASCII, GUI_Font20_1; |
alejandroRL | 0:dd702039127a | 2008 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font20B_ASCII, GUI_Font20B_1; |
alejandroRL | 0:dd702039127a | 2009 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font24_ASCII, GUI_Font24_1; |
alejandroRL | 0:dd702039127a | 2010 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font24B_ASCII, GUI_Font24B_1; |
alejandroRL | 0:dd702039127a | 2011 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font32_ASCII, GUI_Font32_1; |
alejandroRL | 0:dd702039127a | 2012 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font32B_ASCII, GUI_Font32B_1; |
alejandroRL | 0:dd702039127a | 2013 | |
alejandroRL | 0:dd702039127a | 2014 | // |
alejandroRL | 0:dd702039127a | 2015 | // Proportional fonts, framed |
alejandroRL | 0:dd702039127a | 2016 | // |
alejandroRL | 0:dd702039127a | 2017 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font20F_ASCII; |
alejandroRL | 0:dd702039127a | 2018 | |
alejandroRL | 0:dd702039127a | 2019 | // |
alejandroRL | 0:dd702039127a | 2020 | // Monospaced |
alejandroRL | 0:dd702039127a | 2021 | // |
alejandroRL | 0:dd702039127a | 2022 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font4x6; |
alejandroRL | 0:dd702039127a | 2023 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font6x8, GUI_Font6x9; |
alejandroRL | 0:dd702039127a | 2024 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font6x8_ASCII, GUI_Font6x8_1; |
alejandroRL | 0:dd702039127a | 2025 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font8x8, GUI_Font8x9; |
alejandroRL | 0:dd702039127a | 2026 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font8x8_ASCII, GUI_Font8x8_1; |
alejandroRL | 0:dd702039127a | 2027 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font8x10_ASCII; |
alejandroRL | 0:dd702039127a | 2028 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font8x12_ASCII; |
alejandroRL | 0:dd702039127a | 2029 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font8x13_ASCII, GUI_Font8x13_1; |
alejandroRL | 0:dd702039127a | 2030 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font8x15B_ASCII, GUI_Font8x15B_1; |
alejandroRL | 0:dd702039127a | 2031 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font8x16, GUI_Font8x17, GUI_Font8x18; |
alejandroRL | 0:dd702039127a | 2032 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font8x16x1x2, GUI_Font8x16x2x2, GUI_Font8x16x3x3; |
alejandroRL | 0:dd702039127a | 2033 | extern GUI_CONST_STORAGE GUI_FONT GUI_Font8x16_ASCII, GUI_Font8x16_1; |
alejandroRL | 0:dd702039127a | 2034 | |
alejandroRL | 0:dd702039127a | 2035 | // |
alejandroRL | 0:dd702039127a | 2036 | // Digits |
alejandroRL | 0:dd702039127a | 2037 | // |
alejandroRL | 0:dd702039127a | 2038 | extern GUI_CONST_STORAGE GUI_FONT GUI_FontD24x32; |
alejandroRL | 0:dd702039127a | 2039 | extern GUI_CONST_STORAGE GUI_FONT GUI_FontD32; |
alejandroRL | 0:dd702039127a | 2040 | extern GUI_CONST_STORAGE GUI_FONT GUI_FontD36x48; |
alejandroRL | 0:dd702039127a | 2041 | extern GUI_CONST_STORAGE GUI_FONT GUI_FontD48; |
alejandroRL | 0:dd702039127a | 2042 | extern GUI_CONST_STORAGE GUI_FONT GUI_FontD48x64; |
alejandroRL | 0:dd702039127a | 2043 | extern GUI_CONST_STORAGE GUI_FONT GUI_FontD64; |
alejandroRL | 0:dd702039127a | 2044 | extern GUI_CONST_STORAGE GUI_FONT GUI_FontD60x80; |
alejandroRL | 0:dd702039127a | 2045 | extern GUI_CONST_STORAGE GUI_FONT GUI_FontD80; |
alejandroRL | 0:dd702039127a | 2046 | |
alejandroRL | 0:dd702039127a | 2047 | // |
alejandroRL | 0:dd702039127a | 2048 | // Comic fonts |
alejandroRL | 0:dd702039127a | 2049 | // |
alejandroRL | 0:dd702039127a | 2050 | extern GUI_CONST_STORAGE GUI_FONT GUI_FontComic18B_ASCII, GUI_FontComic18B_1; |
alejandroRL | 0:dd702039127a | 2051 | extern GUI_CONST_STORAGE GUI_FONT GUI_FontComic24B_ASCII, GUI_FontComic24B_1; |
alejandroRL | 0:dd702039127a | 2052 | |
alejandroRL | 0:dd702039127a | 2053 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 2054 | * |
alejandroRL | 0:dd702039127a | 2055 | * Macros to be used |
alejandroRL | 0:dd702039127a | 2056 | */ |
alejandroRL | 0:dd702039127a | 2057 | // |
alejandroRL | 0:dd702039127a | 2058 | // Proportional fonts |
alejandroRL | 0:dd702039127a | 2059 | // |
alejandroRL | 0:dd702039127a | 2060 | #define GUI_FONT_8_ASCII &GUI_Font8_ASCII |
alejandroRL | 0:dd702039127a | 2061 | #define GUI_FONT_8_1 &GUI_Font8_1 |
alejandroRL | 0:dd702039127a | 2062 | #define GUI_FONT_10S_ASCII &GUI_Font10S_ASCII |
alejandroRL | 0:dd702039127a | 2063 | #define GUI_FONT_10S_1 &GUI_Font10S_1 |
alejandroRL | 0:dd702039127a | 2064 | #define GUI_FONT_10_ASCII &GUI_Font10_ASCII |
alejandroRL | 0:dd702039127a | 2065 | #define GUI_FONT_10_1 &GUI_Font10_1 |
alejandroRL | 0:dd702039127a | 2066 | #define GUI_FONT_13_ASCII &GUI_Font13_ASCII |
alejandroRL | 0:dd702039127a | 2067 | #define GUI_FONT_13_1 &GUI_Font13_1 |
alejandroRL | 0:dd702039127a | 2068 | #define GUI_FONT_13B_ASCII &GUI_Font13B_ASCII |
alejandroRL | 0:dd702039127a | 2069 | #define GUI_FONT_13B_1 &GUI_Font13B_1 |
alejandroRL | 0:dd702039127a | 2070 | #define GUI_FONT_13H_ASCII &GUI_Font13H_ASCII |
alejandroRL | 0:dd702039127a | 2071 | #define GUI_FONT_13H_1 &GUI_Font13H_1 |
alejandroRL | 0:dd702039127a | 2072 | #define GUI_FONT_13HB_ASCII &GUI_Font13HB_ASCII |
alejandroRL | 0:dd702039127a | 2073 | #define GUI_FONT_13HB_1 &GUI_Font13HB_1 |
alejandroRL | 0:dd702039127a | 2074 | #define GUI_FONT_16_ASCII &GUI_Font16_ASCII |
alejandroRL | 0:dd702039127a | 2075 | #define GUI_FONT_16_1 &GUI_Font16_1 |
alejandroRL | 0:dd702039127a | 2076 | #define GUI_FONT_16_HK &GUI_Font16_HK |
alejandroRL | 0:dd702039127a | 2077 | #define GUI_FONT_16_1HK &GUI_Font16_1HK |
alejandroRL | 0:dd702039127a | 2078 | #define GUI_FONT_16B_ASCII &GUI_Font16B_ASCII |
alejandroRL | 0:dd702039127a | 2079 | #define GUI_FONT_16B_1 &GUI_Font16B_1 |
alejandroRL | 0:dd702039127a | 2080 | #define GUI_FONT_20_ASCII &GUI_Font20_ASCII |
alejandroRL | 0:dd702039127a | 2081 | #define GUI_FONT_20_1 &GUI_Font20_1 |
alejandroRL | 0:dd702039127a | 2082 | #define GUI_FONT_20B_ASCII &GUI_Font20B_ASCII |
alejandroRL | 0:dd702039127a | 2083 | #define GUI_FONT_20B_1 &GUI_Font20B_1 |
alejandroRL | 0:dd702039127a | 2084 | #define GUI_FONT_24_ASCII &GUI_Font24_ASCII |
alejandroRL | 0:dd702039127a | 2085 | #define GUI_FONT_24_1 &GUI_Font24_1 |
alejandroRL | 0:dd702039127a | 2086 | #define GUI_FONT_24B_ASCII &GUI_Font24B_ASCII |
alejandroRL | 0:dd702039127a | 2087 | #define GUI_FONT_24B_1 &GUI_Font24B_1 |
alejandroRL | 0:dd702039127a | 2088 | #define GUI_FONT_32_ASCII &GUI_Font32_ASCII |
alejandroRL | 0:dd702039127a | 2089 | #define GUI_FONT_32_1 &GUI_Font32_1 |
alejandroRL | 0:dd702039127a | 2090 | #define GUI_FONT_32B_ASCII &GUI_Font32B_ASCII |
alejandroRL | 0:dd702039127a | 2091 | #define GUI_FONT_32B_1 &GUI_Font32B_1 |
alejandroRL | 0:dd702039127a | 2092 | |
alejandroRL | 0:dd702039127a | 2093 | // |
alejandroRL | 0:dd702039127a | 2094 | // Proportional fonts, framed |
alejandroRL | 0:dd702039127a | 2095 | // |
alejandroRL | 0:dd702039127a | 2096 | #define GUI_FONT_20F_ASCII &GUI_Font20F_ASCII |
alejandroRL | 0:dd702039127a | 2097 | |
alejandroRL | 0:dd702039127a | 2098 | // |
alejandroRL | 0:dd702039127a | 2099 | // Monospaced |
alejandroRL | 0:dd702039127a | 2100 | // |
alejandroRL | 0:dd702039127a | 2101 | #define GUI_FONT_4X6 &GUI_Font4x6 |
alejandroRL | 0:dd702039127a | 2102 | #define GUI_FONT_6X8 &GUI_Font6x8 |
alejandroRL | 0:dd702039127a | 2103 | #define GUI_FONT_6X8_ASCII &GUI_Font6x8_ASCII |
alejandroRL | 0:dd702039127a | 2104 | #define GUI_FONT_6X8_1 &GUI_Font6x8_1 |
alejandroRL | 0:dd702039127a | 2105 | #define GUI_FONT_6X9 &GUI_Font6x9 |
alejandroRL | 0:dd702039127a | 2106 | #define GUI_FONT_8X8 &GUI_Font8x8 |
alejandroRL | 0:dd702039127a | 2107 | #define GUI_FONT_8X8_ASCII &GUI_Font8x8_ASCII |
alejandroRL | 0:dd702039127a | 2108 | #define GUI_FONT_8X8_1 &GUI_Font8x8_1 |
alejandroRL | 0:dd702039127a | 2109 | #define GUI_FONT_8X9 &GUI_Font8x9 |
alejandroRL | 0:dd702039127a | 2110 | #define GUI_FONT_8X10_ASCII &GUI_Font8x10_ASCII |
alejandroRL | 0:dd702039127a | 2111 | #define GUI_FONT_8X12_ASCII &GUI_Font8x12_ASCII |
alejandroRL | 0:dd702039127a | 2112 | #define GUI_FONT_8X13_ASCII &GUI_Font8x13_ASCII |
alejandroRL | 0:dd702039127a | 2113 | #define GUI_FONT_8X13_1 &GUI_Font8x13_1 |
alejandroRL | 0:dd702039127a | 2114 | #define GUI_FONT_8X15B_ASCII &GUI_Font8x15B_ASCII |
alejandroRL | 0:dd702039127a | 2115 | #define GUI_FONT_8X15B_1 &GUI_Font8x15B_1 |
alejandroRL | 0:dd702039127a | 2116 | #define GUI_FONT_8X16 &GUI_Font8x16 |
alejandroRL | 0:dd702039127a | 2117 | #define GUI_FONT_8X17 &GUI_Font8x17 |
alejandroRL | 0:dd702039127a | 2118 | #define GUI_FONT_8X18 &GUI_Font8x18 |
alejandroRL | 0:dd702039127a | 2119 | #define GUI_FONT_8X16X1X2 &GUI_Font8x16x1x2 |
alejandroRL | 0:dd702039127a | 2120 | #define GUI_FONT_8X16X2X2 &GUI_Font8x16x2x2 |
alejandroRL | 0:dd702039127a | 2121 | #define GUI_FONT_8X16X3X3 &GUI_Font8x16x3x3 |
alejandroRL | 0:dd702039127a | 2122 | #define GUI_FONT_8X16_ASCII &GUI_Font8x16_ASCII |
alejandroRL | 0:dd702039127a | 2123 | #define GUI_FONT_8X16_1 &GUI_Font8x16_1 |
alejandroRL | 0:dd702039127a | 2124 | |
alejandroRL | 0:dd702039127a | 2125 | // |
alejandroRL | 0:dd702039127a | 2126 | // Digits |
alejandroRL | 0:dd702039127a | 2127 | // |
alejandroRL | 0:dd702039127a | 2128 | #define GUI_FONT_D24X32 &GUI_FontD24x32 |
alejandroRL | 0:dd702039127a | 2129 | #define GUI_FONT_D32 &GUI_FontD32 |
alejandroRL | 0:dd702039127a | 2130 | #define GUI_FONT_D36X48 &GUI_FontD36x48 |
alejandroRL | 0:dd702039127a | 2131 | #define GUI_FONT_D48 &GUI_FontD48 |
alejandroRL | 0:dd702039127a | 2132 | #define GUI_FONT_D48X64 &GUI_FontD48x64 |
alejandroRL | 0:dd702039127a | 2133 | #define GUI_FONT_D64 &GUI_FontD64 |
alejandroRL | 0:dd702039127a | 2134 | #define GUI_FONT_D60X80 &GUI_FontD60x80 |
alejandroRL | 0:dd702039127a | 2135 | #define GUI_FONT_D80 &GUI_FontD80 |
alejandroRL | 0:dd702039127a | 2136 | |
alejandroRL | 0:dd702039127a | 2137 | // |
alejandroRL | 0:dd702039127a | 2138 | // Comic fonts |
alejandroRL | 0:dd702039127a | 2139 | // |
alejandroRL | 0:dd702039127a | 2140 | #define GUI_FONT_COMIC18B_ASCII &GUI_FontComic18B_ASCII |
alejandroRL | 0:dd702039127a | 2141 | #define GUI_FONT_COMIC18B_1 &GUI_FontComic18B_1 |
alejandroRL | 0:dd702039127a | 2142 | #define GUI_FONT_COMIC24B_ASCII &GUI_FontComic24B_ASCII |
alejandroRL | 0:dd702039127a | 2143 | #define GUI_FONT_COMIC24B_1 &GUI_FontComic24B_1 |
alejandroRL | 0:dd702039127a | 2144 | |
alejandroRL | 0:dd702039127a | 2145 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 2146 | * |
alejandroRL | 0:dd702039127a | 2147 | * Text and drawing modes |
alejandroRL | 0:dd702039127a | 2148 | * |
alejandroRL | 0:dd702039127a | 2149 | * These defines come in two flavors: the long version (.._DRAWMODE_..) |
alejandroRL | 0:dd702039127a | 2150 | * and the short ones (.._DM_..). They are identical, feel free to use |
alejandroRL | 0:dd702039127a | 2151 | * which ever one you like best. |
alejandroRL | 0:dd702039127a | 2152 | */ |
alejandroRL | 0:dd702039127a | 2153 | #define GUI_DRAWMODE_NORMAL LCD_DRAWMODE_NORMAL |
alejandroRL | 0:dd702039127a | 2154 | #define GUI_DRAWMODE_XOR LCD_DRAWMODE_XOR |
alejandroRL | 0:dd702039127a | 2155 | #define GUI_DRAWMODE_TRANS LCD_DRAWMODE_TRANS |
alejandroRL | 0:dd702039127a | 2156 | #define GUI_DRAWMODE_REV LCD_DRAWMODE_REV |
alejandroRL | 0:dd702039127a | 2157 | #define GUI_DM_NORMAL LCD_DRAWMODE_NORMAL |
alejandroRL | 0:dd702039127a | 2158 | #define GUI_DM_XOR LCD_DRAWMODE_XOR |
alejandroRL | 0:dd702039127a | 2159 | #define GUI_DM_TRANS LCD_DRAWMODE_TRANS |
alejandroRL | 0:dd702039127a | 2160 | #define GUI_DM_REV LCD_DRAWMODE_REV |
alejandroRL | 0:dd702039127a | 2161 | |
alejandroRL | 0:dd702039127a | 2162 | #define GUI_TEXTMODE_NORMAL LCD_DRAWMODE_NORMAL |
alejandroRL | 0:dd702039127a | 2163 | #define GUI_TEXTMODE_XOR LCD_DRAWMODE_XOR |
alejandroRL | 0:dd702039127a | 2164 | #define GUI_TEXTMODE_TRANS LCD_DRAWMODE_TRANS |
alejandroRL | 0:dd702039127a | 2165 | #define GUI_TEXTMODE_REV LCD_DRAWMODE_REV |
alejandroRL | 0:dd702039127a | 2166 | #define GUI_TM_NORMAL LCD_DRAWMODE_NORMAL |
alejandroRL | 0:dd702039127a | 2167 | #define GUI_TM_XOR LCD_DRAWMODE_XOR |
alejandroRL | 0:dd702039127a | 2168 | #define GUI_TM_TRANS LCD_DRAWMODE_TRANS |
alejandroRL | 0:dd702039127a | 2169 | #define GUI_TM_REV LCD_DRAWMODE_REV |
alejandroRL | 0:dd702039127a | 2170 | |
alejandroRL | 0:dd702039127a | 2171 | /* Text alignment flags, horizontal */ |
alejandroRL | 0:dd702039127a | 2172 | #define GUI_TA_LEFT (0) |
alejandroRL | 0:dd702039127a | 2173 | #define GUI_TA_HORIZONTAL (3<<0) |
alejandroRL | 0:dd702039127a | 2174 | #define GUI_TA_RIGHT (1<<0) |
alejandroRL | 0:dd702039127a | 2175 | #define GUI_TA_CENTER (2<<0) |
alejandroRL | 0:dd702039127a | 2176 | #define GUI_TA_HCENTER GUI_TA_CENTER /* easier to remember :-) */ |
alejandroRL | 0:dd702039127a | 2177 | |
alejandroRL | 0:dd702039127a | 2178 | /* Text alignment flags, vertical */ |
alejandroRL | 0:dd702039127a | 2179 | #define GUI_TA_TOP (0) |
alejandroRL | 0:dd702039127a | 2180 | #define GUI_TA_VERTICAL (3<<2) |
alejandroRL | 0:dd702039127a | 2181 | #define GUI_TA_BOTTOM (1<<2) |
alejandroRL | 0:dd702039127a | 2182 | #define GUI_TA_BASELINE (2<<2) |
alejandroRL | 0:dd702039127a | 2183 | #define GUI_TA_VCENTER (3<<2) |
alejandroRL | 0:dd702039127a | 2184 | |
alejandroRL | 0:dd702039127a | 2185 | /* General orientation flags */ |
alejandroRL | 0:dd702039127a | 2186 | #define GUI_MIRROR_X (1 << 0) |
alejandroRL | 0:dd702039127a | 2187 | #define GUI_MIRROR_Y (1 << 1) |
alejandroRL | 0:dd702039127a | 2188 | #define GUI_SWAP_XY (1 << 2) |
alejandroRL | 0:dd702039127a | 2189 | |
alejandroRL | 0:dd702039127a | 2190 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 2191 | * |
alejandroRL | 0:dd702039127a | 2192 | * Min/Max coordinates |
alejandroRL | 0:dd702039127a | 2193 | * |
alejandroRL | 0:dd702039127a | 2194 | * Define minimum and maximum coordinates in x and y |
alejandroRL | 0:dd702039127a | 2195 | */ |
alejandroRL | 0:dd702039127a | 2196 | #define GUI_XMIN -16383 |
alejandroRL | 0:dd702039127a | 2197 | #define GUI_XMAX 16383 |
alejandroRL | 0:dd702039127a | 2198 | #define GUI_YMIN -16383 |
alejandroRL | 0:dd702039127a | 2199 | #define GUI_YMAX 16383 |
alejandroRL | 0:dd702039127a | 2200 | |
alejandroRL | 0:dd702039127a | 2201 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 2202 | * |
alejandroRL | 0:dd702039127a | 2203 | * Defines for constants |
alejandroRL | 0:dd702039127a | 2204 | */ |
alejandroRL | 0:dd702039127a | 2205 | #define ________ 0x0 |
alejandroRL | 0:dd702039127a | 2206 | #define _______X 0x1 |
alejandroRL | 0:dd702039127a | 2207 | #define ______X_ 0x2 |
alejandroRL | 0:dd702039127a | 2208 | #define ______XX 0x3 |
alejandroRL | 0:dd702039127a | 2209 | #define _____X__ 0x4 |
alejandroRL | 0:dd702039127a | 2210 | #define _____X_X 0x5 |
alejandroRL | 0:dd702039127a | 2211 | #define _____XX_ 0x6 |
alejandroRL | 0:dd702039127a | 2212 | #define _____XXX 0x7 |
alejandroRL | 0:dd702039127a | 2213 | #define ____X___ 0x8 |
alejandroRL | 0:dd702039127a | 2214 | #define ____X__X 0x9 |
alejandroRL | 0:dd702039127a | 2215 | #define ____X_X_ 0xa |
alejandroRL | 0:dd702039127a | 2216 | #define ____X_XX 0xb |
alejandroRL | 0:dd702039127a | 2217 | #define ____XX__ 0xc |
alejandroRL | 0:dd702039127a | 2218 | #define ____XX_X 0xd |
alejandroRL | 0:dd702039127a | 2219 | #define ____XXX_ 0xe |
alejandroRL | 0:dd702039127a | 2220 | #define ____XXXX 0xf |
alejandroRL | 0:dd702039127a | 2221 | #define ___X____ 0x10 |
alejandroRL | 0:dd702039127a | 2222 | #define ___X___X 0x11 |
alejandroRL | 0:dd702039127a | 2223 | #define ___X__X_ 0x12 |
alejandroRL | 0:dd702039127a | 2224 | #define ___X__XX 0x13 |
alejandroRL | 0:dd702039127a | 2225 | #define ___X_X__ 0x14 |
alejandroRL | 0:dd702039127a | 2226 | #define ___X_X_X 0x15 |
alejandroRL | 0:dd702039127a | 2227 | #define ___X_XX_ 0x16 |
alejandroRL | 0:dd702039127a | 2228 | #define ___X_XXX 0x17 |
alejandroRL | 0:dd702039127a | 2229 | #define ___XX___ 0x18 |
alejandroRL | 0:dd702039127a | 2230 | #define ___XX__X 0x19 |
alejandroRL | 0:dd702039127a | 2231 | #define ___XX_X_ 0x1a |
alejandroRL | 0:dd702039127a | 2232 | #define ___XX_XX 0x1b |
alejandroRL | 0:dd702039127a | 2233 | #define ___XXX__ 0x1c |
alejandroRL | 0:dd702039127a | 2234 | #define ___XXX_X 0x1d |
alejandroRL | 0:dd702039127a | 2235 | #define ___XXXX_ 0x1e |
alejandroRL | 0:dd702039127a | 2236 | #define ___XXXXX 0x1f |
alejandroRL | 0:dd702039127a | 2237 | #define __X_____ 0x20 |
alejandroRL | 0:dd702039127a | 2238 | #define __X____X 0x21 |
alejandroRL | 0:dd702039127a | 2239 | #define __X___X_ 0x22 |
alejandroRL | 0:dd702039127a | 2240 | #define __X___XX 0x23 |
alejandroRL | 0:dd702039127a | 2241 | #define __X__X__ 0x24 |
alejandroRL | 0:dd702039127a | 2242 | #define __X__X_X 0x25 |
alejandroRL | 0:dd702039127a | 2243 | #define __X__XX_ 0x26 |
alejandroRL | 0:dd702039127a | 2244 | #define __X__XXX 0x27 |
alejandroRL | 0:dd702039127a | 2245 | #define __X_X___ 0x28 |
alejandroRL | 0:dd702039127a | 2246 | #define __X_X__X 0x29 |
alejandroRL | 0:dd702039127a | 2247 | #define __X_X_X_ 0x2a |
alejandroRL | 0:dd702039127a | 2248 | #define __X_X_XX 0x2b |
alejandroRL | 0:dd702039127a | 2249 | #define __X_XX__ 0x2c |
alejandroRL | 0:dd702039127a | 2250 | #define __X_XX_X 0x2d |
alejandroRL | 0:dd702039127a | 2251 | #define __X_XXX_ 0x2e |
alejandroRL | 0:dd702039127a | 2252 | #define __X_XXXX 0x2f |
alejandroRL | 0:dd702039127a | 2253 | #define __XX____ 0x30 |
alejandroRL | 0:dd702039127a | 2254 | #define __XX___X 0x31 |
alejandroRL | 0:dd702039127a | 2255 | #define __XX__X_ 0x32 |
alejandroRL | 0:dd702039127a | 2256 | #define __XX__XX 0x33 |
alejandroRL | 0:dd702039127a | 2257 | #define __XX_X__ 0x34 |
alejandroRL | 0:dd702039127a | 2258 | #define __XX_X_X 0x35 |
alejandroRL | 0:dd702039127a | 2259 | #define __XX_XX_ 0x36 |
alejandroRL | 0:dd702039127a | 2260 | #define __XX_XXX 0x37 |
alejandroRL | 0:dd702039127a | 2261 | #define __XXX___ 0x38 |
alejandroRL | 0:dd702039127a | 2262 | #define __XXX__X 0x39 |
alejandroRL | 0:dd702039127a | 2263 | #define __XXX_X_ 0x3a |
alejandroRL | 0:dd702039127a | 2264 | #define __XXX_XX 0x3b |
alejandroRL | 0:dd702039127a | 2265 | #define __XXXX__ 0x3c |
alejandroRL | 0:dd702039127a | 2266 | #define __XXXX_X 0x3d |
alejandroRL | 0:dd702039127a | 2267 | #define __XXXXX_ 0x3e |
alejandroRL | 0:dd702039127a | 2268 | #define __XXXXXX 0x3f |
alejandroRL | 0:dd702039127a | 2269 | #define _X______ 0x40 |
alejandroRL | 0:dd702039127a | 2270 | #define _X_____X 0x41 |
alejandroRL | 0:dd702039127a | 2271 | #define _X____X_ 0x42 |
alejandroRL | 0:dd702039127a | 2272 | #define _X____XX 0x43 |
alejandroRL | 0:dd702039127a | 2273 | #define _X___X__ 0x44 |
alejandroRL | 0:dd702039127a | 2274 | #define _X___X_X 0x45 |
alejandroRL | 0:dd702039127a | 2275 | #define _X___XX_ 0x46 |
alejandroRL | 0:dd702039127a | 2276 | #define _X___XXX 0x47 |
alejandroRL | 0:dd702039127a | 2277 | #define _X__X___ 0x48 |
alejandroRL | 0:dd702039127a | 2278 | #define _X__X__X 0x49 |
alejandroRL | 0:dd702039127a | 2279 | #define _X__X_X_ 0x4a |
alejandroRL | 0:dd702039127a | 2280 | #define _X__X_XX 0x4b |
alejandroRL | 0:dd702039127a | 2281 | #define _X__XX__ 0x4c |
alejandroRL | 0:dd702039127a | 2282 | #define _X__XX_X 0x4d |
alejandroRL | 0:dd702039127a | 2283 | #define _X__XXX_ 0x4e |
alejandroRL | 0:dd702039127a | 2284 | #define _X__XXXX 0x4f |
alejandroRL | 0:dd702039127a | 2285 | #define _X_X____ 0x50 |
alejandroRL | 0:dd702039127a | 2286 | #define _X_X___X 0x51 |
alejandroRL | 0:dd702039127a | 2287 | #define _X_X__X_ 0x52 |
alejandroRL | 0:dd702039127a | 2288 | #define _X_X__XX 0x53 |
alejandroRL | 0:dd702039127a | 2289 | #define _X_X_X__ 0x54 |
alejandroRL | 0:dd702039127a | 2290 | #define _X_X_X_X 0x55 |
alejandroRL | 0:dd702039127a | 2291 | #define _X_X_XX_ 0x56 |
alejandroRL | 0:dd702039127a | 2292 | #define _X_X_XXX 0x57 |
alejandroRL | 0:dd702039127a | 2293 | #define _X_XX___ 0x58 |
alejandroRL | 0:dd702039127a | 2294 | #define _X_XX__X 0x59 |
alejandroRL | 0:dd702039127a | 2295 | #define _X_XX_X_ 0x5a |
alejandroRL | 0:dd702039127a | 2296 | #define _X_XX_XX 0x5b |
alejandroRL | 0:dd702039127a | 2297 | #define _X_XXX__ 0x5c |
alejandroRL | 0:dd702039127a | 2298 | #define _X_XXX_X 0x5d |
alejandroRL | 0:dd702039127a | 2299 | #define _X_XXXX_ 0x5e |
alejandroRL | 0:dd702039127a | 2300 | #define _X_XXXXX 0x5f |
alejandroRL | 0:dd702039127a | 2301 | #define _XX_____ 0x60 |
alejandroRL | 0:dd702039127a | 2302 | #define _XX____X 0x61 |
alejandroRL | 0:dd702039127a | 2303 | #define _XX___X_ 0x62 |
alejandroRL | 0:dd702039127a | 2304 | #define _XX___XX 0x63 |
alejandroRL | 0:dd702039127a | 2305 | #define _XX__X__ 0x64 |
alejandroRL | 0:dd702039127a | 2306 | #define _XX__X_X 0x65 |
alejandroRL | 0:dd702039127a | 2307 | #define _XX__XX_ 0x66 |
alejandroRL | 0:dd702039127a | 2308 | #define _XX__XXX 0x67 |
alejandroRL | 0:dd702039127a | 2309 | #define _XX_X___ 0x68 |
alejandroRL | 0:dd702039127a | 2310 | #define _XX_X__X 0x69 |
alejandroRL | 0:dd702039127a | 2311 | #define _XX_X_X_ 0x6a |
alejandroRL | 0:dd702039127a | 2312 | #define _XX_X_XX 0x6b |
alejandroRL | 0:dd702039127a | 2313 | #define _XX_XX__ 0x6c |
alejandroRL | 0:dd702039127a | 2314 | #define _XX_XX_X 0x6d |
alejandroRL | 0:dd702039127a | 2315 | #define _XX_XXX_ 0x6e |
alejandroRL | 0:dd702039127a | 2316 | #define _XX_XXXX 0x6f |
alejandroRL | 0:dd702039127a | 2317 | #define _XXX____ 0x70 |
alejandroRL | 0:dd702039127a | 2318 | #define _XXX___X 0x71 |
alejandroRL | 0:dd702039127a | 2319 | #define _XXX__X_ 0x72 |
alejandroRL | 0:dd702039127a | 2320 | #define _XXX__XX 0x73 |
alejandroRL | 0:dd702039127a | 2321 | #define _XXX_X__ 0x74 |
alejandroRL | 0:dd702039127a | 2322 | #define _XXX_X_X 0x75 |
alejandroRL | 0:dd702039127a | 2323 | #define _XXX_XX_ 0x76 |
alejandroRL | 0:dd702039127a | 2324 | #define _XXX_XXX 0x77 |
alejandroRL | 0:dd702039127a | 2325 | #define _XXXX___ 0x78 |
alejandroRL | 0:dd702039127a | 2326 | #define _XXXX__X 0x79 |
alejandroRL | 0:dd702039127a | 2327 | #define _XXXX_X_ 0x7a |
alejandroRL | 0:dd702039127a | 2328 | #define _XXXX_XX 0x7b |
alejandroRL | 0:dd702039127a | 2329 | #define _XXXXX__ 0x7c |
alejandroRL | 0:dd702039127a | 2330 | #define _XXXXX_X 0x7d |
alejandroRL | 0:dd702039127a | 2331 | #define _XXXXXX_ 0x7e |
alejandroRL | 0:dd702039127a | 2332 | #define _XXXXXXX 0x7f |
alejandroRL | 0:dd702039127a | 2333 | #define X_______ 0x80 |
alejandroRL | 0:dd702039127a | 2334 | #define X______X 0x81 |
alejandroRL | 0:dd702039127a | 2335 | #define X_____X_ 0x82 |
alejandroRL | 0:dd702039127a | 2336 | #define X_____XX 0x83 |
alejandroRL | 0:dd702039127a | 2337 | #define X____X__ 0x84 |
alejandroRL | 0:dd702039127a | 2338 | #define X____X_X 0x85 |
alejandroRL | 0:dd702039127a | 2339 | #define X____XX_ 0x86 |
alejandroRL | 0:dd702039127a | 2340 | #define X____XXX 0x87 |
alejandroRL | 0:dd702039127a | 2341 | #define X___X___ 0x88 |
alejandroRL | 0:dd702039127a | 2342 | #define X___X__X 0x89 |
alejandroRL | 0:dd702039127a | 2343 | #define X___X_X_ 0x8a |
alejandroRL | 0:dd702039127a | 2344 | #define X___X_XX 0x8b |
alejandroRL | 0:dd702039127a | 2345 | #define X___XX__ 0x8c |
alejandroRL | 0:dd702039127a | 2346 | #define X___XX_X 0x8d |
alejandroRL | 0:dd702039127a | 2347 | #define X___XXX_ 0x8e |
alejandroRL | 0:dd702039127a | 2348 | #define X___XXXX 0x8f |
alejandroRL | 0:dd702039127a | 2349 | #define X__X____ 0x90 |
alejandroRL | 0:dd702039127a | 2350 | #define X__X___X 0x91 |
alejandroRL | 0:dd702039127a | 2351 | #define X__X__X_ 0x92 |
alejandroRL | 0:dd702039127a | 2352 | #define X__X__XX 0x93 |
alejandroRL | 0:dd702039127a | 2353 | #define X__X_X__ 0x94 |
alejandroRL | 0:dd702039127a | 2354 | #define X__X_X_X 0x95 |
alejandroRL | 0:dd702039127a | 2355 | #define X__X_XX_ 0x96 |
alejandroRL | 0:dd702039127a | 2356 | #define X__X_XXX 0x97 |
alejandroRL | 0:dd702039127a | 2357 | #define X__XX___ 0x98 |
alejandroRL | 0:dd702039127a | 2358 | #define X__XX__X 0x99 |
alejandroRL | 0:dd702039127a | 2359 | #define X__XX_X_ 0x9a |
alejandroRL | 0:dd702039127a | 2360 | #define X__XX_XX 0x9b |
alejandroRL | 0:dd702039127a | 2361 | #define X__XXX__ 0x9c |
alejandroRL | 0:dd702039127a | 2362 | #define X__XXX_X 0x9d |
alejandroRL | 0:dd702039127a | 2363 | #define X__XXXX_ 0x9e |
alejandroRL | 0:dd702039127a | 2364 | #define X__XXXXX 0x9f |
alejandroRL | 0:dd702039127a | 2365 | #define X_X_____ 0xa0 |
alejandroRL | 0:dd702039127a | 2366 | #define X_X____X 0xa1 |
alejandroRL | 0:dd702039127a | 2367 | #define X_X___X_ 0xa2 |
alejandroRL | 0:dd702039127a | 2368 | #define X_X___XX 0xa3 |
alejandroRL | 0:dd702039127a | 2369 | #define X_X__X__ 0xa4 |
alejandroRL | 0:dd702039127a | 2370 | #define X_X__X_X 0xa5 |
alejandroRL | 0:dd702039127a | 2371 | #define X_X__XX_ 0xa6 |
alejandroRL | 0:dd702039127a | 2372 | #define X_X__XXX 0xa7 |
alejandroRL | 0:dd702039127a | 2373 | #define X_X_X___ 0xa8 |
alejandroRL | 0:dd702039127a | 2374 | #define X_X_X__X 0xa9 |
alejandroRL | 0:dd702039127a | 2375 | #define X_X_X_X_ 0xaa |
alejandroRL | 0:dd702039127a | 2376 | #define X_X_X_XX 0xab |
alejandroRL | 0:dd702039127a | 2377 | #define X_X_XX__ 0xac |
alejandroRL | 0:dd702039127a | 2378 | #define X_X_XX_X 0xad |
alejandroRL | 0:dd702039127a | 2379 | #define X_X_XXX_ 0xae |
alejandroRL | 0:dd702039127a | 2380 | #define X_X_XXXX 0xaf |
alejandroRL | 0:dd702039127a | 2381 | #define X_XX____ 0xb0 |
alejandroRL | 0:dd702039127a | 2382 | #define X_XX___X 0xb1 |
alejandroRL | 0:dd702039127a | 2383 | #define X_XX__X_ 0xb2 |
alejandroRL | 0:dd702039127a | 2384 | #define X_XX__XX 0xb3 |
alejandroRL | 0:dd702039127a | 2385 | #define X_XX_X__ 0xb4 |
alejandroRL | 0:dd702039127a | 2386 | #define X_XX_X_X 0xb5 |
alejandroRL | 0:dd702039127a | 2387 | #define X_XX_XX_ 0xb6 |
alejandroRL | 0:dd702039127a | 2388 | #define X_XX_XXX 0xb7 |
alejandroRL | 0:dd702039127a | 2389 | #define X_XXX___ 0xb8 |
alejandroRL | 0:dd702039127a | 2390 | #define X_XXX__X 0xb9 |
alejandroRL | 0:dd702039127a | 2391 | #define X_XXX_X_ 0xba |
alejandroRL | 0:dd702039127a | 2392 | #define X_XXX_XX 0xbb |
alejandroRL | 0:dd702039127a | 2393 | #define X_XXXX__ 0xbc |
alejandroRL | 0:dd702039127a | 2394 | #define X_XXXX_X 0xbd |
alejandroRL | 0:dd702039127a | 2395 | #define X_XXXXX_ 0xbe |
alejandroRL | 0:dd702039127a | 2396 | #define X_XXXXXX 0xbf |
alejandroRL | 0:dd702039127a | 2397 | #define XX______ 0xc0 |
alejandroRL | 0:dd702039127a | 2398 | #define XX_____X 0xc1 |
alejandroRL | 0:dd702039127a | 2399 | #define XX____X_ 0xc2 |
alejandroRL | 0:dd702039127a | 2400 | #define XX____XX 0xc3 |
alejandroRL | 0:dd702039127a | 2401 | #define XX___X__ 0xc4 |
alejandroRL | 0:dd702039127a | 2402 | #define XX___X_X 0xc5 |
alejandroRL | 0:dd702039127a | 2403 | #define XX___XX_ 0xc6 |
alejandroRL | 0:dd702039127a | 2404 | #define XX___XXX 0xc7 |
alejandroRL | 0:dd702039127a | 2405 | #define XX__X___ 0xc8 |
alejandroRL | 0:dd702039127a | 2406 | #define XX__X__X 0xc9 |
alejandroRL | 0:dd702039127a | 2407 | #define XX__X_X_ 0xca |
alejandroRL | 0:dd702039127a | 2408 | #define XX__X_XX 0xcb |
alejandroRL | 0:dd702039127a | 2409 | #define XX__XX__ 0xcc |
alejandroRL | 0:dd702039127a | 2410 | #define XX__XX_X 0xcd |
alejandroRL | 0:dd702039127a | 2411 | #define XX__XXX_ 0xce |
alejandroRL | 0:dd702039127a | 2412 | #define XX__XXXX 0xcf |
alejandroRL | 0:dd702039127a | 2413 | #define XX_X____ 0xd0 |
alejandroRL | 0:dd702039127a | 2414 | #define XX_X___X 0xd1 |
alejandroRL | 0:dd702039127a | 2415 | #define XX_X__X_ 0xd2 |
alejandroRL | 0:dd702039127a | 2416 | #define XX_X__XX 0xd3 |
alejandroRL | 0:dd702039127a | 2417 | #define XX_X_X__ 0xd4 |
alejandroRL | 0:dd702039127a | 2418 | #define XX_X_X_X 0xd5 |
alejandroRL | 0:dd702039127a | 2419 | #define XX_X_XX_ 0xd6 |
alejandroRL | 0:dd702039127a | 2420 | #define XX_X_XXX 0xd7 |
alejandroRL | 0:dd702039127a | 2421 | #define XX_XX___ 0xd8 |
alejandroRL | 0:dd702039127a | 2422 | #define XX_XX__X 0xd9 |
alejandroRL | 0:dd702039127a | 2423 | #define XX_XX_X_ 0xda |
alejandroRL | 0:dd702039127a | 2424 | #define XX_XX_XX 0xdb |
alejandroRL | 0:dd702039127a | 2425 | #define XX_XXX__ 0xdc |
alejandroRL | 0:dd702039127a | 2426 | #define XX_XXX_X 0xdd |
alejandroRL | 0:dd702039127a | 2427 | #define XX_XXXX_ 0xde |
alejandroRL | 0:dd702039127a | 2428 | #define XX_XXXXX 0xdf |
alejandroRL | 0:dd702039127a | 2429 | #define XXX_____ 0xe0 |
alejandroRL | 0:dd702039127a | 2430 | #define XXX____X 0xe1 |
alejandroRL | 0:dd702039127a | 2431 | #define XXX___X_ 0xe2 |
alejandroRL | 0:dd702039127a | 2432 | #define XXX___XX 0xe3 |
alejandroRL | 0:dd702039127a | 2433 | #define XXX__X__ 0xe4 |
alejandroRL | 0:dd702039127a | 2434 | #define XXX__X_X 0xe5 |
alejandroRL | 0:dd702039127a | 2435 | #define XXX__XX_ 0xe6 |
alejandroRL | 0:dd702039127a | 2436 | #define XXX__XXX 0xe7 |
alejandroRL | 0:dd702039127a | 2437 | #define XXX_X___ 0xe8 |
alejandroRL | 0:dd702039127a | 2438 | #define XXX_X__X 0xe9 |
alejandroRL | 0:dd702039127a | 2439 | #define XXX_X_X_ 0xea |
alejandroRL | 0:dd702039127a | 2440 | #define XXX_X_XX 0xeb |
alejandroRL | 0:dd702039127a | 2441 | #define XXX_XX__ 0xec |
alejandroRL | 0:dd702039127a | 2442 | #define XXX_XX_X 0xed |
alejandroRL | 0:dd702039127a | 2443 | #define XXX_XXX_ 0xee |
alejandroRL | 0:dd702039127a | 2444 | #define XXX_XXXX 0xef |
alejandroRL | 0:dd702039127a | 2445 | #define XXXX____ 0xf0 |
alejandroRL | 0:dd702039127a | 2446 | #define XXXX___X 0xf1 |
alejandroRL | 0:dd702039127a | 2447 | #define XXXX__X_ 0xf2 |
alejandroRL | 0:dd702039127a | 2448 | #define XXXX__XX 0xf3 |
alejandroRL | 0:dd702039127a | 2449 | #define XXXX_X__ 0xf4 |
alejandroRL | 0:dd702039127a | 2450 | #define XXXX_X_X 0xf5 |
alejandroRL | 0:dd702039127a | 2451 | #define XXXX_XX_ 0xf6 |
alejandroRL | 0:dd702039127a | 2452 | #define XXXX_XXX 0xf7 |
alejandroRL | 0:dd702039127a | 2453 | #define XXXXX___ 0xf8 |
alejandroRL | 0:dd702039127a | 2454 | #define XXXXX__X 0xf9 |
alejandroRL | 0:dd702039127a | 2455 | #define XXXXX_X_ 0xfa |
alejandroRL | 0:dd702039127a | 2456 | #define XXXXX_XX 0xfb |
alejandroRL | 0:dd702039127a | 2457 | #define XXXXXX__ 0xfc |
alejandroRL | 0:dd702039127a | 2458 | #define XXXXXX_X 0xfd |
alejandroRL | 0:dd702039127a | 2459 | #define XXXXXXX_ 0xfe |
alejandroRL | 0:dd702039127a | 2460 | #define XXXXXXXX 0xff |
alejandroRL | 0:dd702039127a | 2461 | |
alejandroRL | 0:dd702039127a | 2462 | /********************************************************************* |
alejandroRL | 0:dd702039127a | 2463 | * |
alejandroRL | 0:dd702039127a | 2464 | * Compatibility with older versions |
alejandroRL | 0:dd702039127a | 2465 | */ |
alejandroRL | 0:dd702039127a | 2466 | #define GUI_DispString_UC GUI_UC_DispString |
alejandroRL | 0:dd702039127a | 2467 | #define TOUCH_X_ActivateX GUI_TOUCH_X_ActivateX |
alejandroRL | 0:dd702039127a | 2468 | #define TOUCH_X_ActivateY GUI_TOUCH_X_ActivateY |
alejandroRL | 0:dd702039127a | 2469 | #define TOUCH_X_Disable GUI_TOUCH_X_Disable |
alejandroRL | 0:dd702039127a | 2470 | #define TOUCH_X_MeasureX GUI_TOUCH_X_MeasureX |
alejandroRL | 0:dd702039127a | 2471 | #define TOUCH_X_MeasureY GUI_TOUCH_X_MeasureY |
alejandroRL | 0:dd702039127a | 2472 | #define GUI_SelLayer GUI_SelectLayer |
alejandroRL | 0:dd702039127a | 2473 | #define GUI_MEMDEV_FadeDevices GUI_MEMDEV_FadeInDevices |
alejandroRL | 0:dd702039127a | 2474 | #if defined(__cplusplus) |
alejandroRL | 0:dd702039127a | 2475 | } |
alejandroRL | 0:dd702039127a | 2476 | #endif |
alejandroRL | 0:dd702039127a | 2477 | |
alejandroRL | 0:dd702039127a | 2478 | #endif /* ifdef GUI_H */ |
alejandroRL | 0:dd702039127a | 2479 | |
alejandroRL | 0:dd702039127a | 2480 | /*************************** End of file ****************************/ |