[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

-=-=-=-=-=-=-=