Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Nov 1995 20:43:09 -0700
From:      Steve Passe <smp@csn.net>
To:        asami@cs.berkeley.edu (Satoshi Asami)
Cc:        ports@freebsd.org
Subject:   Mosaic on 16 bpp displays
Message-ID:  <199511170343.UAA27045@clem.systemsix.com>

next in thread | raw e-mail | index | archive | help
Hi,

I discovered that Mosaic-2.6 is broken for 16 bpp displays under
2.1/XFree86-3.1.2.  The following patchfile fixes it:

*** src/pixmaps.c.orig  Thu Nov 16 20:03:15 1995
--- src/pixmaps.c       Thu Nov 16 20:19:23 1995
***************
*** 404,411 ****
--- 404,417 ----
                datap = data;
                for (w = size; w > 0; w--)
                {
+ #if defined( __FreeBSD__ )
+ /* xdpyinfo:  red, green, blue masks:    0xf800, 0x7e0, 0x1f */
+                       temp = ( (colrs[(int)*datap].red          & 0xf800) |
+                               ((colrs[(int)*datap].green >>  5) & 0x07e0) |
+ #else
                        temp = (((colrs[(int)*datap].red   >> 1) & 0x7c00) |
                                ((colrs[(int)*datap].green >> 6) & 0x03e0) |
+ #endif /* __FreeBSD__ */
                                ((colrs[(int)*datap].blue  >> 11) & 0x001f));
  
                        if (BitmapBitOrder(XtDisplay(wid)) == MSBFirst)
*** libhtmlw/HTMLimages.c.orig  Thu Nov 16 20:09:46 1995
--- libhtmlw/HTMLimages.c       Thu Nov 16 20:20:38 1995
***************
*** 363,370 ****
--- 363,377 ----
                datap = data;
                for (w = (width * height); w > 0; w--)
                {
+ #if defined( __FreeBSD__ )
+ /* xdpyinfo:  red, green, blue masks:    0xf800, 0x7e0, 0x1f */
+    
+                       temp = ( (img_info->reds[(int)*datap] & 0xf800) |
+                               ((img_info->greens[(int)*datap] >> 5)& 0x07e0) |
+ #else
                        temp = (((img_info->reds[(int)*datap] >> 1)& 0x7c00) |
                                ((img_info->greens[(int)*datap] >> 6)& 0x03e0) |
+ #endif /* __FreeBSD__ */
                                ((img_info->blues[(int)*datap] >> 11)& 0x001f));
  
                        if (BitmapBitOrder(dsp) == MSBFirst)


--
Steve Passe	| powered by
smp@csn.net	|            FreeBSD



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511170343.UAA27045>