28namespace Util = MacOSX::Util;
 
   40template<
class SRC, 
class DST>
 
   41struct GradientFactory {
 
   46             "GradientFactory::CreateGradient, parameter 'colorSpace' is null");
 
   48             "GradientFactory::CreateGradient, parameter 'extendedColor' is null");
 
   64struct GradientFactory<
DST, 
DST> {
 
   69             "GradientFactory::CreateGradient, parameter 'colorSpace' is null");
 
   71             "GradientFactory::CreateGradient, parameter 'extendedColor' is null");
 
   79struct GradientParameters {
 
  118   assert(
nPoints > 2 && 
"FindBoundingBox, invalid number of points in a polygon");
 
  119   assert(
xy != 
nullptr && 
"FindBoundingBox, parameter 'xy' is null");
 
  141template<
class GradientType>
 
  145                               GradientParameters ¶ms)
 
  148          "CalculateGradientStartEnd, parameter 'grad' is null");
 
  150          "CalculateGradientStartEnd, invalid destination drawable size");
 
  152          "CalculateGradientStartEnd, parameter 'n' is not a valid number of points");
 
  154          "CalculateGradientStartEnd, parameter 'polygon' is null");
 
  163   if (!bbox.size.width || !bbox.size.height)
 
  169      start.x = bbox.size.width * 
start.x + bbox.origin.x;
 
  170      end.x = bbox.size.width * 
end.x + bbox.origin.x;
 
  172      start.y = bbox.size.height * 
start.y + bbox.origin.y;
 
  173      end.y = bbox.size.height * 
end.y + bbox.origin.y;
 
  181   params.fStartPoint = 
start;
 
  182   params.fEndPoint = 
end;
 
  191                               GradientParameters ¶ms)
 
  193   assert(grad != 
nullptr && 
"CalculateGradientRadiuses, parameter 'grad' is null");
 
  195          "CalculateGradientRadiuses, invalid destination drawable size");
 
  197          "CalculateGradientRadiuses, extended radial gradient expected");
 
  198   assert(
n > 2 && 
"CalculateGradientRadiuses, parameter 'n' is not a valid number of points");
 
  200          "CalculateGradientRadiuses, parameter 'polygon' is null");
 
  204   if (!bbox.size.width || !bbox.size.height)
 
  211      const CGFloat 
scale = std::max(bbox.size.width, bbox.size.height);
 
  232                                             GradientParameters ¶ms)
 
  235          "CalculateSimpleRadialGradientParameters, parameter 'grad' is null");
 
  237          "CalculateSimpleRadialGradientParameters, invalid gradient type");
 
  239          "CCalculateSimpleRadialGradientParameters, invalid destination drawable size");
 
  241          "CalculateSimpleRadialGradientParameters, parameter 'n' is not a valid number of points");
 
  243          "CalculateSimpleRadialGradientParameters, parameter 'polygon' is null");
 
  247   if (!bbox.size.width || !bbox.size.height)
 
  255      radius *= std::max(bbox.size.width, bbox.size.height);
 
  256      center.x = bbox.size.width * center.x + bbox.origin.x;
 
  257      center.y = bbox.size.height * center.y + bbox.origin.y;
 
  264   params.fStartPoint = center;
 
  265   params.fStartRadius = 
radius;
 
  274                                 GradientParameters ¶ms)
 
  277          "CalculateGradientParameters, parameter 'extendedColor' is null");
 
  279          "CalculateGradientParameters, invalid destination drawable size");
 
  280   assert(
n > 2 && 
"CalculateGradientParameters, parameter 'n' is not a valid number of points");
 
  282          "CalculateGradientParameters, parameter 'polygon' is null");
 
  296   assert(0 && 
"CalculateGradientParamters, unknown gradient type");
 
  306   assert(ctx != 
nullptr && 
"SetFillColor, ctx parameter is null");
 
  317   const CGFloat alpha = color->
GetAlpha();
 
 
  329   assert(
data != 
nullptr && 
"DrawPattern, data parameter is null");
 
  330   assert(ctx != 
nullptr && 
"DrawPattern, ctx parameter is null");
 
  335   for (
int i = 30, 
y = 0; i >= 0; i -= 2, ++
y) {
 
  337      for (
int j = 0; 
j < 8; ++
j, ++
x) {
 
  342      for (
int j = 0; 
j < 8; ++
j, ++
x) {
 
 
  352   assert(ctx != 
nullptr && 
"SetFillPattern, ctx parameter is null");
 
 
  393   assert(ctx != 
nullptr && 
"SetFillAreaParameters, ctx parameter is null");
 
  400         ::Error(
"SetFillAreaParameters", 
"Line color for index %d was not found", 
int(
gVirtualX->GetLineColor()));
 
  406         ::Error(
"SetFillAreaParameters", 
"Fill color for index %d was not found", 
int(
gVirtualX->GetFillColor()));
 
  418         ::Error(
"SetFillAreaParameters", 
"SetFillPattern failed");
 
 
  449   assert(ctx != 
nullptr && 
"DrawFillArea, ctx parameter is null");
 
  450   assert(
xy != 
nullptr && 
"DrawFillArea, xy parameter is null");
 
  455   for (
Int_t i = 1; i < 
n; ++i)
 
 
  484   assert(ctx != 
nullptr && 
"DrawPolygonWithGradientFill, ctx parameter is null");
 
  485   assert(
nPoints != 0 && 
"DrawPolygonWithGradientFill, nPoints parameter is 0");
 
  486   assert(
xy != 
nullptr && 
"DrawPolygonWithGradientFill, xy parameter is null");
 
  488          "DrawPolygonWithGradientFill, extendedColor parameter is null");
 
  495      ::Error(
"DrawPolygonWithGradientFill", 
"CGPathCreateMutable failed");
 
  502      ::Error(
"DrawPolygonWithGradientFill", 
"CGColorSpaceCreateDeviceRGB failed");
 
  508   if (!gradient.Get()) {
 
  509      ::Error(
"DrawPolygonWithGradientFill", 
"CGGradientCreateWithColorComponents failed");
 
  536   GradientParameters params;
 
  541   if (
gr && (params.fStartRadius || params.fEndRadius)) {
 
  544                                     params.fStartPoint, params.fStartRadius,
 
  549                                     params.fEndPoint, params.fEndRadius,
 
  555                                  params.fStartPoint, params.fEndPoint,
 
 
const unsigned char gStipples[26][32]
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
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 data
Option_t Option_t DrawFillArea
Option_t Option_t SetLineColor
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
Option_t Option_t TPoint xy
Option_t Option_t TPoint TPoint const char mode
Option_t Option_t TPoint TPoint const char y2
Option_t Option_t SetFillColor
Option_t Option_t TPoint TPoint const char y1
TColorGradient extends basic TColor.
ECoordinateMode GetCoordinateMode() const
Get coordinate mode.
The color creation and management class.
virtual void GetRGB(Float_t &r, Float_t &g, Float_t &b) const
static Int_t GetColor(const char *hexcolor)
Static method returning color number for color specified by hex color string of form: "#rrggbb",...
Double_t GetRadius() const
Get radius.
Double_t GetR2() const
Get R2.
const Point & GetCenter() const
Get center.
EGradientType GetGradientType() const
Get gradient type.
void DrawBox(CGContextRef ctx, Int_t x1, Int_t y1, Int_t x2, Int_t y2, bool hollow)
void DrawPattern(void *data, CGContextRef ctx)
Bool_t SetFillAreaParameters(CGContextRef ctx, unsigned *patternIndex)
void DrawPolygonWithGradientFill(CGContextRef ctx, const TColorGradient *extendedColor, const CGSize &sizeOfDrawable, Int_t nPoints, const TPoint *xy, Bool_t drawShadow)
bool SetFillPattern(CGContextRef ctx, const unsigned *patternIndex)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...