Re: ROOT, netscape, 8-bit colormaps

Rene Brun (Rene.Brun@cern.ch)
Mon, 12 Jul 1999 07:01:23 +0000


Hi Christian,
I have implemented your suggestion in case one runs on a 8-bit color
display only. As already reported a few times on this list, the best
solution
would be to implement to 216 (not 256) color palette suggested/used
by Netscape and MS.

Rene Brun

Christian Lacunza wrote:
>
> ROOT 2.22/07 normally allocates colors 1-50,
> the corresponding darker colors 101-150, and
> the corresponding lighter colors 151-200, and
> several other colors.
> for 8-bit color systems this is unacceptable.
>
> you can save 98 cells by commenting out 2 lines
> in TColor::SetRGB() and replacing them as shown below.
> this fix changes things so that colors 101-150 are all "dark gray"
> and colors 151-200 are all "light gray"
>
> for me, this is enough that i can just barely run root.exe, emacs,
> fvwm, netscape -ncol 48, gv, and a few smaller programs, all
> at the same time with no color problems, and no private colormaps.
> (the downside is that gifs and jpegs are dithered to only 48 colors
> in netscape, and there's only 1 free cell remaining my color map)
>
> -- christian.
>
> // G_Color.cxx
> //______________________________________________________________________________
> void TColor::SetRGB(Float_t r, Float_t g, Float_t b)
> {
> ...
>
> //*-*-----------Dark color
> //*-* ==========
> HLStoRGB(fHue, 0.7*fLight, fSaturation, dr, dg, db);
> TColor *dark = gROOT->GetColor(100+color);
> // if (dark) dark->SetRGB(dr, dg, db);
> if (dark) dark->SetRGB(0.30, 0.30, 0.30);
> //*-*-----------Light color
> //*-* ===========
> HLStoRGB(fHue, 1.2*fLight, fSaturation, lr, lg, lb);
> TColor *light = gROOT->GetColor(150+color);
> // if (light) light->SetRGB(lr, lg, lb);
> if (light) light->SetRGB(0.90, 0.90, 0.90);
> }