59const unsigned nBasicColors = 
sizeof basicColors / 
sizeof basicColors[0];
 
   62Color_t CreateRandomGradientFill()
 
   68   const Double_t * 
const fromRGBA = basicColors[(std::rand() % (nBasicColors / 2))];
 
   70   const Double_t * 
const toRGBA = basicColors[nBasicColors / 2 + (std::rand() % (nBasicColors / 2))];
 
   72   const Double_t locations[] = {0., 1.};
 
   73   const Double_t rgbas[] = {fromRGBA[0], fromRGBA[1], fromRGBA[2], fromRGBA[3],
 
   74                             toRGBA[0], toRGBA[1], toRGBA[2], toRGBA[3]};
 
   85   assert(
gPad != 
nullptr && 
"add_ellipse, no pad to add ellipse");
 
   87   const Color_t newColor = CreateRandomGradientFill();
 
   89      ::Error(
"add_ellipse", 
"failed to find a new color index for a gradient fill");
 
  103void radialgradients()
 
  107   TCanvas * 
const cnv = 
new TCanvas(
"radial gradients", 
"radial gradients", 800, 800);
 
  110              "this demo requires OS X and ROOT built with --enable-cocoa");
 
  115   for (
unsigned i = 0; i < 100; ++i)
 
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
 
R__EXTERN TRandom * gRandom
 
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
 
void Update() override
Update canvas pad buffers.
 
void Draw(Option_t *option="") override
Draw this ellipse with its current attributes.
 
void Modified(Bool_t flag=1) override
 
Define a radial color gradient.
 
void SetRadialGradient(const Point ¢er, Double_t radius)
Set radial gradient.
 
virtual void SetSeed(ULong_t seed=0)
Set the random generator seed.
 
Double_t Rndm() override
Machine independent random number generator.
 
unsigned FindFreeCustomColorIndices(Color_t(&indices)[N])