34 Color_t colorIndices[3] = {};
35 if (ROOT::GLTutorials::FindFreeCustomColorIndices(colorIndices) != 3) {
36 ::Error(
"gradients",
"failed to create new custom colors");
41 const Color_t &radialFill = colorIndices[0];
42 const Color_t &linearFill = colorIndices[1];
43 const Color_t &transparentFill = colorIndices[2];
45 gStyle->SetCanvasPreferGL(kTRUE);
47 TCanvas *
const c =
new TCanvas(
"cpie",
"Gradient colours demo", 700, 700);
50 ::Error(
"gradients",
"This macro requires OpenGL");
66 const Double_t locations[] = {0., 1.};
69 const Double_t rgbaData1[] = {0.2, 0.2, 0.2, 1.,
71 TLinearGradient *
const gradientFill1 =
new TLinearGradient(linearFill, 2, locations, rgbaData1);
73 gradientFill1->SetStartEnd(TColorGradient::Point(0., 0.), TColorGradient::Point(1., 1.));
75 c->SetFillColor(linearFill);
79 TText *
const t =
new TText(0.05, 0.7,
"Can you see the text?");
85 TPad *
const pad =
new TPad(
"p",
"p", 0., 0., 1., 1.);
88 new TColor(transparentFill, 1., 1., 1.,
"transparent_fill_color", 0.);
89 pad->SetFillColor(transparentFill);
96 const Double_t rgbaData2[] = {1., 0.8, 0., 1.,
99 TRadialGradient *
const gradientFill2 =
new TRadialGradient(radialFill, 2,
100 locations, rgbaData2);
104 gradientFill2->SetCoordinateMode(TColorGradient::kPadMode);
107 gradientFill2->SetRadialGradient(TColorGradient::Point(0.5, 0.5), 0.4);
110 const UInt_t nSlices = 5;
112 Double_t values[nSlices] = {0.8, 1.2, 1.2, 0.8, 1.};
113 Int_t colors[nSlices] = {radialFill, radialFill, radialFill,
114 radialFill, radialFill};
116 TPie *
const pie =
new TPie(
"pie",
"TPie:", nSlices, values, colors);
118 pie->SetEntryRadiusOffset(2, 0.05);
120 pie->SetLabelsOffset(-0.08);