summaryrefslogtreecommitdiff
path: root/graphics/hpscan/files/patch-ab
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/hpscan/files/patch-ab')
-rw-r--r--graphics/hpscan/files/patch-ab177
1 files changed, 0 insertions, 177 deletions
diff --git a/graphics/hpscan/files/patch-ab b/graphics/hpscan/files/patch-ab
deleted file mode 100644
index 9b56b399e0be..000000000000
--- a/graphics/hpscan/files/patch-ab
+++ /dev/null
@@ -1,177 +0,0 @@
-diff -u old/colour.c colour.c
---- old/colour.c Fri Jun 3 14:39:39 1994
-+++ colour.c Fri Jan 12 17:25:53 1996
-@@ -19,7 +19,7 @@
-
- static int allocate_colours(Colormap c);
-
--static unsigned long colours[6*6*6], greys[33], black, white;
-+static unsigned long *colours, greys[33], black, white;
-
- /*
- * Create a colourmap with 6 levels each of red, green and blue,
-@@ -27,12 +27,19 @@
- * enough space, otherwise create a new one.
- */
-
-+#define shift(x) \
-+ for(i = 31, m = 0x80000000L; (m & v->x##_mask) == 0; i--, m >>= 1) \
-+ ; \
-+ x##_shift = i;
-+
- Colormap create_colourmap(void)
- {
-- int r, g, b, n;
-+ int r, g, b, n, i, m;
- XColor colour;
- Colormap cmap;
--
-+ Visual *v;
-+ int red_shift, green_shift, blue_shift;
-+
- if(screendepth == 1)
- {
- black = BlackPixelOfScreen(screen);
-@@ -51,42 +58,85 @@
- XAllocColor(display, cmap, &colour);
- }
-
-- /* Allocate the colours */
-+ if(screendepth <= 8)
-+ {
-+ /* Allocate the colours */
-
-- n = 0;
-- for(r=0; r<256; r+=51)
-- for(g=0; g<256; g+=51)
-- for(b=0; b<256; b+=51)
-- {
-- colour.red = r * 256;
-- colour.green = g * 256;
-- colour.blue = b * 256;
-- if(XAllocColor(display, cmap, &colour) == 0)
-+ colours = (unsigned long *)malloc(6*6*6 * sizeof(unsigned long));
-+ if(colours == 0)
-+ {
-+ fprintf(stderr, "Out of memory allocating the colour table.\n");
-+ exit(1);
-+ }
-+ n=0;
-+ for(r=0; r<256; r+=51)
-+ for(g=0; g<256; g+=51)
-+ for(b=0; b<256; b+=51)
- {
-- fprintf(stderr, "using private colormap\n");
-- cmap = XCopyColormapAndFree(display, cmap);
-- XAllocColor(display, cmap, &colour);
-+ colour.red = r * 256;
-+ colour.green = g * 256;
-+ colour.blue = b * 256;
-+ if(XAllocColor(display, cmap, &colour) == 0)
-+ {
-+ fprintf(stderr, "using private colormap\n");
-+ cmap = XCopyColormapAndFree(display, cmap);
-+ XAllocColor(display, cmap, &colour);
-+ }
-+ colours[n++] = colour.pixel;
- }
-- colours[n++] = colour.pixel;
-- }
-
-- /* Allocate the greys */
-+ /* Allocate the greys */
-
-- for(n=0; n<33; n++)
-- {
-- colour.red = colour.green = colour.blue = n * 8 * 256 - (n == 32);
-- if(XAllocColor(display, cmap, &colour) == 0)
-+ for(n=0; n<33; n++)
- {
-- fprintf(stderr, "using private colormap\n");
-- cmap = XCopyColormapAndFree(display, cmap);
-- XAllocColor(display, cmap, &colour);
-+ colour.red = colour.green = colour.blue = n * 8 * 256 - (n == 32);
-+ if(XAllocColor(display, cmap, &colour) == 0)
-+ {
-+ fprintf(stderr, "using private colormap\n");
-+ cmap = XCopyColormapAndFree(display, cmap);
-+ XAllocColor(display, cmap, &colour);
-+ }
-+ greys[n] = colour.pixel;
- }
-- greys[n] = colour.pixel;
-- }
-
-- black = greys[0];
-- white = greys[32];
-+ black = greys[0];
-+ white = greys[32];
-+ }
-+ else /* > 8 bit, assume truecolor display */
-+ {
-+ /* Use a 5*5*5 truecolor map */
-+ colours = (unsigned long *)malloc(32768 * sizeof(unsigned long));
-+ if(colours == 0)
-+ {
-+ fprintf(stderr, "Out of memory allocating the colour table.\n");
-+ exit(1);
-+ }
-+
-+ v = DefaultVisualOfScreen(screen);
-+ shift(red);
-+ shift(green);
-+ shift(blue);
-+ n=0;
-+ for(r=0; r<32; r++)
-+ for(g=0; g<32; g++)
-+ for(b=0; b<32; b++)
-+ {
-+ /*
-+ * We assume the default colormap has a certain
-+ * format, so we can compute the pixel values
-+ * without asking the XServer (which would take a
-+ * tremendous amount of time for 32k colours).
-+ */
-+ colours[n++] =
-+ (r << (red_shift - 4)) |
-+ (g << (green_shift - 4)) |
-+ (b << (blue_shift - 4));
-+ }
-
-+ black = BlackPixelOfScreen(screen);
-+ white = WhitePixelOfScreen(screen);
-+ }
-+
- return cmap;
- }
-
-@@ -112,7 +162,7 @@
- pix_best = black;
- }
- }
-- else
-+ else if(screendepth <= 8)
- {
- int min = r < g ? (r < b ? r : b) : (g < b ? g : b);
- int max = r > g ? (r > b ? r : b) : (g > b ? g : b);
-@@ -131,6 +181,21 @@
- b_best = ((b + 25) / 51) * 51;
-
- pix_best = colours[(r_best/51)*36 + (g_best/51)*6 + (b_best/51)];
-+ }
-+ }
-+ else /* > 8 bit */
-+ {
-+ if(r == 255 && g == 255 && b == 255)
-+ pix_best = white;
-+ else if(r == 0 && g == 0 && b == 0)
-+ pix_best = black;
-+ else
-+ {
-+ r_best = ((r + 4) / 8) * 8;
-+ g_best = ((g + 4) / 8) * 8;
-+ b_best = ((b + 4) / 8) * 8;
-+
-+ pix_best = colours[(r_best/8)*1024 + (g_best/8)*32 + (b_best/8)];
- }
- }