]> git.vomp.tv Git - vompclient.git/blob - colour.cc
Add more flexible video display options
[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
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::SELECTDARKHIGHLIGHT(120, 125, 40);
38 DrawStyle DrawStyle::LIGHTTEXT(255, 255, 255);
39 DrawStyle DrawStyle::DARKTEXT(0, 0, 100);
40 DrawStyle DrawStyle::DANGER(200, 0, 0);
41 DrawStyle DrawStyle::BUTTONBACKGROUND(0, 0, 200);
42 DrawStyle DrawStyle::PROGRAMMEB(80, 80, 240); // two colours used as alterating backgrounds for individual programmes in EPG
43 DrawStyle DrawStyle::PROGRAMMEA(40, 40, 120); // TODO fit epg style (colours) in with rest of application
44 DrawStyle DrawStyle::NOPROGRAMME(180, 180, 180); // no programme details colour
45
46
47 void SkinFactory::InitDefaultSkin()
48 {
49         /*
50 Real colours
51          */
52         DrawStyle::BLACK=DrawStyle(0, 0, 0);
53         DrawStyle::RED=DrawStyle(255, 0, 0);
54         DrawStyle::GREY=DrawStyle(180, 180, 180);
55         DrawStyle::DARKGREY=DrawStyle(100, 100, 100);
56         DrawStyle::GREEN=DrawStyle(0, 255, 0);
57         DrawStyle::BLUE=DrawStyle(0, 0, 255);
58         DrawStyle::YELLOW=DrawStyle(255, 255, 0);
59         DrawStyle::VIDEOBLUE=DrawStyle(0, 0, 150);
60         DrawStyle::VIEWBACKGROUND=DrawStyle(0, 0, 100);
61         DrawStyle::VIEWTRANSPARENTBACKGROUND=DrawStyle(0, 0, 100, 128);
62         DrawStyle::TABVIEWBACKGROUND=DrawStyle(0, 0, 120);
63         DrawStyle::TITLEBARBACKGROUND=DrawStyle(0, 0, 200);
64         DrawStyle::SELECTHIGHLIGHT=DrawStyle(240, 250, 80);
65         DrawStyle::SELECTDARKHIGHLIGHT=DrawStyle(120, 125, 40);
66         DrawStyle::LIGHTTEXT=DrawStyle(255, 255, 255);
67         DrawStyle::DARKTEXT=DrawStyle(0, 0, 100);
68         DrawStyle::DANGER=DrawStyle(200, 0, 0);
69         DrawStyle::BUTTONBACKGROUND=DrawStyle(0, 0, 200);
70         DrawStyle::PROGRAMMEB=DrawStyle(80, 80, 240); // two colours used as alterating backgrounds for individual programmes in EPG
71         DrawStyle::PROGRAMMEA=DrawStyle(40, 40, 120); // TODO fit epg style (colours) in with rest of application
72         DrawStyle::NOPROGRAMME=DrawStyle(180, 180, 180); // no programme details colour
73
74
75         /*
76 Silly colours
77
78 Colour Colour::VIDEOBLUE(250, 0, 0);
79 Colour Colour::VIEWBACKGROUND(100, 0, 100);
80 Colour Colour::TITLEBARBACKGROUND(100, 0, 200);
81 Colour Colour::SELECTHIGHLIGHT(240, 250, 180);
82 Colour Colour::LIGHTTEXT(255, 0, 255);
83 Colour Colour::DARKTEXT(0, 0, 255);
84 Colour Colour::DANGER(200, 200, 0);
85 Colour Colour::BUTTONBACKGROUND(255, 255, 255);
86          */
87 }
88
89 void SkinFactory::InitEnhancedSkin()
90 {
91         /*
92 Real colours
93          */
94         DrawStyle::BLACK=DrawStyle(0, 0, 0);
95
96         DrawStyle::RED=DrawStyle(100, 0, 0);
97         DrawStyle::RED.grad_col[0]=Colour(255, 0, 0);
98         DrawStyle::RED.grad_col[1]=Colour(100, 0, 0);
99         DrawStyle::RED.grad_pos[0]=0.5;
100         DrawStyle::RED.num_colors=2;
101         DrawStyle::RED.ft=DrawStyle::GradientLinear;
102         DrawStyle::RED.x1=0.0;
103         DrawStyle::RED.y1=0.0;
104         DrawStyle::RED.x2=0.0;
105         DrawStyle::RED.y2=1.0;
106
107         DrawStyle::GREEN=DrawStyle(0, 100, 0);
108         DrawStyle::GREEN.grad_col[0]=Colour(0, 255, 0);
109         DrawStyle::GREEN.grad_col[1]=Colour(0, 100, 0);
110         DrawStyle::GREEN.grad_pos[0]=0.5;
111         DrawStyle::GREEN.num_colors=2;
112         DrawStyle::GREEN.ft=DrawStyle::GradientLinear;
113         DrawStyle::GREEN.x1=0.0;
114         DrawStyle::GREEN.y1=0.0;
115         DrawStyle::GREEN.x2=0.0;
116         DrawStyle::GREEN.y2=1.0;
117
118         DrawStyle::BLUE=DrawStyle(0, 0, 100);
119         DrawStyle::BLUE.grad_col[0]=Colour(0, 0, 255);
120         DrawStyle::BLUE.grad_col[1]=Colour(0, 0, 100);
121         DrawStyle::BLUE.grad_pos[0]=0.5;
122         DrawStyle::BLUE.num_colors=2;
123         DrawStyle::BLUE.ft=DrawStyle::GradientLinear;
124         DrawStyle::BLUE.x1=0.0;
125         DrawStyle::BLUE.y1=0.0;
126         DrawStyle::BLUE.x2=0.0;
127         DrawStyle::BLUE.y2=1.0;
128
129         DrawStyle::YELLOW=DrawStyle(100, 100, 0);
130         DrawStyle::YELLOW.grad_col[0]=Colour(255, 255, 0);
131         DrawStyle::YELLOW.grad_col[1]=Colour(100, 100, 0);
132         DrawStyle::YELLOW.grad_pos[0]=0.5;
133         DrawStyle::YELLOW.num_colors=2;
134         DrawStyle::YELLOW.ft=DrawStyle::GradientLinear;
135         DrawStyle::YELLOW.x1=0.0;
136         DrawStyle::YELLOW.y1=0.0;
137         DrawStyle::YELLOW.x2=0.0;
138         DrawStyle::YELLOW.y2=1.0;
139
140         DrawStyle::GREY=DrawStyle(100, 100, 100);
141         DrawStyle::GREY.grad_col[0]=Colour(180, 180, 180);
142         DrawStyle::GREY.grad_col[1]=Colour(100, 100, 100);
143         DrawStyle::GREY.grad_pos[0]=0.5;
144         DrawStyle::GREY.num_colors=2;
145         DrawStyle::GREY.ft=DrawStyle::GradientLinear;
146         DrawStyle::GREY.x1=0.0;
147         DrawStyle::GREY.y1=0.0;
148         DrawStyle::GREY.x2=0.0;
149         DrawStyle::GREY.y2=1.0;
150
151         DrawStyle::DARKGREY=DrawStyle(50, 50, 50);
152         DrawStyle::DARKGREY.grad_col[0]=Colour(100, 100, 100);
153         DrawStyle::DARKGREY.grad_col[1]=Colour(80, 80, 80);
154         DrawStyle::DARKGREY.grad_pos[0]=0.5;
155         DrawStyle::DARKGREY.num_colors=2;
156         DrawStyle::DARKGREY.ft=DrawStyle::GradientLinear;
157         DrawStyle::DARKGREY.x1=0.0;
158         DrawStyle::DARKGREY.y1=0.0;
159         DrawStyle::DARKGREY.x2=0.0;
160         DrawStyle::DARKGREY.y2=1.0;
161
162
163         DrawStyle::VIDEOBLUE=DrawStyle(0, 0, 150);
164
165         DrawStyle::VIEWBACKGROUND=DrawStyle(0, 0, 100);
166         DrawStyle::VIEWBACKGROUND.grad_col[0]=Colour(0,0,160);
167         DrawStyle::VIEWBACKGROUND.num_colors=1;
168         DrawStyle::VIEWBACKGROUND.ft=DrawStyle::GradientLinear;
169         DrawStyle::VIEWBACKGROUND.x1=0.0;
170         DrawStyle::VIEWBACKGROUND.y1=0.0;
171         DrawStyle::VIEWBACKGROUND.x2=0.0;
172         DrawStyle::VIEWBACKGROUND.y2=1.0;
173
174         DrawStyle::VIEWTRANSPARENTBACKGROUND=DrawStyle(0, 0, 100, 128);
175         DrawStyle::VIEWTRANSPARENTBACKGROUND.grad_col[0]=Colour(0,0,160,128);
176         DrawStyle::VIEWTRANSPARENTBACKGROUND.num_colors=1;
177         DrawStyle::VIEWTRANSPARENTBACKGROUND.ft=DrawStyle::GradientLinear;
178         DrawStyle::VIEWTRANSPARENTBACKGROUND.x1=0.0;
179         DrawStyle::VIEWTRANSPARENTBACKGROUND.y1=0.0;
180         DrawStyle::VIEWTRANSPARENTBACKGROUND.x2=0.0;
181         DrawStyle::VIEWTRANSPARENTBACKGROUND.y2=1.0;
182
183         DrawStyle::TABVIEWBACKGROUND=DrawStyle(0, 0, 120);
184
185
186         DrawStyle::TITLEBARBACKGROUND=DrawStyle(0, 0, 160);
187         DrawStyle::TITLEBARBACKGROUND.grad_col[0]=Colour(0,0,250);
188         DrawStyle::TITLEBARBACKGROUND.num_colors=1;
189         DrawStyle::TITLEBARBACKGROUND.ft=DrawStyle::GradientLinear;
190         DrawStyle::TITLEBARBACKGROUND.x1=0.0;
191         DrawStyle::TITLEBARBACKGROUND.y1=0.0;
192         DrawStyle::TITLEBARBACKGROUND.x2=0.0;
193         DrawStyle::TITLEBARBACKGROUND.y2=1.0;
194
195
196         DrawStyle::SELECTHIGHLIGHT=DrawStyle(120, 125, 40);
197         DrawStyle::SELECTHIGHLIGHT.grad_col[0]=DrawStyle(240, 250, 80);
198         DrawStyle::SELECTHIGHLIGHT.num_colors=1;
199         DrawStyle::SELECTHIGHLIGHT.ft=DrawStyle::GradientLinear;
200         DrawStyle::SELECTHIGHLIGHT.x1=0.0;
201         DrawStyle::SELECTHIGHLIGHT.y1=0.0;
202         DrawStyle::SELECTHIGHLIGHT.x2=0.0;
203         DrawStyle::SELECTHIGHLIGHT.y2=1.0;
204
205
206         DrawStyle::SELECTDARKHIGHLIGHT=DrawStyle(60, 65, 20);
207         DrawStyle::SELECTDARKHIGHLIGHT.grad_col[0]=DrawStyle(120, 125, 40);
208         DrawStyle::SELECTDARKHIGHLIGHT.num_colors=1;
209         DrawStyle::SELECTDARKHIGHLIGHT.ft=DrawStyle::GradientLinear;
210         DrawStyle::SELECTDARKHIGHLIGHT.x1=0.0;
211         DrawStyle::SELECTDARKHIGHLIGHT.y1=0.0;
212         DrawStyle::SELECTDARKHIGHLIGHT.x2=0.0;
213         DrawStyle::SELECTDARKHIGHLIGHT.y2=1.0;
214
215         DrawStyle::LIGHTTEXT=DrawStyle(255, 255, 255);
216         DrawStyle::LIGHTTEXT.grad_col[0]=DrawStyle(150, 150, 150);
217         DrawStyle::LIGHTTEXT.num_colors=1;
218         DrawStyle::LIGHTTEXT.ft=DrawStyle::GradientLinear;
219         DrawStyle::LIGHTTEXT.x1=0.0;
220         DrawStyle::LIGHTTEXT.y1=0.0;
221         DrawStyle::LIGHTTEXT.x2=0.0;
222         DrawStyle::LIGHTTEXT.y2=1.0;
223
224         DrawStyle::DARKTEXT=DrawStyle(0, 0, 100);
225         DrawStyle::DANGER=DrawStyle(200, 0, 0);
226
227         DrawStyle::BUTTONBACKGROUND=DrawStyle(0, 0, 100);
228         DrawStyle::BUTTONBACKGROUND.grad_col[0]=DrawStyle(0, 0, 200);
229         DrawStyle::BUTTONBACKGROUND.num_colors=1;
230         DrawStyle::BUTTONBACKGROUND.ft=DrawStyle::GradientLinear;
231         DrawStyle::BUTTONBACKGROUND.x1=0.0;
232         DrawStyle::BUTTONBACKGROUND.y1=0.0;
233         DrawStyle::BUTTONBACKGROUND.x2=0.0;
234         DrawStyle::BUTTONBACKGROUND.y2=1.0;
235
236
237         DrawStyle::PROGRAMMEB=DrawStyle(40, 40, 120); // two colours used as alterating backgrounds for individual programmes in EPG
238         DrawStyle::PROGRAMMEB.grad_col[0]=DrawStyle(80, 80, 240);
239         DrawStyle::PROGRAMMEB.num_colors=1;
240         DrawStyle::PROGRAMMEB.ft=DrawStyle::GradientLinear;
241         DrawStyle::PROGRAMMEB.x1=0.0;
242         DrawStyle::PROGRAMMEB.y1=0.0;
243         DrawStyle::PROGRAMMEB.x2=0.0;
244         DrawStyle::PROGRAMMEB.y2=1.0;
245
246
247         DrawStyle::PROGRAMMEA=DrawStyle(80, 80, 240); // TODO fit epg style (colours) in with rest of application
248         DrawStyle::PROGRAMMEA.grad_col[0]=DrawStyle(40, 40, 120);
249         DrawStyle::PROGRAMMEA.num_colors=1;
250         DrawStyle::PROGRAMMEA.ft=DrawStyle::GradientLinear;
251         DrawStyle::PROGRAMMEA.x1=0.0;
252         DrawStyle::PROGRAMMEA.y1=0.0;
253         DrawStyle::PROGRAMMEA.x2=0.0;
254         DrawStyle::PROGRAMMEA.y2=1.0;
255
256
257         DrawStyle::NOPROGRAMME=DrawStyle(180, 180, 180); // no programme details colour
258         DrawStyle::NOPROGRAMME.grad_col[0]=DrawStyle(90, 90, 90);
259         DrawStyle::NOPROGRAMME.num_colors=1;
260         DrawStyle::NOPROGRAMME.ft=DrawStyle::GradientLinear;
261         DrawStyle::NOPROGRAMME.x1=0.0;
262         DrawStyle::NOPROGRAMME.y1=0.0;
263         DrawStyle::NOPROGRAMME.x2=0.0;
264         DrawStyle::NOPROGRAMME.y2=1.0;
265
266
267         /*
268 Silly colours
269
270 Colour Colour::VIDEOBLUE(250, 0, 0);
271 Colour Colour::VIEWBACKGROUND(100, 0, 100);
272 Colour Colour::TITLEBARBACKGROUND(100, 0, 200);
273 Colour Colour::SELECTHIGHLIGHT(240, 250, 180);
274 Colour Colour::LIGHTTEXT(255, 0, 255);
275 Colour Colour::DARKTEXT(0, 0, 255);
276 Colour Colour::DANGER(200, 200, 0);
277 Colour Colour::BUTTONBACKGROUND(255, 255, 255);
278          */
279 }