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