Re: ROOT, netscape, 8-bit colormaps

From: Rene Brun (Rene.Brun@cern.ch)
Date: Mon Jul 12 1999 - 09:01:23 MEST


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);
> }



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:35 MET