ROOT  6.06/09
Reference Guide
Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
TColor Class Reference

The color creation and management class.

Introduction

Colors are defined by their red, green and blue components, simply called the RGB components. The colors are also known by the hue, light and saturation components also known as the HLS components. When a new color is created the components of both color systems are computed.

At initialization time, a table of colors is generated. An existing color can be retrieved by its index:

TColor *color = gROOT->GetColor(10);

Then it can be manipulated. For example its RGB components can be modified:

color->SetRGB(0.1, 0.2, 0.3);

A new color can be created the following way:

Int_t ci = 1756; // color index
TColor *color = new TColor(ci, 0.1, 0.2, 0.3);

Two sets of colors are initialized;

Basic colors

The following image displays the 50 basic colors.

{
TCanvas *c = new TCanvas("c","Fill Area colors",0,0,500,200);
return c;
}
TColor_001.png

The color wheel

The wheel contains the recommended 216 colors to be used in web applications.

The colors in the color wheel are created by TColor::CreateColorWheel.

Using this color set for your text, background or graphics will give your application a consistent appearance across different platforms and browsers.

Colors are grouped by hue, the aspect most important in human perception. Touching color chips have the same hue, but with different brightness and vividness.

Colors of slightly different hues clash. If you intend to display colors of the same hue together, you should pick them from the same group.

Each color chip is identified by a mnemonic (e.g. kYellow) and a number. The keywords, kRed, kBlue, kYellow, kPink, etc are defined in the header file Rtypes.h that is included in all ROOT other header files. It is better to use these keywords in user code instead of hardcoded color numbers, e.g.:

myObject.SetFillColor(kRed);
myObject.SetFillColor(kYellow-10);
myLine.SetLineColor(kMagenta+2);
{
w->Draw();
return w->GetCanvas();
}
TColor_002.png

Bright and dark colors

The dark and bright color are used to give 3-D effects when drawing various boxes (see TWbox, TPave, TPaveText, TPaveLabel, etc).

Grayscale view of of canvas with colors

One can toggle between a grayscale preview and the regular colored mode using TCanvas::SetGrayscale(). Note that in grayscale mode, access via RGB will return grayscale values according to ITU standards (and close to b&w printer gray-scales), while access via HLS returns de-saturated gray-scales. The image below shows the ROOT color wheel in grayscale mode.

{
w->Draw();
w->GetCanvas()->Update();
return w->GetCanvas();
}
TColor_003.png

Color palettes

It is often very useful to represent a variable with a color map. The concept of "color palette" allows to do that. One color palette is active at any time. This "current palette" is set using:

This function has two parameters: the number of colors in the palette and an array of containing the indices of colors in the palette. The following small example demonstrates how to define and use the color palette:

{
TCanvas *c1 = new TCanvas("c1","c1",0,0,600,400);
TF2 *f1 = new TF2("f1","0.1+(1-(x-2)*(x-2))*(1-(y-2)*(y-2))",1,3,1,3);
Int_t palette[5];
palette[0] = 15;
palette[1] = 20;
palette[2] = 23;
palette[3] = 30;
palette[4] = 32;
gStyle->SetPalette(5,palette);
f1->Draw("colz");
return c1;
}
TColor_004.png

To define more a complex palette with a continuous gradient of color, one should use the static function TColor::CreateGradientColorTable(). The following example demonstrates how to proceed:

{
TCanvas *c2 = new TCanvas("c2","c2",0,0,600,400);
TF2 *f2 = new TF2("f2","0.1+(1-(x-2)*(x-2))*(1-(y-2)*(y-2))",1,3,1,3);
const Int_t Number = 3;
Double_t Red[Number] = { 1.00, 0.00, 0.00};
Double_t Green[Number] = { 0.00, 1.00, 0.00};
Double_t Blue[Number] = { 1.00, 0.00, 1.00};
Double_t Length[Number] = { 0.00, 0.50, 1.00 };
Int_t nb=50;
TColor::CreateGradientColorTable(Number,Length,Red,Green,Blue,nb);
f2->SetContour(nb);
f2->SetLineWidth(1);
f2->Draw("surf1z");
return c2;
}
TColor_005.png

The function TColor::CreateGradientColorTable() automatically calls gStyle->SetPalette(), so there is not need to add one.

After a call to TColor::CreateGradientColorTable() it is sometimes useful to store the newly create palette for further use. In particular, it is recommended to do if one wants to switch between several user define palettes. To store a palette in an array it is enough to do:

Int_t MyPalette[100];
Double_t r[] = {0., 0.0, 1.0, 1.0, 1.0};
Double_t g[] = {0., 0.0, 0.0, 1.0, 1.0};
Double_t b[] = {0., 1.0, 0.0, 0.0, 1.0};
Double_t stop[] = {0., .25, .50, .75, 1.0};
Int_t FI = TColor::CreateGradientColorTable(5, stop, r, g, b, 100);
for (int i=0;i<100;i++) MyPalette[i] = FI+i;

Later on to reuse the palette MyPalette it will be enough to do

gStyle->SetPalette(100, MyPalette);

As only one palette is active, one need to use TExec to be able to display plots using different palettes on the same pad. The following macro illustrate this feature.

//Draw color plots using different color palettes.
//Author:: Olivier Couet
#include "TStyle.h"
#include "TColor.h"
#include "TF2.h"
#include "TExec.h"
#include "TCanvas.h"
void Pal1()
{
static Int_t colors[50];
static Bool_t initialized = kFALSE;
Double_t Red[3] = { 1.00, 0.00, 0.00};
Double_t Green[3] = { 0.00, 1.00, 0.00};
Double_t Blue[3] = { 1.00, 0.00, 1.00};
Double_t Length[3] = { 0.00, 0.50, 1.00 };
if(!initialized){
Int_t FI = TColor::CreateGradientColorTable(3,Length,Red,Green,Blue,50);
for (int i=0; i<50; i++) colors[i] = FI+i;
initialized = kTRUE;
return;
}
gStyle->SetPalette(50,colors);
}
void Pal2()
{
static Int_t colors[50];
static Bool_t initialized = kFALSE;
Double_t Red[3] = { 1.00, 0.50, 0.00};
Double_t Green[3] = { 0.50, 0.00, 1.00};
Double_t Blue[3] = { 1.00, 0.00, 0.50};
Double_t Length[3] = { 0.00, 0.50, 1.00 };
if(!initialized){
Int_t FI = TColor::CreateGradientColorTable(3,Length,Red,Green,Blue,50);
for (int i=0; i<50; i++) colors[i] = FI+i;
initialized = kTRUE;
return;
}
gStyle->SetPalette(50,colors);
}
TCanvas* multipalette() {
TCanvas *c3 = new TCanvas("c3","C3",0,0,600,400);
c3->Divide(2,1);
TF2 *f3 = new TF2("f3","0.1+(1-(x-2)*(x-2))*(1-(y-2)*(y-2))",1,3,1,3);
f3->SetLineWidth(1);
c3->cd(1);
f3->Draw("surf1");
TExec *ex1 = new TExec("ex1","Pal1();");
ex1->Draw();
f3->Draw("surf1 same");
c3->cd(2);
f3->Draw("surf1");
TExec *ex2 = new TExec("ex2","Pal2();");
ex2->Draw();
f3->Draw("surf1 same");
return c3;
}
TColor_006.png

High quality predefined palettes

Since
6.04: 62 high quality palettes are predefined with 255 colors each. These palettes can be accessed "by name" with gStyle->SetPalette(num). num can be taken within the following enum:

TColor_007.png

TColor_008.png

TColor_009.png

TColor_010.png

TColor_011.png

TColor_012.png

TColor_013.png

TColor_014.png

TColor_015.png

TColor_016.png

TColor_017.png

TColor_018.png

TColor_019.png

TColor_020.png

TColor_021.png

TColor_022.png

TColor_023.png

TColor_024.png

TColor_025.png

TColor_026.png

TColor_027.png

TColor_028.png

TColor_029.png

TColor_030.png

TColor_031.png

TColor_032.png

TColor_033.png

TColor_034.png

TColor_035.png

TColor_036.png

TColor_037.png

TColor_038.png

TColor_039.png

TColor_040.png

TColor_041.png

TColor_042.png

TColor_043.png

TColor_044.png

TColor_045.png

TColor_046.png

TColor_047.png

TColor_048.png

TColor_049.png

TColor_050.png

TColor_051.png

TColor_052.png

TColor_053.png

TColor_054.png

TColor_055.png

TColor_056.png

TColor_057.png

TColor_058.png

TColor_059.png

TColor_060.png

TColor_061.png

TColor_062.png

TColor_063.png

TColor_064.png

TColor_065.png

TColor_066.png

TColor_067.png

TColor_068.png

Color transparency

To make a graphics object transparent it is enough to set its color to a transparent one. The color transparency is defined via its alpha component. The alpha value varies from 0. (fully transparent) to 1. (fully opaque). To set the alpha value of an existing color it is enough to do:

TColor *col26 = gROOT->GetColor(26);
col26->SetAlpha(0.01);

A new color can be created transparent the following way:

Int_t ci = 1756;
TColor *color = new TColor(ci, 0.1, 0.2, 0.3, "", 0.5); // alpha = 0.5

An example of transparency usage with parallel coordinates can be found in $ROOTSYS/tutorials/tree/parallelcoordtrans.C.

To ease the creation of a transparent color the static method GetColorTransparent(Int_t color, Float_t a) is provided. In the following example the trans_red color index point to a red color 30% transparent. The alpha value of the color index kRed is not modified.

Int_t trans_red = GetColorTransparent(kRed, 0.3);

This function is also used in the methods SetFillColorAlpha(), SetLineColorAlpha(), SetMarkerColorAlpha() and SetTextColorAlpha(). In the following example the fill color of the histogram histo is set to blue with a transparency of 35%. The color kBlue itself remains fully opaque.

histo->SetFillColorAlpha(kBlue, 0.35);

The transparency is available on all platforms when the flag OpenGL.CanvasPreferGL is set to 1 in $ROOTSYS/etc/system.rootrc, or on Mac with the Cocoa backend. On the file output it is visible with PDF, PNG, Gif, JPEG, SVG ... but not PostScript.

Definition at line 23 of file TColor.h.

Public Member Functions

 TColor ()
 Default constructor. More...
 
 TColor (Int_t color, Float_t r, Float_t g, Float_t b, const char *name="", Float_t a=1)
 Normal color constructor. More...
 
 TColor (Float_t r, Float_t g, Float_t b, Float_t a=1)
 Fast TColor constructor. More...
 
 TColor (const TColor &color)
 Color copy constructor. More...
 
virtual ~TColor ()
 Color destructor. More...
 
const char * AsHexString () const
 Return color as hexadecimal string. More...
 
void Copy (TObject &color) const
 Copy this color to obj. More...
 
virtual void GetRGB (Float_t &r, Float_t &g, Float_t &b) const
 
virtual void GetHLS (Float_t &h, Float_t &l, Float_t &s) const
 
Int_t GetNumber () const
 
ULong_t GetPixel () const
 Return pixel value corresponding to this color. More...
 
Float_t GetRed () const
 
Float_t GetGreen () const
 
Float_t GetBlue () const
 
Float_t GetHue () const
 
Float_t GetLight () const
 
Float_t GetSaturation () const
 
Float_t GetAlpha () const
 
virtual Float_t GetGrayscale () const
 
virtual void ls (Option_t *option="") const
 List this color with its attributes. More...
 
virtual void Print (Option_t *option="") const
 Dump this color with its attributes. More...
 
virtual void SetAlpha (Float_t a)
 
virtual void SetRGB (Float_t r, Float_t g, Float_t b)
 Initialize this color and its associated colors. More...
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TString &name, const TString &title)
 
 TNamed (const TNamed &named)
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual ~TNamed ()
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void SetName (const char *name)
 Change (i.e. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Change (i.e. set) all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Change (i.e. set) the title of the TNamed. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current pad. More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual Option_tGetOption () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
Bool_t IsOnHeap () const
 
Bool_t IsZombie () const
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 
voidoperator new (size_t sz)
 
voidoperator new[] (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz, void *vp)
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
void ResetBit (UInt_t f)
 
Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
void InvertBit (UInt_t f)
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 

Static Public Member Functions

static void CreateColorWheel ()
 Static function steering the creation of all colors in the color wheel. More...
 
static void CreateColorsGray ()
 Create the Gray scale colors in the Color Wheel. More...
 
static void CreateColorsCircle (Int_t offset, const char *name, UChar_t *rgb)
 Create the "circle" colors in the color wheel. More...
 
static void CreateColorsRectangle (Int_t offset, const char *name, UChar_t *rgb)
 Create the "rectangular" colors in the color wheel. More...
 
static Int_t CreateGradientColorTable (UInt_t Number, Double_t *Stops, Double_t *Red, Double_t *Green, Double_t *Blue, UInt_t NColors, Float_t alpha=1.)
 Static function creating a color table with several connected linear gradients. More...
 
static Int_t GetColorPalette (Int_t i)
 Static function returning the color number i in current palette. More...
 
static Int_t GetNumberOfColors ()
 Static function returning number of colors in the color palette. More...
 
static void InitializeColors ()
 Initialize colors used by the TCanvas based graphics (via TColor objects). More...
 
static void HLS2RGB (Float_t h, Float_t l, Float_t s, Float_t &r, Float_t &g, Float_t &b)
 Static method to compute RGB from HLS. More...
 
static void HLS2RGB (Int_t h, Int_t l, Int_t s, Int_t &r, Int_t &g, Int_t &b)
 Static method to compute RGB from HLS. More...
 
static void HLStoRGB (Float_t h, Float_t l, Float_t s, Float_t &r, Float_t &g, Float_t &b)
 
static void HSV2RGB (Float_t h, Float_t s, Float_t v, Float_t &r, Float_t &g, Float_t &b)
 Static method to compute RGB from HSV: More...
 
static void RGB2HLS (Float_t r, Float_t g, Float_t b, Float_t &h, Float_t &l, Float_t &s)
 Static method to compute HLS from RGB. More...
 
static void RGB2HLS (Int_t r, Int_t g, Int_t b, Int_t &h, Int_t &l, Int_t &s)
 Static method to compute HLS from RGB. More...
 
static void RGBtoHLS (Float_t r, Float_t g, Float_t b, Float_t &h, Float_t &l, Float_t &s)
 
static void RGB2HSV (Float_t r, Float_t g, Float_t b, Float_t &h, Float_t &s, Float_t &v)
 Static method to compute HSV from RGB. More...
 
static Int_t GetColor (const char *hexcolor)
 Static method returning color number for color specified by hex color string of form: "#rrggbb", where rr, gg and bb are in hex between [0,FF], e.g. More...
 
static Int_t GetColor (Float_t r, Float_t g, Float_t b)
 Static method returning color number for color specified by r, g and b. More...
 
static Int_t GetColor (Int_t r, Int_t g, Int_t b)
 Static method returning color number for color specified by r, g and b. More...
 
static Int_t GetColor (ULong_t pixel)
 Static method returning color number for color specified by system dependent pixel value. More...
 
static Int_t GetColorBright (Int_t color)
 Static function: Returns the bright color number corresponding to n If the TColor object does not exist, it is created. More...
 
static Int_t GetColorDark (Int_t color)
 Static function: Returns the dark color number corresponding to n If the TColor object does not exist, it is created. More...
 
static Int_t GetColorTransparent (Int_t color, Float_t a)
 Static function: Returns the transparent color number corresponding to n. More...
 
static ULong_t Number2Pixel (Int_t ci)
 Static method that given a color index number, returns the corresponding pixel value. More...
 
static ULong_t RGB2Pixel (Int_t r, Int_t g, Int_t b)
 Convert r,g,b to graphics system dependent pixel value. More...
 
static ULong_t RGB2Pixel (Float_t r, Float_t g, Float_t b)
 Convert r,g,b to graphics system dependent pixel value. More...
 
static void Pixel2RGB (ULong_t pixel, Int_t &r, Int_t &g, Int_t &b)
 Convert machine dependent pixel value (obtained via RGB2Pixel or via Number2Pixel() or via TColor::GetPixel()) to r,g,b triplet. More...
 
static void Pixel2RGB (ULong_t pixel, Float_t &r, Float_t &g, Float_t &b)
 Convert machine dependent pixel value (obtained via RGB2Pixel or via Number2Pixel() or via TColor::GetPixel()) to r,g,b triplet. More...
 
static const char * PixelAsHexString (ULong_t pixel)
 Convert machine dependent pixel value (obtained via RGB2Pixel or via Number2Pixel() or via TColor::GetPixel()) to a hexadecimal string. More...
 
static void SaveColor (std::ostream &out, Int_t ci)
 Save a color with index > 228 as a C++ statement(s) on output stream out. More...
 
static Bool_t IsGrayscale ()
 Return whether all colors return grayscale values. More...
 
static void SetGrayscale (Bool_t set=kTRUE)
 Set whether all colors should return grayscale values. More...
 
static void SetPalette (Int_t ncolors, Int_t *colors, Float_t alpha=1.)
 Static function. More...
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 

Protected Attributes

Int_t fNumber
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

Private Member Functions

void Allocate ()
 Make this color known to the graphics system. More...
 

Static Private Member Functions

static Float_t HLStoRGB1 (Float_t rn1, Float_t rn2, Float_t huei)
 Static method. Auxiliary to HLS2RGB(). More...
 

Private Attributes

Float_t fRed
 
Float_t fGreen
 
Float_t fBlue
 
Float_t fHue
 
Float_t fLight
 
Float_t fSaturation
 
Float_t fAlpha
 

Additional Inherited Members

- Public Types inherited from TObject
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4),
  kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
enum  { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff }
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 
- Protected Member Functions inherited from TObject
void MakeZombie ()
 
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 

#include <TColor.h>

+ Inheritance diagram for TColor:
+ Collaboration diagram for TColor:

Constructor & Destructor Documentation

TColor::TColor ( )
TColor::TColor ( Int_t  color,
Float_t  r,
Float_t  g,
Float_t  b,
const char *  name = "",
Float_t  a = 1 
)

Normal color constructor.

Initialize a color structure. Compute the RGB and HLS color components.

Definition at line 928 of file TColor.cxx.

TColor::TColor ( Float_t  r,
Float_t  g,
Float_t  b,
Float_t  a = 1 
)

Fast TColor constructor.

It creates a color with an index just above the current highest one. It does not name the color. This is useful to create palettes.

Definition at line 972 of file TColor.cxx.

TColor::TColor ( const TColor color)

Color copy constructor.

Definition at line 998 of file TColor.cxx.

TColor::~TColor ( )
virtual

Color destructor.

Definition at line 989 of file TColor.cxx.

Member Function Documentation

void TColor::Allocate ( )
private

Make this color known to the graphics system.

Definition at line 1651 of file TColor.cxx.

Referenced by SetGrayscale(), and SetRGB().

const char * TColor::AsHexString ( ) const

Return color as hexadecimal string.

This string can be directly passed to, for example, TGClient::GetColorByName(). String will be reused so copy immediately if needed.

Definition at line 1134 of file TColor.cxx.

Referenced by CreateColorsCircle(), CreateColorsRectangle(), TImageDump::DrawBox(), TImageDump::DrawFrame(), TImageDump::DrawPolyMarker(), TImageDump::DrawPS(), and TASImage::DrawText().

void TColor::Copy ( TObject color) const
virtual

Copy this color to obj.

Reimplemented from TNamed.

Definition at line 1155 of file TColor.cxx.

Referenced by TEveUtil::SetColorBrightness().

void TColor::CreateColorsCircle ( Int_t  offset,
const char *  name,
UChar_t rgb 
)
static

Create the "circle" colors in the color wheel.

Definition at line 1187 of file TColor.cxx.

Referenced by CreateColorWheel().

void TColor::CreateColorsGray ( )
static

Create the Gray scale colors in the Color Wheel.

Definition at line 1171 of file TColor.cxx.

Referenced by CreateColorWheel().

void TColor::CreateColorsRectangle ( Int_t  offset,
const char *  name,
UChar_t rgb 
)
static

Create the "rectangular" colors in the color wheel.

Definition at line 1207 of file TColor.cxx.

Referenced by CreateColorWheel().

void TColor::CreateColorWheel ( )
static

Static function steering the creation of all colors in the color wheel.

Definition at line 1227 of file TColor.cxx.

Referenced by InitializeColors().

Int_t TColor::CreateGradientColorTable ( UInt_t  Number,
Double_t Stops,
Double_t Red,
Double_t Green,
Double_t Blue,
UInt_t  NColors,
Float_t  alpha = 1. 
)
static

Static function creating a color table with several connected linear gradients.

  • Number: The number of end point colors that will form the gradients. Must be at least 2.
  • Stops: Where in the whole table the end point colors should lie. Each entry must be on [0, 1], each entry must be greater than the previous entry.
  • Red, Green, Blue: The end point color values. Each entry must be on [0, 1]
  • NColors: Total number of colors in the table. Must be at least 1.

Returns a positive value on success and -1 on error.

The table is constructed by tracing lines between the given points in RGB space. Each color value may have a value between 0 and 1. The difference between consecutive "Stops" values gives the fraction of space in the whole table that should be used for the interval between the corresponding color values.

Normally the first element of Stops should be 0 and the last should be 1. If this is not true, fewer than NColors will be used in proportion with the total interval between the first and last elements of Stops.

This definition is similar to the povray-definition of gradient color tables.

For instance:

UInt_t Number = 3;
Double_t Red[3] = { 0.0, 1.0, 1.0 };
Double_t Green[3] = { 0.0, 0.0, 1.0 };
Double_t Blue[3] = { 1.0, 0.0, 1.0 };
Double_t Stops[3] = { 0.0, 0.4, 1.0 };

This defines a table in which there are three color end points: RGB = {0, 0, 1}, {1, 0, 0}, and {1, 1, 1} = blue, red, white The first 40% of the table is used to go linearly from blue to red. The remaining 60% of the table is used to go linearly from red to white.

If you define a very short interval such that less than one color fits in it, no colors at all will be allocated. If this occurs for all intervals, ROOT will revert to the default palette.

Original code by Andreas Zoglauer (zog@m.nosp@m.pe.m.nosp@m.pg.de)

Definition at line 2074 of file TColor.cxx.

Referenced by TMVA::StatDialogBDT::DrawTree(), and SetPalette().

Float_t TColor::GetAlpha ( ) const
inline
Float_t TColor::GetBlue ( ) const
inline
Int_t TColor::GetColor ( const char *  hexcolor)
static

Static method returning color number for color specified by hex color string of form: "#rrggbb", where rr, gg and bb are in hex between [0,FF], e.g.

"#c0c0c0".

If specified color does not exist it will be created with as name "#rrggbb" with rr, gg and bb in hex between [0,FF].

Definition at line 1666 of file TColor.cxx.

Referenced by TMVA::ROCCalc::ApplySignalAndBackgroundStyle(), TGColorDialog::CloseWindow(), TGL5DDataSetEditor::ColorChanged(), TEveCaloLegoGL::DirectDraw(), TSpiderEditor::DoAvFillColor(), TSpiderEditor::DoAvLineColor(), TAxisEditor::DoAxisColor(), TGLViewerEditor::DoClearColor(), TAttFillEditor::DoFillColor(), TH2Editor::DoFillColor(), TEveCaloLegoEditor::DoFontColor(), TParallelCoordEditor::DoGlobalLineColor(), TEveCaloLegoEditor::DoGridColor(), TParallelCoordEditor::DoHistColorSelect(), TAxisEditor::DoLabelColor(), TEveShapeEditor::DoLineColor(), TAttLineEditor::DoLineColor(), TAttMarkerEditor::DoMarkerColor(), TEveCaloLegoEditor::DoPlaneColor(), TGColorDialog::DoPreview(), TParallelCoordEditor::DoSelectLineColor(), TEveCaloVizEditor::DoSliceColor(), TPieEditor::DoTextChange(), TAttTextEditor::DoTextColor(), TAxisEditor::DoTitleColor(), TColorWheel::Draw(), TMVA::draw_input_labels(), TMVA::draw_layer(), TMVA::draw_network(), TMVA::DrawCell(), TAdvancedGraphicsDialog::DrawConfidenceLevels(), TAdvancedGraphicsDialog::DrawContour(), TPad::DrawDist(), TMVA::StatDialogMVAEffs::DrawHistograms(), TMVA::StatDialogBDTReg::DrawTree(), TMVA::StatDialogBDT::DrawTree(), THistPainter::ExecuteEvent(), TPad::ExecuteEventAxis(), GetColor(), TGLColor::GetColorIndex(), TEveManager::GetGeometry(), TImagePalette::GetRootColors(), TStyleManager::ModAttDateTextColor(), TStyleManager::ModCanvasColor(), TStyleManager::ModFillColor(), TStyleManager::ModFrameFillColor(), TStyleManager::ModFrameLineColor(), TStyleManager::ModFuncColor(), TStyleManager::ModGridColor(), TStyleManager::ModHistFillColor(), TStyleManager::ModHistLineColor(), TStyleManager::ModLineColor(), TStyleManager::ModMarkerColor(), TStyleManager::ModPadColor(), TStyleManager::ModStatColor(), TStyleManager::ModStatTextColor(), TStyleManager::ModTextColor(), TStyleManager::ModTitleFillColor(), TStyleManager::ModTitleTextColor(), TStyleManager::ModXAxisColor(), TStyleManager::ModXLabelColor(), TStyleManager::ModXTitleColor(), TStyleManager::ModYAxisColor(), TStyleManager::ModYLabelColor(), TStyleManager::ModYTitleColor(), TStyleManager::ModZAxisColor(), TStyleManager::ModZLabelColor(), TStyleManager::ModZTitleColor(), TAttTextEditor::ProcessMessage(), TGColorDialog::ProcessMessage(), TGLAnnotation::Render(), TEveFrameBox::SetBackColorPixel(), TEveFrameBox::SetBackColorRGBA(), TStructNodeProperty::SetColor(), TStructViewer::SetColor(), TGColorDialog::SetCurrentColor(), TEveRGBAPalette::SetDefaultColorPixel(), TEveRGBAPalette::SetDefaultColorRGBA(), TEveFrameBox::SetFrameColorPixel(), TEveFrameBox::SetFrameColorRGBA(), TEveElement::SetMainColorPixel(), TEveElement::SetMainColorRGB(), TEveRGBAPalette::SetOverColorPixel(), TEveRGBAPalette::SetOverColorRGBA(), TEveRGBAPalette::SetUnderColorPixel(), TEveRGBAPalette::SetUnderColorRGBA(), TPad::ShowGuidelines(), TEveGeoShape::SubImportShapeExtract(), TGColorDialog::TGColorDialog(), and TGColorDialog::UpdateAlpha().

Int_t TColor::GetColor ( Float_t  r,
Float_t  g,
Float_t  b 
)
static

Static method returning color number for color specified by r, g and b.

The r,g,b should be in the range [0,1].

If specified color does not exist it will be created with as name "#rrggbb" with rr, gg and bb in hex between [0,FF].

Definition at line 1685 of file TColor.cxx.

Int_t TColor::GetColor ( Int_t  r,
Int_t  g,
Int_t  b 
)
static

Static method returning color number for color specified by r, g and b.

The r,g,b should be in the range [0,255]. If the specified color does not exist it will be created with as name "#rrggbb" with rr, gg and bb in hex between [0,FF].

Definition at line 1716 of file TColor.cxx.

Int_t TColor::GetColor ( ULong_t  pixel)
static

Static method returning color number for color specified by system dependent pixel value.

Pixel values can be obtained, e.g., from the GUI color picker.

Definition at line 1700 of file TColor.cxx.

Int_t TColor::GetColorBright ( Int_t  n)
static

Static function: Returns the bright color number corresponding to n If the TColor object does not exist, it is created.

The convention is that the bright color nb = n+150

Definition at line 1776 of file TColor.cxx.

Referenced by TWbox::GetLightColor(), THistPainter::PaintBar(), THistPainter::PaintBarH(), TPad::PaintBorder(), THistPainter::PaintBoxes(), and TWbox::PaintFrame().

Int_t TColor::GetColorDark ( Int_t  n)
static

Static function: Returns the dark color number corresponding to n If the TColor object does not exist, it is created.

The convention is that the dark color nd = n+100

Definition at line 1808 of file TColor.cxx.

Referenced by TEveGeoNode::DumpShapeTree(), TWbox::GetDarkColor(), InitializeColors(), TPie::Paint(), THistPainter::PaintBar(), THistPainter::PaintBarH(), TPad::PaintBorder(), THistPainter::PaintBoxes(), TWbox::PaintFrame(), and THistPainter::PaintLego().

Int_t TColor::GetColorPalette ( Int_t  i)
static

Static function returning the color number i in current palette.

Definition at line 1315 of file TColor.cxx.

Referenced by TStyle::GetColorPalette().

Int_t TColor::GetColorTransparent ( Int_t  n,
Float_t  a 
)
static
virtual Float_t TColor::GetGrayscale ( ) const
inlinevirtual

Definition at line 67 of file TColor.h.

Referenced by GetBlue(), GetGreen(), and GetRed().

Float_t TColor::GetGreen ( ) const
inline
virtual void TColor::GetHLS ( Float_t h,
Float_t l,
Float_t s 
) const
inlinevirtual

Definition at line 56 of file TColor.h.

Referenced by TGeoPainter::DefineColors().

Float_t TColor::GetHue ( ) const
inline

Definition at line 63 of file TColor.h.

Referenced by GetColorBright(), GetColorDark(), GetHLS(), and TColor().

Float_t TColor::GetLight ( ) const
inline
Int_t TColor::GetNumber ( ) const
inline
Int_t TColor::GetNumberOfColors ( )
static

Static function returning number of colors in the color palette.

Definition at line 1327 of file TColor.cxx.

Referenced by TStyle::GetNumberOfColors().

ULong_t TColor::GetPixel ( ) const

Return pixel value corresponding to this color.

This pixel value can be used in the GUI classes. This call does not work in batch mode since it needs to communicate with the graphics system.

Definition at line 1337 of file TColor.cxx.

Referenced by TStructNodeProperty::GetPixel(), Number2Pixel(), TGColorPopup::PreviewAlphaColor(), TGColorDialog::SetColorInfo(), TGLabel::SetTextColor(), and TGTextEntry::SetTextColor().

Float_t TColor::GetRed ( ) const
inline
virtual void TColor::GetRGB ( Float_t r,
Float_t g,
Float_t b 
) const
inlinevirtual
Float_t TColor::GetSaturation ( ) const
inline

Definition at line 65 of file TColor.h.

Referenced by GetColorBright(), GetColorDark(), GetHLS(), and TColor().

void TColor::HLS2RGB ( Float_t  hue,
Float_t  light,
Float_t  satur,
Float_t r,
Float_t g,
Float_t b 
)
static

Static method to compute RGB from HLS.

The l and s are between [0,1] and h is between [0,360]. The returned r,g,b triplet is between [0,1].

Definition at line 1354 of file TColor.cxx.

Referenced by ClassImp(), TGColorPick::CreateDitheredImage(), TGeoPainter::DefineColors(), HLStoRGB(), TGColorPick::InitImages(), TGColorDialog::ProcessMessage(), TGColorPick::SetSliderColor(), and TGColorPick::UpdateCurrentColor().

void TColor::HLS2RGB ( Int_t  h,
Int_t  l,
Int_t  s,
Int_t r,
Int_t g,
Int_t b 
)
static

Static method to compute RGB from HLS.

The h,l,s are between [0,255]. The returned r,g,b triplet is between [0,255].

Definition at line 1394 of file TColor.cxx.

static void TColor::HLStoRGB ( Float_t  h,
Float_t  l,
Float_t  s,
Float_t r,
Float_t g,
Float_t b 
)
inlinestatic
Float_t TColor::HLStoRGB1 ( Float_t  rn1,
Float_t  rn2,
Float_t  huei 
)
staticprivate

Static method. Auxiliary to HLS2RGB().

Definition at line 1379 of file TColor.cxx.

Referenced by HLS2RGB().

void TColor::HSV2RGB ( Float_t  hue,
Float_t  satur,
Float_t  value,
Float_t r,
Float_t g,
Float_t b 
)
static

Static method to compute RGB from HSV:

  • The hue value runs from 0 to 360.
  • The saturation is the degree of strength or purity and is from 0 to 1. Purity is how much white is added to the color, so S=1 makes the purest color (no white).
  • Brightness value also ranges from 0 to 1, where 0 is the black.

The returned r,g,b triplet is between [0,1].

Definition at line 1420 of file TColor.cxx.

void TColor::InitializeColors ( )
static

Initialize colors used by the TCanvas based graphics (via TColor objects).

This method should be called before the ApplicationImp is created (which initializes the GUI colors).

Definition at line 1008 of file TColor.cxx.

Referenced by ClassImp(), CreateGradientColorTable(), TGeoPainter::DefineColors(), GetColor(), TROOT::GetColor(), TApplication::InitializeGraphics(), Number2Pixel(), SetGrayscale(), SetPalette(), SetRGB(), TSelectorDraw::TakeAction(), and TColor().

Bool_t TColor::IsGrayscale ( )
static

Return whether all colors return grayscale values.

Definition at line 2005 of file TColor.cxx.

Referenced by GetBlue(), GetGreen(), GetRed(), and GetSaturation().

void TColor::ls ( Option_t option = "") const
virtual

List this color with its attributes.

Reimplemented from TNamed.

Definition at line 1476 of file TColor.cxx.

Referenced by Print().

ULong_t TColor::Number2Pixel ( Int_t  ci)
static
void TColor::Pixel2RGB ( ULong_t  pixel,
Int_t r,
Int_t g,
Int_t b 
)
static

Convert machine dependent pixel value (obtained via RGB2Pixel or via Number2Pixel() or via TColor::GetPixel()) to r,g,b triplet.

The r,g,b triplet will be [0,255].

Definition at line 1938 of file TColor.cxx.

Referenced by ClassImp(), TGColorPick::CreateDitheredImage(), GetColor(), TGCompositeFrame::HandleDragEnter(), PixelAsHexString(), TGLOverlayButton::Render(), TGColorPick::SetColor(), TGColorPick::SetSliderColor(), TGColorDialog::UpdateHLSentries(), and TGColorDialog::UpdateRGBentries().

void TColor::Pixel2RGB ( ULong_t  pixel,
Float_t r,
Float_t g,
Float_t b 
)
static

Convert machine dependent pixel value (obtained via RGB2Pixel or via Number2Pixel() or via TColor::GetPixel()) to r,g,b triplet.

The r,g,b triplet will be [0,1].

Definition at line 1923 of file TColor.cxx.

const char * TColor::PixelAsHexString ( ULong_t  pixel)
static

Convert machine dependent pixel value (obtained via RGB2Pixel or via Number2Pixel() or via TColor::GetPixel()) to a hexadecimal string.

This string can be directly passed to, for example, TGClient::GetColorByName(). String will be reused so copy immediately if needed.

Definition at line 1955 of file TColor.cxx.

Referenced by TGProgressBar::SavePrimitive(), TGGC::SavePrimitive(), TGColorSelect::SavePrimitive(), and TGFrame::SaveUserColor().

void TColor::Print ( Option_t option = "") const
virtual

Dump this color with its attributes.

Reimplemented from TNamed.

Definition at line 1485 of file TColor.cxx.

void TColor::RGB2HLS ( Float_t  rr,
Float_t  gg,
Float_t  bb,
Float_t hue,
Float_t light,
Float_t satur 
)
static

Static method to compute HLS from RGB.

The r,g,b triplet is between [0,1], hue is between [0,360], light and satur are [0,1].

Definition at line 1494 of file TColor.cxx.

Referenced by ClassImp(), TGColorPick::CreateDitheredImage(), RGBtoHLS(), TGColorPick::SetColor(), TGColorPick::SetSliderColor(), and TGColorDialog::UpdateHLSentries().

void TColor::RGB2HLS ( Int_t  r,
Int_t  g,
Int_t  b,
Int_t h,
Int_t l,
Int_t s 
)
static

Static method to compute HLS from RGB.

The r,g,b triplet is between [0,255], hue, light and satur are between [0,255].

Definition at line 1587 of file TColor.cxx.

void TColor::RGB2HSV ( Float_t  r,
Float_t  g,
Float_t  b,
Float_t hue,
Float_t satur,
Float_t value 
)
static

Static method to compute HSV from RGB.

  • The input values:
    • r,g,b triplet is between [0,1].
  • The returned values:
    • The hue value runs from 0 to 360.
    • The saturation is the degree of strength or purity and is from 0 to 1. Purity is how much white is added to the color, so S=1 makes the purest color (no white).
    • Brightness value also ranges from 0 to 1, where 0 is the black.

Definition at line 1552 of file TColor.cxx.

ULong_t TColor::RGB2Pixel ( Int_t  r,
Int_t  g,
Int_t  b 
)
static
ULong_t TColor::RGB2Pixel ( Float_t  r,
Float_t  g,
Float_t  b 
)
static

Convert r,g,b to graphics system dependent pixel value.

The r,g,b triplet must be [0,1].

Definition at line 1878 of file TColor.cxx.

static void TColor::RGBtoHLS ( Float_t  r,
Float_t  g,
Float_t  b,
Float_t h,
Float_t l,
Float_t s 
)
inlinestatic
void TColor::SaveColor ( std::ostream &  out,
Int_t  ci 
)
static
virtual void TColor::SetAlpha ( Float_t  a)
inlinevirtual
void TColor::SetGrayscale ( Bool_t  set = kTRUE)
static

Set whether all colors should return grayscale values.

Definition at line 2013 of file TColor.cxx.

Referenced by TPad::Paint(), and TPad::PaintModified().

void TColor::SetPalette ( Int_t  ncolors,
Int_t colors,
Float_t  alpha = 1. 
)
static

Static function.

The color palette is used by the histogram classes (see TH1::Draw options). For example TH1::Draw("col") draws a 2-D histogram with cells represented by a box filled with a color CI function of the cell content. if the cell content is N, the color CI used will be the color number in colors[N],etc. If the maximum cell content is > ncolors, all cell contents are scaled to ncolors.

if ncolors <= 0 a default palette (see below) of 50 colors is defined. The colors defined in this palette are OK for coloring pads, labels.

index 0->9 : grey colors from light to dark grey
index 10->19 : "brown" colors
index 20->29 : "blueish" colors
index 30->39 : "redish" colors
index 40->49 : basic colors

if ncolors == 1 && colors == 0, a Rainbow Color map is created with 50 colors. It is kept for backward compatibility. Better palettes like kBird are recommended.

High quality predefined palettes with 255 colors are available when colors == 0. The following value of ncolors give access to:

if ncolors = 51 and colors=0, a Deep Sea palette is used.
if ncolors = 52 and colors=0, a Grey Scale palette is used.
if ncolors = 53 and colors=0, a Dark Body Radiator palette is used.
if ncolors = 54 and colors=0, a Two-Color Hue palette is used.(dark blue through neutral gray to bright yellow)
if ncolors = 55 and colors=0, a Rain Bow palette is used.
if ncolors = 56 and colors=0, an Inverted Dark Body Radiator palette is used.
if ncolors = 57 and colors=0, a monotonically increasing L value palette is used.
if ncolors = 58 and colors=0, a Cubehelix palette is used
(Cf. Dave Green's "cubehelix" colour scheme at http://www.mrao.cam.ac.uk/~dag/CUBEHELIX/)
if ncolors = 59 and colors=0, a Green Red Violet palette is used.
if ncolors = 60 and colors=0, a Blue Red Yellow palette is used.
if ncolors = 61 and colors=0, an Ocean palette is used.
if ncolors = 62 and colors=0, a Color Printable On Grey palette is used.
if ncolors = 63 and colors=0, an Alpine palette is used.
if ncolors = 64 and colors=0, an Aquamarine palette is used.
if ncolors = 65 and colors=0, an Army palette is used.
if ncolors = 66 and colors=0, an Atlantic palette is used.
if ncolors = 67 and colors=0, an Aurora palette is used.
if ncolors = 68 and colors=0, an Avocado palette is used.
if ncolors = 69 and colors=0, a Beach palette is used.
if ncolors = 70 and colors=0, a Black Body palette is used.
if ncolors = 71 and colors=0, a Blue Green Yellow palette is used.
if ncolors = 72 and colors=0, a Brown Cyan palette is used.
if ncolors = 73 and colors=0, a CMYK palette is used.
if ncolors = 74 and colors=0, a Candy palette is used.
if ncolors = 75 and colors=0, a Cherry palette is used.
if ncolors = 76 and colors=0, a Coffee palette is used.
if ncolors = 77 and colors=0, a Dark Rain Bow palette is used.
if ncolors = 78 and colors=0, a Dark Terrain palette is used.
if ncolors = 79 and colors=0, a Fall palette is used.
if ncolors = 80 and colors=0, a Fruit Punch palette is used.
if ncolors = 81 and colors=0, a Fuchsia palette is used.
if ncolors = 82 and colors=0, a Grey Yellow palette is used.
if ncolors = 83 and colors=0, a Green Brown Terrain palette is used.
if ncolors = 84 and colors=0, a Green Pink palette is used.
if ncolors = 85 and colors=0, an Island palette is used.
if ncolors = 86 and colors=0, a Lake palette is used.
if ncolors = 87 and colors=0, a Light Temperature palette is used.
if ncolors = 88 and colors=0, a Light Terrain palette is used.
if ncolors = 89 and colors=0, a Mint palette is used.
if ncolors = 90 and colors=0, a Neon palette is used.
if ncolors = 91 and colors=0, a Pastel palette is used.
if ncolors = 92 and colors=0, a Pearl palette is used.
if ncolors = 93 and colors=0, a Pigeon palette is used.
if ncolors = 94 and colors=0, a Plum palette is used.
if ncolors = 95 and colors=0, a Red Blue palette is used.
if ncolors = 96 and colors=0, a Rose palette is used.
if ncolors = 97 and colors=0, a Rust palette is used.
if ncolors = 98 and colors=0, a Sandy Terrain palette is used.
if ncolors = 99 and colors=0, a Sienna palette is used.
if ncolors = 100 and colors=0, a Solar palette is used.
if ncolors = 101 and colors=0, a South West palette is used.
if ncolors = 102 and colors=0, a Starry Night palette is used.
if ncolors = 103 and colors=0, a Sunset palette is used.
if ncolors = 104 and colors=0, a Temperature Map palette is used.
if ncolors = 105 and colors=0, a Thermometer palette is used.
if ncolors = 106 and colors=0, a Valentine palette is used.
if ncolors = 107 and colors=0, a Visible Spectrum palette is used.
if ncolors = 108 and colors=0, a Water Melon palette is used.
if ncolors = 109 and colors=0, a Cool palette is used.
if ncolors = 110 and colors=0, a Copper palette is used.
if ncolors = 111 and colors=0, a Gist Earth palette is used.
if ncolors = 112 and colors=0, a Viridis palette is used.

These palettes can also be accessed by names:

For example:

Set the current palette as "Bird" (number 57).

The color numbers specified in the palette can be viewed by selecting the item "colors" in the "VIEW" menu of the canvas toolbar. The color parameters can be changed via TColor::SetRGB.

Note that when drawing a 2D histogram h2 with the option "COL" or "COLZ" or with any "CONT" options using the color map, the number of colors used is defined by the number of contours n specified with: h2->SetContour(n)

Definition at line 2262 of file TColor.cxx.

Referenced by CreateGradientColorTable(), InitializeColors(), and TStyle::SetPalette().

void TColor::SetRGB ( Float_t  r,
Float_t  g,
Float_t  b 
)
virtual

Member Data Documentation

Float_t TColor::fAlpha
private

Definition at line 33 of file TColor.h.

Referenced by AsHexString(), Copy(), GetAlpha(), ls(), and TColor().

Float_t TColor::fBlue
private

Definition at line 29 of file TColor.h.

Referenced by Copy(), GetBlue(), GetGrayscale(), ls(), SetRGB(), and TColor().

Float_t TColor::fGreen
private

Definition at line 28 of file TColor.h.

Referenced by Copy(), GetGreen(), ls(), SetRGB(), and TColor().

Float_t TColor::fHue
private

Definition at line 30 of file TColor.h.

Referenced by Copy(), GetHue(), SetRGB(), and TColor().

Float_t TColor::fLight
private

Definition at line 31 of file TColor.h.

Referenced by Copy(), GetLight(), SetRGB(), and TColor().

Int_t TColor::fNumber
protected
Float_t TColor::fRed
private

Definition at line 27 of file TColor.h.

Referenced by Copy(), GetRed(), ls(), SetRGB(), and TColor().

Float_t TColor::fSaturation
private

Definition at line 32 of file TColor.h.

Referenced by Copy(), GetSaturation(), SetRGB(), and TColor().


The documentation for this class was generated from the following files: