30 static Bool_t& TColor__GrayScaleMode() {
31 static Bool_t grayScaleMode;
34 static TArrayI& TColor__Palette() {
35 static TArrayI globalPalette(0);
38 static TArrayD& TColor__PalettesList() {
39 static TArrayD globalPalettesList(0);
40 return globalPalettesList;
49#define fgGrayscaleMode TColor__GrayScaleMode()
50#define fgPalette TColor__Palette()
51#define fgPalettesList TColor__PalettesList()
1058 Warning(
"TColor",
"color %d already defined", color);
1076 snprintf(aname,32,
"Color%d", color);
1116 gROOT->GetListOfColors()->Remove(
this);
1117 if (
gROOT->GetListOfColors()->IsEmpty()) {
1146 if (initDone)
return;
1149 if (
gROOT->GetListOfColors()->First() ==
nullptr) {
1153 new TColor(2,1,0,0,
"red");
1154 new TColor(3,0,1,0,
"green");
1155 new TColor(4,0,0,1,
"blue");
1156 new TColor(5,1,1,0,
"yellow");
1157 new TColor(6,1,0,1,
"magenta");
1158 new TColor(7,0,1,1,
"cyan");
1159 new TColor(10,0.999,0.999,0.999,
"white");
1160 new TColor(11,0.754,0.715,0.676,
"editcol");
1166 if (c110) c110->
SetRGB(0.999,0.999,.999);
1169 new TColor(20,0.8,0.78,0.67);
1170 new TColor(31,0.54,0.66,0.63);
1171 new TColor(41,0.83,0.81,0.53);
1172 new TColor(30,0.52,0.76,0.64);
1173 new TColor(32,0.51,0.62,0.55);
1174 new TColor(24,0.70,0.65,0.59);
1175 new TColor(21,0.8,0.78,0.67);
1176 new TColor(47,0.67,0.56,0.58);
1177 new TColor(35,0.46,0.54,0.57);
1178 new TColor(33,0.68,0.74,0.78);
1179 new TColor(39,0.5,0.5,0.61);
1180 new TColor(37,0.43,0.48,0.52);
1181 new TColor(38,0.49,0.6,0.82);
1182 new TColor(36,0.41,0.51,0.59);
1183 new TColor(49,0.58,0.41,0.44);
1184 new TColor(43,0.74,0.62,0.51);
1185 new TColor(22,0.76,0.75,0.66);
1186 new TColor(45,0.75,0.51,0.47);
1187 new TColor(44,0.78,0.6,0.49);
1188 new TColor(26,0.68,0.6,0.55);
1189 new TColor(28,0.53,0.4,0.34);
1190 new TColor(25,0.72,0.64,0.61);
1191 new TColor(27,0.61,0.56,0.51);
1192 new TColor(23,0.73,0.71,0.64);
1193 new TColor(42,0.87,0.73,0.53);
1194 new TColor(46,0.81,0.37,0.38);
1195 new TColor(48,0.65,0.47,0.48);
1196 new TColor(34,0.48,0.56,0.6);
1197 new TColor(40,0.67,0.65,0.75);
1198 new TColor(29,0.69,0.81,0.78);
1201 new TColor(8, 0.35,0.83,0.33);
1202 new TColor(9, 0.35,0.33,0.85);
1203 new TColor(12,.3,.3,.3,
"grey12");
1204 new TColor(13,.4,.4,.4,
"grey13");
1205 new TColor(14,.5,.5,.5,
"grey14");
1206 new TColor(15,.6,.6,.6,
"grey15");
1207 new TColor(16,.7,.7,.7,
"grey16");
1208 new TColor(17,.8,.8,.8,
"grey17");
1209 new TColor(18,.9,.9,.9,
"grey18");
1210 new TColor(19,.95,.95,.95,
"grey19");
1211 new TColor(50, 0.83,0.35,0.33);
1224 Int_t maxPretty = 50;
1228 for (i=0 ; i<maxPretty-1 ; i++) {
1229 hue = maxHue-(i+1)*((maxHue-minHue)/maxPretty);
1236 for (i = 1; i < 8; i++) {
1239 if (i == 1) {
r = 0.6;
g = 0.6;
b = 0.6; }
1240 if (
r == 1)
r = 0.9;
else if (
r == 0)
r = 0.1;
1241 if (
g == 1)
g = 0.9;
else if (
g == 0)
g = 0.1;
1242 if (
b == 1)
b = 0.9;
else if (
b == 0)
b = 0.1;
1279 tempbuf.
Form(
"#%02x%02x%02x%02x",
a,
r,
g,
b);
1281 tempbuf.
Form(
"#%02x%02x%02x",
r,
g,
b);
1325 Int_t colorn = offset+
n-10;
1328 color =
new TColor(colorn,rgb[3*
n]/255.,rgb[3*
n+1]/255.,rgb[3*
n+2]/255.);
1331 else if (
n<10) colorname.
Form(
"%s-%d",
name,10-
n);
1345 Int_t colorn = offset+
n-9;
1348 color =
new TColor(colorn,rgb[3*
n]/255.,rgb[3*
n+1]/255.,rgb[3*
n+2]/255.);
1351 else if (
n<9) colorname.
Form(
"%s-%d",
name,9-
n);
1363 UChar_t magenta[46]= {255,204,255
1364 ,255,153,255, 204,153,204
1365 ,255,102,255, 204,102,204, 153,102,153
1366 ,255, 51,255, 204, 51,204, 153, 51,153, 102, 51,102
1367 ,255, 0,255, 204, 0,204, 153, 0,153, 102, 0,102, 51, 0, 51};
1369 UChar_t red[46] = {255,204,204
1370 ,255,153,153, 204,153,153
1371 ,255,102,102, 204,102,102, 153,102,102
1372 ,255, 51, 51, 204, 51, 51, 153, 51, 51, 102, 51, 51
1373 ,255, 0, 0, 204, 0, 0, 153, 0, 0, 102, 0, 0, 51, 0, 0};
1375 UChar_t yellow[46] = {255,255,204
1376 ,255,255,153, 204,204,153
1377 ,255,255,102, 204,204,102, 153,153,102
1378 ,255,255, 51, 204,204, 51, 153,153, 51, 102,102, 51
1379 ,255,255, 0, 204,204, 0, 153,153, 0, 102,102, 0, 51, 51, 0};
1381 UChar_t green[46] = {204,255,204
1382 ,153,255,153, 153,204,153
1383 ,102,255,102, 102,204,102, 102,153,102
1384 , 51,255, 51, 51,204, 51, 51,153, 51, 51,102, 51
1385 , 0,255, 0, 0,204, 0, 0,153, 0, 0,102, 0, 0, 51, 0};
1387 UChar_t cyan[46] = {204,255,255
1388 ,153,255,255, 153,204,204
1389 ,102,255,255, 102,204,204, 102,153,153
1390 , 51,255,255, 51,204,204, 51,153,153, 51,102,102
1391 , 0,255,255, 0,204,204, 0,153,153, 0,102,102, 0, 51, 51};
1393 UChar_t blue[46] = {204,204,255
1394 ,153,153,255, 153,153,204
1395 ,102,102,255, 102,102,204, 102,102,153
1396 , 51, 51,255, 51, 51,204, 51, 51,153, 51, 51,102
1397 , 0, 0,255, 0, 0,204, 0, 0,153, 0, 0,102, 0, 0, 51};
1399 UChar_t pink[60] = {255, 51,153, 204, 0,102, 102, 0, 51, 153, 0, 51, 204, 51,102
1400 ,255,102,153, 255, 0,102, 255, 51,102, 204, 0, 51, 255, 0, 51
1401 ,255,153,204, 204,102,153, 153, 51,102, 153, 0,102, 204, 51,153
1402 ,255,102,204, 255, 0,153, 204, 0,153, 255, 51,204, 255, 0,153};
1404 UChar_t orange[60]={255,204,153, 204,153,102, 153,102, 51, 153,102, 0, 204,153, 51
1405 ,255,204,102, 255,153, 0, 255,204, 51, 204,153, 0, 255,204, 0
1406 ,255,153, 51, 204,102, 0, 102, 51, 0, 153, 51, 0, 204,102, 51
1407 ,255,153,102, 255,102, 0, 255,102, 51, 204, 51, 0, 255, 51, 0};
1409 UChar_t spring[60]={153,255, 51, 102,204, 0, 51,102, 0, 51,153, 0, 102,204, 51
1410 ,153,255,102, 102,255, 0, 102,255, 51, 51,204, 0, 51,255, 0
1411 ,204,255,153, 153,204,102, 102,153, 51, 102,153, 0, 153,204, 51
1412 ,204,255,102, 153,255, 0, 204,255, 51, 153,204, 0, 204,255, 0};
1414 UChar_t teal[60] = {153,255,204, 102,204,153, 51,153,102, 0,153,102, 51,204,153
1415 ,102,255,204, 0,255,102, 51,255,204, 0,204,153, 0,255,204
1416 , 51,255,153, 0,204,102, 0,102, 51, 0,153, 51, 51,204,102
1417 ,102,255,153, 0,255,153, 51,255,102, 0,204, 51, 0,255, 51};
1419 UChar_t azure[60] ={153,204,255, 102,153,204, 51,102,153, 0, 51,153, 51,102,204
1420 ,102,153,255, 0,102,255, 51,102,255, 0, 51,204, 0, 51,255
1421 , 51,153,255, 0,102,204, 0, 51,102, 0,102,153, 51,153,204
1422 ,102,204,255, 0,153,255, 51,204,255, 0,153,204, 0,204,255};
1424 UChar_t violet[60]={204,153,255, 153,102,204, 102, 51,153, 102, 0,153, 153, 51,204
1425 ,204,102,255, 153, 0,255, 204, 51,255, 153, 0,204, 204, 0,255
1426 ,153, 51,255, 102, 0,204, 51, 0,102, 51, 0,153, 102, 51,204
1427 ,153,102,255, 102, 0,255, 102, 51,255, 51, 0,204, 51, 0,255};
1452 if (ncolors == 0)
return 0;
1453 Int_t icol = i%ncolors;
1454 if (icol < 0) icol = 0;
1516 if (hue > 0) { rh = hue;
if (rh > 360) rh = 360; }
1517 if (light > 0) { rl = light;
if (rl > 1) rl = 1; }
1518 if (satur > 0) { rs = satur;
if (rs > 1) rs = 1; }
1521 rm2 = rl*(1.0f + rs);
1523 rm2 = rl + rs - rl*rs;
1524 rm1 = 2.0f*rl - rm2;
1526 if (!rs) {
r = rl;
g = rl;
b = rl;
return; }
1538 if (hue > 360) hue = hue - 360.0f;
1539 if (hue < 0) hue = hue + 360.0f;
1540 if (hue < 60 )
return rn1 + (rn2-rn1)*hue/60.0f;
1541 if (hue < 180)
return rn2;
1542 if (hue < 240)
return rn1 + (rn2-rn1)*(240.0f-hue)/60.0f;
1552 Float_t hh, ll, ss, rr, gg, bb;
1560 r = (
Int_t) (rr * 255.0f);
1561 g = (
Int_t) (gg * 255.0f);
1562 b = (
Int_t) (bb * 255.0f);
1589 i = (
Int_t)floor(hue);
1591 p = value*(1-satur);
1592 q = value*(1-satur*
f );
1593 t = value*(1-satur*(1-
f));
1634 printf(
"Color:%d Red=%f Green=%f Blue=%f Alpha=%f Name=%s\n",
1654 if (rr > 0) {
r = rr;
if (
r > 1)
r = 1; }
1655 if (gg > 0) {
g = gg;
if (
g > 1)
g = 1; }
1656 if (bb > 0) {
b = bb;
if (
b > 1)
b = 1; }
1659 if (
g < minval) minval =
g;
1660 if (
b < minval) minval =
b;
1661 if (
g > maxval) maxval =
g;
1662 if (
b > maxval) maxval =
b;
1665 Float_t mdiff = maxval - minval;
1666 Float_t msum = maxval + minval;
1667 light = 0.5f * msum;
1668 if (maxval != minval) {
1669 rnorm = (maxval -
r)/mdiff;
1670 gnorm = (maxval -
g)/mdiff;
1671 bnorm = (maxval -
b)/mdiff;
1680 satur = mdiff/(2.0f - msum);
1683 hue = 60.0f * (6.0f + bnorm - gnorm);
1684 else if (
g == maxval)
1685 hue = 60.0f * (2.0f + rnorm - bnorm);
1687 hue = 60.0f * (4.0f + gnorm - rnorm);
1726 }
else if (
g == max) {
1727 hue = 2.0f+(
b-
r)/delta;
1729 hue = 4.0f+(
r-
g)/delta;
1733 if (hue < 0.0f) hue += 360.0f;
1742 Float_t rr, gg, bb, hue, light, satur;
1750 h = (
Int_t) (hue/360.0f * 255.0f);
1751 l = (
Int_t) (light * 255.0f);
1752 s = (
Int_t) (satur * 255.0f);
1765 if (
fRed < 0)
return;
1771 if (nplanes == 0) nplanes = 16;
1782 Float_t dr, dg, db, lr, lg, lb;
1788 if (nplanes > 8) dark->
SetRGB(dr, dg, db);
1789 else dark->
SetRGB(0.3f,0.3f,0.3f);
1796 if (nplanes > 8) light->
SetRGB(lr, lg, lb);
1797 else light->
SetRGB(0.8f,0.8f,0.8f);
1824 if (hexcolor && *hexcolor ==
'#') {
1826 if (sscanf(hexcolor+1,
"%02x%02x%02x", &
r, &
g, &
b) == 3)
1829 ::Error(
"TColor::GetColor(const char*)",
"incorrect color string");
1915 if (
r > 255)
r = 255;
1916 if (
g > 255)
g = 255;
1917 if (
b > 255)
b = 255;
1943 if (nplanes >= 24) thres = 1.0f/255.0f;
1947 while ((color = (
TColor*)next())) {
1959 Form(
"#%02x%02x%02x",
r,
g,
b));
1971 if (
n < 0)
return -1;
1979 if (!color)
return -1;
1987 TColor *colorb =
nullptr;
1989 if (colorb)
return nb;
1992 colors->AddAtAndExpand(colorb,nb);
2003 if (
n < 0)
return -1;
2011 if (!color)
return -1;
2019 TColor *colord =
nullptr;
2021 if (colord)
return nd;
2024 colors->AddAtAndExpand(colord,nd);
2034 if (
n < 0)
return -1;
2044 ::Error(
"TColor::GetColorTransparent",
"color with index %d not defined",
n);
2076 ::Warning(
"TColor::Number2Pixel",
"color with index %d not defined", ci);
2112 if (
r > 255)
r = 255;
2113 if (
g > 255)
g = 255;
2114 if (
b > 255)
b = 255;
2150 r = color.
fRed / 257;
2167 tempbuf.
Form(
"#%02x%02x%02x",
r,
g,
b);
2189 if (
gROOT->ClassSaved(TColor::Class())) {
2193 out <<
" Int_t ci; // for color index setting" << std::endl;
2194 out <<
" TColor *color; // for color definition with alpha" << std::endl;
2198 out<<
" ci = "<<ci<<
";"<<std::endl;
2199 out<<
" color = new TColor(ci, "<<
r<<
", "<<
g<<
", "<<
b<<
", "
2200 <<
"\" \", "<<
a<<
");"<<std::endl;
2205 cname.
Form(
"#%02x%02x%02x", ri, gi, bi);
2206 out<<
" ci = TColor::GetColor("<<quote<<cname.
Data()<<quote<<
");"<<std::endl;
2231 while ((color = (
TColor*) iColor()))
2254 std::ifstream
f(fileName.
Data());
2256 ::Error(
"TColor::CreateColorPalette(const TString)",
"%s does not exist or cannot be opened", fileName.
Data());
2262 std::vector<Float_t> reds, greens, blues;
2263 while (
f >>
r >>
g >>
b) {
2265 if (r < 0. || r > 1.) {
2266 ::Error(
"TColor::CreateColorPalette(const TString)",
"Red value %f outside [0,1] on line %d of %s ",
r,
2267 nLines, fileName.
Data());
2271 if (g < 0. || g > 1.) {
2272 ::Error(
"TColor::CreateColorPalette(const TString)",
"Green value %f outside [0,1] on line %d of %s ",
g,
2273 nLines, fileName.
Data());
2277 if (b < 0. || b > 1.) {
2278 ::Error(
"TColor::CreateColorPalette(const TString)",
"Blue value %f outside [0,1] on line %d of %s ",
b,
2279 nLines, fileName.
Data());
2283 reds.emplace_back(
r);
2284 greens.emplace_back(
g);
2285 blues.emplace_back(
b);
2289 ::Error(
"TColor::CreateColorPalette(const TString)",
"Found insufficient color lines (%d) on %s", nLines,
2297 for (
Int_t i = 0; i < nLines; ++i) {
2298 new TColor(reds.at(i), greens.at(i), blues.at(i), alpha);
2363 if(Number < 2 || NColors < 1){
2370 for (
c = 0;
c < Number;
c++) {
2371 if (Red[
c] < 0 || Red[
c] > 1.0 ||
2372 Green[
c] < 0 || Green[
c] > 1.0 ||
2373 Blue[
c] < 0 || Blue[
c] > 1.0 ||
2374 Stops[
c] < 0 || Stops[
c] > 1.0) {
2379 if (Stops[
c-1] > Stops[
c]) {
2389 for (
g = 1;
g < Number;
g++) {
2391 nColorsGradient = (
Int_t) (floor(NColors*Stops[
g]) - floor(NColors*Stops[
g-1]));
2392 for (
c = 0;
c < nColorsGradient;
c++) {
2394 Float_t(Green[
g-1] +
c * (Green[
g] - Green[
g-1])/ nColorsGradient),
2395 Float_t(Blue[
g-1] +
c * (Blue[
g] - Blue[
g-1]) / nColorsGradient),
2545 static Int_t paletteType = 0;
2547 Int_t palette[50] = {19,18,17,16,15,14,13,12,11,20,
2548 21,22,23,24,25,26,27,28,29,30, 8,
2549 31,32,33,34,35,36,37,38,39,40, 9,
2550 41,42,43,44,45,47,48,49,46,50, 2,
2551 7, 6, 5, 4, 3, 2,1};
2557 for (i=0;i<ncolors;i++)
fgPalette.fArray[i] = palette[i];
2563 if (ncolors == 1 &&
colors ==
nullptr) {
2566 for (i=0;i<ncolors-1;i++)
fgPalette.fArray[i] = 51+i;
2573 if (
colors ==
nullptr && ncolors>50) {
2582 if (paletteType == ncolors && same_alpha)
return;
2584 for (i=0;i<255;i++)
fgPalette.fArray[i] = Idx+i;
2585 paletteType = ncolors;
2588 if (alphas>0 && !same_alpha) {
2590 for (i=0;i<255;i++) {
2600 Double_t stops[9] = { 0.0000, 0.1250, 0.2500, 0.3750, 0.5000, 0.6250, 0.7500, 0.8750, 1.0000};
2606 Double_t red[9] = { 0./255., 9./255., 13./255., 17./255., 24./255., 32./255., 27./255., 25./255., 29./255.};
2607 Double_t green[9] = { 0./255., 0./255., 0./255., 2./255., 37./255., 74./255., 113./255., 160./255., 221./255.};
2608 Double_t blue[9] = { 28./255., 42./255., 59./255., 78./255., 98./255., 129./255., 154./255., 184./255., 221./255.};
2616 Double_t red[9] = { 0./255., 32./255., 64./255., 96./255., 128./255., 160./255., 192./255., 224./255., 255./255.};
2617 Double_t green[9] = { 0./255., 32./255., 64./255., 96./255., 128./255., 160./255., 192./255., 224./255., 255./255.};
2618 Double_t blue[9] = { 0./255., 32./255., 64./255., 96./255., 128./255., 160./255., 192./255., 224./255., 255./255.};
2626 Double_t red[9] = { 0./255., 45./255., 99./255., 156./255., 212./255., 230./255., 237./255., 234./255., 242./255.};
2627 Double_t green[9] = { 0./255., 0./255., 0./255., 45./255., 101./255., 168./255., 238./255., 238./255., 243./255.};
2628 Double_t blue[9] = { 0./255., 1./255., 1./255., 3./255., 9./255., 8./255., 11./255., 95./255., 230./255.};
2636 Double_t red[9] = { 0./255., 22./255., 44./255., 68./255., 93./255., 124./255., 160./255., 192./255., 237./255.};
2637 Double_t green[9] = { 0./255., 16./255., 41./255., 67./255., 93./255., 125./255., 162./255., 194./255., 241./255.};
2638 Double_t blue[9] = { 97./255., 100./255., 99./255., 99./255., 93./255., 68./255., 44./255., 26./255., 74./255.};
2646 Double_t red[9] = { 0./255., 5./255., 15./255., 35./255., 102./255., 196./255., 208./255., 199./255., 110./255.};
2647 Double_t green[9] = { 0./255., 48./255., 124./255., 192./255., 206./255., 226./255., 97./255., 16./255., 0./255.};
2648 Double_t blue[9] = { 99./255., 142./255., 198./255., 201./255., 90./255., 22./255., 13./255., 8./255., 2./255.};
2656 Double_t red[9] = { 242./255., 234./255., 237./255., 230./255., 212./255., 156./255., 99./255., 45./255., 0./255.};
2657 Double_t green[9] = { 243./255., 238./255., 238./255., 168./255., 101./255., 45./255., 0./255., 0./255., 0./255.};
2658 Double_t blue[9] = { 230./255., 95./255., 11./255., 8./255., 9./255., 3./255., 1./255., 1./255., 0./255.};
2666 Double_t red[9] = { 0.2082, 0.0592, 0.0780, 0.0232, 0.1802, 0.5301, 0.8186, 0.9956, 0.9764};
2667 Double_t green[9] = { 0.1664, 0.3599, 0.5041, 0.6419, 0.7178, 0.7492, 0.7328, 0.7862, 0.9832};
2668 Double_t blue[9] = { 0.5293, 0.8684, 0.8385, 0.7914, 0.6425, 0.4662, 0.3499, 0.1968, 0.0539};
2676 Double_t red[9] = { 0.0000, 0.0956, 0.0098, 0.2124, 0.6905, 0.9242, 0.7914, 0.7596, 1.0000};
2677 Double_t green[9] = { 0.0000, 0.1147, 0.3616, 0.5041, 0.4577, 0.4691, 0.6905, 0.9237, 1.0000};
2678 Double_t blue[9] = { 0.0000, 0.2669, 0.3121, 0.1318, 0.2236, 0.6741, 0.9882, 0.9593, 1.0000};
2686 Double_t red[9] = {13./255., 23./255., 25./255., 63./255., 76./255., 104./255., 137./255., 161./255., 206./255.};
2687 Double_t green[9] = {95./255., 67./255., 37./255., 21./255., 0./255., 12./255., 35./255., 52./255., 79./255.};
2688 Double_t blue[9] = { 4./255., 3./255., 2./255., 6./255., 11./255., 22./255., 49./255., 98./255., 208./255.};
2696 Double_t red[9] = {0./255., 61./255., 89./255., 122./255., 143./255., 160./255., 185./255., 204./255., 231./255.};
2697 Double_t green[9] = {0./255., 0./255., 0./255., 0./255., 14./255., 37./255., 72./255., 132./255., 235./255.};
2698 Double_t blue[9] = {0./255., 140./255., 224./255., 144./255., 4./255., 5./255., 6./255., 9./255., 13./255.};
2706 Double_t red[9] = { 14./255., 7./255., 2./255., 0./255., 5./255., 11./255., 55./255., 131./255., 229./255.};
2707 Double_t green[9] = {105./255., 56./255., 26./255., 1./255., 42./255., 74./255., 131./255., 171./255., 229./255.};
2708 Double_t blue[9] = { 2./255., 21./255., 35./255., 60./255., 92./255., 113./255., 160./255., 185./255., 229./255.};
2716 Double_t red[9] = { 0./255., 0./255., 0./255., 70./255., 148./255., 231./255., 235./255., 237./255., 244./255.};
2717 Double_t green[9] = { 0./255., 0./255., 0./255., 0./255., 0./255., 69./255., 67./255., 216./255., 244./255.};
2718 Double_t blue[9] = { 0./255., 102./255., 228./255., 231./255., 177./255., 124./255., 137./255., 20./255., 244./255.};
2726 Double_t red[9] = { 50./255., 56./255., 63./255., 68./255., 93./255., 121./255., 165./255., 192./255., 241./255.};
2727 Double_t green[9] = { 66./255., 81./255., 91./255., 96./255., 111./255., 128./255., 155./255., 189./255., 241./255.};
2728 Double_t blue[9] = { 97./255., 91./255., 75./255., 65./255., 77./255., 103./255., 143./255., 167./255., 217./255.};
2736 Double_t red[9] = { 145./255., 166./255., 167./255., 156./255., 131./255., 114./255., 101./255., 112./255., 132./255.};
2737 Double_t green[9] = { 158./255., 178./255., 179./255., 181./255., 163./255., 154./255., 144./255., 152./255., 159./255.};
2738 Double_t blue[9] = { 190./255., 199./255., 201./255., 192./255., 176./255., 169./255., 160./255., 166./255., 190./255.};
2746 Double_t red[9] = { 93./255., 91./255., 99./255., 108./255., 130./255., 125./255., 132./255., 155./255., 174./255.};
2747 Double_t green[9] = { 126./255., 124./255., 128./255., 129./255., 131./255., 121./255., 119./255., 153./255., 173./255.};
2748 Double_t blue[9] = { 103./255., 94./255., 87./255., 85./255., 80./255., 85./255., 107./255., 120./255., 146./255.};
2756 Double_t red[9] = { 24./255., 40./255., 69./255., 90./255., 104./255., 114./255., 120./255., 132./255., 103./255.};
2757 Double_t green[9] = { 29./255., 52./255., 94./255., 127./255., 150./255., 162./255., 159./255., 151./255., 101./255.};
2758 Double_t blue[9] = { 29./255., 52./255., 96./255., 132./255., 162./255., 181./255., 184./255., 186./255., 131./255.};
2766 Double_t red[9] = { 46./255., 38./255., 61./255., 92./255., 113./255., 121./255., 132./255., 150./255., 191./255.};
2767 Double_t green[9] = { 46./255., 36./255., 40./255., 69./255., 110./255., 135./255., 131./255., 92./255., 34./255.};
2768 Double_t blue[9] = { 46./255., 80./255., 74./255., 70./255., 81./255., 105./255., 165./255., 211./255., 225./255.};
2776 Double_t red[9] = { 0./255., 4./255., 12./255., 30./255., 52./255., 101./255., 142./255., 190./255., 237./255.};
2777 Double_t green[9] = { 0./255., 40./255., 86./255., 121./255., 140./255., 172./255., 187./255., 213./255., 240./255.};
2778 Double_t blue[9] = { 0./255., 9./255., 14./255., 18./255., 21./255., 23./255., 27./255., 35./255., 101./255.};
2786 Double_t red[9] = { 198./255., 206./255., 206./255., 211./255., 198./255., 181./255., 161./255., 171./255., 244./255.};
2787 Double_t green[9] = { 103./255., 133./255., 150./255., 172./255., 178./255., 174./255., 163./255., 175./255., 244./255.};
2788 Double_t blue[9] = { 49./255., 54./255., 55./255., 66./255., 91./255., 130./255., 184./255., 224./255., 244./255.};
2796 Double_t red[9] = { 243./255., 243./255., 240./255., 240./255., 241./255., 239./255., 186./255., 151./255., 129./255.};
2797 Double_t green[9] = { 0./255., 46./255., 99./255., 149./255., 194./255., 220./255., 183./255., 166./255., 147./255.};
2798 Double_t blue[9] = { 6./255., 8./255., 36./255., 91./255., 169./255., 235./255., 246./255., 240./255., 233./255.};
2806 Double_t red[9] = { 22./255., 19./255., 19./255., 25./255., 35./255., 53./255., 88./255., 139./255., 210./255.};
2807 Double_t green[9] = { 0./255., 32./255., 69./255., 108./255., 135./255., 159./255., 183./255., 198./255., 215./255.};
2808 Double_t blue[9] = { 77./255., 96./255., 110./255., 116./255., 110./255., 100./255., 90./255., 78./255., 70./255.};
2816 Double_t red[9] = { 68./255., 116./255., 165./255., 182./255., 189./255., 180./255., 145./255., 111./255., 71./255.};
2817 Double_t green[9] = { 37./255., 82./255., 135./255., 178./255., 204./255., 225./255., 221./255., 202./255., 147./255.};
2818 Double_t blue[9] = { 16./255., 55./255., 105./255., 147./255., 196./255., 226./255., 232./255., 224./255., 178./255.};
2826 Double_t red[9] = { 61./255., 99./255., 136./255., 181./255., 213./255., 225./255., 198./255., 136./255., 24./255.};
2827 Double_t green[9] = { 149./255., 140./255., 96./255., 83./255., 132./255., 178./255., 190./255., 135./255., 22./255.};
2828 Double_t blue[9] = { 214./255., 203./255., 168./255., 135./255., 110./255., 100./255., 111./255., 113./255., 22./255.};
2836 Double_t red[9] = { 76./255., 120./255., 156./255., 183./255., 197./255., 180./255., 162./255., 154./255., 140./255.};
2837 Double_t green[9] = { 34./255., 35./255., 42./255., 69./255., 102./255., 137./255., 164./255., 188./255., 197./255.};
2838 Double_t blue[9] = { 64./255., 69./255., 78./255., 105./255., 142./255., 177./255., 205./255., 217./255., 198./255.};
2846 Double_t red[9] = { 37./255., 102./255., 157./255., 188./255., 196./255., 214./255., 223./255., 235./255., 251./255.};
2847 Double_t green[9] = { 37./255., 29./255., 25./255., 37./255., 67./255., 91./255., 132./255., 185./255., 251./255.};
2848 Double_t blue[9] = { 37./255., 32./255., 33./255., 45./255., 66./255., 98./255., 137./255., 187./255., 251./255.};
2856 Double_t red[9] = { 79./255., 100./255., 119./255., 137./255., 153./255., 172./255., 192./255., 205./255., 250./255.};
2857 Double_t green[9] = { 63./255., 79./255., 93./255., 103./255., 115./255., 135./255., 167./255., 196./255., 250./255.};
2858 Double_t blue[9] = { 51./255., 59./255., 66./255., 61./255., 62./255., 70./255., 110./255., 160./255., 250./255.};
2866 Double_t red[9] = { 43./255., 44./255., 50./255., 66./255., 125./255., 172./255., 178./255., 155./255., 157./255.};
2867 Double_t green[9] = { 63./255., 63./255., 85./255., 101./255., 138./255., 163./255., 122./255., 51./255., 39./255.};
2868 Double_t blue[9] = { 121./255., 101./255., 58./255., 44./255., 47./255., 55./255., 57./255., 44./255., 43./255.};
2876 Double_t red[9] = { 0./255., 41./255., 62./255., 79./255., 90./255., 87./255., 99./255., 140./255., 228./255.};
2877 Double_t green[9] = { 0./255., 57./255., 81./255., 93./255., 85./255., 70./255., 71./255., 125./255., 228./255.};
2878 Double_t blue[9] = { 95./255., 91./255., 91./255., 82./255., 60./255., 43./255., 44./255., 112./255., 228./255.};
2886 Double_t red[9] = { 49./255., 59./255., 72./255., 88./255., 114./255., 141./255., 176./255., 205./255., 222./255.};
2887 Double_t green[9] = { 78./255., 72./255., 66./255., 57./255., 59./255., 75./255., 106./255., 142./255., 173./255.};
2888 Double_t blue[9] = { 78./255., 55./255., 46./255., 40./255., 39./255., 39./255., 40./255., 41./255., 47./255.};
2896 Double_t red[9] = { 243./255., 222./255., 201./255., 185./255., 165./255., 158./255., 166./255., 187./255., 219./255.};
2897 Double_t green[9] = { 94./255., 108./255., 132./255., 135./255., 125./255., 96./255., 68./255., 51./255., 61./255.};
2898 Double_t blue[9] = { 7./255., 9./255., 12./255., 19./255., 45./255., 89./255., 118./255., 146./255., 118./255.};
2906 Double_t red[9] = { 19./255., 44./255., 74./255., 105./255., 137./255., 166./255., 194./255., 206./255., 220./255.};
2907 Double_t green[9] = { 19./255., 28./255., 40./255., 55./255., 82./255., 110./255., 159./255., 181./255., 220./255.};
2908 Double_t blue[9] = { 19./255., 42./255., 68./255., 96./255., 129./255., 157./255., 188./255., 203./255., 220./255.};
2916 Double_t red[9] = { 33./255., 44./255., 70./255., 99./255., 140./255., 165./255., 199./255., 211./255., 216./255.};
2917 Double_t green[9] = { 38./255., 50./255., 76./255., 105./255., 140./255., 165./255., 191./255., 189./255., 167./255.};
2918 Double_t blue[9] = { 55./255., 67./255., 97./255., 124./255., 140./255., 166./255., 163./255., 129./255., 52./255.};
2926 Double_t red[9] = { 0./255., 33./255., 73./255., 124./255., 136./255., 152./255., 159./255., 171./255., 223./255.};
2927 Double_t green[9] = { 0./255., 43./255., 92./255., 124./255., 134./255., 126./255., 121./255., 144./255., 223./255.};
2928 Double_t blue[9] = { 0./255., 43./255., 68./255., 76./255., 73./255., 64./255., 72./255., 114./255., 223./255.};
2936 Double_t red[9] = { 5./255., 18./255., 45./255., 124./255., 193./255., 223./255., 205./255., 128./255., 49./255.};
2937 Double_t green[9] = { 48./255., 134./255., 207./255., 230./255., 193./255., 113./255., 28./255., 0./255., 7./255.};
2938 Double_t blue[9] = { 6./255., 15./255., 41./255., 121./255., 193./255., 226./255., 208./255., 130./255., 49./255.};
2946 Double_t red[9] = { 180./255., 106./255., 104./255., 135./255., 164./255., 188./255., 189./255., 165./255., 144./255.};
2947 Double_t green[9] = { 72./255., 126./255., 154./255., 184./255., 198./255., 207./255., 205./255., 190./255., 179./255.};
2948 Double_t blue[9] = { 41./255., 120./255., 158./255., 188./255., 194./255., 181./255., 145./255., 100./255., 62./255.};
2956 Double_t red[9] = { 57./255., 72./255., 94./255., 117./255., 136./255., 154./255., 174./255., 192./255., 215./255.};
2957 Double_t green[9] = { 0./255., 33./255., 68./255., 109./255., 140./255., 171./255., 192./255., 196./255., 209./255.};
2958 Double_t blue[9] = { 116./255., 137./255., 173./255., 201./255., 200./255., 201./255., 203./255., 190./255., 187./255.};
2966 Double_t red[9] = { 31./255., 71./255., 123./255., 160./255., 210./255., 222./255., 214./255., 199./255., 183./255.};
2967 Double_t green[9] = { 40./255., 117./255., 171./255., 211./255., 231./255., 220./255., 190./255., 132./255., 65./255.};
2968 Double_t blue[9] = { 234./255., 214./255., 228./255., 222./255., 210./255., 160./255., 105./255., 60./255., 34./255.};
2976 Double_t red[9] = { 123./255., 108./255., 109./255., 126./255., 154./255., 172./255., 188./255., 196./255., 218./255.};
2977 Double_t green[9] = { 184./255., 138./255., 130./255., 133./255., 154./255., 175./255., 188./255., 196./255., 218./255.};
2978 Double_t blue[9] = { 208./255., 130./255., 109./255., 99./255., 110./255., 122./255., 150./255., 171./255., 218./255.};
2986 Double_t red[9] = { 105./255., 106./255., 122./255., 143./255., 159./255., 172./255., 176./255., 181./255., 207./255.};
2987 Double_t green[9] = { 252./255., 197./255., 194./255., 187./255., 174./255., 162./255., 153./255., 136./255., 125./255.};
2988 Double_t blue[9] = { 146./255., 133./255., 144./255., 155./255., 163./255., 167./255., 166./255., 162./255., 174./255.};
2996 Double_t red[9] = { 171./255., 141./255., 145./255., 152./255., 154./255., 159./255., 163./255., 158./255., 177./255.};
2997 Double_t green[9] = { 236./255., 143./255., 100./255., 63./255., 53./255., 55./255., 44./255., 31./255., 6./255.};
2998 Double_t blue[9] = { 59./255., 48./255., 46./255., 44./255., 42./255., 54./255., 82./255., 112./255., 179./255.};
3006 Double_t red[9] = { 180./255., 190./255., 209./255., 223./255., 204./255., 228./255., 205./255., 152./255., 91./255.};
3007 Double_t green[9] = { 93./255., 125./255., 147./255., 172./255., 181./255., 224./255., 233./255., 198./255., 158./255.};
3008 Double_t blue[9] = { 236./255., 218./255., 160./255., 133./255., 114./255., 132./255., 162./255., 220./255., 218./255.};
3016 Double_t red[9] = { 225./255., 183./255., 162./255., 135./255., 115./255., 111./255., 119./255., 145./255., 211./255.};
3017 Double_t green[9] = { 205./255., 177./255., 166./255., 135./255., 124./255., 117./255., 117./255., 132./255., 172./255.};
3018 Double_t blue[9] = { 186./255., 165./255., 155./255., 135./255., 126./255., 130./255., 150./255., 178./255., 226./255.};
3026 Double_t red[9] = { 39./255., 43./255., 59./255., 63./255., 80./255., 116./255., 153./255., 177./255., 223./255.};
3027 Double_t green[9] = { 39./255., 43./255., 59./255., 74./255., 91./255., 114./255., 139./255., 165./255., 223./255.};
3028 Double_t blue[9] = { 39./255., 50./255., 59./255., 70./255., 85./255., 115./255., 151./255., 176./255., 223./255.};
3036 Double_t red[9] = { 0./255., 38./255., 60./255., 76./255., 84./255., 89./255., 101./255., 128./255., 204./255.};
3037 Double_t green[9] = { 0./255., 10./255., 15./255., 23./255., 35./255., 57./255., 83./255., 123./255., 199./255.};
3038 Double_t blue[9] = { 0./255., 11./255., 22./255., 40./255., 63./255., 86./255., 97./255., 94./255., 85./255.};
3046 Double_t red[9] = { 94./255., 112./255., 141./255., 165./255., 167./255., 140./255., 91./255., 49./255., 27./255.};
3047 Double_t green[9] = { 27./255., 46./255., 88./255., 135./255., 166./255., 161./255., 135./255., 97./255., 58./255.};
3048 Double_t blue[9] = { 42./255., 52./255., 81./255., 106./255., 139./255., 158./255., 155./255., 137./255., 116./255.};
3056 Double_t red[9] = { 30./255., 49./255., 79./255., 117./255., 135./255., 151./255., 146./255., 138./255., 147./255.};
3057 Double_t green[9] = { 63./255., 60./255., 72./255., 90./255., 94./255., 94./255., 68./255., 46./255., 16./255.};
3058 Double_t blue[9] = { 18./255., 28./255., 41./255., 56./255., 62./255., 63./255., 50./255., 36./255., 21./255.};
3066 Double_t red[9] = { 0./255., 30./255., 63./255., 101./255., 143./255., 152./255., 169./255., 187./255., 230./255.};
3067 Double_t green[9] = { 0./255., 14./255., 28./255., 42./255., 58./255., 61./255., 67./255., 74./255., 91./255.};
3068 Double_t blue[9] = { 39./255., 26./255., 21./255., 18./255., 15./255., 14./255., 14./255., 13./255., 13./255.};
3076 Double_t red[9] = { 149./255., 140./255., 164./255., 179./255., 182./255., 181./255., 131./255., 87./255., 61./255.};
3077 Double_t green[9] = { 62./255., 70./255., 107./255., 136./255., 144./255., 138./255., 117./255., 87./255., 74./255.};
3078 Double_t blue[9] = { 40./255., 38./255., 45./255., 49./255., 49./255., 49./255., 38./255., 32./255., 34./255.};
3086 Double_t red[9] = { 99./255., 112./255., 148./255., 165./255., 179./255., 182./255., 183./255., 183./255., 208./255.};
3087 Double_t green[9] = { 39./255., 40./255., 57./255., 79./255., 104./255., 127./255., 148./255., 161./255., 198./255.};
3088 Double_t blue[9] = { 15./255., 16./255., 18./255., 33./255., 51./255., 79./255., 103./255., 129./255., 177./255.};
3096 Double_t red[9] = { 99./255., 116./255., 154./255., 174./255., 200./255., 196./255., 201./255., 201./255., 230./255.};
3097 Double_t green[9] = { 0./255., 0./255., 8./255., 32./255., 58./255., 83./255., 119./255., 136./255., 173./255.};
3098 Double_t blue[9] = { 5./255., 6./255., 7./255., 9./255., 9./255., 14./255., 17./255., 19./255., 24./255.};
3106 Double_t red[9] = { 82./255., 106./255., 126./255., 141./255., 155./255., 163./255., 142./255., 107./255., 66./255.};
3107 Double_t green[9] = { 62./255., 44./255., 69./255., 107./255., 135./255., 152./255., 149./255., 132./255., 119./255.};
3108 Double_t blue[9] = { 39./255., 25./255., 31./255., 60./255., 73./255., 68./255., 49./255., 72./255., 188./255.};
3116 Double_t red[9] = { 18./255., 29./255., 44./255., 72./255., 116./255., 158./255., 184./255., 208./255., 221./255.};
3117 Double_t green[9] = { 27./255., 46./255., 71./255., 105./255., 146./255., 177./255., 189./255., 190./255., 183./255.};
3118 Double_t blue[9] = { 39./255., 55./255., 80./255., 108./255., 130./255., 133./255., 124./255., 100./255., 76./255.};
3126 Double_t red[9] = { 0./255., 48./255., 119./255., 173./255., 212./255., 224./255., 228./255., 228./255., 245./255.};
3127 Double_t green[9] = { 0./255., 13./255., 30./255., 47./255., 79./255., 127./255., 167./255., 205./255., 245./255.};
3128 Double_t blue[9] = { 0./255., 68./255., 75./255., 43./255., 16./255., 22./255., 55./255., 128./255., 245./255.};
3136 Double_t red[9] = { 34./255., 70./255., 129./255., 187./255., 225./255., 226./255., 216./255., 193./255., 179./255.};
3137 Double_t green[9] = { 48./255., 91./255., 147./255., 194./255., 226./255., 229./255., 196./255., 110./255., 12./255.};
3138 Double_t blue[9] = { 234./255., 212./255., 216./255., 224./255., 206./255., 110./255., 53./255., 40./255., 29./255.};
3146 Double_t red[9] = { 30./255., 55./255., 103./255., 147./255., 174./255., 203./255., 188./255., 151./255., 105./255.};
3147 Double_t green[9] = { 0./255., 65./255., 138./255., 182./255., 187./255., 175./255., 121./255., 53./255., 9./255.};
3148 Double_t blue[9] = { 191./255., 202./255., 212./255., 208./255., 171./255., 140./255., 97./255., 57./255., 30./255.};
3156 Double_t red[9] = { 112./255., 97./255., 113./255., 125./255., 138./255., 159./255., 178./255., 188./255., 225./255.};
3157 Double_t green[9] = { 16./255., 17./255., 24./255., 37./255., 56./255., 81./255., 110./255., 136./255., 189./255.};
3158 Double_t blue[9] = { 38./255., 35./255., 46./255., 59./255., 78./255., 103./255., 130./255., 152./255., 201./255.};
3166 Double_t red[9] = { 18./255., 72./255., 5./255., 23./255., 29./255., 201./255., 200./255., 98./255., 29./255.};
3167 Double_t green[9] = { 0./255., 0./255., 43./255., 167./255., 211./255., 117./255., 0./255., 0./255., 0./255.};
3168 Double_t blue[9] = { 51./255., 203./255., 177./255., 26./255., 10./255., 9./255., 8./255., 3./255., 0./255.};
3176 Double_t red[9] = { 19./255., 42./255., 64./255., 88./255., 118./255., 147./255., 175./255., 187./255., 205./255.};
3177 Double_t green[9] = { 19./255., 55./255., 89./255., 125./255., 154./255., 169./255., 161./255., 129./255., 70./255.};
3178 Double_t blue[9] = { 19./255., 32./255., 47./255., 70./255., 100./255., 128./255., 145./255., 130./255., 75./255.};
3186 Double_t red[9] = { 33./255., 31./255., 42./255., 68./255., 86./255., 111./255., 141./255., 172./255., 227./255.};
3187 Double_t green[9] = { 255./255., 175./255., 145./255., 106./255., 88./255., 55./255., 15./255., 0./255., 0./255.};
3188 Double_t blue[9] = { 255./255., 205./255., 202./255., 203./255., 208./255., 205./255., 203./255., 206./255., 231./255.};
3196 Double_t red[9] = { 0./255., 25./255., 50./255., 79./255., 110./255., 145./255., 181./255., 201./255., 254./255.};
3197 Double_t green[9] = { 0./255., 16./255., 30./255., 46./255., 63./255., 82./255., 101./255., 124./255., 179./255.};
3198 Double_t blue[9] = { 0./255., 12./255., 21./255., 29./255., 39./255., 49./255., 61./255., 74./255., 103./255.};
3206 Double_t red[9] = { 0./255., 13./255., 30./255., 44./255., 72./255., 120./255., 156./255., 200./255., 247./255.};
3207 Double_t green[9] = { 0./255., 36./255., 84./255., 117./255., 141./255., 153./255., 151./255., 158./255., 247./255.};
3208 Double_t blue[9] = { 0./255., 94./255., 100./255., 82./255., 56./255., 66./255., 76./255., 131./255., 247./255.};
3216 Double_t red[9] = { 26./255., 51./255., 43./255., 33./255., 28./255., 35./255., 74./255., 144./255., 246./255.};
3217 Double_t green[9] = { 9./255., 24./255., 55./255., 87./255., 118./255., 150./255., 180./255., 200./255., 222./255.};
3218 Double_t blue[9] = { 30./255., 96./255., 112./255., 114./255., 112./255., 101./255., 72./255., 35./255., 0./255.};
3226 Double_t red[9] = { 0./255., 5./255., 65./255., 97./255., 124./255., 156./255., 189./255., 224./255., 255./255.};
3227 Double_t green[9] = { 32./255., 54./255., 77./255., 100./255., 123./255., 148./255., 175./255., 203./255., 234./255.};
3228 Double_t blue[9] = { 77./255., 110./255., 107./255., 111./255., 120./255., 119./255., 111./255., 94./255., 70./255.};
3234 ::Error(
"SetPalette",
"Unknown palette number %d", ncolors);
3237 paletteType = ncolors;
3240 if (alpha > 0.)
fgPalettesList.fArray[paletteType-51] += alpha/10.0f;
R__EXTERN TApplication * gApplication
static Int_t gDefinedColors
Number of defined colors.
static Float_t gColorThreshold
Color threshold used by GetColor.
static Int_t gLastDefinedColors
Previous number of defined colors.
static Int_t gHighestColorIndex
Highest color index defined.
char * Form(const char *fmt,...)
void InitializeGraphics()
Initialize the graphics environment.
static void NeedGraphicsLibs()
Static method.
Array of doubles (64 bits per element).
Array of integers (32 bits per element).
The color creation and management class.
Float_t fSaturation
Saturation.
static void SetPalette(Int_t ncolors, Int_t *colors, Float_t alpha=1.)
Static function.
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.
virtual void SetRGB(Float_t r, Float_t g, Float_t b)
Initialize this color and its associated colors.
static void RGBtoHLS(Float_t r, Float_t g, Float_t b, Float_t &h, Float_t &l, Float_t &s)
static Float_t HLStoRGB1(Float_t rn1, Float_t rn2, Float_t huei)
Static method. Auxiliary to HLS2RGB().
static Int_t GetColorPalette(Int_t i)
Static function returning the color number i in current palette.
static const TArrayI & GetPalette()
Static function returning the current active palette.
static ULong_t RGB2Pixel(Int_t r, Int_t g, Int_t b)
Convert r,g,b to graphics system dependent pixel value.
static ULong_t Number2Pixel(Int_t ci)
Static method that given a color index number, returns the corresponding pixel value.
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.
static Int_t GetColor(const char *hexcolor)
Static method returning color number for color specified by hex color string of form: "#rrggbb",...
static void InitializeColors()
Initialize colors used by the TCanvas based graphics (via TColor objects).
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:
Float_t fAlpha
Alpha (transparency)
static void InvertPalette()
Invert the current color palette.
static void CreateColorWheel()
Static function steering the creation of all colors in the color wheel.
virtual void ls(Option_t *option="") const
List this color with its attributes.
static void SaveColor(std::ostream &out, Int_t ci)
Save a color with index > 228 as a C++ statement(s) on output stream out.
static Int_t GetColorBright(Int_t color)
Static function: Returns the bright color number corresponding to n If the TColor object does not exi...
static Bool_t IsGrayscale()
Return whether all colors return grayscale values.
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::Ge...
const char * AsHexString() const
Return color as hexadecimal string.
static Int_t GetColorDark(Int_t color)
Static function: Returns the dark color number corresponding to n If the TColor object does not exist...
static const char * PixelAsHexString(ULong_t pixel)
Convert machine dependent pixel value (obtained via RGB2Pixel or via Number2Pixel() or via TColor::Ge...
void Allocate()
Make this color known to the graphics system.
void Copy(TObject &color) const
Copy this color to obj.
ULong_t GetPixel() const
Return pixel value corresponding to this color.
static Int_t CreateColorTableFromFile(TString fileName, Float_t alpha=1.)
Static function creating a color palette based on an input text file.
static void SetColorThreshold(Float_t t)
This method specifies the color threshold used by GetColor to retrieve a color.
Float_t fGreen
Fraction of Green.
static void CreateColorsCircle(Int_t offset, const char *name, UChar_t *rgb)
Create the "circle" colors in the color wheel.
TColor & operator=(const TColor &color)
static Int_t GetNumberOfColors()
Static function returning number of colors in the color palette.
static Int_t GetFreeColorIndex()
Static function: Returns a free color index which can be used to define a user custom color.
Float_t GetSaturation() const
static void HLStoRGB(Float_t h, Float_t l, Float_t s, Float_t &r, Float_t &g, Float_t &b)
TColor()
Default constructor.
Int_t fNumber
Color number identifier.
static void CreateColorsRectangle(Int_t offset, const char *name, UChar_t *rgb)
Create the "rectangular" colors in the color wheel.
Float_t fBlue
Fraction of Blue.
static void CreateColorsGray()
Create the Gray scale colors in the Color Wheel.
virtual void SetAlpha(Float_t a)
virtual ~TColor()
Color destructor.
virtual void Print(Option_t *option="") const
Dump this color with its attributes.
Float_t fRed
Fraction of Red.
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.
static Int_t GetColorTransparent(Int_t color, Float_t a)
Static function: Returns the transparent color number corresponding to n.
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.
static Bool_t DefinedColors()
Static function returning kTRUE if some new colors have been defined after initialisation or since th...
static void SetGrayscale(Bool_t set=kTRUE)
Set whether all colors should return grayscale values.
The TNamed class is the base class for all named ROOT classes.
virtual void Copy(TObject &named) const
Copy this to obj.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
virtual void SetName(const char *name)
Set the name of the TNamed.
virtual const char * GetName() const
Returns name of object.
virtual void AddAtAndExpand(TObject *obj, Int_t idx)
Add object at position idx.
Mother of all ROOT objects.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
const char * Data() const
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Short_t Max(Short_t a, Short_t b)
Short_t Min(Short_t a, Short_t b)
ULong_t fPixel
color pixel value (index in color table)
UShort_t fRed
red component (0..65535)
UShort_t fGreen
green component (0..65535)
UShort_t fBlue
blue component (0..65535)
UShort_t fMask
mask telling which color components are valid