]> git.vomp.tv Git - vompclient.git/blob - colour.cc
DrawStyle: Add consts, add white and transparent statics
[vompclient.git] / colour.cc
1 /*
2     Copyright 2005 Chris Tallon
3
4     This file is part of VOMP.
5
6     VOMP is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     VOMP is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with VOMP.  If not, see <https://www.gnu.org/licenses/>.
18 */
19
20 #include "colour.h"
21 #include "defines.h"
22
23 DrawStyle DrawStyle::TRANSPARENT(0, 0, 0, 0);
24 DrawStyle DrawStyle::WHITE(255, 255, 255);
25 DrawStyle DrawStyle::BLACK(0, 0, 0);
26 DrawStyle DrawStyle::RED(255, 0, 0);
27 DrawStyle DrawStyle::GREEN(0, 255, 0);
28 DrawStyle DrawStyle::GREY(180, 180, 180);
29 DrawStyle DrawStyle::DARKGREY(100, 100, 100);
30 DrawStyle DrawStyle::BLUE(0, 0, 255);
31 DrawStyle DrawStyle::YELLOW(255, 255, 0);
32 DrawStyle DrawStyle::VIDEOBLUE(0, 0, 150);
33 DrawStyle DrawStyle::VIEWBACKGROUND(0, 0, 100);
34 DrawStyle DrawStyle::VIEWTRANSPARENTBACKGROUND(0, 0, 100, 128);
35 DrawStyle DrawStyle::TABVIEWBACKGROUND(0, 0, 120);
36 DrawStyle DrawStyle::TITLEBARBACKGROUND(0, 0, 200);
37 DrawStyle DrawStyle::SELECTHIGHLIGHT(240, 250, 80);
38 DrawStyle DrawStyle::LIVETVSYMBOLS(240, 250, 80);
39 DrawStyle DrawStyle::SELECTDARKHIGHLIGHT(120, 125, 40);
40 DrawStyle DrawStyle::SELECTBACKGROUND(0, 0, 100);
41 DrawStyle DrawStyle::PROGRESSBAR(255, 255, 255);
42 DrawStyle DrawStyle::LIGHTTEXT(255, 255, 255);
43 DrawStyle DrawStyle::DARKTEXT(0, 0, 100);
44 DrawStyle DrawStyle::DANGER(200, 0, 0);
45 DrawStyle DrawStyle::OSDBACKGROUND(0, 0, 0, 128);
46 DrawStyle DrawStyle::BUTTONBACKGROUND(0, 0, 200);
47 DrawStyle DrawStyle::PROGRAMMEB(80, 80, 240); // two colours used as alterating backgrounds for individual programmes in EPG
48 DrawStyle DrawStyle::PROGRAMMEA(40, 40, 120); // TODO fit epg style (colours) in with rest of application
49 DrawStyle DrawStyle::NOPROGRAMME(180, 180, 180); // no programme details colour
50 DrawStyle DrawStyle::WALLPAPER(0xFF000000);
51
52
53 const char* skinnames[] =
54 {
55 #ifdef GRADIENT_DRAWING
56   "Noopacity inspired",
57   "VompClassic Enhanced",
58 #endif
59   "VompClassic"
60 };
61
62 const char ** SkinFactory::getSkinNames()
63 {
64   return skinnames;
65 }
66
67 int SkinFactory::getNumberofSkins()
68 {
69   return MaxSkins;
70 }
71
72 void SkinFactory::InitDefaultSkin()
73 {
74   /*
75   Real colours
76    */
77   DrawStyle::BLACK = DrawStyle(0, 0, 0);
78   DrawStyle::RED = DrawStyle(255, 0, 0);
79   DrawStyle::GREY = DrawStyle(180, 180, 180);
80   DrawStyle::DARKGREY = DrawStyle(100, 100, 100);
81   DrawStyle::GREEN = DrawStyle(0, 255, 0);
82   DrawStyle::BLUE = DrawStyle(0, 0, 255);
83   DrawStyle::YELLOW = DrawStyle(255, 255, 0);
84   DrawStyle::WALLPAPER = DrawStyle(0, 0, 150);
85   DrawStyle::VIEWBACKGROUND = DrawStyle(0, 0, 100);
86   DrawStyle::SELECTBACKGROUND = DrawStyle(0, 0, 100);
87   DrawStyle::VIEWTRANSPARENTBACKGROUND = DrawStyle(0, 0, 100, 128);
88   DrawStyle::TABVIEWBACKGROUND = DrawStyle(0, 0, 120);
89   DrawStyle::TITLEBARBACKGROUND = DrawStyle(0, 0, 200);
90   DrawStyle::LIVETVSYMBOLS = DrawStyle(240, 250, 80);
91   DrawStyle::SELECTHIGHLIGHT = DrawStyle(240, 250, 80);
92   DrawStyle::SELECTDARKHIGHLIGHT = DrawStyle(120, 125, 40);
93   DrawStyle::PROGRESSBAR = DrawStyle::LIGHTTEXT = DrawStyle(255, 255, 255);
94   DrawStyle::DARKTEXT = DrawStyle(0, 0, 100);
95   DrawStyle::DANGER = DrawStyle(200, 0, 0);
96   DrawStyle::BUTTONBACKGROUND = DrawStyle(0, 0, 200);
97   DrawStyle::OSDBACKGROUND = DrawStyle(0, 0, 0, 128);
98   DrawStyle::PROGRAMMEB = DrawStyle(80, 80, 240); // two colours used as alterating backgrounds for individual programmes in EPG
99   DrawStyle::PROGRAMMEA = DrawStyle(40, 40, 120); // TODO fit epg style (colours) in with rest of application
100   DrawStyle::NOPROGRAMME = DrawStyle(180, 180, 180); // no programme details colour
101
102   /*
103   Silly colours
104
105   Colour Colour::VIDEOBLUE(250, 0, 0);
106   Colour Colour::VIEWBACKGROUND(100, 0, 100);
107   Colour Colour::TITLEBARBACKGROUND(100, 0, 200);
108   Colour Colour::SELECTHIGHLIGHT(240, 250, 180);
109   Colour Colour::LIGHTTEXT(255, 0, 255);
110   Colour Colour::DARKTEXT(0, 0, 255);
111   Colour Colour::DANGER(200, 200, 0);
112   Colour Colour::BUTTONBACKGROUND(255, 255, 255);
113    */
114 }
115
116 void SkinFactory::InitEnhancedSkin()
117 {
118   /*
119   Real colours
120    */
121   DrawStyle::BLACK = DrawStyle(0, 0, 0);
122
123   DrawStyle::RED = DrawStyle(100, 0, 0);
124   DrawStyle::RED.grad_col[0] = Colour(255, 0, 0);
125   DrawStyle::RED.grad_col[1] = Colour(100, 0, 0);
126   DrawStyle::RED.grad_pos[0] = 0.5;
127   DrawStyle::RED.num_colors = 2;
128   DrawStyle::RED.ft = DrawStyle::GradientLinear;
129   DrawStyle::RED.x1 = 0.0;
130   DrawStyle::RED.y1 = 0.0;
131   DrawStyle::RED.x2 = 0.0;
132   DrawStyle::RED.y2 = 1.0;
133
134   DrawStyle::GREEN = DrawStyle(0, 100, 0);
135   DrawStyle::GREEN.grad_col[0] = Colour(0, 255, 0);
136   DrawStyle::GREEN.grad_col[1] = Colour(0, 100, 0);
137   DrawStyle::GREEN.grad_pos[0] = 0.5;
138   DrawStyle::GREEN.num_colors = 2;
139   DrawStyle::GREEN.ft = DrawStyle::GradientLinear;
140   DrawStyle::GREEN.x1 = 0.0;
141   DrawStyle::GREEN.y1 = 0.0;
142   DrawStyle::GREEN.x2 = 0.0;
143   DrawStyle::GREEN.y2 = 1.0;
144
145   DrawStyle::BLUE = DrawStyle(0, 0, 100);
146   DrawStyle::BLUE.grad_col[0] = Colour(0, 0, 255);
147   DrawStyle::BLUE.grad_col[1] = Colour(0, 0, 100);
148   DrawStyle::BLUE.grad_pos[0] = 0.5;
149   DrawStyle::BLUE.num_colors = 2;
150   DrawStyle::BLUE.ft = DrawStyle::GradientLinear;
151   DrawStyle::BLUE.x1 = 0.0;
152   DrawStyle::BLUE.y1 = 0.0;
153   DrawStyle::BLUE.x2 = 0.0;
154   DrawStyle::BLUE.y2 = 1.0;
155
156   DrawStyle::YELLOW = DrawStyle(100, 100, 0);
157   DrawStyle::YELLOW.grad_col[0] = Colour(255, 255, 0);
158   DrawStyle::YELLOW.grad_col[1] = Colour(100, 100, 0);
159   DrawStyle::YELLOW.grad_pos[0] = 0.5;
160   DrawStyle::YELLOW.num_colors = 2;
161   DrawStyle::YELLOW.ft = DrawStyle::GradientLinear;
162   DrawStyle::YELLOW.x1 = 0.0;
163   DrawStyle::YELLOW.y1 = 0.0;
164   DrawStyle::YELLOW.x2 = 0.0;
165   DrawStyle::YELLOW.y2 = 1.0;
166
167   DrawStyle::GREY = DrawStyle(100, 100, 100);
168   DrawStyle::GREY.grad_col[0] = Colour(180, 180, 180);
169   DrawStyle::GREY.grad_col[1] = Colour(100, 100, 100);
170   DrawStyle::GREY.grad_pos[0] = 0.5;
171   DrawStyle::GREY.num_colors = 2;
172   DrawStyle::GREY.ft = DrawStyle::GradientLinear;
173   DrawStyle::GREY.x1 = 0.0;
174   DrawStyle::GREY.y1 = 0.0;
175   DrawStyle::GREY.x2 = 0.0;
176   DrawStyle::GREY.y2 = 1.0;
177
178   DrawStyle::DARKGREY = DrawStyle(50, 50, 50);
179   DrawStyle::DARKGREY.grad_col[0] = Colour(100, 100, 100);
180   DrawStyle::DARKGREY.grad_col[1] = Colour(80, 80, 80);
181   DrawStyle::DARKGREY.grad_pos[0] = 0.5;
182   DrawStyle::DARKGREY.num_colors = 2;
183   DrawStyle::DARKGREY.ft = DrawStyle::GradientLinear;
184   DrawStyle::DARKGREY.x1 = 0.0;
185   DrawStyle::DARKGREY.y1 = 0.0;
186   DrawStyle::DARKGREY.x2 = 0.0;
187   DrawStyle::DARKGREY.y2 = 1.0;
188
189
190   DrawStyle::WALLPAPER = DrawStyle(0, 0, 150);
191
192   DrawStyle::VIEWBACKGROUND = DrawStyle(0, 0, 100);
193   DrawStyle::VIEWBACKGROUND.grad_col[0] = Colour(0, 0, 160);
194   DrawStyle::VIEWBACKGROUND.num_colors = 1;
195   DrawStyle::VIEWBACKGROUND.ft = DrawStyle::GradientLinear;
196   DrawStyle::VIEWBACKGROUND.x1 = 0.0;
197   DrawStyle::VIEWBACKGROUND.y1 = 0.0;
198   DrawStyle::VIEWBACKGROUND.x2 = 0.0;
199   DrawStyle::VIEWBACKGROUND.y2 = 1.0;
200
201   DrawStyle::VIEWTRANSPARENTBACKGROUND = DrawStyle(0, 0, 100, 128);
202   DrawStyle::VIEWTRANSPARENTBACKGROUND.grad_col[0] = Colour(0, 0, 160, 128);
203   DrawStyle::VIEWTRANSPARENTBACKGROUND.num_colors = 1;
204   DrawStyle::VIEWTRANSPARENTBACKGROUND.ft = DrawStyle::GradientLinear;
205   DrawStyle::VIEWTRANSPARENTBACKGROUND.x1 = 0.0;
206   DrawStyle::VIEWTRANSPARENTBACKGROUND.y1 = 0.0;
207   DrawStyle::VIEWTRANSPARENTBACKGROUND.x2 = 0.0;
208   DrawStyle::VIEWTRANSPARENTBACKGROUND.y2 = 1.0;
209
210   DrawStyle::TABVIEWBACKGROUND = DrawStyle(0, 0, 120);
211
212
213   DrawStyle::TITLEBARBACKGROUND = DrawStyle(0, 0, 160);
214   DrawStyle::TITLEBARBACKGROUND.grad_col[0] = Colour(0, 0, 250);
215   DrawStyle::TITLEBARBACKGROUND.num_colors = 1;
216   DrawStyle::TITLEBARBACKGROUND.ft = DrawStyle::GradientLinear;
217   DrawStyle::TITLEBARBACKGROUND.x1 = 0.0;
218   DrawStyle::TITLEBARBACKGROUND.y1 = 0.0;
219   DrawStyle::TITLEBARBACKGROUND.x2 = 0.0;
220   DrawStyle::TITLEBARBACKGROUND.y2 = 1.0;
221
222
223   DrawStyle::SELECTHIGHLIGHT = DrawStyle(120, 125, 40);
224   DrawStyle::SELECTHIGHLIGHT.grad_col[0] = DrawStyle(240, 250, 80);
225   DrawStyle::SELECTHIGHLIGHT.num_colors = 1;
226   DrawStyle::SELECTHIGHLIGHT.ft = DrawStyle::GradientLinear;
227   DrawStyle::SELECTHIGHLIGHT.x1 = 0.0;
228   DrawStyle::SELECTHIGHLIGHT.y1 = 0.0;
229   DrawStyle::SELECTHIGHLIGHT.x2 = 0.0;
230   DrawStyle::SELECTHIGHLIGHT.y2 = 1.0;
231
232   DrawStyle::LIVETVSYMBOLS = DrawStyle::SELECTHIGHLIGHT;
233
234
235   DrawStyle::SELECTDARKHIGHLIGHT = DrawStyle(60, 65, 20);
236   DrawStyle::SELECTDARKHIGHLIGHT.grad_col[0] = DrawStyle(120, 125, 40);
237   DrawStyle::SELECTDARKHIGHLIGHT.num_colors = 1;
238   DrawStyle::SELECTDARKHIGHLIGHT.ft = DrawStyle::GradientLinear;
239   DrawStyle::SELECTDARKHIGHLIGHT.x1 = 0.0;
240   DrawStyle::SELECTDARKHIGHLIGHT.y1 = 0.0;
241   DrawStyle::SELECTDARKHIGHLIGHT.x2 = 0.0;
242   DrawStyle::SELECTDARKHIGHLIGHT.y2 = 1.0;
243
244   DrawStyle::SELECTBACKGROUND = DrawStyle(0, 0, 100);
245   DrawStyle::SELECTBACKGROUND.grad_col[0] = Colour(0, 0, 160);
246   DrawStyle::SELECTBACKGROUND.num_colors = 1;
247   DrawStyle::SELECTBACKGROUND.ft = DrawStyle::GradientLinear;
248   DrawStyle::SELECTBACKGROUND.x1 = 0.0;
249   DrawStyle::SELECTBACKGROUND.y1 = 0.0;
250   DrawStyle::SELECTBACKGROUND.x2 = 0.0;
251   DrawStyle::SELECTBACKGROUND.y2 = 1.0;
252
253   DrawStyle::LIGHTTEXT = DrawStyle(255, 255, 255);
254   DrawStyle::LIGHTTEXT.grad_col[0] = DrawStyle(150, 150, 150);
255   DrawStyle::LIGHTTEXT.num_colors = 1;
256   DrawStyle::LIGHTTEXT.ft = DrawStyle::GradientLinear;
257   DrawStyle::LIGHTTEXT.x1 = 0.0;
258   DrawStyle::LIGHTTEXT.y1 = 0.0;
259   DrawStyle::LIGHTTEXT.x2 = 0.0;
260   DrawStyle::LIGHTTEXT.y2 = 1.0;
261   DrawStyle::PROGRESSBAR = DrawStyle::LIGHTTEXT;
262
263   DrawStyle::DARKTEXT = DrawStyle(0, 0, 100);
264   DrawStyle::DANGER = DrawStyle(200, 0, 0);
265
266   DrawStyle::BUTTONBACKGROUND = DrawStyle(0, 0, 100);
267   DrawStyle::BUTTONBACKGROUND.grad_col[0] = DrawStyle(0, 0, 200);
268   DrawStyle::BUTTONBACKGROUND.num_colors = 1;
269   DrawStyle::BUTTONBACKGROUND.ft = DrawStyle::GradientLinear;
270   DrawStyle::BUTTONBACKGROUND.x1 = 0.0;
271   DrawStyle::BUTTONBACKGROUND.y1 = 0.0;
272   DrawStyle::BUTTONBACKGROUND.x2 = 0.0;
273   DrawStyle::BUTTONBACKGROUND.y2 = 1.0;
274
275   DrawStyle::OSDBACKGROUND = DrawStyle(0, 0, 0, 128);
276
277
278   DrawStyle::PROGRAMMEB = DrawStyle(40, 40, 120); // two colours used as alterating backgrounds for individual programmes in EPG
279   DrawStyle::PROGRAMMEB.grad_col[0] = DrawStyle(80, 80, 240);
280   DrawStyle::PROGRAMMEB.num_colors = 1;
281   DrawStyle::PROGRAMMEB.ft = DrawStyle::GradientLinear;
282   DrawStyle::PROGRAMMEB.x1 = 0.0;
283   DrawStyle::PROGRAMMEB.y1 = 0.0;
284   DrawStyle::PROGRAMMEB.x2 = 0.0;
285   DrawStyle::PROGRAMMEB.y2 = 1.0;
286
287
288   DrawStyle::PROGRAMMEA = DrawStyle(80, 80, 240); // TODO fit epg style (colours) in with rest of application
289   DrawStyle::PROGRAMMEA.grad_col[0] = DrawStyle(40, 40, 120);
290   DrawStyle::PROGRAMMEA.num_colors = 1;
291   DrawStyle::PROGRAMMEA.ft = DrawStyle::GradientLinear;
292   DrawStyle::PROGRAMMEA.x1 = 0.0;
293   DrawStyle::PROGRAMMEA.y1 = 0.0;
294   DrawStyle::PROGRAMMEA.x2 = 0.0;
295   DrawStyle::PROGRAMMEA.y2 = 1.0;
296
297
298   DrawStyle::NOPROGRAMME = DrawStyle(180, 180, 180); // no programme details colour
299   DrawStyle::NOPROGRAMME.grad_col[0] = DrawStyle(90, 90, 90);
300   DrawStyle::NOPROGRAMME.num_colors = 1;
301   DrawStyle::NOPROGRAMME.ft = DrawStyle::GradientLinear;
302   DrawStyle::NOPROGRAMME.x1 = 0.0;
303   DrawStyle::NOPROGRAMME.y1 = 0.0;
304   DrawStyle::NOPROGRAMME.x2 = 0.0;
305   DrawStyle::NOPROGRAMME.y2 = 1.0;
306
307
308   /*
309   Silly colours
310
311   Colour Colour::VIDEOBLUE(250, 0, 0);
312   Colour Colour::VIEWBACKGROUND(100, 0, 100);
313   Colour Colour::TITLEBARBACKGROUND(100, 0, 200);
314   Colour Colour::SELECTHIGHLIGHT(240, 250, 180);
315   Colour Colour::LIGHTTEXT(255, 0, 255);
316   Colour Colour::DARKTEXT(0, 0, 255);
317   Colour Colour::DANGER(200, 200, 0);
318   Colour Colour::BUTTONBACKGROUND(255, 255, 255);
319    */
320 }
321
322 void SkinFactory::InitNoopacityInspiredSkin()
323 {
324   /*
325   Real colours
326    */
327   DrawStyle::BLACK = DrawStyle(0, 0, 0);
328   DrawStyle::RED = DrawStyle(0x99BB0000);
329   DrawStyle::GREY = DrawStyle(0xFE777777);
330   DrawStyle::DARKGREY = DrawStyle(0x7D000000);
331   DrawStyle::GREEN = DrawStyle(0x9900BB00);
332   DrawStyle::BLUE = DrawStyle(0x990000BB);
333   DrawStyle::YELLOW = DrawStyle(0x99BBBB00);
334   DrawStyle::VIEWBACKGROUND = DrawStyle(0xB012273f);
335   DrawStyle::VIEWTRANSPARENTBACKGROUND = DrawStyle(0x99242A38);
336   DrawStyle::OSDBACKGROUND = DrawStyle(0xB012273f);
337   DrawStyle::TABVIEWBACKGROUND = DrawStyle(0x99242A38);
338
339   DrawStyle::LIVETVSYMBOLS = DrawStyle(0xFF9a9a9a);
340   DrawStyle::PROGRESSBAR = DrawStyle(0xFFC6D590);
341
342
343
344   DrawStyle::SELECTHIGHLIGHT = DrawStyle(0xFF999999);
345   DrawStyle::SELECTHIGHLIGHT.grad_col[0] = DrawStyle(0xFFa4fd15);
346   DrawStyle::SELECTHIGHLIGHT.grad_col[1] = DrawStyle(0xFFa4fd15);
347   DrawStyle::SELECTHIGHLIGHT.grad_col[2] = DrawStyle(0x7D000000);
348   DrawStyle::SELECTHIGHLIGHT.grad_pos[0] = 0.3f;
349   DrawStyle::SELECTHIGHLIGHT.grad_pos[1] = 0.9f;
350   DrawStyle::SELECTHIGHLIGHT.num_colors = 3;
351   DrawStyle::SELECTHIGHLIGHT.ft = DrawStyle::GradientLinear;
352   DrawStyle::SELECTHIGHLIGHT.x1 = 0.0f;
353   DrawStyle::SELECTHIGHLIGHT.y1 = 0.2f;
354   DrawStyle::SELECTHIGHLIGHT.x2 = 1.1f;
355   DrawStyle::SELECTHIGHLIGHT.y2 = 0.8f;
356
357
358   DrawStyle::SELECTDARKHIGHLIGHT = DrawStyle(0xFD999999);
359   DrawStyle::SELECTDARKHIGHLIGHT.grad_col[0] = DrawStyle(0xFF7bbd0f);
360   DrawStyle::SELECTDARKHIGHLIGHT.grad_col[1] = DrawStyle(0xFF7bbd0f);
361   DrawStyle::SELECTDARKHIGHLIGHT.grad_col[2] = DrawStyle(0x7D000000);
362   DrawStyle::SELECTDARKHIGHLIGHT.grad_pos[0] = 0.3f;
363   DrawStyle::SELECTDARKHIGHLIGHT.grad_pos[1] = 0.9f;
364   DrawStyle::SELECTDARKHIGHLIGHT.num_colors = 3;
365   DrawStyle::SELECTDARKHIGHLIGHT.ft = DrawStyle::GradientLinear;
366   DrawStyle::SELECTDARKHIGHLIGHT.x1 = 0.0f;
367   DrawStyle::SELECTDARKHIGHLIGHT.y1 = 0.2f;
368   DrawStyle::SELECTDARKHIGHLIGHT.x2 = 1.1f;
369   DrawStyle::SELECTDARKHIGHLIGHT.y2 = 0.8f;
370
371
372   DrawStyle::SELECTBACKGROUND = DrawStyle(0xFE999999);
373   DrawStyle::SELECTBACKGROUND.grad_col[0] = DrawStyle(0xFF353b50);
374   DrawStyle::SELECTBACKGROUND.grad_col[1] = DrawStyle(0xFF353b50);
375   DrawStyle::SELECTBACKGROUND.grad_col[2] = DrawStyle(0x7D000000);
376   DrawStyle::SELECTBACKGROUND.grad_pos[0] = 0.3f;
377   DrawStyle::SELECTBACKGROUND.grad_pos[1] = 0.9f;
378   DrawStyle::SELECTBACKGROUND.num_colors = 3;
379   DrawStyle::SELECTBACKGROUND.ft = DrawStyle::GradientLinear;
380   DrawStyle::SELECTBACKGROUND.x1 = 0.0f;
381   DrawStyle::SELECTBACKGROUND.y1 = 0.2f;
382   DrawStyle::SELECTBACKGROUND.x2 = 1.1f;
383   DrawStyle::SELECTBACKGROUND.y2 = 0.8f;
384
385   DrawStyle::TITLEBARBACKGROUND = DrawStyle::SELECTBACKGROUND;
386
387   DrawStyle::LIGHTTEXT = DrawStyle(0xFFFFFFFF);
388   DrawStyle::DARKTEXT = DrawStyle(0xFF363636);
389   DrawStyle::DANGER = DrawStyle(200, 0, 0);
390   DrawStyle::BUTTONBACKGROUND = DrawStyle::SELECTBACKGROUND;
391   // two colours used as alterating backgrounds for individual programmes in EPG
392   DrawStyle::PROGRAMMEB = DrawStyle::SELECTBACKGROUND;
393
394
395
396   DrawStyle::PROGRAMMEA = DrawStyle(0x7D000000);
397   DrawStyle::PROGRAMMEA.grad_col[0] = DrawStyle(0xFF353b50);
398   DrawStyle::PROGRAMMEA.grad_col[1] = DrawStyle(0xFF353b50);
399   DrawStyle::PROGRAMMEA.grad_col[2] = DrawStyle(0xFE999999);
400   DrawStyle::PROGRAMMEA.grad_pos[0] = 0.3f;
401   DrawStyle::PROGRAMMEA.grad_pos[1] = 0.9f;
402   DrawStyle::PROGRAMMEA.num_colors = 3;
403   DrawStyle::PROGRAMMEA.ft = DrawStyle::GradientLinear;
404   DrawStyle::PROGRAMMEA.x1 = 0.0f;
405   DrawStyle::PROGRAMMEA.y1 = 0.2f;
406   DrawStyle::PROGRAMMEA.x2 = 1.0f;
407   DrawStyle::PROGRAMMEA.y2 = 0.8f;
408
409
410   DrawStyle::NOPROGRAMME = DrawStyle(0xFF353b50); // no programme details colour
411
412   DrawStyle::WALLPAPER = DrawStyle(0x00000000); // two colours used as alternating backgrounds for individual programmes in EPG
413   DrawStyle::WALLPAPER.grad_col[0] = DrawStyle(0x0012273f);
414   DrawStyle::WALLPAPER.num_colors = 1;
415   DrawStyle::WALLPAPER.ft = DrawStyle::GradientLinear;
416   DrawStyle::WALLPAPER.x1 = 0.0f;
417   DrawStyle::WALLPAPER.y1 = 0.0f;
418   DrawStyle::WALLPAPER.x2 = 0.0f;
419   DrawStyle::WALLPAPER.y2 = 1.0f;
420
421   /*
422   Silly colours
423
424   Colour Colour::VIDEOBLUE(250, 0, 0);
425   Colour Colour::VIEWBACKGROUND(100, 0, 100);
426   Colour Colour::TITLEBARBACKGROUND(100, 0, 200);
427   Colour Colour::SELECTHIGHLIGHT(240, 250, 180);
428   Colour Colour::LIGHTTEXT(255, 0, 255);
429   Colour Colour::DARKTEXT(0, 0, 255);
430   Colour Colour::DANGER(200, 200, 0);
431   Colour Colour::BUTTONBACKGROUND(255, 255, 255);
432    */
433 }
434
435 bool SkinFactory::InitSkin(int n)
436 {
437   switch (n)
438   {
439     default:
440     case Classic:
441       InitDefaultSkin();
442       break;
443 #ifdef GRADIENT_DRAWING
444     case ClassicEnhanced:
445       InitEnhancedSkin();
446       break;
447     case NoopacityInspired:
448       InitNoopacityInspiredSkin();
449       break;
450 #endif
451   }
452
453   return true;
454 }