]> Shamusworld >> Repos - apple2/blob - src/gui/guielements.h
Converted to SDL 2, added fullscreen toggle.
[apple2] / src / gui / guielements.h
1 //
2 // GUIELEMENTS.H
3 //
4 // Graphical User Interface bitmaps and such
5 //
6
7 #ifndef __GUIELEMENTS_H__
8 #define __GUIELEMENTS_H__
9
10 #include <stdint.h>
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16 // Okay, this is ugly but works and I can't think of any better way to handle this. So what
17 // we do when we pass the GIMP bitmaps into a function is pass them as a (void *) and then
18 // cast them as type (Bitmap *) in order to use them. Yes, it's ugly. Come up with something
19 // better!
20
21 struct Bitmap {
22         unsigned int width;
23         unsigned int height;
24         unsigned int bytesPerPixel;                                     // 3:RGB, 4:RGBA
25         unsigned char pixelData[];
26 };
27
28 //NOTE: 32-bit pixels are in the format of ABGR...
29 //      This may not be endian safe... Mac users?
30 //Using the GIMP C style bitmap is portable in that it's specified in bytes
31 //but we can cast it in uint32_ts and thus it will display correctly regardless of
32 //the underlying endianess. At least, in theory. ;-)
33
34 uint32_t mousePic[] = {
35         6, 8,
36
37         0xFF00FF00,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,              // +
38         0xFF00C600,0xFF00FF00,0x00000000,0x00000000,0x00000000,0x00000000,              // @+
39         0xFF00C600,0xFF00FF00,0xFF00FF00,0x00000000,0x00000000,0x00000000,              // @++
40         0xFF00C600,0xFF00C600,0xFF00FF00,0xFF00FF00,0x00000000,0x00000000,              // @@++
41         0xFF00C600,0xFF00C600,0xFF00FF00,0xFF00FF00,0xFF00FF00,0x00000000,              // @@+++
42         0xFF00C600,0xFF00C600,0xFF00C600,0xFF00FF00,0xFF00FF00,0xFF00FF00,              // @@@+++
43         0xFF00C600,0xFF00C600,0xFF00C600,0x00000000,0x00000000,0x00000000,              // @@@
44         0xFF00C600,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000               // @
45 /*
46         0x03E0,0x0000,0x0000,0x0000,0x0000,0x0000,              // +
47         0x0300,0x03E0,0x0000,0x0000,0x0000,0x0000,              // @+
48         0x0300,0x03E0,0x03E0,0x0000,0x0000,0x0000,              // @++
49         0x0300,0x0300,0x03E0,0x03E0,0x0000,0x0000,              // @@++
50         0x0300,0x0300,0x03E0,0x03E0,0x03E0,0x0000,              // @@+++
51         0x0300,0x0300,0x0300,0x03E0,0x03E0,0x03E0,              // @@@+++
52         0x0300,0x0300,0x0300,0x0000,0x0000,0x0000,              // @@@
53         0x0300,0x0000,0x0000,0x0000,0x0000,0x0000               // @
54
55         0xFFFF,0x0000,0x0000,0x0000,0x0000,0x0000,              // +
56         0xE318,0xFFFF,0x0000,0x0000,0x0000,0x0000,              // @+
57         0xE318,0xFFFF,0xFFFF,0x0000,0x0000,0x0000,              // @++
58         0xE318,0xE318,0xFFFF,0xFFFF,0x0000,0x0000,              // @@++
59         0xE318,0xE318,0xFFFF,0xFFFF,0xFFFF,0x0000,              // @@+++
60         0xE318,0xE318,0xE318,0xFFFF,0xFFFF,0xFFFF,              // @@@+++
61         0xE318,0xE318,0xE318,0x0000,0x0000,0x0000,              // @@@
62         0xE318,0x0000,0x0000,0x0000,0x0000,0x0000               // @
63 */
64 };
65
66 uint32_t upArrowBox[] = {
67         8, 8,
68
69         0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,                // ++++++++
70         0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400,                // +  @@  .
71         0xFFF7D649,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0xFFBD8400,                // + @@@@ .
72         0xFFF7D649,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFBD8400,                // +@@@@@@.
73         0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400,                // +  @@  .
74         0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400,                // +  @@  .
75         0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400,                // +  @@  .
76         0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400                 // ........
77 };
78
79 uint32_t downArrowBox[] = {
80         8, 8,
81
82         0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,                // ++++++++
83         0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400,                // +  @@  .
84         0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400,                // +  @@  .
85         0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400,                // +  @@  .
86         0xFFF7D649,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFBD8400,                // +@@@@@@.
87         0xFFF7D649,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0xFFBD8400,                // + @@@@ .
88         0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400,                // +  @@  .
89         0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400                 // ........
90 };
91
92 /* GIMP RGBA C-Source image dump (unlit button (16x16).png.c) */
93
94 static const struct {
95   unsigned int   width;
96   unsigned int   height;
97   unsigned int   bytes_per_pixel; /* 3:RGB, 4:RGBA */ 
98   unsigned char  pixel_data[16 * 16 * 4 + 1];
99 } pbUp = {
100   16, 16, 4,
101   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\26\26\26\40`__\203\205rr\305\216mm\344\205"
102   "cc\345kWW\306@??\202\16\16\16\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
103   "\0\0\0\0\2\2\2\4nll\205\277\217\217\372\251LL\377\23588\377\23155\377\227"
104   "22\377\22600\377\22477\377\204UU\371>;;\203\1\1\1\3\0\0\0\0\0\0\0\0\0\0\0"
105   "\0\2\2\2\4\225\215\215\260\271hh\377\234==\377\22499\377\22366\377\22233"
106   "\377\22111\377\221//\377\220--\377\221,,\377\213==\377SJJ\254\1\1\1\4\0\0"
107   "\0\0\0\0\0\0omm\205\271hh\377\231==\377\224::\377\22377\377\22344\377\223"
108   "22\377\22100\377\220..\377\220--\377\220,,\377\220++\377\213<<\377=;;\204"
109   "\0\0\0\0\27\27\27\"\301\220\220\372\234==\377\224::\377\22388\377\22555\377"
110   "\22533\377\22411\377\223//\377\222--\377\220,,\377\220++\377\221**\377\222"
111   "**\377\204RR\372\16\16\16\37baa\205\252MM\377\224::\377\22377\377\22655\377"
112   "\22433\377\22111\377\216//\377\214..\377\214,,\377\217++\377\221++\377\221"
113   "**\377\224**\377\22422\377=<<\203\207tt\307\23599\377\22366\377\22355\377"
114   "\22533\377\22111\377\215//\377\213..\377\213--\377\212,,\377\212++\377\221"
115   "**\377\222**\377\226**\377\227**\377dNN\306\222oo\344\23155\377\22244\377"
116   "\22322\377\22411\377\216//\377\213..\377\213--\377\212,,\377\212++\377\212"
117   "**\377\220**\377\223**\377\230))\377\231**\377xTT\345\210ff\345\23033\377"
118   "\22111\377\22100\377\223//\377\215..\377\213--\377\212,,\377\212++\377\212"
119   "**\377\212**\377\221**\377\224))\377\232))\377\233))\377yTT\344lYY\304\230"
120   "11\377\221//\377\220..\377\222--\377\215,,\377\212,,\377\212++\377\212**"
121   "\377\212**\377\211**\377\224))\377\226))\377\235))\377\235**\377dNN\305?"
122   ">>\177\230;;\377\220..\377\220--\377\220,,\377\217++\377\212++\377\212**"
123   "\377\212**\377\212**\377\222))\377\225))\377\234))\377\237))\377\23455\377"
124   ";;;\200\15\15\15\34\207YY\367\222--\377\220,,\377\220++\377\221++\377\222"
125   "**\377\220**\377\221**\377\224))\377\224))\377\232))\377\237))\377\237**"
126   "\377\211UU\367\14\14\14\34\0\0\0\0:88{\221CC\377\220++\377\221++\377\221"
127   "**\377\222**\377\223**\377\224))\377\226))\377\234))\377\237))\377\237))"
128   "\377\232AA\377988{\0\0\0\0\0\0\0\0\1\1\1\2NGG\243\221CC\377\223++\377\224"
129   "**\377\226**\377\227))\377\232))\377\235))\377\236))\377\237**\377\232BB"
130   "\377OGG\244\1\1\1\2\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1\2""766w\204WW\365\2279"
131   "9\377\231,,\377\231**\377\233**\377\236++\377\23388\377\207VV\365766w\1\1"
132   "\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\12\12\12\30""777w]M"
133   "M\272rSS\330sSS\330]MM\270777w\12\12\12\30\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
134   "\0",
135 };
136
137 uint32_t pushButtonUp[] = {
138         8, 8,
139
140         0x00000000, 0xFF1B1B1B, 0xFF545477, 0xFF525292, 0xFF474787, 0xFF363659, 0xFF0F0F0F, 0x00000000,
141         0xFF1B1B1C, 0xFF6666A7, 0xFF393995, 0xFF343492, 0xFF2F2F90, 0xFF2C2C90, 0xFF3B3B7E, 0xFF0F0F0F,
142         0xFF555578, 0xFF3A3A95, 0xFF353594, 0xFF303091, 0xFF2D2D8F, 0xFF2B2B90, 0xFF2A2A92, 0xFF333358,
143         0xFF545493, 0xFF343492, 0xFF303092, 0xFF2D2D8B, 0xFF2B2B8A, 0xFF2A2A8D, 0xFF292994, 0xFF3D3D83,
144         0xFF484889, 0xFF2F2F90, 0xFF2D2D8F, 0xFF2B2B8A, 0xFF2A2A89, 0xFF29298E, 0xFF292998, 0xFF3D3D84,
145         0xFF37375A, 0xFF2C2C90, 0xFF2B2B90, 0xFF2A2A8D, 0xFF29298E, 0xFF292995, 0xFF29299D, 0xFF34345B,
146         0xFF0E0E0E, 0xFF3E3E7F, 0xFF2A2A92, 0xFF292994, 0xFF292998, 0xFF29299D, 0xFF3C3C88, 0xFF0E0E0E,
147         0x00000000, 0xFF0D0D0D, 0xFF343456, 0xFF3D3D80, 0xFF3D3D82, 0xFF333358, 0xFF0D0D0D, 0x00000000
148 };
149
150 uint8_t pbuAlpha[] = {
151         0xFF, 0xE4, 0xA0, 0x99, 0xA4, 0xBE, 0xF0, 0xFF, 
152         0xE3, 0x85, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xF0, 
153         0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 
154         0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAD, 
155         0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 
156         0xBD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 
157         0xF1, 0xAD, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xF1, 
158         0xFF, 0xF2, 0xC0, 0xAD, 0xAD, 0xC0, 0xF2, 0xFF
159 };
160
161 /* GIMP RGBA C-Source image dump (Lit Button (16x16).png.c) */
162
163 static const struct {
164   unsigned int   width;
165   unsigned int   height;
166   unsigned int   bytes_per_pixel; /* 3:RGB, 4:RGBA */ 
167   unsigned char  pixel_data[16 * 16 * 4 + 1];
168 } pbDown = {
169   16, 16, 4,
170   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\261\261\261\36\276\276\276\200\272\272\272"
171   "\302\255\255\255\343\236\236\236\343\214\214\214\302~~~\177uuu\35\0\0\0\0"
172   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\223\223\223\3\332\332\332\200\353"
173   "\353\353\371\347\323\323\377\321\224\224\377\303rr\377\274jj\377\263uu\377"
174   "\237\212\212\377\205\205\205\370xxx\177ccc\3\0\0\0\0\0\0\0\0\0\0\0\0\236"
175   "\236\236\3\345\345\345\252\371\362\362\377\326\203\203\377\325BB\377\353"
176   "DD\377\365DD\377\365CC\377\351>>\377\31777\377\251TT\377\210\200\200\377"
177   "yyy\250```\3\0\0\0\0\0\0\0\0\333\333\333\200\371\362\362\377\320cc\377\356"
178   "GG\377\371HH\377\366FF\377\363CC\377\363BB\377\365AA\377\367@@\377\351<<"
179   "\377\257@@\377\203{{\377www\177\0\0\0\0\261\261\261\36\354\354\354\370\326"
180   "\204\204\377\356GG\377\370HH\377\362EE\377\351BB\377\340>>\377\337==\377"
181   "\347>>\377\357??\377\366??\377\352;;\377\242LL\377{{{\370sss\35\300\300\300"
182   "\200\350\324\324\377\326BB\377\371HH\377\362EE\377\341@@\377\324<<\377\326"
183   "<<\377\325;;\377\32199\377\335;;\377\360>>\377\370??\377\32033\377\205pp"
184   "\377xxx\177\274\274\274\302\322\225\225\377\353DD\377\366FF\377\351BB\377"
185   "\324<<\377\331==\377\335>>\377\335==\377\330;;\377\32088\377\347<<\377\365"
186   ">>\377\353::\377\225UU\377xxx\303\260\260\260\343\305tt\377\366EE\377\363"
187   "DD\377\340>>\377\326<<\377\335>>\377\342??\377\342>>\377\334<<\377\32388"
188   "\377\33599\377\363>>\377\371==\377\237II\377yyy\343\237\237\237\343\275l"
189   "l\377\365CC\377\363BB\377\337==\377\325;;\377\335==\377\342>>\377\342>>\377"
190   "\334<<\377\32388\377\33699\377\364>>\377\372==\377\240II\377yyy\343\216\216"
191   "\216\303\264vv\377\352??\377\365AA\377\347>>\377\32199\377\330;;\377\334"
192   "<<\377\334<<\377\327::\377\31777\377\350;;\377\371>>\377\357;;\377\227UU"
193   "\377xxx\302~~~\200\240\214\214\377\32188\377\367@@\377\357??\377\335;;\377"
194   "\32088\377\32388\377\32388\377\31777\377\33799\377\362==\377\376>>\377\326"
195   "55\377\204nn\377www\177vvv\34\205\205\205\370\253UU\377\353==\377\366??\377"
196   "\360>>\377\347<<\377\33599\377\33699\377\350;;\377\362==\377\375>>\377\362"
197   ";;\377\246HH\377zzz\370rrr\36\0\0\0\0xxx\177\210\200\200\377\261AA\377\353"
198   "==\377\370??\377\365>>\377\363>>\377\364>>\377\370>>\377\376>>\377\362<<"
199   "\377\266<<\377~uu\377www\177\0\0\0\0\0\0\0\0ddd\3yyy\250\203{{\377\243MM"
200   "\377\32155\377\354<<\377\371>>\377\372>>\377\357;;\377\32755\377\246HH\377"
201   "~uu\377xxx\250___\3\0\0\0\0\0\0\0\0\0\0\0\0hhh\3www\177{{{\370\205pp\377"
202   "\225UU\377\237JJ\377\240JJ\377\227UU\377\204nn\377zzz\370www\177```\3\0\0"
203   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ttt\35www\200xxx\303yyy\343y"
204   "yy\343xxx\303xxx\177sss\35\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
205 };
206
207 uint32_t pushButtonDown[] = {
208         8, 8,
209
210         0x00000000, 0xFF1B1B1B, 0xFF8B8B90, 0xFF8C8CAF, 0xFF767699, 0xFF56565B, 0xFF0F0F0F, 0x00000000,
211         0xFF1B1B1B, 0xFFB8B8D6, 0xFF5555E4, 0xFF4444F2, 0xFF4040F1, 0xFF4141D5, 0xFF626282, 0xFF0F0F0F,
212         0xFF8C8C91, 0xFF5555E4, 0xFF4444EF, 0xFF3E3EDC, 0xFF3B3BDB, 0xFF3D3DEC, 0xFF3E3ED4, 0xFF4B4B51,
213         0xFF8D8DB1, 0xFF4444F2, 0xFF3E3EDC, 0xFF3E3EDD, 0xFF3C3CDC, 0xFF3939D9, 0xFF3C3CF3, 0xFF59597E,
214         0xFF77779B, 0xFF4141F1, 0xFF3B3BDB, 0xFF3C3CDC, 0xFF3B3BDC, 0xFF3838D9, 0xFF3C3CF5, 0xFF595980,
215         0xFF57575D, 0xFF4242D8, 0xFF3D3DEC, 0xFF3939D9, 0xFF3838D9, 0xFF3C3CEF, 0xFF3D3DDC, 0xFF4C4C52,
216         0xFF101010, 0xFF636385, 0xFF3E3ED8, 0xFF3D3DF4, 0xFF3D3DF6, 0xFF3D3DDD, 0xFF5D5D83, 0xFF101010,
217         0x00000000, 0xFF101010, 0xFF4E4E55, 0xFF5B5B83, 0xFF5B5B84, 0xFF4D4D54, 0xFF101010, 0x00000000
218 };
219
220 uint8_t pbdAlpha[] = {
221         0xFF, 0xE4, 0x72, 0x68, 0x7E, 0xA7, 0xF0, 0xFF, 
222         0xE4, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x93, 0xF0, 
223         0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 
224         0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A, 
225         0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A, 
226         0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, 
227         0xEF, 0x91, 0x00, 0x00, 0x00, 0x00, 0x96, 0xEF, 
228         0xFF, 0xEF, 0xAE, 0x98, 0x97, 0xAF, 0xEF, 0xFF
229 };
230
231 uint32_t slideSwitchUp[] = {
232         8, 16,
233
234 //0C7F -> 000011 00011 11111 -> 0000 1100 0001 1000 1111 1111 -> 0C 18 FF
235         0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,                // ++++++++
236         0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400,                // +      .
237         0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400,                // +      .
238         0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400,                // +      .
239         0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400,                // +      .
240         0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400,                // +      .
241         0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400,                // +      .
242         0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400,                // +      .
243         0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400,                // +.......
244         0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400,                // +.......
245         0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400,                // +.......
246         0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400,                // +.......
247         0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400,                // +.......
248         0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400,                // +.......
249         0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400,                // +.......
250         0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400                 // ........
251 };
252
253 uint32_t slideSwitchDown[] = {
254         8, 16,
255
256         0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,                // ++++++++
257         0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400,                // +.......
258         0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400,                // +.......
259         0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400,                // +.......
260         0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400,                // +.......
261         0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400,                // +.......
262         0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400,                // +.......
263         0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400,                // +.......
264         0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400,                // +      .
265         0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400,                // +      .
266         0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400,                // +      .
267         0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400,                // +      .
268         0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400,                // +      .
269         0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400,                // +      .
270         0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400,                // +      .
271         0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400                 // ........
272 };
273
274 #define CLOSEBOX_WIDTH          15
275 #define CLOSEBOX_HEIGHT         15
276
277 uint32_t closeBox[] = {
278         15, 15,
279
280         0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000, 
281         0xFF3838ED, 0xFF5858E7, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF5858E7, 0xFF3838ED, 
282         0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, 
283         0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF3838ED, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF3838ED, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, 
284         0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, 
285         0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, 
286         0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, 
287         0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, 
288         0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, 
289         0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, 
290         0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, 
291         0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF3838ED, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF3838ED, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, 
292         0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED, 
293         0xFF3838ED, 0xFF5858E7, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF5858E7, 0xFF3838ED, 
294         0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000
295 };
296
297 uint32_t closeBoxHover[] = {
298         15, 15,
299
300         0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000, 
301         0xFF3838ED, 0xFF5858E7, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF5858E7, 0xFF3838ED, 
302         0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, 
303         0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF3838ED, 0xFF3838ED, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF3838ED, 0xFF3838ED, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, 
304         0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF52B7FF, 0xFF52B7FF, 0xFF52B7FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, 
305         0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF63BEFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, 
306         0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF52B7FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF52B7FF, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, 
307         0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF52B7FF, 0xFF63BEFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF63BEFF, 0xFF52B7FF, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, 
308         0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF52B7FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF52B7FF, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, 
309         0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF63BEFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, 
310         0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF52B7FF, 0xFF52B7FF, 0xFF52B7FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, 
311         0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF3838ED, 0xFF3838ED, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF3838ED, 0xFF3838ED, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, 
312         0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED, 
313         0xFF3838ED, 0xFF5858E7, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF5858E7, 0xFF3838ED, 
314         0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000
315 };
316
317 uint32_t closeBoxDown[] = {
318         15, 15,
319
320         0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000, 
321         0xFF3838ED, 0xFF1D1DE2, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF1D1DE2, 0xFF3838ED, 
322         0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, 
323         0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF3838ED, 0xFF3838ED, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF3838ED, 0xFF3838ED, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, 
324         0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0077CC, 0xFF0077CC, 0xFF0077CC, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, 
325         0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF006EBD, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, 
326         0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF0077CC, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0077CC, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, 
327         0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF0077CC, 0xFF006EBD, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF006EBD, 0xFF0077CC, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, 
328         0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF0077CC, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0077CC, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, 
329         0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF006EBD, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, 
330         0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0077CC, 0xFF0077CC, 0xFF0077CC, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, 
331         0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF3838ED, 0xFF3838ED, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF3838ED, 0xFF3838ED, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, 
332         0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED, 
333         0xFF3838ED, 0xFF1D1DE2, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF1D1DE2, 0xFF3838ED, 
334         0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000
335 };
336
337 #include "vj_title_small.c"
338
339 #ifdef __cplusplus
340 }
341 #endif
342
343 #endif  // __GUIELEMENTS_H__