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