SOURCES: iterm-fb-direct.patch (NEW) - separate set_palette functi...

witekfl witekfl at pld-linux.org
Wed Feb 15 18:20:40 CET 2006


Author: witekfl                      Date: Wed Feb 15 17:20:40 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- separate set_palette functions for DIRECTCOLOR and TRUECOLOR

---- Files affected:
SOURCES:
   iterm-fb-direct.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/iterm-fb-direct.patch
diff -u /dev/null SOURCES/iterm-fb-direct.patch:1.1
--- /dev/null	Wed Feb 15 18:20:40 2006
+++ SOURCES/iterm-fb-direct.patch	Wed Feb 15 18:20:34 2006
@@ -0,0 +1,507 @@
+diff -x 'config*' -x '*~' -x '*0' -x '*1' -x 'Makefile*' -x '*.m4' -x requests -x depcomp -Nru iterm-0.5.orig/unix/fbiterm/src/fb.c iterm-0.5/unix/fbiterm/src/fb.c
+--- iterm-0.5.orig/unix/fbiterm/src/fb.c	2006-02-14 16:07:27.870938000 +0100
++++ iterm-0.5/unix/fbiterm/src/fb.c	2006-02-14 21:19:23.160570750 +0100
+@@ -18,6 +18,7 @@
+ {
+   unsigned short bpp;
+   SetPaletteProc set_palette;
++  SetPaletteProc set_palette_true;
+   ClearRectProc clear_rect;
+   SetRenditionProc set_rendition;
+   DrawTextProc draw_text;
+@@ -25,20 +26,20 @@
+ ViewMethod;
+ 
+ static ViewMethod vm[] = {
+-  {8, fb_true8_set_palette, fb_true8_clear_rect,
++  {8, fb_true8_set_palette, fb_true8_set_palette, fb_true8_clear_rect,
+    fb_true8_set_rendition, fb_true8_draw_text},
+-  {16, fb_true16_set_palette, fb_true16_clear_rect,
++  {16, fb_true16_set_palette, fb_true16_set_palette_true, fb_true16_clear_rect,
+    fb_true16_set_rendition, fb_true16_draw_text},
+-  {24, fb_true24_set_palette, fb_true24_clear_rect,
++  {24, fb_true24_set_palette, fb_true24_set_palette_true, fb_true24_clear_rect,
+    fb_true24_set_rendition, fb_true24_draw_text},
+-  {32, fb_true32_set_palette, fb_true32_clear_rect,
++  {32, fb_true32_set_palette, fb_true32_set_palette_true, fb_true32_clear_rect,
+    fb_true32_set_rendition, fb_true32_draw_text},
+ };
+ 
+-static __u16 red[] = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0x
 afaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x808, 0x1212, 0x1c1c, 0x2626, 0x3030, 0x3a3a, 0x4444, 0x4e4e, 0x5858, 0x6262, 0x6c6c, 0x7676, 0x8080, 0x8a8a, 0x9494, 0x9e9e, 0xa8a8, 0xb2b2, 0xbcbc, 0xc6c6, 0xd0d0, 0xdada, 0xe4e4, 0xeeee, };
+-static __u16 green[] = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0xafaf, 0xafaf, 0xafaf, 0xaf
 af, 0xafaf, 0xafaf, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x808, 0x1212, 0x1c1c, 0x2626, 0x3030, 0x3a3a, 0x4444, 0x4e4e, 0x5858, 0x6262, 0x6c6c, 0x7676, 0x8080, 0x8a8a, 0x9494, 0x9e9e, 0xa8a8, 0xb2b2, 0xbcbc, 0xc6c6, 0xd0d0, 0xdada, 0xe4e4, 0xeeee, };
+-static __u16 blue[] = {0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787,
  0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x808, 0x1212, 0x1c1c, 0x2626, 0x3030, 0x3a3a, 0x4444, 0x4e4e, 0x5858, 0x6262, 0x6c6c, 0x7676, 0x8080, 0x8a8a, 0x9494, 0x9e9e, 0xa8a8, 0xb2b2, 0xbcbc, 0xc6c6, 0xd0d0, 0xdada, 0xe4e4, 0xeeee, };
+-static __u16 transp[240];
++__u16 red[] = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0
 xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x808, 0x1212, 0x1c1c, 0x2626, 0x3030, 0x3a3a, 0x4444, 0x4e4e, 0x5858, 0x6262, 0x6c6c, 0x7676, 0x8080, 0x8a8a, 0x9494, 0x9e9e, 0xa8a8, 0xb2b2, 0xbcbc, 0xc6c6, 0xd0d0, 0xdada, 0xe4e4, 0xeeee, };
++__u16 green[] = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xa
 faf, 0xafaf, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x5f5f, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0x8787, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xafaf, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xd7d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x808, 0x1212, 0x1c1c, 0x2626, 0x3030, 0x3a3a, 0x4444, 0x4e4e, 0x5858, 0x6262, 0x6c6c, 0x7676, 0x8080, 0x8a8a, 0x9494, 0x9e9e, 0xa8a8, 0xb2b2, 0xbcbc, 0xc6c6, 0xd0d0, 0xdada, 0xe4e4, 0xeeee, };
++__u16 blue[] = {0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf
 , 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x0, 0x5f5f, 0x8787, 0xafaf, 0xd7d7, 0xffff, 0x808, 0x1212, 0x1c1c, 0x2626, 0x3030, 0x3a3a, 0x4444, 0x4e4e, 0x5858, 0x6262, 0x6c6c, 0x7676, 0x8080, 0x8a8a, 0x9494, 0x9e9e, 0xa8a8, 0xb2b2, 0xbcbc, 0xc6c6, 0xd0d0, 0xdada, 0xe4e4, 0xeeee, };
++__u16 transp[240];
+ static struct fb_cmap cmap;
+ 
+ void
+@@ -102,6 +103,7 @@
+ 	  return -1;
+ 	}
+     }
++
+   cmap.start = 16;
+   cmap.len = 240;
+   cmap.red = red;
+@@ -133,7 +135,10 @@
+ 	{
+ 	  if (vm[i].bpp == vscinfo.bits_per_pixel)
+ 	    {
+-	      pIterm->fb->set_palette = vm[i].set_palette;
++	      if (fscinfo.visual == FB_VISUAL_DIRECTCOLOR)
++	      	pIterm->fb->set_palette = vm[i].set_palette;
++              else
++                pIterm->fb->set_palette = vm[i].set_palette_true;
+ 	      pIterm->fb->draw_text = vm[i].draw_text;
+ 	      pIterm->fb->clear_rect = vm[i].clear_rect;
+ 	      pIterm->fb->set_rendition = vm[i].set_rendition;
+diff -x 'config*' -x '*~' -x '*0' -x '*1' -x 'Makefile*' -x '*.m4' -x requests -x depcomp -Nru iterm-0.5.orig/unix/fbiterm/src/fbiterm.h iterm-0.5/unix/fbiterm/src/fbiterm.h
+--- iterm-0.5.orig/unix/fbiterm/src/fbiterm.h	2002-10-24 14:44:01.000000000 +0200
++++ iterm-0.5/unix/fbiterm/src/fbiterm.h	2006-02-14 21:26:16.550406000 +0100
+@@ -73,7 +73,7 @@
+ };
+ 
+ /* drawing methods */
+-typedef void (*SetPaletteProc) ();
++typedef void (*SetPaletteProc) (void);
+ typedef void (*DrawTextProc) (int col, int row, char *mbstring, int length,
+ 			      int width);
+ typedef void (*ClearRectProc) (int s_col, int s_row, int e_col, int e_row);
+@@ -130,6 +130,10 @@
+ }
+ Iterm;
+ 
++extern __u16 red[];
++extern __u16 green[];
++extern __u16 blue[];
++extern __u16 transp[];
+ 
+ /* function prototypes */
+ int InitFont (char *ascfont, char *mbfont);
+@@ -162,6 +166,7 @@
+ 
+ /* truecolor 16bit color */
+ void fb_true16_set_palette (void);
++void fb_true16_set_palette_true (void);
+ void fb_true16_clear_rect (int s_col, int s_row, int e_col, int e_row);
+ void fb_true16_set_rendition (int bold, int blink, int inverse, int underline,
+ 			      int foreground, int background, char charset);
+@@ -170,6 +175,7 @@
+ 
+ /* truecolor 24bit color */
+ void fb_true24_set_palette (void);
++void fb_true24_set_palette_true (void);
+ void fb_true24_clear_rect (int s_col, int s_row, int e_col, int e_row);
+ void fb_true24_set_rendition (int bold, int blink, int inverse, int underline,
+ 			      int foreground, int background, char charset);
+@@ -178,6 +184,7 @@
+ 
+ /* truecolor 32bit color */
+ void fb_true32_set_palette (void);
++void fb_true32_set_palette_true (void);
+ void fb_true32_clear_rect (int s_col, int s_row, int e_col, int e_row);
+ void fb_true32_set_rendition (int bold, int blink, int inverse, int underline,
+ 			      int foreground, int background, char charset);
+diff -x 'config*' -x '*~' -x '*0' -x '*1' -x 'Makefile*' -x '*.m4' -x requests -x depcomp -Nru iterm-0.5.orig/unix/fbiterm/src/fb_true16.c iterm-0.5/unix/fbiterm/src/fb_true16.c
+--- iterm-0.5.orig/unix/fbiterm/src/fb_true16.c	2002-08-13 09:10:46.000000000 +0200
++++ iterm-0.5/unix/fbiterm/src/fb_true16.c	2006-02-14 21:18:25.968996500 +0100
+@@ -10,24 +10,49 @@
+ #include "fbiterm.h"
+ #include "palette.h"
+ 
+-static unsigned short cfb16[16];
++static unsigned short cfb16[256];
+ static unsigned short fgcmap;
+ static unsigned short bgcmap;
+ static unsigned short boldcmap;
+ 
++
+ void
+-fb_true16_set_palette ()
++fb_true16_set_palette_true ()
+ {
+   int i;
+-  unsigned int red, green, blue;
++  unsigned int r, g, b;
+ 
+   for (i = 0; i < 16; i++)
+     {
+-      red = red16[i];
+-      green = green16[i];
+-      blue = blue16[i];
++      r = red16[i];
++      g = green16[i];
++      b = blue16[i];
+       cfb16[i] =
+-	((blue & 0xf800)) | ((green & 0xfc00) >> 5) | ((red & 0xf800) >> 11);
++	((b & 0xf800)) | ((g & 0xfc00) >> 5) | ((r & 0xf800) >> 11);
++    }
++  for (i = 16; i < 256; i++)
++    {
++      r = red[i - 16];
++      g = green[i - 16];
++      b = blue[i - 16];
++      cfb16[i] = ((b & 0xf800)) | ((g & 0xfc00) >> 5) | ((r & 0xf800) >> 11);
++    }
++  fgcmap = cfb16[7];
++  bgcmap = cfb16[0];
++  return;
++}
++
++
++void
++fb_true16_set_palette ()
++{
++  int i;
++  unsigned int red, green, blue;
++
++  for (i = 0; i < 31; i++)
++    {
++      __u16 val = (i << 11) | (i << 5) | i;
++      cfb16[i] = val;
+     }
+   fgcmap = cfb16[7];
+   bgcmap = cfb16[0];
+@@ -58,6 +83,49 @@
+ fb_true16_set_rendition (int bold, int blink, int inverse, int underline,
+ 			 int foreground, int background, char charset)
+ {
++  unsigned int tmp;
++
++  if (pIterm->lock)
++    return;
++
++  if (!foreground && !background)
++    {
++      fgcmap = cfb16[7];			/* white */
++      bgcmap = cfb16[0];     /* black */
++    }
++  else
++    {
++      if (foreground > 0 && foreground < 7)
++        {
++          foreground = (foreground == 0x02 || foreground == 0x05) ? foreground : (foreground & 0x02) | (~foreground & 0x05);
++          if (bold) foreground |= 0x08;
++        }
++	fgcmap = cfb16[foreground];
++      if (background > 0 && background < 7)
++        background = (background == 0x02 || background == 0x05) ? background : (background & 0x02) | (~background & 0x05);
++      bgcmap = cfb16[background];
++    }
++
++  if (inverse)
++    {
++      tmp = fgcmap;
++      fgcmap = bgcmap;
++      bgcmap = tmp;
++    }
++
++  pIterm->charset = charset;
++  pIterm->underline = underline;
++  pIterm->bold = bold;
++  pIterm->blink = blink;
++  return;
++}
++
++
++#if 0
++void
++fb_true16_set_rendition (int bold, int blink, int inverse, int underline,
++			 int foreground, int background, char charset)
++{
+   unsigned short tmp;
+   if (pIterm->lock)
+     return;
+@@ -91,6 +159,7 @@
+   pIterm->blink = blink;
+   return;
+ }
++#endif
+ 
+ void
+ fb_true16_draw_char (unsigned char *dst, int offset,
+diff -x 'config*' -x '*~' -x '*0' -x '*1' -x 'Makefile*' -x '*.m4' -x requests -x depcomp -Nru iterm-0.5.orig/unix/fbiterm/src/fb_true24.c iterm-0.5/unix/fbiterm/src/fb_true24.c
+--- iterm-0.5.orig/unix/fbiterm/src/fb_true24.c	2002-08-13 09:10:46.000000000 +0200
++++ iterm-0.5/unix/fbiterm/src/fb_true24.c	2006-02-14 21:28:51.524091250 +0100
+@@ -10,22 +10,29 @@
+ #include "fbiterm.h"
+ #include "palette.h"
+ 
+-static unsigned long cfb24[16];
+-static unsigned long fgcmap;
+-static unsigned long bgcmap;
+-static unsigned long boldcmap;
++static __u32 cfb24[256];
++static __u32 fgcmap;
++static __u32 bgcmap;
++
+ 
+ void
+-fb_true24_set_palette ()
++fb_true24_set_palette_true(void)
+ {
+   int i;
+-  unsigned int red, green, blue;
++  unsigned int r, g, b;
+   for (i = 0; i < 16; i++)
+     {
+-      red = red16[i];
+-      green = green16[i];
+-      blue = blue16[i];
+-      cfb24[i] = ((blue & 0xff00) << 8) | (green & 0xff00) | (red >> 8);
++      r = red16[i];
++      g = green16[i];
++      b = blue16[i];
++      cfb24[i] = ((b & 0xff00) << 8) | (g & 0xff00) | (r >> 8);
++    }
++  for (i = 16; i < 256; i++)
++    {
++      r = red[i - 16];
++      g = green[i - 16];
++      b = blue[i - 16];
++      cfb24[i] = ((b & 0xff00) << 8) | (g & 0xff00) | (r >> 8);
+     }
+   fgcmap = cfb24[7];
+   bgcmap = cfb24[0];
+@@ -33,6 +40,20 @@
+ }
+ 
+ void
++fb_true24_set_palette(void)
++{
++  unsigned int i;
++  for (i = 0; i < 255; i++)
++    {
++      unsigned val = (i << 16) | (i << 8) | i;
++
++      cfb24[i] = val;
++    }
++  fgcmap = cfb24[7];
++  bgcmap = cfb24[0];
++}
++
++void
+ fb_true24_clear_rect (int s_col, int s_row, int e_col, int e_row)
+ {
+   int sx, sy, ex, ey, i, len;
+@@ -47,7 +68,7 @@
+   len = ex - sx;
+ 
+   for (i = sy; i < ey; i++)
+-    memset ((pIterm->fb->buf + sx + (i * pIterm->fb->line_length)), bgcmap,
++    memset ((pIterm->fb->buf + sx + (i * pIterm->fb->line_length)), 0,
+ 	    len);
+   return;
+ }
+@@ -56,6 +77,49 @@
+ fb_true24_set_rendition (int bold, int blink, int inverse, int underline,
+ 			 int foreground, int background, char charset)
+ {
++  unsigned int tmp;
++
++  if (pIterm->lock)
++    return;
++
++  if (!foreground && !background)
++    {
++      fgcmap = cfb24[7];			/* white */
++      bgcmap = cfb24[0];     /* black */
++    }
++  else
++    {
++      if (foreground > 0 && foreground < 7)
++        {
++          foreground = (foreground == 0x02 || foreground == 0x05) ? foreground : (foreground & 0x02) | (~foreground & 0x05);
++          if (bold) foreground |= 0x08;
++        }
++	fgcmap = cfb24[foreground];
++      if (background > 0 && background < 7)
++        background = (background == 0x02 || background == 0x05) ? background : (background & 0x02) | (~background & 0x05);
++      bgcmap = cfb24[background];
++    }
++
++  if (inverse)
++    {
++      tmp = fgcmap;
++      fgcmap = bgcmap;
++      bgcmap = tmp;
++    }
++
++  pIterm->charset = charset;
++  pIterm->underline = underline;
++  pIterm->bold = bold;
++  pIterm->blink = blink;
++  return;
++}
++
++
++#if 0
++void
++fb_true24_set_rendition (int bold, int blink, int inverse, int underline,
++			 int foreground, int background, char charset)
++{
+   unsigned long tmp;
+ 
+   if (pIterm->lock)
+@@ -93,6 +157,7 @@
+   pIterm->blink = blink;
+   return;
+ }
++#endif
+ 
+ void
+ fb_true24_draw_char (unsigned char *dst, int offset,
+@@ -118,6 +183,7 @@
+ 	    {
+ 	      if (c & 0x80000000)
+ 		{
++#if 0
+ 		  if (pIterm->bold || pIterm->blink)
+ 		    *(dst24) = boldcmap;
+ 		  else
+@@ -127,6 +193,8 @@
+ 		      else
+ 			*(dst24) = fgcmap;
+ 		    }
++#endif
++                  *(dst24) = fgcmap;
+ 		}
+ 	      else
+ 		{
+diff -x 'config*' -x '*~' -x '*0' -x '*1' -x 'Makefile*' -x '*.m4' -x requests -x depcomp -Nru iterm-0.5.orig/unix/fbiterm/src/fb_true32.c iterm-0.5/unix/fbiterm/src/fb_true32.c
+--- iterm-0.5.orig/unix/fbiterm/src/fb_true32.c	2002-08-13 09:10:46.000000000 +0200
++++ iterm-0.5/unix/fbiterm/src/fb_true32.c	2006-02-14 21:29:24.782169750 +0100
+@@ -10,30 +10,58 @@
+ #include "fbiterm.h"
+ #include "palette.h"
+ 
+-static unsigned long cfb32[16];
+ static unsigned int fgcmap;
+ static unsigned int bgcmap;
+ static unsigned int boldcmap;
++static __u32 cfb32[256];
++struct fb_cmap cmap;
+ 
+ void
+-fb_true32_set_palette ()
++fb_true32_set_palette_true(void)
+ {
+   int i;
+-  unsigned int red, green, blue;
++  unsigned int r, g, b;
++
+   for (i = 0; i < 16; i++)
+     {
+-      red = red16[i];
+-      green = green16[i];
+-      blue = blue16[i];
++      r = red16[i];
++      g = green16[i];
++      b = blue16[i];
++
++      /* Linear 32bpp */
++      cfb32[i] = ((b & 0xff00) << 8) | (g & 0xff00) | (r >> 8);
++    }
++  for (i = 16; i < 256; i++)
++    {
++      r = red[i - 16];
++      g = green[i - 16];
++      b = blue[i - 16];
+ 
+       /* Linear 32bpp */
+-      cfb32[i] = ((blue & 0xff00) << 8) | (green & 0xff00) | (red >> 8);
++      cfb32[i] = ((b & 0xff00) << 8) | (g & 0xff00) | (r >> 8);
+     }
+   fgcmap = cfb32[7];
+   bgcmap = cfb32[0];
+   return;
+ }
+ 
++
++void
++fb_true32_set_palette(void)
++{
++  unsigned int i;
++
++  for (i = 0; i < 255; i++)
++    {
++      unsigned val = (i << 8) | i;
++
++      val = (val << 16) | val;
++      cfb32[i] = val;
++    }
++  fgcmap = cfb32[7];
++  bgcmap = cfb32[0];
++}
++
+ void
+ fb_true32_clear_rect (int s_col, int s_row, int e_col, int e_row)
+ {
+@@ -63,23 +91,24 @@
+   if (pIterm->lock)
+     return;
+ 
+-  if (foreground == 0)
++  if (!foreground && !background)
+     {
+-      fgcmap = cfb32[7];	/* white */
+-      boldcmap = cfb32[7 | 0x08];
++      fgcmap = cfb32[7];			/* white */
++      bgcmap = cfb32[0];     /* black */
+     }
+   else
+     {
+-      fgcmap = cfb32[foreground - 1];
+-      boldcmap = cfb32[(foreground - 1) | 0x08];
++      if (foreground > 0 && foreground < 7)
++        {
++          foreground = (foreground == 0x02 || foreground == 0x05) ? foreground : (foreground & 0x02) | (~foreground & 0x05);
++          if (bold) foreground |= 0x08;
++        }
++	fgcmap = cfb32[foreground];
++      if (background > 0 && background < 7)
++        background = (background == 0x02 || background == 0x05) ? background : (background & 0x02) | (~background & 0x05);
++      bgcmap = cfb32[background];
+     }
+ 
+-  if (background == 0)
+-    bgcmap = cfb32[0];		/* black */
+-  else
+-    bgcmap = cfb32[background - 1];
+-
+-
+   if (inverse)
+     {
+       tmp = fgcmap;
+@@ -118,6 +147,7 @@
+ 	    {
+ 	      if (c & 0x80000000)
+ 		{
++#if 0
+ 		  if (pIterm->bold || pIterm->blink)
+ 		    *(dst32) = boldcmap;
+ 		  else
+@@ -127,6 +157,8 @@
+ 		      else
+ 			*(dst32) = fgcmap;
+ 		    }
++#endif
++                  *(dst32) = fgcmap;
+ 		}
+ 	      else
+ 		{
+diff -x 'config*' -x '*~' -x '*0' -x '*1' -x 'Makefile*' -x '*.m4' -x requests -x depcomp -Nru iterm-0.5.orig/unix/fbiterm/src/fb_true8.c iterm-0.5/unix/fbiterm/src/fb_true8.c
+--- iterm-0.5.orig/unix/fbiterm/src/fb_true8.c	2006-02-14 16:07:27.870938000 +0100
++++ iterm-0.5/unix/fbiterm/src/fb_true8.c	2006-02-14 20:56:22.334274500 +0100
+@@ -58,7 +58,7 @@
+       if (fgcmap > 0 && fgcmap < 7)
+         {
+           fgcmap = (fgcmap == 0x02 || fgcmap == 0x05) ? fgcmap : (fgcmap & 0x02) | (~fgcmap & 0x05);
+-          if (bold) fgcmap | 0x08;
++          if (bold) fgcmap |= 0x08;
+         }
+       bgcmap = background;
+       if (bgcmap > 0 && bgcmap < 7)
================================================================


More information about the pld-cvs-commit mailing list