[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Black and White
I *might* know what the problem is. It has to do with the weird way
that MCL encodes colors as numbers.
The problem is that the Macintosh treats colors as 48-bit numbers
(16 bits each for red, green, and blue), while MCL treats them as
24-bit numbers (8 bits each for red, green, and blue). When you say:
(make-color 655MCL is only taking the most significant 8 bits of those
numbers. This means that the following two things are the same:
(make-color 65535 65535 65535) and (make-color 65280 65280 65280)
The problem is that they do not display the same on a non-color monitor.
On a B&W monitor, everything except pure white (NOT *WHITE-COLOR*, which is
just (65280 65280 65280) ) shows up as black. This also happens on
certain 2-bit and 4-bit monitors, depending upon how they are doing
CLUT mapping. The only way around it is to call the traps directly
instead of using MCL's set-fore-color stuff. It might be nice for the
MCL time to fix this, either by rounding colors UP, or by special-casing
*white-color*.
- ice
=-=-=-=-=
(eq (opinions 'ice) (opinions 'apple)) => nil
iceman@apple.com AppleLink: ICEMAN
-=-=-=-=-=-=-=