*** 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) {