diff options
author | asami <asami@FreeBSD.org> | 1995-11-29 18:48:30 +0800 |
---|---|---|
committer | asami <asami@FreeBSD.org> | 1995-11-29 18:48:30 +0800 |
commit | 97b75051d45133a3a8aa6177dc8c94bc67d178aa (patch) | |
tree | 968427b73964b401a395cdad6afa7f95c8118dcf | |
parent | 2fa28371138cd6022cbcc823a7bac598c5f846bc (diff) | |
download | freebsd-ports-gnome-97b75051d45133a3a8aa6177dc8c94bc67d178aa.tar.gz freebsd-ports-gnome-97b75051d45133a3a8aa6177dc8c94bc67d178aa.tar.zst freebsd-ports-gnome-97b75051d45133a3a8aa6177dc8c94bc67d178aa.zip |
Make mosaic work in 15/16bpp mode. I haven't tested it here (I don't
have Motif!), but verifies that the patch at least applies.
Submitted by: Steve Passe <smp@ilsa.systemsix.com>
-rw-r--r-- | www/Mosaic/files/patch-ae | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/www/Mosaic/files/patch-ae b/www/Mosaic/files/patch-ae new file mode 100644 index 000000000000..5bc2836656fb --- /dev/null +++ b/www/Mosaic/files/patch-ae @@ -0,0 +1,108 @@ +*** src/pixmaps.c.orig Thu Feb 2 17:56:46 1995 +--- src/pixmaps.c Fri Nov 17 12:21:32 1995 +*************** +*** 397,412 **** + * TrueColor displays. I have no access to such displays, so I + * can't really test it. + * Donated by - andrew@icarus.demon.co.uk + */ + case 16: + bit_data = (unsigned char *)malloc(size * 2); + bitp = bit_data; + datap = data; + for (w = size; w > 0; w--) + { +! temp = (((colrs[(int)*datap].red >> 1) & 0x7c00) | +! ((colrs[(int)*datap].green >> 6) & 0x03e0) | +! ((colrs[(int)*datap].blue >> 11) & 0x001f)); + + if (BitmapBitOrder(XtDisplay(wid)) == MSBFirst) + { +--- 397,429 ---- + * TrueColor displays. I have no access to such displays, so I + * can't really test it. + * Donated by - andrew@icarus.demon.co.uk ++ * modified by smp@csn.net for XFree86-3.1.x + */ ++ case 15: + case 16: + bit_data = (unsigned char *)malloc(size * 2); + bitp = bit_data; + datap = data; + for (w = size; w > 0; w--) + { +! if (depth == 15) /* weight == 555 */ +! { +! temp = (((colrs[(int)*datap].red >> 1) +! & 0x7c00) | +! ((colrs[(int)*datap].green >> 6) +! & 0x03e0) | +! ((colrs[(int)*datap].blue >> 11) +! & 0x001f)); +! } +! else /* depth == 16, weight == 565 */ +! { +! temp = ( (colrs[(int)*datap].red +! & 0xf800) | +! ((colrs[(int)*datap].green >> 5) +! & 0x07e0) | +! ((colrs[(int)*datap].blue >> 11) +! & 0x001f)); +! } + + if (BitmapBitOrder(XtDisplay(wid)) == MSBFirst) + { +*** libhtmlw/HTMLimages.c.orig Tue Jan 10 17:03:32 1995 +--- libhtmlw/HTMLimages.c Fri Nov 17 12:27:58 1995 +*************** +*** 356,371 **** + * TrueColor displays. I have no access to such displays, so I + * can't really test it. + * Donated by - andrew@icarus.demon.co.uk + */ + case 16: + bit_data = (unsigned char *)malloc(width * height * 2); + bitp = bit_data; + datap = data; + for (w = (width * height); w > 0; w--) + { +! temp = (((img_info->reds[(int)*datap] >> 1)& 0x7c00) | +! ((img_info->greens[(int)*datap] >> 6)& 0x03e0) | +! ((img_info->blues[(int)*datap] >> 11)& 0x001f)); + + if (BitmapBitOrder(dsp) == MSBFirst) + { +--- 356,388 ---- + * TrueColor displays. I have no access to such displays, so I + * can't really test it. + * Donated by - andrew@icarus.demon.co.uk ++ * modified by smp@csn.net for XFree86-3.1.x + */ ++ case 15: + case 16: + bit_data = (unsigned char *)malloc(width * height * 2); + bitp = bit_data; + datap = data; + for (w = (width * height); w > 0; w--) + { +! if (depth == 15) /* weight == 555 */ +! { +! temp = (((img_info->reds[(int)*datap] >> 1) +! & 0x7c00) | +! ((img_info->greens[(int)*datap] >> 6) +! & 0x03e0) | +! ((img_info->blues[(int)*datap] >> 11) +! & 0x001f)); +! } +! else /* depth == 16, weight == 565 */ +! { +! temp = ((img_info->reds[(int)*datap] +! & 0xf800) | +! ((img_info->greens[(int)*datap] >> 5) +! & 0x07e0) | +! ((img_info->blues[(int)*datap] >> 11) +! & 0x001f)); +! } + + if (BitmapBitOrder(dsp) == MSBFirst) + { |