]> git.pld-linux.org Git - packages/fbterm.git/blobdiff - fbterm-directcolor.patch
- drop obsolete files
[packages/fbterm.git] / fbterm-directcolor.patch
diff --git a/fbterm-directcolor.patch b/fbterm-directcolor.patch
deleted file mode 100644 (file)
index f64c9d0..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
---- fbterm-1.2/src/screen.cpp.old      2008-12-15 20:27:32.000000000 +0100
-+++ fbterm-1.2/src/screen.cpp  2008-12-15 20:31:55.000000000 +0100
-@@ -184,8 +184,6 @@ void Screen::switchVc(bool enter)
- void Screen::setupSysPalette(bool restore)
- {
--      if (vinfo.bits_per_pixel != 8) return;
--
-       static bool palette_saved = false;
-       static u16 saved_red[NR_COLORS], saved_green[NR_COLORS], saved_blue[NR_COLORS];
-       fb_cmap cmap;
-@@ -212,17 +210,62 @@ void Screen::setupSysPalette(bool restor
-                       INIT_CMAP(saved_red, saved_green, saved_blue);
-                       ioctl(mFd, FBIOGETCMAP, &cmap);
-               }
-+              if (finfo.visual == FB_VISUAL_DIRECTCOLOR && vinfo.bits_per_pixel != 8) {
-+                      u16 *red, *green, *blue;
-+                      int rcols = 1 << vinfo.red.length;
-+                      int gcols = 1 << vinfo.green.length;
-+                      int bcols = 1 << vinfo.blue.length;
-+  
-+                      /* Make our palette the length of the deepest color */
-+                      int cols = (rcols > gcols ? rcols : gcols);
-+                      cols = (cols > bcols ? cols : bcols);
-+  
-+                      red = new u16[cols];
-+                      if (!red)
-+                              return;
-+                      for (int i = 0; i < rcols; i++)
-+                              red[i] = (65535 / (rcols - 1)) * i;
-+  
-+                      green = new u16[cols];
-+                      if (!green) {
-+                              delete[] red;
-+                              return;
-+                      }
-+                      for (int i = 0; i < gcols; i++)
-+                              green[i] = (65535 / (gcols - 1)) * i;
-+  
-+                      blue = new u16[cols];
-+                      if (!blue) {
-+                              delete[] red;
-+                              delete[] green;
-+                              return;
-+                      }
-+                      for (int i = 0; i < bcols; i++)
-+                              blue[i] = (65535 / (bcols - 1)) * i;
-+  
-+                      cmap.start = 0;
-+                      cmap.len = cols;
-+                      cmap.red = red;
-+                      cmap.blue = blue;
-+                      cmap.green = green;
-+                      cmap.transp = NULL;
-+                      ioctl(mFd, FBIOPUTCMAP, &cmap);
-+                      delete[] red;
-+                      delete[] blue;
-+                      delete[] green;
--              u16 red[NR_COLORS], green[NR_COLORS], blue[NR_COLORS];
-+              } else {
-+                      u16 red[NR_COLORS], green[NR_COLORS], blue[NR_COLORS];
--              for (u32 i = 0; i < NR_COLORS; i++) {
--                      red[i] = palette[i].red << 8 | palette[i].red;
--                      green[i] = palette[i].green << 8 | palette[i].green;
--                      blue[i] = palette[i].blue << 8 | palette[i].blue;
--              }
-+                      for (u32 i = 0; i < NR_COLORS; i++) {
-+                              red[i] = palette[i].red << 8 | palette[i].red;
-+                              green[i] = palette[i].green << 8 | palette[i].green;
-+                              blue[i] = palette[i].blue << 8 | palette[i].blue;
-+                      }
--              INIT_CMAP(red, green, blue);
--              ioctl(mFd, FBIOPUTCMAP, &cmap);
-+                      INIT_CMAP(red, green, blue);
-+                      ioctl(mFd, FBIOPUTCMAP, &cmap);
-+              }
-       }
- }
This page took 0.065514 seconds and 4 git commands to generate.