linton@marktwain.rad.sgi.com (Mark Linton) (04/19/91)
Below is the fix for monochrome Suns or anything bw system with whitepixel == 0.
*** /tmp/,RCSt1a07294 Wed Apr 17 17:11:39 1991
--- iv/src/lib/IV-X11/xworld.c Wed Apr 17 17:11:16 1991
***************
*** 146,157 ****
set_shift(visual_->green_mask, green_, green_shift_);
set_shift(visual_->blue_mask, blue_, blue_shift_);
break;
- case StaticGray:
- rgbtable_ = nil;
- white_ = (1 << visual_->bits_per_rgb) - 1;
- break;
default:
rgbtable_ = new RGBTable(256);
}
ctable_ = new ColorTable(256);
localmap_ = nil;
--- 146,154 ----
set_shift(visual_->green_mask, green_, green_shift_);
set_shift(visual_->blue_mask, blue_, blue_shift_);
break;
default:
rgbtable_ = new RGBTable(256);
+ break;
}
ctable_ = new ColorTable(256);
localmap_ = nil;
***************
*** 395,409 ****
xc.red = (unsigned short)rescale(r, red_, 0xffff);
xc.green = (unsigned short)rescale(g, green_, 0xffff);
xc.blue = (unsigned short)rescale(b, blue_, 0xffff);
- break;
- case StaticGray:
- unsigned long gray = rescale(
- (30 * red + 59 * green + 11 * blue) / 100, 0xffff, white_
- );
- xc.pixel = gray;
- xc.red = (unsigned short)rescale(gray, white_, 0xffff);
- xc.green = (unsigned short)rescale(gray, white_, 0xffff);
- xc.blue = (unsigned short)rescale(gray, white_, 0xffff);
break;
default:
unsigned long rg = (red << 16) | green;
--- 392,397 ----nishio@kuis.kyoto-u.ac.jp (Nishio `Cchwitz' Shuichi) (04/19/91)
Reference -> Regarding patch for monochrome Suns; linton@marktwain.rad.sgi.com (Mark Linton) adds:
> Below is the fix for monochrome Suns or anything bw system with whitepixel == 0.
Is it possible to have this work selectively looking whether the
X-server takes 0 for whitepixel or not?
--nishiolinton@marktwain.rad.sgi.com (Mark Linton) (04/20/91)
In article <NISHIO.91Apr19221705@mizar.kuis.kyoto-u.ac.jp>, nishio@kuis.kyoto-u.ac.jp (Nishio `Cchwitz' Shuichi) writes: |> Reference -> Regarding patch for monochrome Suns; linton@marktwain.rad.sgi.com (Mark Linton) adds: |> |> > Below is the fix for monochrome Suns or anything bw system with whitepixel == 0. |> |> Is it possible to have this work selectively looking whether the |> X-server takes 0 for whitepixel or not? I don't understand the question. The new code should work regardless of pixel definitions. The old code assumed StaticGray visuals were like TrueColor visuals for gray scale; this is incorrect.
nishio@kuis.kyoto-u.ac.jp (Nishio `Cchwitz' Shuichi) (04/20/91)
In article <1991Apr20.000903.9403@odin.corp.sgi.com> linton@marktwain.rad.sgi.com (Mark Linton) writes: |> Is it possible to have this work selectively looking whether the |> X-server takes 0 for whitepixel or not? I don't understand the question. The new code should work regardless of pixel definitions. The old code assumed StaticGray visuals were like TrueColor visuals for gray scale; this is incorrect. Yes, sorry. It worked fine. Thanks. --nishio