ROOT
6.07/01
Reference Guide
|
The color creation and management class.
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:
Then it can be manipulated. For example its RGB components can be modified:
A new color can be created the following way:
Two sets of colors are initialized;
The following image displays the 50 basic colors.
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.:
The dark and bright color are used to give 3-D effects when drawing various boxes (see TWbox, TPave, TPaveText, TPaveLabel, etc).
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.
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:
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:
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:
Later on to reuse the palette MyPalette
it will be enough to do
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.
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:
A new color can be created transparent the following way:
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.
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.
The transparency is available on all platforms when the flagOpenGL.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.
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 (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) | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. More... | |
virtual | ~TNamed () |
virtual void | Clear (Option_t *option="") |
Set name and title to empty strings (""). More... | |
virtual TObject * | Clone (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... | |
TObject & | operator= (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 TObject * | DrawClone (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 TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. More... | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. More... | |
virtual Option_t * | GetDrawOption () 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_t * | GetOption () 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... | |
void * | operator new (size_t sz) |
void * | operator new[] (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator 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>
TColor::TColor | ( | ) |
Default constructor.
Definition at line 295 of file TColor.cxx.
Referenced by CreateColorsCircle(), CreateColorsGray(), CreateColorsRectangle(), CreateGradientColorTable(), GetColor(), GetColorBright(), GetColorDark(), GetColorTransparent(), and InitializeColors().
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 306 of file TColor.cxx.
TColor::TColor | ( | const TColor & | color | ) |
Color copy constructor.
Definition at line 355 of file TColor.cxx.
|
virtual |
Color destructor.
Definition at line 346 of file TColor.cxx.
|
private |
Make this color known to the graphics system.
Definition at line 1008 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 491 of file TColor.cxx.
Referenced by CreateColorsCircle(), CreateColorsRectangle(), TImageDump::DrawBox(), TImageDump::DrawFrame(), TImageDump::DrawPolyMarker(), TImageDump::DrawPS(), and TASImage::DrawText().
Copy this color to obj.
Reimplemented from TNamed.
Definition at line 512 of file TColor.cxx.
Referenced by TEveUtil::SetColorBrightness().
Create the "circle" colors in the color wheel.
Definition at line 544 of file TColor.cxx.
Referenced by CreateColorWheel().
|
static |
Create the Gray scale colors in the Color Wheel.
Definition at line 528 of file TColor.cxx.
Referenced by CreateColorWheel().
Create the "rectangular" colors in the color wheel.
Definition at line 564 of file TColor.cxx.
Referenced by CreateColorWheel().
|
static |
Static function steering the creation of all colors in the color wheel.
Definition at line 584 of file TColor.cxx.
Referenced by InitializeColors().
|
static |
Static function creating a color table with several connected linear gradients.
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:
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) pe.m pg.de
Definition at line 1431 of file TColor.cxx.
Referenced by TMVA::StatDialogBDT::DrawTree(), and SetPalette().
|
inline |
Definition at line 91 of file TColor.h.
Referenced by TAttFillEditor::DoFillAlphaColor(), TAttLineEditor::DoLineAlphaColor(), TAttMarkerEditor::DoMarkerAlphaColor(), TAttTextEditor::DoTextAlphaColor(), Rgl::Pad::ExtractRGBA(), TColorGradient::ResetColor(), SaveColor(), TSVG::SetColor(), TTeXDump::SetColor(), TPDF::SetColor(), ROOT::Quartz::SetFillColor(), ROOT::Quartz::SetFillPattern(), ROOT::Quartz::SetLineColor(), and TColor().
|
inline |
Definition at line 87 of file TColor.h.
Referenced by Allocate(), AsHexString(), TGLUtil::ColorAlpha(), TEveUtil::ColorFromIdx(), TGLUtil::ColorTransparency(), TEveCaloLegoGL::DirectDraw(), TEveGeoShape::DumpShapeTree(), TEveGeoNode::DumpShapeTree(), GetColor(), GetColorTransparent(), TColorWheel::GetObjectInfo(), TGX11::GetPixel(), TGWin32::GetPixel(), GetRGB(), TSpectrum2Painter::Paint(), TGLAnnotation::Render(), TSVG::SetColor(), TTeXDump::SetColor(), TPDF::SetColor(), TGX11::SetColor(), TGWin32::SetColor(), TPostScript::SetColor(), TGLColor::SetColor(), TGLPhysicalShape::SetDiffuseColor(), ROOT::Quartz::SetFillPattern(), TPDF::SetFillPatterns(), TPostScript::SetFillPatterns(), TColor(), and TImagePalette::TImagePalette().
|
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 1023 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(), glrose(), glsurfaces(), 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().
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 1042 of file TColor.cxx.
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 1073 of file TColor.cxx.
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 1057 of file TColor.cxx.
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 1133 of file TColor.cxx.
Referenced by TWbox::GetLightColor(), THistPainter::PaintBar(), THistPainter::PaintBarH(), TPad::PaintBorder(), THistPainter::PaintBoxes(), and TWbox::PaintFrame().
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 1165 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().
Static function returning the color number i in current palette.
Definition at line 672 of file TColor.cxx.
Referenced by TStyle::GetColorPalette().
Static function: Returns the transparent color number corresponding to n.
The transparency level is given by the alpha value a.
Definition at line 1196 of file TColor.cxx.
Referenced by TAttFillEditor::DoLiveAlpha(), TAttLineEditor::DoLiveAlpha(), TAttMarkerEditor::DoLiveAlpha(), TAttTextEditor::DoLiveAlpha(), TAttAxis::SetAxisColor(), TAttFill::SetFillColorAlpha(), TAttAxis::SetLabelColor(), TAttLine::SetLineColorAlpha(), TAttMarker::SetMarkerColorAlpha(), and TAttText::SetTextColorAlpha().
|
inlinevirtual |
Definition at line 92 of file TColor.h.
Referenced by GetBlue(), GetGreen(), and GetRed().
|
inline |
Definition at line 86 of file TColor.h.
Referenced by Allocate(), AsHexString(), TGLUtil::ColorAlpha(), TEveUtil::ColorFromIdx(), TGLUtil::ColorTransparency(), TEveCaloLegoGL::DirectDraw(), TEveGeoShape::DumpShapeTree(), TEveGeoNode::DumpShapeTree(), GetColor(), GetColorTransparent(), TColorWheel::GetObjectInfo(), TGX11::GetPixel(), TGWin32::GetPixel(), GetRGB(), TSpectrum2Painter::Paint(), TGLAnnotation::Render(), TSVG::SetColor(), TTeXDump::SetColor(), TPDF::SetColor(), TGX11::SetColor(), TGWin32::SetColor(), TPostScript::SetColor(), TGLColor::SetColor(), TGLPhysicalShape::SetDiffuseColor(), ROOT::Quartz::SetFillPattern(), TPDF::SetFillPatterns(), TPostScript::SetFillPatterns(), TColor(), and TImagePalette::TImagePalette().
Definition at line 81 of file TColor.h.
Referenced by TGeoPainter::DefineColors().
|
inline |
Definition at line 88 of file TColor.h.
Referenced by GetColorBright(), GetColorDark(), GetHLS(), and TColor().
|
inline |
Definition at line 89 of file TColor.h.
Referenced by GetColorBright(), GetColorDark(), GetHLS(), TColorWheel::PaintCircle(), TColorWheel::PaintRectangles(), and TColor().
|
inline |
Definition at line 83 of file TColor.h.
Referenced by CreateGradientColorTable(), TAttFillEditor::DoFillAlphaColor(), TAttLineEditor::DoLineAlphaColor(), TAttMarkerEditor::DoMarkerAlphaColor(), TAttTextEditor::DoTextAlphaColor(), TStructViewerGUI::GetColor(), GetColor(), TROOT::GetColor(), GetColorTransparent(), TASImage::Paint(), and TColor().
|
static |
Static function returning number of colors in the color palette.
Definition at line 684 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 694 of file TColor.cxx.
Referenced by TStructNodeProperty::GetPixel(), Number2Pixel(), TGColorPopup::PreviewAlphaColor(), TGColorDialog::SetColorInfo(), TGLabel::SetTextColor(), and TGTextEntry::SetTextColor().
|
inline |
Definition at line 85 of file TColor.h.
Referenced by Allocate(), AsHexString(), TGLUtil::ColorAlpha(), TEveUtil::ColorFromIdx(), TGLUtil::ColorTransparency(), TEveCaloLegoGL::DirectDraw(), TEveGeoShape::DumpShapeTree(), TEveGeoNode::DumpShapeTree(), GetColor(), GetColorTransparent(), TColorWheel::GetObjectInfo(), TGX11::GetPixel(), TGWin32::GetPixel(), GetRGB(), TSpectrum2Painter::Paint(), TGLAnnotation::Render(), TSVG::SetColor(), TTeXDump::SetColor(), TPDF::SetColor(), TGX11::SetColor(), TGWin32::SetColor(), TPostScript::SetColor(), TGLColor::SetColor(), TGLPhysicalShape::SetDiffuseColor(), ROOT::Quartz::SetFillPattern(), TPDF::SetFillPatterns(), TPostScript::SetFillPatterns(), TColor(), and TImagePalette::TImagePalette().
Definition at line 79 of file TColor.h.
Referenced by TGLPlotBox::DrawBack(), Rgl::Pad::ExtractRGBA(), TGeoPainter::GetColor(), TEveManager::GetGeometry(), TPainter3dAlgorithms::ImplicitFunction(), InitializeColors(), TGLAxis::PaintGLAxisBody(), THistPainter::PaintH3Iso(), THistPainter::PaintSurface(), TGLViewer::PreDraw(), TColorGradient::ResetColor(), TGLScene::RGBAFromColorIdx(), SaveColor(), TEveUtil::SetColorBrightness(), ROOT::Quartz::SetFillColor(), and ROOT::Quartz::SetLineColor().
|
inline |
Definition at line 90 of file TColor.h.
Referenced by GetColorBright(), GetColorDark(), GetHLS(), and TColor().
|
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 711 of file TColor.cxx.
Referenced by ClassImp(), TGColorPick::CreateDitheredImage(), TGeoPainter::DefineColors(), HLStoRGB(), TGColorPick::InitImages(), TGColorDialog::ProcessMessage(), TGColorPick::SetSliderColor(), and TGColorPick::UpdateCurrentColor().
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 751 of file TColor.cxx.
|
inlinestatic |
Definition at line 101 of file TColor.h.
Referenced by GetColorBright(), GetColorDark(), HLS2RGB(), TPainter3dAlgorithms::ImplicitFunction(), InitializeColors(), THistPainter::PaintH3Iso(), THistPainter::PaintSurface(), and SetRGB().
Static method. Auxiliary to HLS2RGB().
Definition at line 736 of file TColor.cxx.
Referenced by HLS2RGB().
|
static |
Static method to compute RGB from HSV:
The returned r,g,b triplet is between [0,1].
Definition at line 777 of file TColor.cxx.
|
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 365 of file TColor.cxx.
Referenced by ClassImp(), CreateGradientColorTable(), TGeoPainter::DefineColors(), GetColor(), TROOT::GetColor(), TApplication::InitializeGraphics(), Number2Pixel(), SetGrayscale(), SetPalette(), SetRGB(), TSelectorDraw::TakeAction(), and TColor().
|
static |
Return whether all colors return grayscale values.
Definition at line 1362 of file TColor.cxx.
Referenced by GetBlue(), GetGreen(), GetRed(), and GetSaturation().
List this color with its attributes.
Reimplemented from TNamed.
Definition at line 833 of file TColor.cxx.
Referenced by Print().
Static method that given a color index number, returns the corresponding pixel value.
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 1219 of file TColor.cxx.
Referenced by TRootGuiBuilder::AddAction(), TParallelCoordEditor::CleanUpSelections(), TAdvancedGraphicsDialog::CreateConfFrame(), TAdvancedGraphicsDialog::CreateContourFrame(), TParallelCoordEditor::DoSelectionSelect(), TGListTree::DrawItemName(), TEveListTreeItem::GetActiveColor(), TGuiBldDragManager::GetGlobalColorDialog(), TEveCaloVizEditor::MakeSliceInfo(), TEveShapeEditor::SetModel(), TEveElementEditor::SetModel(), TEveRGBAPaletteSubEditor::SetModel(), TAttFillEditor::SetModel(), TAttLineEditor::SetModel(), TAttMarkerEditor::SetModel(), TEveCaloLegoEditor::SetModel(), TAttTextEditor::SetModel(), TPieEditor::SetModel(), TAxisEditor::SetModel(), TSpiderEditor::SetModel(), TParallelCoordEditor::SetModel(), TGLViewerEditor::SetModel(), TH2Editor::SetModel(), TGL5DDataSetEditor::SurfaceSelected(), TG16ColorSelector::TG16ColorSelector(), TGColorDialog::TGColorDialog(), TGColorSelect::TGColorSelect(), TRootGuiBuilder::TRootGuiBuilder(), and TStyleManager::UpdateEditor().
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 1295 of file TColor.cxx.
Referenced by ClassImp(), TGColorPick::CreateDitheredImage(), GetColor(), TGCompositeFrame::HandleDragEnter(), PixelAsHexString(), TGLOverlayButton::Render(), TGColorPick::SetColor(), TGColorPick::SetSliderColor(), TGColorDialog::UpdateHLSentries(), and TGColorDialog::UpdateRGBentries().
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 1280 of file TColor.cxx.
|
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 1312 of file TColor.cxx.
Referenced by TGProgressBar::SavePrimitive(), TGGC::SavePrimitive(), TGColorSelect::SavePrimitive(), and TGFrame::SaveUserColor().
Dump this color with its attributes.
Reimplemented from TNamed.
Definition at line 842 of file TColor.cxx.
|
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 851 of file TColor.cxx.
Referenced by ClassImp(), TGColorPick::CreateDitheredImage(), RGBtoHLS(), TGColorPick::SetColor(), TGColorPick::SetSliderColor(), and TGColorDialog::UpdateHLSentries().
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 944 of file TColor.cxx.
|
static |
Static method to compute HSV from RGB.
Definition at line 909 of file TColor.cxx.
Convert r,g,b to graphics system dependent pixel value.
The r,g,b triplet must be [0,255].
Definition at line 1257 of file TColor.cxx.
Referenced by ClassImp(), TRootGuiBuilder::GetBgnd(), TGColorPalette::GetCurrentColor(), TASImage::GetPixels(), TRootGuiBuilder::GetPopupBgnd(), TRootGuiBuilder::GetPopupHlght(), TGCompositeFrame::HandleDragEnter(), TGColorPick::InitImages(), TGColorDialog::ProcessMessage(), TGTable::SetDefaultColors(), TGColorPick::SetSliderColor(), TGColorDialog::TGColorDialog(), TGColorPalette::TGColorPalette(), and TGColorPick::UpdateCurrentColor().
Convert r,g,b to graphics system dependent pixel value.
The r,g,b triplet must be [0,1].
Definition at line 1235 of file TColor.cxx.
|
inlinestatic |
Definition at line 106 of file TColor.h.
Referenced by TPainter3dAlgorithms::ImplicitFunction(), InitializeColors(), THistPainter::PaintH3Iso(), THistPainter::PaintSurface(), RGB2HLS(), and SetRGB().
Save a color with index > 228 as a C++ statement(s) on output stream out.
Definition at line 1324 of file TColor.cxx.
Referenced by TAttAxis::SaveAttributes(), TAttFill::SaveFillAttributes(), TAttLine::SaveLineAttributes(), TPaveText::SaveLines(), TAttMarker::SaveMarkerAttributes(), TF3::SavePrimitive(), TGaxis::SavePrimitive(), TF2::SavePrimitive(), TPad::SavePrimitive(), TCanvas::SavePrimitive(), TF1::SavePrimitive(), TCanvas::SaveSource(), and TAttText::SaveTextAttributes().
Definition at line 95 of file TColor.h.
Referenced by CreateGradientColorTable(), TGColorDialog::DoPreview(), THistPainter::ExecuteEvent(), TPad::ExecuteEventAxis(), GetColorTransparent(), and TGColorDialog::ProcessMessage().
Set whether all colors should return grayscale values.
Definition at line 1370 of file TColor.cxx.
Referenced by TPad::Paint(), and TPad::PaintModified().
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.
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:
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 1642 of file TColor.cxx.
Referenced by CreateGradientColorTable(), InitializeColors(), and TStyle::SetPalette().
Initialize this color and its associated colors.
Definition at line 962 of file TColor.cxx.
Referenced by TPainter3dAlgorithms::ImplicitFunction(), InitializeColors(), THistPainter::PaintH3Iso(), THistPainter::PaintSurface(), TEveUtil::SetColorBrightness(), SetRGB(), and TColor().
|
private |
Definition at line 57 of file TColor.h.
Referenced by AsHexString(), Copy(), GetAlpha(), SetAlpha(), and TColor().
|
private |
|
private |
Definition at line 52 of file TColor.h.
Referenced by Copy(), GetGrayscale(), GetGreen(), ls(), SetRGB(), and TColor().
|
private |
|
private |
|
protected |
Definition at line 49 of file TColor.h.
Referenced by Allocate(), Copy(), GetNumber(), GetPixel(), ls(), TColorGradient::RegisterColor(), SetRGB(), and TColor().
|
private |
|
private |