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