TI-RTOS Drivers  tidrivers_cc13xx_cc26xx_2_20_00_08
grlib.h
Go to the documentation of this file.
1 /* --COPYRIGHT--
2  * Copyright (c) 2016, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  * --/COPYRIGHT--*/
32 #include <stdint.h>
33 
34 #ifndef __GRLIB_H__
35 #define __GRLIB_H__
36 
37 #define NDEBUG
38 #include "assert.h"
39 
40 //*****************************************************************************
41 //
44 //
45 //*****************************************************************************
46 
47 //*****************************************************************************
48 //
49 // If building with a C++ compiler, make all of the definitions in this header
50 // have a C binding.
51 //
52 //*****************************************************************************
53 #ifdef __cplusplus
54 extern "C"
55 {
56 #endif
57 
58 //*****************************************************************************
59 //
61 //
62 //*****************************************************************************
63 typedef struct
64 {
65  //
67  //
68  uint8_t BPP;
69 
70  //
72  //
73  uint16_t XSize;
74 
75  //
77  //
78  uint16_t YSize;
79 
80  //
82  //
83 
84  uint16_t NumColors;
85 
86  //
88  //
89  const uint32_t * pPalette;
90 
91  //
93  //
94  const uint8_t * pPixel;
95 }
96 tImage;
97 
98 //*****************************************************************************
99 //
103 //
104 //*****************************************************************************
105 typedef struct
106 {
107  //
109  //
110  int16_t sXMin;
111 
112  //
114  //
115  int16_t sYMin;
116 
117  //
119  //
120  int16_t sXMax;
121 
122  //
124  //
125  int16_t sYMax;
126 }
127 tRectangle;
128 
129 typedef struct tDisplay tDisplay;
130 
131 //*****************************************************************************
132 //
134 //
135 //*****************************************************************************
136 typedef struct tDisplayFxns
137 {
138  //
140  //
141  void (*pfnPixelDraw)(tDisplay *pDisplay, int16_t lX, int16_t lY,
142  uint16_t ulValue);
143 
144  //
146  //
147  void (*pfnPixelDrawMultiple)(tDisplay *pDisplay, int16_t lX, int16_t lY,
148  int16_t lX0, int16_t lCount, int16_t lBPP,
149  const uint8_t *pucData,
150  const uint16_t *pucPalette);
151 
152  //
154  //
155  void (*pfnLineDrawH)(tDisplay *pDisplay, int16_t lX1, int16_t lX2, int16_t lY,
156  uint16_t ulValue);
157 
158  //
160  //
161  void (*pfnLineDrawV)(tDisplay *pDisplay, int16_t lX, int16_t lY1, int16_t lY2,
162  uint16_t ulValue);
163 
164  //
166  //
167  void (*pfnRectFill)(tDisplay *pDisplay, const tRectangle *pRect,
168  uint16_t ulValue);
169 
170  //
173  //
174  uint16_t (*pfnColorTranslate)(tDisplay *pDisplay,
175  uint32_t ulValue);
176 
177  //
180  //
181  void (*pfnFlush)(tDisplay *pDisplay);
182 
183  //
186  //
187  void (*pfnClearDisplay)(tDisplay *pDisplay, uint16_t ulValue);
188 }
190 
191 //*****************************************************************************
192 //
194 //
195 //*****************************************************************************
196 struct tDisplay
197 {
198  //
200  //
201  int32_t lSize;
202 
203  //
205  //
207 
208  //
210  //
211  uint16_t usWidth;
212 
213  //
215  //
216  uint16_t usHeight;
217 
218  //
220  //
222 };
223 
224 //*****************************************************************************
225 //
227 //
228 //*****************************************************************************
229 typedef struct
230 {
231  //
234  //
235  uint8_t ucFormat;
236 
237  //
241  //
242  uint8_t ucMaxWidth;
243 
244  //
247  //
248  uint8_t ucHeight;
249 
250  //
254  //
255  uint8_t ucBaseline;
256 
257  //
259  //
260  uint16_t pusOffset[96];
261 
262  //
264  //
265  const uint8_t *pucData;
266 }
267 tFont;
268 
269 //*****************************************************************************
270 //
279 //
280 //*****************************************************************************
281 typedef struct
282 {
283  //
286  //
287  uint8_t ucFormat;
288 
289  //
293  //
294  uint8_t ucMaxWidth;
295 
296  //
299  //
300  uint8_t ucHeight;
301 
302  //
306  //
307  uint8_t ucBaseline;
308 
309  //
312  //
313  uint8_t ucFirst;
314 
315  //
318  //
319  uint8_t ucLast;
320 
321  //
324  //
325  const uint16_t *pusOffset;
326 
327  //
329  //
330  const uint8_t *pucData;
331 }
332 tFontEx;
333 
334 //*****************************************************************************
335 //
337 //
338 //*****************************************************************************
339 #define FONT_FMT_UNCOMPRESSED 0x00
340 
341 //*****************************************************************************
342 //
344 //
345 //*****************************************************************************
346 #define FONT_FMT_PIXEL_RLE 0x01
347 
348 //*****************************************************************************
349 //
352 //
353 //*****************************************************************************
354 #define FONT_EX_MARKER 0x80
355 
356 //*****************************************************************************
357 //
360 //
361 //*****************************************************************************
362 #define FONT_FMT_EX_UNCOMPRESSED (FONT_FMT_UNCOMPRESSED | FONT_EX_MARKER)
363 
364 //*****************************************************************************
365 //
368 //
369 //*****************************************************************************
370 #define FONT_FMT_EX_PIXEL_RLE (FONT_FMT_PIXEL_RLE | FONT_EX_MARKER)
371 
372 //*****************************************************************************
373 //
376 //
377 //*****************************************************************************
378 #define AUTO_STRING_LENGTH -1
379 
380 //*****************************************************************************
381 //
384 //
385 //*****************************************************************************
386 #define OPAQUE_TEXT 1
387 
388 //*****************************************************************************
389 //
392 //
393 //*****************************************************************************
394 #define TRANSPARENT_TEXT 0
395 
396 //*****************************************************************************
397 //
400 //
401 //*****************************************************************************
402 #define IMAGE_FMT_1BPP_UNCOMP 0x01
403 
404 //*****************************************************************************
405 //
408 //
409 //*****************************************************************************
410 #define IMAGE_FMT_2BPP_UNCOMP 0x02
411 
412 //*****************************************************************************
413 //
416 //
417 //*****************************************************************************
418 #define IMAGE_FMT_4BPP_UNCOMP 0x04
419 
420 //*****************************************************************************
421 //
424 //
425 //*****************************************************************************
426 #define IMAGE_FMT_8BPP_UNCOMP 0x08
427 
428 //*****************************************************************************
429 //
432 //
433 //*****************************************************************************
434 #define IMAGE_FMT_1BPP_COMP_RLE4 0x41
435 
436 //*****************************************************************************
437 //
440 //
441 //*****************************************************************************
442 #define IMAGE_FMT_2BPP_COMP_RLE4 0x42
443 
444 //*****************************************************************************
445 //
448 //
449 //*****************************************************************************
450 #define IMAGE_FMT_4BPP_COMP_RLE4 0x44
451 
452 //*****************************************************************************
453 //
456 //
457 //*****************************************************************************
458 #define IMAGE_FMT_1BPP_COMP_RLE7 0x71
459 
460 //*****************************************************************************
461 //
464 //
465 //*****************************************************************************
466 #define IMAGE_FMT_1BPP_COMP_RLE8 0x81
467 
468 //*****************************************************************************
469 //
472 //
473 //*****************************************************************************
474 #define IMAGE_FMT_2BPP_COMP_RLE8 0x82
475 
476 //*****************************************************************************
477 //
480 //
481 //*****************************************************************************
482 #define IMAGE_FMT_4BPP_COMP_RLE8 0x84
483 
484 //*****************************************************************************
485 //
488 //
489 //*****************************************************************************
490 #define IMAGE_FMT_8BPP_COMP_RLE8 0x88
491 
492 //*****************************************************************************
493 //
496 //
497 //*****************************************************************************
498 #define IMAGE_FMT_8BPP_COMP_RLEBLEND 0x28
499 
500 
501 //*****************************************************************************
502 //
505 //
506 //*****************************************************************************
507 typedef struct
508 {
509  //
511  //
512  int32_t lSize;
513 
514  //
516  //
518 
519  //
521  //
523 
524  //
526  //
527  uint32_t ulForeground;
528 
529  //
531  //
532  uint32_t ulBackground;
533 
534  //
536  //
537  const tFont *pFont;
538 }
539 tContext;
540 
541 //*****************************************************************************
542 //
552 //
553 //*****************************************************************************
554 #define GrContextBackgroundSet(pContext, ulValue) \
555  do \
556  { \
557  tContext *pC = pContext; \
558  pC->ulBackground = DpyColorTranslate(pC->pDisplay, ulValue); \
559  } \
560  while(0)
561 
562 //*****************************************************************************
563 //
575 //
576 //*****************************************************************************
577 #define GrContextBackgroundSetTranslated(pContext, ulValue) \
578  do \
579  { \
580  tContext *pC = pContext; \
581  pC->ulBackground = ulValue; \
582  } \
583  while(0)
584 
585 //*****************************************************************************
586 //
595 //
596 //*****************************************************************************
597 #define GrContextDpyWidthGet(pContext) \
598  (DpyWidthGet((pContext)->pDisplay))
599 
600 //*****************************************************************************
601 //
610 //
611 //*****************************************************************************
612 #define GrContextDpyHeightGet(pContext) \
613  (DpyHeightGet((pContext)->pDisplay))
614 
615 //*****************************************************************************
616 //
627 //
628 //*****************************************************************************
629 #define GrContextFontSet(pContext, pFnt) \
630  do \
631  { \
632  tContext *pC = pContext; \
633  const tFont *pF = pFnt; \
634  pC->pFont = pF; \
635  } \
636  while(0)
637 
638 //*****************************************************************************
639 //
649 //
650 //*****************************************************************************
651 #define GrContextForegroundSet(pContext, ulValue) \
652  do \
653  { \
654  tContext *pC = pContext; \
655  pC->ulForeground = DpyColorTranslate(pC->pDisplay, ulValue); \
656  } \
657  while(0)
658 
659 //*****************************************************************************
660 //
672 //
673 //*****************************************************************************
674 #define GrContextForegroundSetTranslated(pContext, ulValue) \
675  do \
676  { \
677  tContext *pC = pContext; \
678  pC->ulForeground = ulValue; \
679  } \
680  while(0)
681 
682 //*****************************************************************************
683 //
694 //
695 //*****************************************************************************
696 #define GrFlush(pContext) \
697  do \
698  { \
699  const tContext *pC = pContext; \
700  DpyFlush(pC->pDisplay); \
701  } \
702  while(0)
703 
704 
705 //*****************************************************************************
706 //
714 //
715 //*****************************************************************************
716 #define GrClearDisplay(pContext) \
717  do \
718  { \
719  const tContext *pC = pContext; \
720  DpyClearDisplay(pC->pDisplay,pC->ulBackground ); \
721  } \
722  while(0)
723 
724 //*****************************************************************************
725 //
736 //
737 //*****************************************************************************
738 #define GrFontBaselineGet(pFont) \
739  ((pFont)->ucBaseline)
740 
741 //*****************************************************************************
742 //
752 //
753 //*****************************************************************************
754 #define GrFontHeightGet(pFont) \
755  ((pFont)->ucHeight)
756 
757 //*****************************************************************************
758 //
767 //
768 //*****************************************************************************
769 #define GrFontMaxWidthGet(pFont) \
770  ((pFont)->ucMaxWidth)
771 
772 //*****************************************************************************
773 //
783 //
784 //*****************************************************************************
785 #define GrImageColorsGet(pImage) \
786  pImage->NumColors
787 //*****************************************************************************
788 //
796 //
797 //*****************************************************************************
798 #define GrImageHeightGet(pImage) \
799  pImage->YSize
800 
801 //*****************************************************************************
802 //
810 //
811 //*****************************************************************************
812 #define GrImageWidthGet(pImage) \
813  pImage->XSize
814 
815 //*****************************************************************************
816 //
826 //
827 //*****************************************************************************
828 #define GrOffScreen1BPPSize(lWidth, lHeight) \
829  (5 + (((lWidth + 7) / 8) * lHeight))
830 
831 //*****************************************************************************
832 //
842 //
843 //*****************************************************************************
844 #define GrOffScreen4BPPSize(lWidth, lHeight) \
845  (6 + (16 * 3) + (((lWidth + 1) / 2) * lHeight))
846 
847 //*****************************************************************************
848 //
858 //
859 //*****************************************************************************
860 #define GrOffScreen8BPPSize(lWidth, lHeight) \
861  (6 + (256 * 3) + (lWidth * lHeight))
862 
863 //*****************************************************************************
864 //
874 //
875 //*****************************************************************************
876 #define GrPixelDraw(pContext, lX, lY) \
877  do \
878  { \
879  const tContext *pC = pContext; \
880  if((lX >= pC->sClipRegion.sXMin) && \
881  (lX <= pC->sClipRegion.sXMax) && \
882  (lY >= pC->sClipRegion.sYMin) && \
883  (lY <= pC->sClipRegion.sYMax)) \
884  { \
885  DpyPixelDraw(pC->pDisplay, lX, lY, pC->ulForeground); \
886  } \
887  } \
888  while(0)
889 
890 //*****************************************************************************
891 //
902 //
903 //*****************************************************************************
904 #define GrStringBaselineGet(pContext) \
905  ((pContext)->pFont->ucBaseline)
906 
907 //*****************************************************************************
908 //
930 //
931 //*****************************************************************************
932 #define GrStringDrawCentered(pContext, pcString, lLength, lX, lY, bOpaque) \
933  do \
934  { \
935  const tContext *pC = pContext; \
936  const char *pcStr = pcString; \
937  \
938  GrStringDraw(pC, pcStr, lLength, \
939  (lX) - (GrStringWidthGet(pC, pcStr, lLength) / 2), \
940  (lY) - (pC->pFont->ucBaseline / 2), bOpaque); \
941  } \
942  while(0)
943 
944 //*****************************************************************************
945 //
958 //
959 //*****************************************************************************
960 #define GrStringHeightGet(pContext) \
961  ((pContext)->pFont->ucHeight)
962 
963 //*****************************************************************************
964 //
975 //
976 //*****************************************************************************
977 #define GrStringMaxWidthGet(pContext) \
978  ((pContext)->pFont->ucMaxWidth)
979 
980 //*****************************************************************************
981 //
982 // A set of color definitions. This set is the subset of the X11 colors (from
983 // rgb.txt) that are supported by typical web browsers.
984 //
985 //*****************************************************************************
986 #define ClrAliceBlue 0x00F0F8FF
987 #define ClrAntiqueWhite 0x00FAEBD7
988 #define ClrAqua 0x0000FFFF
989 #define ClrAquamarine 0x007FFFD4
990 #define ClrAzure 0x00F0FFFF
991 #define ClrBeige 0x00F5F5DC
992 #define ClrBisque 0x00FFE4C4
993 #define ClrBlack 0x00000000
994 #define ClrBlanchedAlmond 0x00FFEBCD
995 #define ClrBlue 0x000000FF
996 #define ClrBlueViolet 0x008A2BE2
997 #define ClrBrown 0x00A52A2A
998 #define ClrBurlyWood 0x00DEB887
999 #define ClrCadetBlue 0x005F9EA0
1000 #define ClrChartreuse 0x007FFF00
1001 #define ClrChocolate 0x00D2691E
1002 #define ClrCoral 0x00FF7F50
1003 #define ClrCornflowerBlue 0x006495ED
1004 #define ClrCornsilk 0x00FFF8DC
1005 #define ClrCrimson 0x00DC143C
1006 #define ClrCyan 0x0000FFFF
1007 #define ClrDarkBlue 0x0000008B
1008 #define ClrDarkCyan 0x00008B8B
1009 #define ClrDarkGoldenrod 0x00B8860B
1010 #define ClrDarkGray 0x00A9A9A9
1011 #define ClrDarkGreen 0x00006400
1012 #define ClrDarkKhaki 0x00BDB76B
1013 #define ClrDarkMagenta 0x008B008B
1014 #define ClrDarkOliveGreen 0x00556B2F
1015 #define ClrDarkOrange 0x00FF8C00
1016 #define ClrDarkOrchid 0x009932CC
1017 #define ClrDarkRed 0x008B0000
1018 #define ClrDarkSalmon 0x00E9967A
1019 #define ClrDarkSeaGreen 0x008FBC8F
1020 #define ClrDarkSlateBlue 0x00483D8B
1021 #define ClrDarkSlateGray 0x002F4F4F
1022 #define ClrDarkTurquoise 0x0000CED1
1023 #define ClrDarkViolet 0x009400D3
1024 #define ClrDeepPink 0x00FF1493
1025 #define ClrDeepSkyBlue 0x0000BFFF
1026 #define ClrDimGray 0x00696969
1027 #define ClrDodgerBlue 0x001E90FF
1028 #define ClrFireBrick 0x00B22222
1029 #define ClrFloralWhite 0x00FFFAF0
1030 #define ClrForestGreen 0x00228B22
1031 #define ClrFuchsia 0x00FF00FF
1032 #define ClrGainsboro 0x00DCDCDC
1033 #define ClrGhostWhite 0x00F8F8FF
1034 #define ClrGold 0x00FFD700
1035 #define ClrGoldenrod 0x00DAA520
1036 #define ClrGray 0x00808080
1037 #define ClrGreen 0x00008000
1038 #define ClrGreenYellow 0x00ADFF2F
1039 #define ClrHoneydew 0x00F0FFF0
1040 #define ClrHotPink 0x00FF69B4
1041 #define ClrIndianRed 0x00CD5C5C
1042 #define ClrIndigo 0x004B0082
1043 #define ClrIvory 0x00FFFFF0
1044 #define ClrKhaki 0x00F0E68C
1045 #define ClrLavender 0x00E6E6FA
1046 #define ClrLavenderBlush 0x00FFF0F5
1047 #define ClrLawnGreen 0x007CFC00
1048 #define ClrLemonChiffon 0x00FFFACD
1049 #define ClrLightBlue 0x00ADD8E6
1050 #define ClrLightCoral 0x00F08080
1051 #define ClrLightCyan 0x00E0FFFF
1052 #define ClrLightGoldenrodYellow 0x00FAFAD2
1053 #define ClrLightGreen 0x0090EE90
1054 #define ClrLightGrey 0x00D3D3D3
1055 #define ClrLightPink 0x00FFB6C1
1056 #define ClrLightSalmon 0x00FFA07A
1057 #define ClrLightSeaGreen 0x0020B2AA
1058 #define ClrLightSkyBlue 0x0087CEFA
1059 #define ClrLightSlateGray 0x00778899
1060 #define ClrLightSteelBlue 0x00B0C4DE
1061 #define ClrLightYellow 0x00FFFFE0
1062 #define ClrLime 0x0000FF00
1063 #define ClrLimeGreen 0x0032CD32
1064 #define ClrLinen 0x00FAF0E6
1065 #define ClrMagenta 0x00FF00FF
1066 #define ClrMaroon 0x00800000
1067 #define ClrMediumAquamarine 0x0066CDAA
1068 #define ClrMediumBlue 0x000000CD
1069 #define ClrMediumOrchid 0x00BA55D3
1070 #define ClrMediumPurple 0x009370DB
1071 #define ClrMediumSeaGreen 0x003CB371
1072 #define ClrMediumSlateBlue 0x007B68EE
1073 #define ClrMediumSpringGreen 0x0000FA9A
1074 #define ClrMediumTurquoise 0x0048D1CC
1075 #define ClrMediumVioletRed 0x00C71585
1076 #define ClrMidnightBlue 0x00191970
1077 #define ClrMintCream 0x00F5FFFA
1078 #define ClrMistyRose 0x00FFE4E1
1079 #define ClrMoccasin 0x00FFE4B5
1080 #define ClrNavajoWhite 0x00FFDEAD
1081 #define ClrNavy 0x00000080
1082 #define ClrOldLace 0x00FDF5E6
1083 #define ClrOlive 0x00808000
1084 #define ClrOliveDrab 0x006B8E23
1085 #define ClrOrange 0x00FFA500
1086 #define ClrOrangeRed 0x00FF4500
1087 #define ClrOrchid 0x00DA70D6
1088 #define ClrPaleGoldenrod 0x00EEE8AA
1089 #define ClrPaleGreen 0x0098FB98
1090 #define ClrPaleTurquoise 0x00AFEEEE
1091 #define ClrPaleVioletRed 0x00DB7093
1092 #define ClrPapayaWhip 0x00FFEFD5
1093 #define ClrPeachPuff 0x00FFDAB9
1094 #define ClrPeru 0x00CD853F
1095 #define ClrPink 0x00FFC0CB
1096 #define ClrPlum 0x00DDA0DD
1097 #define ClrPowderBlue 0x00B0E0E6
1098 #define ClrPurple 0x00800080
1099 #define ClrRed 0x00FF0000
1100 #define ClrRosyBrown 0x00BC8F8F
1101 #define ClrRoyalBlue 0x004169E1
1102 #define ClrSaddleBrown 0x008B4513
1103 #define ClrSalmon 0x00FA8072
1104 #define ClrSandyBrown 0x00F4A460
1105 #define ClrSeaGreen 0x002E8B57
1106 #define ClrSeashell 0x00FFF5EE
1107 #define ClrSienna 0x00A0522D
1108 #define ClrSilver 0x00C0C0C0
1109 #define ClrSkyBlue 0x0087CEEB
1110 #define ClrSlateBlue 0x006A5ACD
1111 #define ClrSlateGray 0x00708090
1112 #define ClrSnow 0x00FFFAFA
1113 #define ClrSpringGreen 0x0000FF7F
1114 #define ClrSteelBlue 0x004682B4
1115 #define ClrTan 0x00D2B48C
1116 #define ClrTeal 0x00008080
1117 #define ClrThistle 0x00D8BFD8
1118 #define ClrTomato 0x00FF6347
1119 #define ClrTurquoise 0x0040E0D0
1120 #define ClrViolet 0x00EE82EE
1121 #define ClrWheat 0x00F5DEB3
1122 #define ClrWhite 0x00FFFFFF
1123 #define ClrWhiteSmoke 0x00F5F5F5
1124 #define ClrYellow 0x00FFFF00
1125 #define ClrYellowGreen 0x009ACD32
1126 #define ClrBlack 0x00000000
1127 
1128 //*****************************************************************************
1129 //
1130 // Masks and shifts to aid in color format translation by drivers.
1131 //
1132 //*****************************************************************************
1133 #define ClrRedMask 0x00FF0000
1134 #define ClrRedShift 16
1135 #define ClrGreenMask 0x0000FF00
1136 #define ClrGreenShift 8
1137 #define ClrBlueMask 0x000000FF
1138 #define ClrBlueShift 0
1139 
1140 //*****************************************************************************
1141 //
1142 // Prototypes for the predefined fonts in the graphics library. ..Cm.. is the
1143 // computer modern font, which is a serif font. ..Cmsc.. is the computer
1144 // modern small-caps font, which is also a serif font. ..Cmss.. is the
1145 // computer modern sans-serif font.
1146 //
1147 //*****************************************************************************
1148 extern const tFont g_sFontCm12;
1149 extern const tFont g_sFontCm12b;
1150 extern const tFont g_sFontCm12i;
1151 extern const tFont g_sFontCm14;
1152 extern const tFont g_sFontCm14b;
1153 extern const tFont g_sFontCm14i;
1154 extern const tFont g_sFontCm16;
1155 extern const tFont g_sFontCm16b;
1156 extern const tFont g_sFontCm16i;
1157 extern const tFont g_sFontCm18;
1158 extern const tFont g_sFontCm18b;
1159 extern const tFont g_sFontCm18i;
1160 extern const tFont g_sFontCm20;
1161 extern const tFont g_sFontCm20b;
1162 extern const tFont g_sFontCm20i;
1163 extern const tFont g_sFontCm22;
1164 extern const tFont g_sFontCm22b;
1165 extern const tFont g_sFontCm22i;
1166 extern const tFont g_sFontCm24;
1167 extern const tFont g_sFontCm24b;
1168 extern const tFont g_sFontCm24i;
1169 extern const tFont g_sFontCm26;
1170 extern const tFont g_sFontCm26b;
1171 extern const tFont g_sFontCm26i;
1172 extern const tFont g_sFontCm28;
1173 extern const tFont g_sFontCm28b;
1174 extern const tFont g_sFontCm28i;
1175 extern const tFont g_sFontCm30;
1176 extern const tFont g_sFontCm30b;
1177 extern const tFont g_sFontCm30i;
1178 extern const tFont g_sFontCm32;
1179 extern const tFont g_sFontCm32b;
1180 extern const tFont g_sFontCm32i;
1181 extern const tFont g_sFontCm34;
1182 extern const tFont g_sFontCm34b;
1183 extern const tFont g_sFontCm34i;
1184 extern const tFont g_sFontCm36;
1185 extern const tFont g_sFontCm36b;
1186 extern const tFont g_sFontCm36i;
1187 extern const tFont g_sFontCm38;
1188 extern const tFont g_sFontCm38b;
1189 extern const tFont g_sFontCm38i;
1190 extern const tFont g_sFontCm40;
1191 extern const tFont g_sFontCm40b;
1192 extern const tFont g_sFontCm40i;
1193 extern const tFont g_sFontCm42;
1194 extern const tFont g_sFontCm42b;
1195 extern const tFont g_sFontCm42i;
1196 extern const tFont g_sFontCm44;
1197 extern const tFont g_sFontCm44b;
1198 extern const tFont g_sFontCm44i;
1199 extern const tFont g_sFontCm46;
1200 extern const tFont g_sFontCm46b;
1201 extern const tFont g_sFontCm46i;
1202 extern const tFont g_sFontCm48;
1203 extern const tFont g_sFontCm48b;
1204 extern const tFont g_sFontCm48i;
1205 extern const tFont g_sFontCmsc12;
1206 extern const tFont g_sFontCmsc14;
1207 extern const tFont g_sFontCmsc16;
1208 extern const tFont g_sFontCmsc18;
1209 extern const tFont g_sFontCmsc20;
1210 extern const tFont g_sFontCmsc22;
1211 extern const tFont g_sFontCmsc24;
1212 extern const tFont g_sFontCmsc26;
1213 extern const tFont g_sFontCmsc28;
1214 extern const tFont g_sFontCmsc30;
1215 extern const tFont g_sFontCmsc32;
1216 extern const tFont g_sFontCmsc34;
1217 extern const tFont g_sFontCmsc36;
1218 extern const tFont g_sFontCmsc38;
1219 extern const tFont g_sFontCmsc40;
1220 extern const tFont g_sFontCmsc42;
1221 extern const tFont g_sFontCmsc44;
1222 extern const tFont g_sFontCmsc46;
1223 extern const tFont g_sFontCmsc48;
1224 extern const tFont g_sFontCmss12;
1225 extern const tFont g_sFontCmss12b;
1226 extern const tFont g_sFontCmss12i;
1227 extern const tFont g_sFontCmss14;
1228 extern const tFont g_sFontCmss14b;
1229 extern const tFont g_sFontCmss14i;
1230 extern const tFont g_sFontCmss16;
1231 extern const tFont g_sFontCmss16b;
1232 extern const tFont g_sFontCmss16i;
1233 extern const tFont g_sFontCmss18;
1234 extern const tFont g_sFontCmss18b;
1235 extern const tFont g_sFontCmss18i;
1236 extern const tFont g_sFontCmss20;
1237 extern const tFont g_sFontCmss20b;
1238 extern const tFont g_sFontCmss20i;
1239 extern const tFont g_sFontCmss22;
1240 extern const tFont g_sFontCmss22b;
1241 extern const tFont g_sFontCmss22i;
1242 extern const tFont g_sFontCmss24;
1243 extern const tFont g_sFontCmss24b;
1244 extern const tFont g_sFontCmss24i;
1245 extern const tFont g_sFontCmss26;
1246 extern const tFont g_sFontCmss26b;
1247 extern const tFont g_sFontCmss26i;
1248 extern const tFont g_sFontCmss28;
1249 extern const tFont g_sFontCmss28b;
1250 extern const tFont g_sFontCmss28i;
1251 extern const tFont g_sFontCmss30;
1252 extern const tFont g_sFontCmss30b;
1253 extern const tFont g_sFontCmss30i;
1254 extern const tFont g_sFontCmss32;
1255 extern const tFont g_sFontCmss32b;
1256 extern const tFont g_sFontCmss32i;
1257 extern const tFont g_sFontCmss34;
1258 extern const tFont g_sFontCmss34b;
1259 extern const tFont g_sFontCmss34i;
1260 extern const tFont g_sFontCmss36;
1261 extern const tFont g_sFontCmss36b;
1262 extern const tFont g_sFontCmss36i;
1263 extern const tFont g_sFontCmss38;
1264 extern const tFont g_sFontCmss38b;
1265 extern const tFont g_sFontCmss38i;
1266 extern const tFont g_sFontCmss40;
1267 extern const tFont g_sFontCmss40b;
1268 extern const tFont g_sFontCmss40i;
1269 extern const tFont g_sFontCmss42;
1270 extern const tFont g_sFontCmss42b;
1271 extern const tFont g_sFontCmss42i;
1272 extern const tFont g_sFontCmss44;
1273 extern const tFont g_sFontCmss44b;
1274 extern const tFont g_sFontCmss44i;
1275 extern const tFont g_sFontCmss46;
1276 extern const tFont g_sFontCmss46b;
1277 extern const tFont g_sFontCmss46i;
1278 extern const tFont g_sFontCmss48;
1279 extern const tFont g_sFontCmss48b;
1280 extern const tFont g_sFontCmss48i;
1281 extern const tFont g_sFontCmtt12;
1282 extern const tFont g_sFontCmtt14;
1283 extern const tFont g_sFontCmtt16;
1284 extern const tFont g_sFontCmtt18;
1285 extern const tFont g_sFontCmtt20;
1286 extern const tFont g_sFontCmtt22;
1287 extern const tFont g_sFontCmtt24;
1288 extern const tFont g_sFontCmtt26;
1289 extern const tFont g_sFontCmtt28;
1290 extern const tFont g_sFontCmtt30;
1291 extern const tFont g_sFontCmtt32;
1292 extern const tFont g_sFontCmtt34;
1293 extern const tFont g_sFontCmtt36;
1294 extern const tFont g_sFontCmtt38;
1295 extern const tFont g_sFontCmtt40;
1296 extern const tFont g_sFontCmtt42;
1297 extern const tFont g_sFontCmtt44;
1298 extern const tFont g_sFontCmtt46;
1299 extern const tFont g_sFontCmtt48;
1300 extern const tFont g_sFontFixed6x8;
1301 
1302 //*****************************************************************************
1303 //
1304 // Language identifiers supported by the string table processing functions.
1305 //
1306 //*****************************************************************************
1307 #define GrLangZhPRC 0x0804 // Chinese (PRC)
1308 #define GrLangZhTW 0x0404 // Chinese (Taiwan)
1309 #define GrLangEnUS 0x0409 // English (United States)
1310 #define GrLangEnUK 0x0809 // English (United Kingdom)
1311 #define GrLangEnAUS 0x0C09 // English (Australia)
1312 #define GrLangEnCA 0x1009 // English (Canada)
1313 #define GrLangEnNZ 0x1409 // English (New Zealand)
1314 #define GrLangFr 0x040C // French (Standard)
1315 #define GrLangDe 0x0407 // German (Standard)
1316 #define GrLangHi 0x0439 // Hindi
1317 #define GrLangIt 0x0410 // Italian (Standard)
1318 #define GrLangJp 0x0411 // Japanese
1319 #define GrLangKo 0x0412 // Korean
1320 #define GrLangEsMX 0x080A // Spanish (Mexico)
1321 #define GrLangEsSP 0x0C0A // Spanish (Spain)
1322 #define GrLangSwKE 0x0441 // Swahili (Kenya)
1323 #define GrLangUrIN 0x0820 // Urdu (India)
1324 #define GrLangUrPK 0x0420 // Urdu (Pakistan)
1325 
1326 //*****************************************************************************
1327 //
1341 //
1342 //*****************************************************************************
1343 #define DpyColorTranslate(pDisplay, ulValue) \
1344  ((pDisplay)->pFxns->pfnColorTranslate((pDisplay)->pvDisplayData, ulValue))
1345 
1346 //*****************************************************************************
1347 //
1356 //
1357 //*****************************************************************************
1358 #define DpyFlush(pDisplay) \
1359  do \
1360  { \
1361  tDisplay *pD = pDisplay; \
1362  pD->pFxns->pfnFlush(pD); \
1363  } \
1364  while(0)
1365 
1366 //*****************************************************************************
1367 //
1377 //
1378 //*****************************************************************************
1379 #define DpyClearDisplay(pDisplay, ulValue) \
1380  do \
1381  { \
1382  tDisplay *pD = pDisplay; \
1383  pD->pFxns->pfnClearDisplay(pD, ulValue); \
1384  } \
1385  while(0)
1386 
1387 //*****************************************************************************
1388 //
1397 //
1398 //*****************************************************************************
1399 #define DpyHeightGet(pDisplay) \
1400  ((pDisplay)->usHeight)
1401 
1402 //*****************************************************************************
1403 //
1418 //
1419 //*****************************************************************************
1420 #define DpyLineDrawH(pDisplay, lX1, lX2, lY, ulValue) \
1421  do \
1422  { \
1423  tDisplay *pD = pDisplay; \
1424  pD->pFxns->pfnLineDrawH(pD, lX1, lX2, lY, ulValue); \
1425  } \
1426  while(0)
1427 
1428 //*****************************************************************************
1429 //
1444 //
1445 //*****************************************************************************
1446 #define DpyLineDrawV(pDisplay, lX, lY1, lY2, ulValue) \
1447  do \
1448  { \
1449  tDisplay *pD = pDisplay; \
1450  pD->pFxns->pfnLineDrawV(pD, lX, lY1, lY2, ulValue); \
1451  } \
1452  while(0)
1453 
1454 //*****************************************************************************
1455 //
1468 //
1469 //*****************************************************************************
1470 #define DpyPixelDraw(pDisplay, lX, lY, ulValue) \
1471  do \
1472  { \
1473  tDisplay *pD = pDisplay; \
1474  pD->pFxns->pfnPixelDraw(pD, lX, lY, ulValue); \
1475  } \
1476  while(0)
1477 
1478 //*****************************************************************************
1479 //
1501 //
1502 //*****************************************************************************
1503 #define DpyPixelDrawMultiple(pDisplay, lX, lY, lX0, lCount, lBPP, pucData, \
1504  pucPalette) \
1505  do \
1506  { \
1507  tDisplay *pD = pDisplay; \
1508  pD->pFxns->pfnPixelDrawMultiple(pD, lX, lY, lX0, lCount, \
1509  lBPP, pucData, pucPalette); \
1510  } \
1511  while(0)
1512 
1513 //*****************************************************************************
1514 //
1528 //
1529 //*****************************************************************************
1530 #define DpyRectFill(pDisplay, pRect, ulValue) \
1531  do \
1532  { \
1533  tDisplay *pD = pDisplay; \
1534  pD->pFxns->pfnRectFill(pD, pRect, ulValue); \
1535  } \
1536  while(0)
1537 
1538 //*****************************************************************************
1539 //
1548 //
1549 //*****************************************************************************
1550 #define DpyWidthGet(pDisplay) \
1551  ((pDisplay)->usWidth)
1552 
1553 //*****************************************************************************
1554 //
1566 //
1567 //*****************************************************************************
1568 #define GrRectContainsPoint(pRect, lX, lY) \
1569  ((((lX) >= (pRect)->sXMin) && ((lX) <= (pRect)->sXMax) && \
1570  ((lY) >= (pRect)->sYMin) && ((lY) <= (pRect)->sYMax)) ? 1 : 0)
1571 
1572 //*****************************************************************************
1573 //
1574 // Prototypes for the graphics library functions.
1575 //
1576 //*****************************************************************************
1577 extern void GrCircleDraw(const tContext *pContext, int32_t lX, int32_t lY,
1578  int32_t lRadius);
1579 extern void GrCircleFill(const tContext *pContext, int32_t lX, int32_t lY,
1580  int32_t lRadius);
1581 extern void GrContextClipRegionSet(tContext *pContext, tRectangle *pRect);
1582 extern void GrContextInit(tContext *pContext, tDisplay *pDisplay, const tDisplayFxns *pFxns);
1583 extern void GrImageDraw(const tContext *pContext,
1584  const tImage *pBitmap, int16_t lX, int16_t lY);
1585 extern void GrLineDraw(const tContext *pContext, int32_t lX1, int32_t lY1, int32_t lX2,
1586  int32_t lY2);
1587 extern void GrLineDrawH(const tContext *pContext, int32_t lX1, int32_t lX2, int32_t lY);
1588 extern void GrLineDrawV(const tContext *pContext, int32_t lX, int32_t lY1, int32_t lY2);
1589 extern void GrRectDraw(const tContext *pContext, const tRectangle *pRect);
1590 extern void GrRectFill(const tContext *pContext, const tRectangle *pRect);
1591 extern void GrStringDraw(const tContext *pContext, const char *pcString,
1592  int32_t lLength, int32_t lX, int32_t lY,
1593  uint32_t bOpaque);
1594 extern int32_t GrStringWidthGet(const tContext *pContext, const char *pcString,
1595  int32_t lLength);
1596 extern int32_t GrRectOverlapCheck(tRectangle *psRect1, tRectangle *psRect2);
1597 extern int32_t GrRectIntersectGet(tRectangle *psRect1, tRectangle *psRect2,
1598  tRectangle *psIntersect);
1599 
1600 //*****************************************************************************
1601 //
1602 // Mark the end of the C bindings section for C++ compilers.
1603 //
1604 //*****************************************************************************
1605 #ifdef __cplusplus
1606 }
1607 #endif
1608 
1609 //*****************************************************************************
1610 //
1611 // Close the Doxygen group.
1613 //
1614 //*****************************************************************************
1615 
1616 #endif // __GRLIB_H__
const tFont g_sFontCmss40i
const tFont g_sFontCmss32
const tFont g_sFontCmss16
const tFont g_sFontCmss28
const tFont g_sFontCmss48b
const tFont g_sFontCm24
uint8_t ucHeight
Definition: grlib.h:300
const tFont g_sFontCmsc48
const tFont g_sFontCmss44
void(* pfnPixelDraw)(tDisplay *pDisplay, int16_t lX, int16_t lY, uint16_t ulValue)
A pointer to the function to draw a pixel on this display.
Definition: grlib.h:141
const tFont g_sFontCmss18i
const tFont g_sFontCm48b
const tFont g_sFontCmss12
const uint8_t * pucData
A pointer to the data for the font.
Definition: grlib.h:265
const tFont g_sFontCmss42b
const tFont g_sFontCm40
const tFont g_sFontCmtt22
const tFont g_sFontCmss46
const tFont g_sFontCmsc16
void GrLineDrawV(const tContext *pContext, int32_t lX, int32_t lY1, int32_t lY2)
const tFont g_sFontCm22
const tFont g_sFontCm30b
const tFont g_sFontCm26b
const tFont g_sFontCmsc32
const tFont g_sFontCm20b
const tFont g_sFontCm14i
uint32_t ulBackground
The background color used to draw primitives onto the screen.
Definition: grlib.h:532
const tFont g_sFontCmss24b
const tFont g_sFontCmss34
const tFont g_sFontCmss18
const tFont g_sFontCmsc42
const uint8_t * pucData
A pointer to the data for the font.
Definition: grlib.h:330
const tDisplayFxns * pFxns
Implementation of this display.
Definition: grlib.h:221
void GrLineDraw(const tContext *pContext, int32_t lX1, int32_t lY1, int32_t lX2, int32_t lY2)
const tFont g_sFontCmss20
const tFont g_sFontCmtt42
const tFont g_sFontCm34b
void(* pfnLineDrawH)(tDisplay *pDisplay, int16_t lX1, int16_t lX2, int16_t lY, uint16_t ulValue)
A pointer to the function to draw a horizontal line on this display.
Definition: grlib.h:155
const tFont g_sFontCmss18b
void(* pfnLineDrawV)(tDisplay *pDisplay, int16_t lX, int16_t lY1, int16_t lY2, uint16_t ulValue)
A pointer to the function to draw a vertical line on this display.
Definition: grlib.h:161
void * pvDisplayData
A pointer to display driver-specific data.
Definition: grlib.h:206
const tFont g_sFontCm22i
const tFont g_sFontCm26i
const tFont g_sFontCmtt16
const tFont g_sFontCmsc28
const tFont g_sFontCmss22
const tFont g_sFontCmss26i
const tFont g_sFontCmsc44
const tFont g_sFontCmss48
const tFont g_sFontFixed6x8
const tFont g_sFontCmtt32
const tFont g_sFontCmtt28
const tFont g_sFontCm24i
const tFont g_sFontCm36b
const tFont g_sFontCmss30
void GrContextInit(tContext *pContext, tDisplay *pDisplay, const tDisplayFxns *pFxns)
const tFont g_sFontCmsc26
const tFont g_sFontCmss36i
const tFont g_sFontCm42
const tFont g_sFontCmss34i
const tFont g_sFontCmss12b
const tFont g_sFontCm22b
const tFont g_sFontCm40b
uint8_t ucFormat
Definition: grlib.h:235
This structure describes a font used for drawing text onto the screen.
Definition: grlib.h:229
void(* pfnPixelDrawMultiple)(tDisplay *pDisplay, int16_t lX, int16_t lY, int16_t lX0, int16_t lCount, int16_t lBPP, const uint8_t *pucData, const uint16_t *pucPalette)
A pointer to the function to draw multiple pixels on this display.
Definition: grlib.h:147
const tFont g_sFontCm38i
const tFont g_sFontCmss22i
const tFont g_sFontCmss16b
uint8_t BPP
Bits per pixel and Compressed/Uncompressed.
Definition: grlib.h:68
uint16_t usHeight
The height of this display.
Definition: grlib.h:216
uint8_t ucHeight
Definition: grlib.h:248
void(* pfnClearDisplay)(tDisplay *pDisplay, uint16_t ulValue)
Definition: grlib.h:187
void GrStringDraw(const tContext *pContext, const char *pcString, int32_t lLength, int32_t lX, int32_t lY, uint32_t bOpaque)
uint8_t ucBaseline
Definition: grlib.h:255
const tFont g_sFontCmtt18
const tFont g_sFontCm46i
const tFont g_sFontCmss28b
uint8_t ucBaseline
Definition: grlib.h:307
Definition: grlib.h:281
const tFont g_sFontCmss20b
const tFont g_sFontCmss24i
const tFont g_sFontCmsc40
const tFont g_sFontCmtt12
int32_t lSize
The size of this structure.
Definition: grlib.h:512
const tFont g_sFontCmss32i
void GrContextClipRegionSet(tContext *pContext, tRectangle *pRect)
const tFont g_sFontCmtt30
const tFont g_sFontCmtt40
const tFont g_sFontCmss44b
const tFont g_sFontCmsc14
const tFont g_sFontCmss14i
const tFont g_sFontCmss26
const tFont g_sFontCmsc18
const tFont g_sFontCmtt14
const tFont g_sFontCm32
const tFont g_sFontCm36i
const tFont g_sFontCmsc34
const tFont g_sFontCm14
const tFont g_sFontCmtt24
const tFont g_sFontCm40i
Definition: grlib.h:507
void(* pfnRectFill)(tDisplay *pDisplay, const tRectangle *pRect, uint16_t ulValue)
A pointer to the function to draw a filled rectangle on this display.
Definition: grlib.h:167
const tFont g_sFontCmss38b
const tFont g_sFontCmss30i
const tFont g_sFontCm12
void GrRectDraw(const tContext *pContext, const tRectangle *pRect)
const tFont g_sFontCm42b
const tFont g_sFontCm32i
const tFont g_sFontCmsc30
const tFont g_sFontCm26
const tFont g_sFontCmtt48
const tFont g_sFontCm34i
int32_t GrRectIntersectGet(tRectangle *psRect1, tRectangle *psRect2, tRectangle *psIntersect)
int16_t sXMax
The maximum X coordinate of the rectangle.
Definition: grlib.h:120
const tFont g_sFontCm48i
const tFont g_sFontCmsc36
void(* pfnFlush)(tDisplay *pDisplay)
Definition: grlib.h:181
int32_t GrStringWidthGet(const tContext *pContext, const char *pcString, int32_t lLength)
const tFont g_sFontCmss38i
const tFont g_sFontCm18
const tFont g_sFontCmss24
const tFont g_sFontCm46b
const uint32_t * pPalette
Pointer to Palette.
Definition: grlib.h:89
const tFont g_sFontCmss26b
const tFont g_sFontCm38
struct tDisplayFxns tDisplayFxns
This structure defines the implementation of a display driver.
int16_t sYMax
The maximum Y coordinate of the rectangle.
Definition: grlib.h:125
const uint16_t * pusOffset
Definition: grlib.h:325
const tFont g_sFontCm16
const tFont g_sFontCmtt20
const tFont g_sFontCmss40b
const tFont g_sFontCm34
const tFont g_sFontCm14b
uint8_t ucLast
Definition: grlib.h:319
void GrCircleFill(const tContext *pContext, int32_t lX, int32_t lY, int32_t lRadius)
void GrImageDraw(const tContext *pContext, const tImage *pBitmap, int16_t lX, int16_t lY)
const tFont g_sFontCmss44i
const tFont g_sFontCm44
const tFont g_sFontCmsc46
uint8_t ucFormat
Definition: grlib.h:287
void GrRectFill(const tContext *pContext, const tRectangle *pRect)
void GrLineDrawH(const tContext *pContext, int32_t lX1, int32_t lX2, int32_t lY)
const tFont g_sFontCm12b
const tFont g_sFontCm32b
int16_t sXMin
The minimum X coordinate of the rectangle.
Definition: grlib.h:110
const tFont g_sFontCmss36b
const tFont g_sFontCm16i
void GrCircleDraw(const tContext *pContext, int32_t lX, int32_t lY, int32_t lRadius)
const tFont g_sFontCmsc22
const tFont g_sFontCm24b
const tFont g_sFontCm20
const tFont g_sFontCm28b
const tFont g_sFontCmss32b
const tFont g_sFontCm36
const tFont g_sFontCm12i
const tFont g_sFontCmss48i
const tFont g_sFontCmss28i
This structure defines the implementation of a display driver.
Definition: grlib.h:136
This structure defines the characteristics of a Bitmap Image.
Definition: grlib.h:63
const tFont g_sFontCmss38
const tFont g_sFontCmss46b
const tFont g_sFontCmss12i
const tFont g_sFontCmsc24
const tFont g_sFontCm20i
int16_t sYMin
The minimum Y coordinate of the rectangle.
Definition: grlib.h:115
uint8_t ucMaxWidth
Definition: grlib.h:294
const tFont g_sFontCmtt36
const tFont g_sFontCmtt46
const tFont g_sFontCm42i
const tFont g_sFontCmss36
const tFont g_sFontCm30i
This structure defines the characteristics of a display driver.
Definition: grlib.h:196
tRectangle sClipRegion
The clipping region to be used when drawing onto the screen.
Definition: grlib.h:522
const tFont g_sFontCm28i
const tFont g_sFontCmss42
int32_t lSize
The size of this structure.
Definition: grlib.h:201
const tFont * pFont
The font used to render text onto the screen.
Definition: grlib.h:537
const uint8_t * pPixel
Pointer to pixel data.
Definition: grlib.h:94
const tFont g_sFontCmss30b
const tFont g_sFontCmss42i
const tFont g_sFontCm44b
const tFont g_sFontCmsc20
const tFont g_sFontCm46
tDisplay * pDisplay
The screen onto which drawing operations are performed.
Definition: grlib.h:517
uint32_t ulForeground
The color used to draw primitives onto the screen.
Definition: grlib.h:527
const tFont g_sFontCm30
uint16_t(* pfnColorTranslate)(tDisplay *pDisplay, uint32_t ulValue)
Definition: grlib.h:174
int32_t GrRectOverlapCheck(tRectangle *psRect1, tRectangle *psRect2)
const tFont g_sFontCmss14b
const tFont g_sFontCmtt44
const tFont g_sFontCmss40
const tFont g_sFontCm38b
const tFont g_sFontCmsc12
const tFont g_sFontCmtt38
const tFont g_sFontCmss16i
uint8_t ucMaxWidth
Definition: grlib.h:242
const tFont g_sFontCmss22b
uint16_t YSize
Y size.
Definition: grlib.h:78
const tFont g_sFontCmss46i
const tFont g_sFontCm48
const tFont g_sFontCm44i
const tFont g_sFontCm18b
const tFont g_sFontCmsc38
const tFont g_sFontCm28
const tFont g_sFontCmss14
const tFont g_sFontCmss20i
uint8_t ucFirst
Definition: grlib.h:313
const tFont g_sFontCm18i
const tFont g_sFontCm16b
uint16_t usWidth
The width of this display.
Definition: grlib.h:211
const tFont g_sFontCmtt34
uint16_t NumColors
Number of Colors in Palette.
Definition: grlib.h:84
uint16_t XSize
X size.
Definition: grlib.h:73
const tFont g_sFontCmss34b
const tFont g_sFontCmtt26
Definition: grlib.h:105
Copyright 2016, Texas Instruments Incorporated