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);
213 hi =
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;
297 if (ms > 7 && ms <= 19) ms = 20;
298 if (ms == 4) ms = 24;
301 const Int_t kBASEMARKER = 8;
303 if (ms == 6) msize *= 0.2;
304 if (ms == 7) msize *= 0.3;
638 Int_t fais = 0 , fasi = 0;
646 static const UInt_t gCachePtSize = 200;
647 static TPoint gPointCache[gCachePtSize];
654 static char dashList[10];
655 Int_t dashLength = 0;
665 dash =
new char[ndashes];
667 for (
int j = 0; j < ndashes; j++) {
670 dash[j] = (char)(it/4);
673 dashSize =
TMath::Min((
int)
sizeof(dashList), ndashes);
675 for (
int i = 0; i < dashSize; i++ ) {
676 dashList[i] = dash[i];
677 dashLength += dashList[i];
724 if (!line && ((fais == 3) || (fais == 2)) && (fasi > 100) ) {
729 if (n+1 < gCachePtSize) {
730 pt = (
TPoint*)&gPointCache;
749 for (
UInt_t i = 0; i <
n; i++) {
756 const char *stipple = (fais == 3) && (fasi > 0) && (fasi < 26) ? (
const char*)
gStipples[fasi] : 0;
783 if (del)
delete []
pt;
800 const char* pDash,
const char* col,
UInt_t thick)
807 for (
Int_t i = 1; i < nn; i++) {
845 TText t(x, y, chars);
868 TText t(x, y, chars);
895 if (!
gPad || !
fImage || (w <= 0) || (h <= 0)) {
void DrawDashPolyLine(Int_t npoints, TPoint *pt, UInt_t nDash, const char *pDash, const char *col, UInt_t thick)
draw dashed polyline
void CellArrayBegin(Int_t W, Int_t H, Double_t x1, Double_t x2, Double_t y1, Double_t y2)
cell array begin
virtual const char * GetName() const
Returns name of object.
void CellArrayEnd()
Cell array end.
static UInt_t * gCellArrayColors
void Close(Option_t *opt="")
Close a image file.
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)
Collectable string class.
virtual void PutPixel(Int_t, Int_t, const char *="#000000")
virtual Bool_t IsValid() const
R__EXTERN TStyle * gStyle
virtual void WriteImage(const char *, EImageFileTypes=TImage::kUnknown)
virtual void SetName(const char *name)
Set the name of the TNamed.
Float_t GetImageScaling() const
Size_t fMarkerSize
Marker size.
void Text(Double_t x, Double_t y, const char *string)
Draw text.
Short_t Min(Short_t a, Short_t b)
TObject * At(Int_t idx) const
static Int_t gCellArrayIdx
virtual void DrawPolyLine(UInt_t, TPoint *, const char *="#000000", UInt_t=1, TImage::ECoordMode=kCoordModeOrigin)
static Int_t gCellArrayY1
virtual void FillRectangle(const char *=0, Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
static const double x2[5]
static constexpr double m3
TImageDump()
Default constructor.
virtual void DrawRectangle(UInt_t, UInt_t, UInt_t, UInt_t, const char *="#000000", UInt_t=1)
void DrawPS(Int_t n, Float_t *xw, Float_t *yw)
not used
Base class for several text objects.
void SetColor(Float_t r, Float_t g, Float_t b)
Set color with its R G B components.
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
Style_t fMarkerStyle
Marker style.
Int_t XtoPixel(Double_t x)
x to pixel
static Int_t gCellArrayX1
Float_t fTextAngle
Text angle.
static Int_t gCellArrayX2
Style_t fLineStyle
Line style.
const char * GetLineStyleString(Int_t i=1) const
Return line style string (used by PostScript).
Color_t fLineColor
Line color.
virtual void SetTextAngle(Float_t tangle=0)
Set the text angle.
virtual void DrawDashLine(UInt_t, UInt_t, UInt_t, UInt_t, UInt_t, const char *, const char *="#000000", UInt_t=1)
Width_t fLineWidth
Line width.
virtual ~TImageDump()
destructor
static constexpr double m2
Save canvas as an image (GIF, JPEG, PNG, XPM, TIFF etc.).
Int_t fType
PostScript workstation type.
Font_t fTextFont
Text font.
static constexpr double ms
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.
const unsigned char gStipples[26][32]
void Open(const char *filename, Int_t type=-111)
Open a image file.
TObjArray * Tokenize(const TString &delim) const
This function is used to isolate sequential tokens in a TString.
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)
static const double x1[5]
void DrawPolyMarker(Int_t n, Float_t *x, Float_t *y)
not used
The color creation and management class.
virtual void FillPolygon(UInt_t, TPoint *, const char *="#000000", const char *=0, UInt_t=16, UInt_t=16)
Float_t fTextSize
Text size.
virtual void DrawLine(UInt_t, UInt_t, UInt_t, UInt_t, const char *="#000000", UInt_t=1)
static Int_t gCellArrayY2
Color_t fFillColor
Fill area color.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
R__EXTERN TVirtualPS * gVirtualPS
Int_t GetEntries() const
Return the number of objects in array (i.e.
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
float type_of_call hi(const int &, const int &)
TVirtualPS is an abstract interface to Postscript, PDF, SVG.
virtual void DrawCircle(Int_t, Int_t, Int_t, const char *="#000000", Int_t=1)
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
static TImage * Create()
Create an image.
const char * AsHexString() const
Return color as hexadecimal string.
Int_t YtoPixel(Double_t y)
y to pixel
virtual void DrawFillArea(UInt_t, TPoint *, const char *="#000000", const char *=0, UInt_t=16, UInt_t=16)
Color_t fMarkerColor
Marker color.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
Color_t fTextColor
Text color.
void CellArrayFill(Int_t r, Int_t g, Int_t b)
Cell array fill.
void DrawBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Draw a Box.
Style_t fFillStyle
Fill area style.
Short_t fTextAlign
Text alignment.
virtual void BeginPaint(Bool_t=kTRUE)