]> git.pld-linux.org Git - packages/fbterm.git/blame - fbterm-256_colors.patch
- up to 1.4
[packages/fbterm.git] / fbterm-256_colors.patch
CommitLineData
22793fc0 1diff -Nru fbterm-1.2/src/fbshell.cpp fbterm-1.2.new/src/fbshell.cpp
2--- fbterm-1.2/src/fbshell.cpp 2008-10-12 11:50:02.000000000 +0200
3+++ fbterm-1.2.new/src/fbshell.cpp 2008-12-16 15:05:03.000000000 +0100
4@@ -32,22 +32,270 @@
5 #define screen (Screen::instance())
6
7 static const Color defaultPalette[NR_COLORS] = {
8- { 0, 0, 0 },
9- { 0, 0, 0xaa },
10- { 0, 0xaa, 0 },
11- { 0, 0x55, 0xaa },
12- { 0xaa, 0, 0 },
13- { 0xaa, 0, 0xaa },
14- { 0xaa, 0xaa, 0 },
15- { 0xaa, 0xaa, 0xaa },
16- { 0x55, 0x55, 0x55 },
17- { 0x55, 0x55, 0xff },
18- { 0x55, 0xff, 0x55 },
19- { 0x55, 0xff, 0xff },
20- { 0xff, 0x55, 0x55 },
21- { 0xff, 0x55, 0xff },
22- { 0xff, 0xff, 0x55 },
23- { 0xff, 0xff, 0xff },
24+ {0x00, 0x00, 0x00}, /* 0 */
25+ {0xaa, 0x00, 0x00}, /* 1 */
26+ {0x00, 0xaa, 0x00}, /* 2 */
27+ {0xaa, 0x55, 0x00}, /* 3 */
28+ {0x00, 0x00, 0xaa}, /* 4 */
29+ {0xaa, 0x00, 0xaa}, /* 5 */
30+ {0x00, 0xaa, 0xaa}, /* 6 */
31+ {0xaa, 0xaa, 0xaa}, /* 7 */
32+ {0x55, 0x55, 0x55}, /* 8 */
33+ {0xff, 0x55, 0x55}, /* 9 */
34+ {0x55, 0xff, 0x55}, /* 10 */
35+ {0xff, 0xff, 0x55}, /* 11 */
36+ {0x55, 0x55, 0xff}, /* 12 */
37+ {0xff, 0x55, 0xff}, /* 13 */
38+ {0x55, 0xff, 0xff}, /* 14 */
39+ {0xff, 0xff, 0xff}, /* 15 */
40+
41+ {0x00, 0x00, 0x00}, /* 16 */
42+ {0x00, 0x00, 0x5f}, /* 17 */
43+ {0x00, 0x00, 0x87}, /* 18 */
44+ {0x00, 0x00, 0xaf}, /* 19 */
45+ {0x00, 0x00, 0xd7}, /* 20 */
46+ {0x00, 0x00, 0xff}, /* 21 */
47+ {0x00, 0x5f, 0x00}, /* 22 */
48+ {0x00, 0x5f, 0x5f}, /* 23 */
49+ {0x00, 0x5f, 0x87}, /* 24 */
50+ {0x00, 0x5f, 0xaf}, /* 25 */
51+ {0x00, 0x5f, 0xd7}, /* 26 */
52+ {0x00, 0x5f, 0xff}, /* 27 */
53+ {0x00, 0x87, 0x00}, /* 28 */
54+ {0x00, 0x87, 0x5f}, /* 29 */
55+ {0x00, 0x87, 0x87}, /* 30 */
56+ {0x00, 0x87, 0xaf}, /* 31 */
57+ {0x00, 0x87, 0xd7}, /* 32 */
58+ {0x00, 0x87, 0xff}, /* 33 */
59+ {0x00, 0xaf, 0x00}, /* 34 */
60+ {0x00, 0xaf, 0x5f}, /* 35 */
61+ {0x00, 0xaf, 0x87}, /* 36 */
62+ {0x00, 0xaf, 0xaf}, /* 37 */
63+ {0x00, 0xaf, 0xd7}, /* 38 */
64+ {0x00, 0xaf, 0xff}, /* 39 */
65+ {0x00, 0xd7, 0x00}, /* 40 */
66+ {0x00, 0xd7, 0x5f}, /* 41 */
67+ {0x00, 0xd7, 0x87}, /* 42 */
68+ {0x00, 0xd7, 0xaf}, /* 43 */
69+ {0x00, 0xd7, 0xd7}, /* 44 */
70+ {0x00, 0xd7, 0xff}, /* 45 */
71+ {0x00, 0xff, 0x00}, /* 46 */
72+ {0x00, 0xff, 0x5f}, /* 47 */
73+ {0x00, 0xff, 0x87}, /* 48 */
74+ {0x00, 0xff, 0xaf}, /* 49 */
75+ {0x00, 0xff, 0xd7}, /* 50 */
76+ {0x00, 0xff, 0xff}, /* 51 */
77+
78+ {0x5f, 0x00, 0x00}, /* 52 */
79+ {0x5f, 0x00, 0x5f}, /* 53 */
80+ {0x5f, 0x00, 0x87}, /* 54 */
81+ {0x5f, 0x00, 0xaf}, /* 55 */
82+ {0x5f, 0x00, 0xd7}, /* 56 */
83+ {0x5f, 0x00, 0xff}, /* 57 */
84+ {0x5f, 0x5f, 0x00}, /* 58 */
85+ {0x5f, 0x5f, 0x5f}, /* 59 */
86+ {0x5f, 0x5f, 0x87}, /* 60 */
87+ {0x5f, 0x5f, 0xaf}, /* 61 */
88+ {0x5f, 0x5f, 0xd7}, /* 62 */
89+ {0x5f, 0x5f, 0xff}, /* 63 */
90+ {0x5f, 0x87, 0x00}, /* 64 */
91+ {0x5f, 0x87, 0x5f}, /* 65 */
92+ {0x5f, 0x87, 0x87}, /* 66 */
93+ {0x5f, 0x87, 0xaf}, /* 67 */
94+ {0x5f, 0x87, 0xd7}, /* 68 */
95+ {0x5f, 0x87, 0xff}, /* 69 */
96+ {0x5f, 0xaf, 0x00}, /* 70 */
97+ {0x5f, 0xaf, 0x5f}, /* 71 */
98+ {0x5f, 0xaf, 0x87}, /* 72 */
99+ {0x5f, 0xaf, 0xaf}, /* 73 */
100+ {0x5f, 0xaf, 0xd7}, /* 74 */
101+ {0x5f, 0xaf, 0xff}, /* 75 */
102+ {0x5f, 0xd7, 0x00}, /* 76 */
103+ {0x5f, 0xd7, 0x5f}, /* 77 */
104+ {0x5f, 0xd7, 0x87}, /* 78 */
105+ {0x5f, 0xd7, 0xaf}, /* 79 */
106+ {0x5f, 0xd7, 0xd7}, /* 80 */
107+ {0x5f, 0xd7, 0xff}, /* 81 */
108+ {0x5f, 0xff, 0x00}, /* 82 */
109+ {0x5f, 0xff, 0x5f}, /* 83 */
110+ {0x5f, 0xff, 0x87}, /* 84 */
111+ {0x5f, 0xff, 0xaf}, /* 85 */
112+ {0x5f, 0xff, 0xd7}, /* 86 */
113+ {0x5f, 0xff, 0xff}, /* 87 */
114+
115+ {0x87, 0x00, 0x00}, /* 88 */
116+ {0x87, 0x00, 0x5f}, /* 89 */
117+ {0x87, 0x00, 0x87}, /* 90 */
118+ {0x87, 0x00, 0xaf}, /* 91 */
119+ {0x87, 0x00, 0xd7}, /* 92 */
120+ {0x87, 0x00, 0xff}, /* 93 */
121+ {0x87, 0x5f, 0x00}, /* 94 */
122+ {0x87, 0x5f, 0x5f}, /* 95 */
123+ {0x87, 0x5f, 0x87}, /* 96 */
124+ {0x87, 0x5f, 0xaf}, /* 97 */
125+ {0x87, 0x5f, 0xd7}, /* 98 */
126+ {0x87, 0x5f, 0xff}, /* 99 */
127+ {0x87, 0x87, 0x00}, /* 100 */
128+ {0x87, 0x87, 0x5f}, /* 101 */
129+ {0x87, 0x87, 0x87}, /* 102 */
130+ {0x87, 0x87, 0xaf}, /* 103 */
131+ {0x87, 0x87, 0xd7}, /* 104 */
132+ {0x87, 0x87, 0xff}, /* 105 */
133+ {0x87, 0xaf, 0x00}, /* 106 */
134+ {0x87, 0xaf, 0x5f}, /* 107 */
135+ {0x87, 0xaf, 0x87}, /* 108 */
136+ {0x87, 0xaf, 0xaf}, /* 109 */
137+ {0x87, 0xaf, 0xd7}, /* 110 */
138+ {0x87, 0xaf, 0xff}, /* 111 */
139+ {0x87, 0xd7, 0x00}, /* 112 */
140+ {0x87, 0xd7, 0x5f}, /* 113 */
141+ {0x87, 0xd7, 0x87}, /* 114 */
142+ {0x87, 0xd7, 0xaf}, /* 115 */
143+ {0x87, 0xd7, 0xd7}, /* 116 */
144+ {0x87, 0xd7, 0xff}, /* 117 */
145+ {0x87, 0xff, 0x00}, /* 118 */
146+ {0x87, 0xff, 0x5f}, /* 119 */
147+ {0x87, 0xff, 0x87}, /* 120 */
148+ {0x87, 0xff, 0xaf}, /* 121 */
149+ {0x87, 0xff, 0xd7}, /* 122 */
150+ {0x87, 0xff, 0xff}, /* 123 */
151+
152+ {0xaf, 0x00, 0x00}, /* 124 */
153+ {0xaf, 0x00, 0x5f}, /* 125 */
154+ {0xaf, 0x00, 0x87}, /* 126 */
155+ {0xaf, 0x00, 0xaf}, /* 127 */
156+ {0xaf, 0x00, 0xd7}, /* 128 */
157+ {0xaf, 0x00, 0xff}, /* 129 */
158+ {0xaf, 0x5f, 0x00}, /* 130 */
159+ {0xaf, 0x5f, 0x5f}, /* 131 */
160+ {0xaf, 0x5f, 0x87}, /* 132 */
161+ {0xaf, 0x5f, 0xaf}, /* 133 */
162+ {0xaf, 0x5f, 0xd7}, /* 134 */
163+ {0xaf, 0x5f, 0xff}, /* 135 */
164+ {0xaf, 0x87, 0x00}, /* 136 */
165+ {0xaf, 0x87, 0x5f}, /* 137 */
166+ {0xaf, 0x87, 0x87}, /* 138 */
167+ {0xaf, 0x87, 0xaf}, /* 139 */
168+ {0xaf, 0x87, 0xd7}, /* 140 */
169+ {0xaf, 0x87, 0xff}, /* 141 */
170+ {0xaf, 0xaf, 0x00}, /* 142 */
171+ {0xaf, 0xaf, 0x5f}, /* 143 */
172+ {0xaf, 0xaf, 0x87}, /* 144 */
173+ {0xaf, 0xaf, 0xaf}, /* 145 */
174+ {0xaf, 0xaf, 0xd7}, /* 146 */
175+ {0xaf, 0xaf, 0xff}, /* 147 */
176+ {0xaf, 0xd7, 0x00}, /* 148 */
177+ {0xaf, 0xd7, 0x5f}, /* 149 */
178+ {0xaf, 0xd7, 0x87}, /* 150 */
179+ {0xaf, 0xd7, 0xaf}, /* 151 */
180+ {0xaf, 0xd7, 0xd7}, /* 152 */
181+ {0xaf, 0xd7, 0xff}, /* 153 */
182+ {0xaf, 0xff, 0x00}, /* 154 */
183+ {0xaf, 0xff, 0x5f}, /* 155 */
184+ {0xaf, 0xff, 0x87}, /* 156 */
185+ {0xaf, 0xff, 0xaf}, /* 157 */
186+ {0xaf, 0xff, 0xd7}, /* 158 */
187+ {0xaf, 0xff, 0xff}, /* 159 */
188+
189+ {0xd7, 0x00, 0x00}, /* 160 */
190+ {0xd7, 0x00, 0x5f}, /* 161 */
191+ {0xd7, 0x00, 0x87}, /* 162 */
192+ {0xd7, 0x00, 0xaf}, /* 163 */
193+ {0xd7, 0x00, 0xd7}, /* 164 */
194+ {0xd7, 0x00, 0xff}, /* 165 */
195+ {0xd7, 0x5f, 0x00}, /* 166 */
196+ {0xd7, 0x5f, 0x5f}, /* 167 */
197+ {0xd7, 0x5f, 0x87}, /* 168 */
198+ {0xd7, 0x5f, 0xaf}, /* 169 */
199+ {0xd7, 0x5f, 0xd7}, /* 170 */
200+ {0xd7, 0x5f, 0xff}, /* 171 */
201+ {0xd7, 0x87, 0x00}, /* 172 */
202+ {0xd7, 0x87, 0x5f}, /* 173 */
203+ {0xd7, 0x87, 0x87}, /* 174 */
204+ {0xd7, 0x87, 0xaf}, /* 175 */
205+ {0xd7, 0x87, 0xd7}, /* 176 */
206+ {0xd7, 0x87, 0xff}, /* 177 */
207+ {0xd7, 0xaf, 0x00}, /* 178 */
208+ {0xd7, 0xaf, 0x5f}, /* 179 */
209+ {0xd7, 0xaf, 0x87}, /* 180 */
210+ {0xd7, 0xaf, 0xaf}, /* 181 */
211+ {0xd7, 0xaf, 0xd7}, /* 182 */
212+ {0xd7, 0xaf, 0xff}, /* 183 */
213+ {0xd7, 0xd7, 0x00}, /* 184 */
214+ {0xd7, 0xd7, 0x5f}, /* 185 */
215+ {0xd7, 0xd7, 0x87}, /* 186 */
216+ {0xd7, 0xd7, 0xaf}, /* 187 */
217+ {0xd7, 0xd7, 0xd7}, /* 188 */
218+ {0xd7, 0xd7, 0xff}, /* 189 */
219+ {0xd7, 0xff, 0x00}, /* 190 */
220+ {0xd7, 0xff, 0x5f}, /* 191 */
221+ {0xd7, 0xff, 0x87}, /* 192 */
222+ {0xd7, 0xff, 0xaf}, /* 193 */
223+ {0xd7, 0xff, 0xd7}, /* 194 */
224+ {0xd7, 0xff, 0xff}, /* 195 */
225+
226+ {0xff, 0x00, 0x00}, /* 196 */
227+ {0xff, 0x00, 0x5f}, /* 197 */
228+ {0xff, 0x00, 0x87}, /* 198 */
229+ {0xff, 0x00, 0xaf}, /* 199 */
230+ {0xff, 0x00, 0xd7}, /* 200 */
231+ {0xff, 0x00, 0xff}, /* 201 */
232+ {0xff, 0x5f, 0x00}, /* 202 */
233+ {0xff, 0x5f, 0x5f}, /* 203 */
234+ {0xff, 0x5f, 0x87}, /* 204 */
235+ {0xff, 0x5f, 0xaf}, /* 205 */
236+ {0xff, 0x5f, 0xd7}, /* 206 */
237+ {0xff, 0x5f, 0xff}, /* 207 */
238+ {0xff, 0x87, 0x00}, /* 208 */
239+ {0xff, 0x87, 0x5f}, /* 209 */
240+ {0xff, 0x87, 0x87}, /* 210 */
241+ {0xff, 0x87, 0xaf}, /* 211 */
242+ {0xff, 0x87, 0xd7}, /* 212 */
243+ {0xff, 0x87, 0xff}, /* 213 */
244+ {0xff, 0xaf, 0x00}, /* 214 */
245+ {0xff, 0xaf, 0x5f}, /* 215 */
246+ {0xff, 0xaf, 0x87}, /* 216 */
247+ {0xff, 0xaf, 0xaf}, /* 217 */
248+ {0xff, 0xaf, 0xd7}, /* 218 */
249+ {0xff, 0xaf, 0xff}, /* 219 */
250+ {0xff, 0xd7, 0x00}, /* 220 */
251+ {0xff, 0xd7, 0x5f}, /* 221 */
252+ {0xff, 0xd7, 0x87}, /* 222 */
253+ {0xff, 0xd7, 0xaf}, /* 223 */
254+ {0xff, 0xd7, 0xd7}, /* 224 */
255+ {0xff, 0xd7, 0xff}, /* 225 */
256+ {0xff, 0xff, 0x00}, /* 226 */
257+ {0xff, 0xff, 0x5f}, /* 227 */
258+ {0xff, 0xff, 0x87}, /* 228 */
259+ {0xff, 0xff, 0xaf}, /* 229 */
260+ {0xff, 0xff, 0xd7}, /* 230 */
261+ {0xff, 0xff, 0xff}, /* 231 */
262+
263+ {0x08, 0x08, 0x08}, /* 232 */
264+ {0x12, 0x12, 0x12}, /* 233 */
265+ {0x1c, 0x1c, 0x1c}, /* 234 */
266+ {0x26, 0x26, 0x26}, /* 235 */
267+ {0x30, 0x30, 0x30}, /* 236 */
268+ {0x3a, 0x3a, 0x3a}, /* 237 */
269+ {0x44, 0x44, 0x44}, /* 238 */
270+ {0x4e, 0x4e, 0x4e}, /* 239 */
271+ {0x58, 0x58, 0x58}, /* 240 */
272+ {0x62, 0x62, 0x62}, /* 241 */
273+ {0x6c, 0x6c, 0x6c}, /* 242 */
274+ {0x76, 0x76, 0x76}, /* 243 */
275+ {0x80, 0x80, 0x80}, /* 244 */
276+ {0x8a, 0x8a, 0x8a}, /* 245 */
277+ {0x94, 0x94, 0x94}, /* 246 */
278+ {0x9e, 0x9e, 0x9e}, /* 247 */
279+ {0xa8, 0xa8, 0xa8}, /* 248 */
280+ {0xb2, 0xb2, 0xb2}, /* 249 */
281+ {0xbc, 0xbc, 0xbc}, /* 250 */
282+ {0xc6, 0xc6, 0xc6}, /* 251 */
283+ {0xd0, 0xd0, 0xd0}, /* 252 */
284+ {0xda, 0xda, 0xda}, /* 253 */
285+ {0xe4, 0xe4, 0xe4}, /* 254 */
286+ {0xee, 0xee, 0xee}, /* 255 */
287+
288 };
289
290 u16 VTerm::init_history_lines()
22793fc0 291diff -Nru fbterm-1.2/src/lib/vterm_action.cpp fbterm-1.2.new/src/lib/vterm_action.cpp
292--- fbterm-1.2/src/lib/vterm_action.cpp 2008-10-12 11:50:02.000000000 +0200
293+++ fbterm-1.2.new/src/lib/vterm_action.cpp 2008-12-16 14:28:19.000000000 +0100
294@@ -466,9 +466,43 @@
295 enable_mode(false);
296 }
297
298+
299 void VTerm::set_display_attr()
300 {
301+ enum mode_256 {
302+ MODE_256_NORMAL,
303+ MODE_256_WAS_FOREGROUND_38,
304+ MODE_256_WAS_FOREGROUND_5,
305+ MODE_256_WAS_BACKGROUND_48,
306+ MODE_256_WAS_BACKGROUND_5
307+ };
308+ mode_256 mode = MODE_256_NORMAL;
309+ bool tmp_underline;
310+ int tmp_fcolor;
311+
312 for (s32 n = 0; n <= npar; n++) {
313+ if (mode == MODE_256_WAS_FOREGROUND_5) {
314+ char_attr.fcolor = param[n];
315+ mode = MODE_256_NORMAL;
316+ continue;
317+ }
318+ if (mode == MODE_256_WAS_BACKGROUND_5) {
319+ char_attr.bcolor = param[n];
320+ mode = MODE_256_NORMAL;
321+ continue;
322+ }
323+ if (param[n] == 5 && mode != MODE_256_NORMAL) {
324+ if (mode == MODE_256_WAS_FOREGROUND_38) {
325+ char_attr.fcolor = tmp_fcolor;
326+ char_attr.underline = tmp_underline;
327+ mode = MODE_256_WAS_FOREGROUND_5;
328+ } else if (mode == MODE_256_WAS_BACKGROUND_48) {
329+ mode = MODE_256_WAS_BACKGROUND_5;
330+ }
331+ continue;
332+ }
333+ mode = MODE_256_NORMAL;
334+
335 switch (param[n]) {
336 case 0:
337 char_attr = default_char_attr;
338@@ -523,8 +557,11 @@
339 char_attr.fcolor = param[n] % 10;
340 break;
341 case 38:
342+ tmp_fcolor = char_attr.fcolor;
343+ tmp_underline = char_attr.underline;
1a877f47 344 char_attr.fcolor = cur_fcolor;
22793fc0 345 char_attr.underline = true;
346+ mode = MODE_256_WAS_FOREGROUND_38;
347 break;
348 case 39:
349 char_attr.fcolor = default_fcolor;
350@@ -533,6 +570,9 @@
351 case 40 ... 47:
352 char_attr.bcolor = param[n] % 10;
353 break;
354+ case 48:
355+ mode = MODE_256_WAS_BACKGROUND_48;
356+ break;
357 case 49:
358 char_attr.bcolor = default_bcolor;
359 break;
1a877f47 360--- fbterm-1.3/src/lib/vterm.h.orig 2008-12-20 03:48:36.000000000 +0100
361+++ fbterm-1.3/src/lib/vterm.h 2008-12-25 13:21:40.000000000 +0100
362@@ -35,8 +35,8 @@
22793fc0 363 || italic != a.italic || underline != a.underline || blink != a.blink || reverse != a.reverse;
364 }
1a877f47 365
366- u16 fcolor : 4;
367- u16 bcolor : 4;
368+ u16 fcolor : 8;
369+ u16 bcolor : 8;
370 u16 intensity : 2; // 0 = half-bright, 1 = normal, 2 = bold
371 u16 italic : 1;
372 u16 underline : 1;
373diff -Nru fbterm-1.3.old/src/screen.h fbterm-1.3/src/screen.h
374--- fbterm-1.3.old/src/screen.h 2008-12-20 03:48:36.000000000 +0100
375+++ fbterm-1.3/src/screen.h 2008-12-25 13:04:41.000000000 +0100
376@@ -24,10 +24,10 @@
377 #include "type.h"
378 #include "instance.h"
379
380-#define NR_COLORS 16
381+#define NR_COLORS 256
382
383 struct Color {
384- u8 blue, green, red;
385+ u8 red, green, blue;
386 };
22793fc0 387
1a877f47 388 struct Rectangle {
This page took 0.125963 seconds and 4 git commands to generate.