135 if (ix1<0 || ix2 <0 || iy1 < 0 || iy2 <0)
return;
156 if ((fillis == 3) || (fillis == 2)) {
158 x[0] =
x1;
y[0] = y1;
159 x[1] =
x2;
y[1] = y1;
160 x[2] =
x2;
y[2] = y2;
161 x[3] =
x1;
y[3] = y2;
164 if ((fillsi > 0) && (fillsi < 26)) {
165 x[0] =
x1;
y[0] = y1;
166 x[1] =
x2;
y[1] = y1;
167 x[2] =
x2;
y[2] = y2;
168 x[3] =
x1;
y[3] = y2;
204 bordersize = bordersize < 1 ? 1 : bordersize;
209 lo =
gROOT->GetColor(10);
216 Short_t pxl,pyl,pxt,pyt,px1,py1,px2,py2;
220 if (px1 < px2) {pxl = px1; pxt = px2;}
221 else {pxl = px2; pxt = px1;}
222 if (py1 > py2) {pyl = py1; pyt = py2;}
223 else {pyl = py2; pyt = py1;}
225 if (bordersize == 1) {
237 col =
gROOT->GetColor(light);
239 col =
gROOT->GetColor(10);
248 frame[0].
fX = pxl; frame[0].
fY = pyl;
249 frame[1].
fX = pxl + bordersize; frame[1].
fY = pyl - bordersize;
250 frame[2].
fX = pxl + bordersize; frame[2].
fY = pyt + bordersize;
251 frame[3].
fX = pxt - bordersize; frame[3].
fY = pyt + bordersize;;
252 frame[4].
fX = pxt; frame[4].
fY = pyt;
253 frame[5].
fX = pxl; frame[5].
fY = pyt;
255 if (mode == -1) col = lo;
260 frame[0].
fX = pxl; frame[0].
fY = pyl;
261 frame[1].
fX = pxl + bordersize; frame[1].
fY = pyl - bordersize;
262 frame[2].
fX = pxt - bordersize; frame[2].
fY = frame[1].
fY;
263 frame[3].
fX = frame[2].
fX; frame[3].
fY = pyt + bordersize;
264 frame[4].
fX = pxt; frame[4].
fY = pyt;
265 frame[5].
fX = pxt; frame[5].
fY = pyl;
267 if (mode == -1) col =
hi;
302 else if (
ms >= 9 &&
ms <= 19)
306 const Int_t kBASEMARKER = 8;
308 if (
ms == 6) msize *= 0.2;
309 if (
ms == 7) msize *= 0.3;
326 if (
ms==20)
ms = 120;
652 Int_t fais = 0 , fasi = 0;
660 static const UInt_t gCachePtSize = 200;
661 static TPoint gPointCache[gCachePtSize];
668 static char dashList[10];
669 Int_t dashLength = 0;
679 dash =
new char[ndashes];
681 for (
int j = 0; j < ndashes; j++) {
683 sscanf(((
TObjString*)tokens->
At(j))->GetName(),
"%d", &it);
684 dash[j] = (char)(it/4);
687 dashSize =
TMath::Min((
int)
sizeof(dashList), ndashes);
689 for (
int i = 0; i < dashSize; i++ ) {
690 dashList[i] = dash[i];
691 dashLength += dashList[i];
738 if (!
line && ((fais == 3) || (fais == 2)) && (fasi > 100) ) {
743 if (
n+1 < gCachePtSize) {
763 for (
UInt_t i = 0; i <
n; i++) {
770 const char *stipple = (fais == 3) && (fasi > 0) && (fasi < 26) ? (
const char*)
gStipples[fasi] : 0;
797 if (del)
delete []
pt;
814 const char* pDash,
const char* col,
UInt_t thick)
821 for (
Int_t i = 1; i < nn; i++) {
const unsigned char gStipples[26][32]
static const double x2[5]
static const double x1[5]
float type_of_call hi(const int &, const int &)
static Int_t gCellArrayX2
static Int_t gCellArrayX1
static UInt_t * gCellArrayColors
static Int_t gCellArrayIdx
static Int_t gCellArrayY2
static Int_t gCellArrayY1
R__EXTERN TStyle * gStyle
R__EXTERN TVirtualPS * gVirtualPS
Style_t fFillStyle
Fill area style.
Color_t fFillColor
Fill area color.
Width_t fLineWidth
Line width.
Style_t fLineStyle
Line style.
Color_t fLineColor
Line color.
Color_t fMarkerColor
Marker color.
static Width_t GetMarkerLineWidth(Style_t style)
Internal helper function that returns the line width of the given marker style (0 = filled marker)
Size_t fMarkerSize
Marker size.
Style_t fMarkerStyle
Marker style.
static Style_t GetMarkerStyleBase(Style_t style)
Internal helper function that returns the corresponding marker style with line width 1 for the given ...
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
Color_t fTextColor
Text color.
Float_t fTextAngle
Text angle.
virtual void SetTextAngle(Float_t tangle=0)
Set the text angle.
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
Font_t fTextFont
Text font.
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
Short_t fTextAlign
Text alignment.
Float_t fTextSize
Text size.
The color creation and management class.
const char * AsHexString() const
Return color as hexadecimal string.
Save canvas as an image (GIF, JPEG, PNG, XPM, TIFF etc.).
void DrawBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Draw a Box.
virtual ~TImageDump()
destructor
void Text(Double_t x, Double_t y, const char *string)
Draw text.
void DrawDashPolyLine(Int_t npoints, TPoint *pt, UInt_t nDash, const char *pDash, const char *col, UInt_t thick)
draw dashed polyline
TImageDump()
Default constructor.
Int_t YtoPixel(Double_t y)
y to pixel
void SetColor(Float_t r, Float_t g, Float_t b)
Set color with its R G B components.
void CellArrayFill(Int_t r, Int_t g, Int_t b)
Cell array fill.
void Close(Option_t *opt="")
Close a image file.
void Open(const char *filename, Int_t type=-111)
Open a image file.
void DrawPS(Int_t n, Float_t *xw, Float_t *yw)
not used
void CellArrayEnd()
Cell array end.
void DrawPolyMarker(Int_t n, Float_t *x, Float_t *y)
not used
void DrawFrame(Double_t xl, Double_t yl, Double_t xt, Double_t yt, Int_t mode, Int_t border, Int_t dark, Int_t light)
Draw a Frame around a box.
void CellArrayBegin(Int_t W, Int_t H, Double_t x1, Double_t x2, Double_t y1, Double_t y2)
cell array begin
Int_t fType
PostScript workstation type.
Int_t XtoPixel(Double_t x)
x to pixel
virtual void FillPolygon(UInt_t, TPoint *, const char *="#000000", const char *=0, UInt_t=16, UInt_t=16)
virtual void DrawText(Int_t=0, Int_t=0, const char *="", Int_t=12, const char *=0, const char *="fixed", EText3DType=TImage::kPlain, const char *=0, Float_t=0)
virtual void DrawDashLine(UInt_t, UInt_t, UInt_t, UInt_t, UInt_t, const char *, const char *="#000000", UInt_t=1)
virtual void DrawPolyLine(UInt_t, TPoint *, const char *="#000000", UInt_t=1, TImage::ECoordMode=kCoordModeOrigin)
virtual void PutPixel(Int_t, Int_t, const char *="#000000")
virtual void DrawCellArray(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, UInt_t *)
virtual void DrawBox(Int_t, Int_t, Int_t, Int_t, const char *="#000000", UInt_t=1, Int_t=0)
static TImage * Create()
Create an image.
virtual void DrawLine(UInt_t, UInt_t, UInt_t, UInt_t, const char *="#000000", UInt_t=1)
virtual void WriteImage(const char *, EImageFileTypes=TImage::kUnknown)
virtual Bool_t IsValid() const
virtual void DrawRectangle(UInt_t, UInt_t, UInt_t, UInt_t, const char *="#000000", UInt_t=1)
virtual void DrawCircle(Int_t, Int_t, Int_t, const char *="#000000", Int_t=1)
virtual void DrawFillArea(UInt_t, TPoint *, const char *="#000000", const char *=0, UInt_t=16, UInt_t=16)
virtual void FillRectangle(const char *=0, Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
virtual void BeginPaint(Bool_t=kTRUE)
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.
Int_t GetEntries() const
Return the number of objects in array (i.e.
TObject * At(Int_t idx) const
Collectable string class.
TObjArray * Tokenize(const TString &delim) const
This function is used to isolate sequential tokens in a TString.
Float_t GetImageScaling() const
const char * GetLineStyleString(Int_t i=1) const
Return line style string (used by PostScript).
Base class for several text objects.
TVirtualPS is an abstract interface to Postscript, PDF, SVG.
static constexpr double ms
static constexpr double m3
static constexpr double m2
Double_t Floor(Double_t x)
Short_t Min(Short_t a, Short_t b)