Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TPad.h
Go to the documentation of this file.
1// @(#)root/gpad:$Id$
2// Author: Rene Brun 12/12/94
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TPad
13#define ROOT_TPad
14
15#include "TVirtualPad.h"
16#include "TAttBBox2D.h"
17#include <vector>
18
21class TBrowser;
22class TBox;
23class TLegend;
24class TArrow;
25class TPoint;
26class TWebCanvas;
27
28class TPad : public TVirtualPad, public TAttBBox2D {
29
30friend class TWebCanvas;
31
32private:
33 TObject *fTip{nullptr}; ///<! tool tip associated with box
34
35protected:
36 Double_t fX1; ///< X of lower X coordinate
37 Double_t fY1; ///< Y of lower Y coordinate
38 Double_t fX2; ///< X of upper X coordinate
39 Double_t fY2; ///< Y of upper Y coordinate
40
41 Double_t fXtoAbsPixelk; ///< Conversion coefficient for X World to absolute pixel
42 Double_t fXtoPixelk; ///< Conversion coefficient for X World to pixel
43 Double_t fXtoPixel; ///< xpixel = fXtoPixelk + fXtoPixel*xworld
44 Double_t fYtoAbsPixelk; ///< Conversion coefficient for Y World to absolute pixel
45 Double_t fYtoPixelk; ///< Conversion coefficient for Y World to pixel
46 Double_t fYtoPixel; ///< ypixel = fYtoPixelk + fYtoPixel*yworld
47
48 Double_t fUtoAbsPixelk; ///< Conversion coefficient for U NDC to absolute pixel
49 Double_t fUtoPixelk; ///< Conversion coefficient for U NDC to pixel
50 Double_t fUtoPixel; ///< xpixel = fUtoPixelk + fUtoPixel*undc
51 Double_t fVtoAbsPixelk; ///< Conversion coefficient for V NDC to absolute pixel
52 Double_t fVtoPixelk; ///< Conversion coefficient for V NDC to pixel
53 Double_t fVtoPixel; ///< ypixel = fVtoPixelk + fVtoPixel*vndc
54
55 Double_t fAbsPixeltoXk; ///< Conversion coefficient for absolute pixel to X World
56 Double_t fPixeltoXk; ///< Conversion coefficient for pixel to X World
57 Double_t fPixeltoX; ///< xworld = fPixeltoXk + fPixeltoX*xpixel
58 Double_t fAbsPixeltoYk; ///< Conversion coefficient for absolute pixel to Y World
59 Double_t fPixeltoYk; ///< Conversion coefficient for pixel to Y World
60 Double_t fPixeltoY; ///< yworld = fPixeltoYk + fPixeltoY*ypixel
61
62 Double_t fXlowNDC; ///< X bottom left corner of pad in NDC [0,1]
63 Double_t fYlowNDC; ///< Y bottom left corner of pad in NDC [0,1]
66 Double_t fWNDC; ///< Width of pad along X in Normalized Coordinates (NDC)
67 Double_t fHNDC; ///< Height of pad along Y in Normalized Coordinates (NDC)
68
69 Double_t fAbsXlowNDC; ///< Absolute X top left corner of pad in NDC [0,1]
70 Double_t fAbsYlowNDC; ///< Absolute Y top left corner of pad in NDC [0,1]
71 Double_t fAbsWNDC; ///< Absolute Width of pad along X in NDC
72 Double_t fAbsHNDC; ///< Absolute Height of pad along Y in NDC
73
74 Double_t fUxmin; ///< Minimum value on the X axis
75 Double_t fUymin; ///< Minimum value on the Y axis
76 Double_t fUxmax; ///< Maximum value on the X axis
77 Double_t fUymax; ///< Maximum value on the Y axis
78
79 Double_t fTheta; ///< theta angle to view as lego/surface
80 Double_t fPhi; ///< phi angle to view as lego/surface
81
82 Double_t fAspectRatio; ///< ratio of w/h in case of fixed ratio
83
84 Int_t fPixmapID; ///<! Off-screen pixmap identifier
85 Int_t fGLDevice; ///<! OpenGL off-screen pixmap identifier
88 Int_t fNumber; ///< pad number identifier
89 Int_t fTickx; ///< Set to 1 if tick marks along X
90 Int_t fTicky; ///< Set to 1 if tick marks along Y
91 Int_t fLogx; ///< (=0 if X linear scale, =1 if log scale)
92 Int_t fLogy; ///< (=0 if Y linear scale, =1 if log scale)
93 Int_t fLogz; ///< (=0 if Z linear scale, =1 if log scale)
94 Int_t fPadPaint; ///< Set to 1 while painting the pad
95 Int_t fCrosshair; ///< Crosshair type (0 if no crosshair requested)
96 Int_t fCrosshairPos; ///< Position of crosshair
97 Short_t fBorderSize; ///< pad bordersize in pixels
98 Short_t fBorderMode; ///< Bordermode (-1=down, 0 = no border, 1=up)
99 Bool_t fModified; ///< Set to true when pad is modified
100 Bool_t fGridx; ///< Set to true if grid along X
101 Bool_t fGridy; ///< Set to true if grid along Y
102 Bool_t fAbsCoord; ///< Use absolute coordinates
103 Bool_t fEditable; ///< True if canvas is editable
104 Bool_t fFixedAspectRatio; ///< True if fixed aspect ratio
105 TPad *fMother{nullptr}; ///<! pointer to mother of the list
106 TCanvas *fCanvas{nullptr}; ///<! Pointer to mother canvas
107 TList *fPrimitives{nullptr};///<->List of primitives (subpads)
108 TList *fExecs{nullptr}; ///< List of commands to be executed when a pad event occurs
109 TString fName; ///< Pad name
110 TString fTitle; ///< Pad title
111 TFrame *fFrame{nullptr}; ///<! Pointer to 2-D frame (if one exists)
112 TView *fView{nullptr}; ///<! Pointer to 3-D view (if one exists)
113 TObject *fPadPointer{nullptr};///<! free pointer
114 TObject *fPadView3D{nullptr};///<! 3D View of this TPad
115 static Int_t fgMaxPickDistance; ///< Maximum Pick Distance
116 Int_t fNumPaletteColor; ///< Number of objects with an automatic color
117 Int_t fNextPaletteColor; ///< Next automatic color
118 std::vector<Bool_t> fCollideGrid;///<! Grid used to find empty space when adding a box (Legend) in a pad
119 Int_t fCGnx; ///<! Size of the collide grid along x
120 Int_t fCGny; ///<! Size of the collide grid along y
121
122 // 3D Viewer support
123 TVirtualViewer3D *fViewer3D{nullptr};///<! Current 3D viewer
124
126 Int_t DistancetoPrimitive(Int_t px, Int_t py) override;
127 void ExecuteEvent(Int_t event, Int_t px, Int_t py) override;
128 virtual void HideToolTip(Int_t event);
129 void PaintBorder(Color_t color, Bool_t tops);
130 void PaintBorderPS(Double_t xl,Double_t yl,Double_t xt,Double_t yt,Int_t bmode,Int_t bsize,Int_t dark,Int_t light) override;
131 void PaintDate();
132 void SavePrimitive(std::ostream &out, Option_t *option = "") override;
133 void SetBatch(Bool_t batch=kTRUE) override;
134
135private:
136 TPad(const TPad &pad) = delete;
137 TPad &operator=(const TPad &rhs) = delete;
138
140 void DrawDist(Rectangle_t aBBox, Rectangle_t bBBox, char mode);
141
149
150public:
151 // TPad status bits
152 enum {
153 kFraming = BIT(6), ///< Frame is requested
154 kHori = BIT(9), ///< Pad is horizontal
155 kClipFrame = BIT(10), ///< Clip on frame
156 kPrintingPS = BIT(11), ///< PS Printing
157 kCannotMove = BIT(12), ///< Fixed position
158 kClearAfterCR = BIT(14) ///< Clear after CR
159 };
160
161 TPad();
162 TPad(const char *name, const char *title, Double_t xlow,
163 Double_t ylow, Double_t xup, Double_t yup,
164 Color_t color=-1, Short_t bordersize=-1, Short_t bordermode=-2);
165 ~TPad() override;
166 void AbsCoordinates(Bool_t set) override { fAbsCoord = set; }
169 void AbsPixeltoXY(Double_t xpixel, Double_t ypixel, Double_t &x, Double_t &y) override;
170 void Add(TObject *obj, Option_t *opt = "", Bool_t modified = kTRUE) override;
171 void AddFirst(TObject *obj, Option_t *opt = "", Bool_t modified = kTRUE) override;
172 void AddExec(const char *name, const char *command) override;
173 virtual void AutoExec();
174 void Browse(TBrowser *b) override;
175 TLegend *BuildLegend(Double_t x1=0.3, Double_t y1=0.21, Double_t x2=0.3, Double_t y2=0.21, const char *title="", Option_t *option = "") override; // *MENU*
176 TVirtualPad *cd(Int_t subpadnumber=0) override; // *MENU*
177 void Clear(Option_t *option="") override;
178 virtual Int_t Clip(Float_t *x, Float_t *y, Float_t xclipl, Float_t yclipb, Float_t xclipr, Float_t yclipt);
179 Int_t Clip(Double_t *x, Double_t *y, Double_t xclipl, Double_t yclipb, Double_t xclipr, Double_t yclipt) override;
180 virtual Int_t ClippingCode(Double_t x, Double_t y, Double_t xcl1, Double_t ycl1, Double_t xcl2, Double_t ycl2);
181 virtual Int_t ClipPolygon(Int_t n, Double_t *x, Double_t *y, Int_t nn, Double_t *xc, Double_t *yc, Double_t xclipl, Double_t yclipb, Double_t xclipr, Double_t yclipt);
182 void Close(Option_t *option="") override;
183 virtual void Closed() { Emit("Closed()"); } // *SIGNAL*
184 void CopyPixmap() override;
185 void CopyPixmaps() override;
186 void DeleteExec(const char *name) override;
187 void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0) override; // *MENU*
188 void DivideRatios(Int_t nrows, Int_t ncolumns, const std::vector<double>& widthRatios={}, const std::vector<double>& heightRatios={}, const double canvasTopMargin=0., const double canvasLeftMargin=0.);
189 virtual void DivideSquare(Int_t n, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0);
190 void Draw(Option_t *option="") override;
191 void DrawClassObject(const TObject *obj, Option_t *option="") override;
192 static void DrawColorTable();
193 virtual void DrawCrosshair();
194 TH1F *DrawFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, const char *title="") override;
195 void ExecuteEventAxis(Int_t event, Int_t px, Int_t py, TAxis *axis) override;
196 TObject *FindObject(const char *name) const override;
197 TObject *FindObject(const TObject *obj) const override;
198 void UseCurrentStyle() override; // *MENU*
199 Short_t GetBorderMode() const override { return fBorderMode;}
200 Short_t GetBorderSize() const override { return fBorderSize;}
202 Int_t GetCanvasID() const override;
203 TCanvasImp *GetCanvasImp() const override;
204 TFrame *GetFrame() override;
205 Int_t GetEvent() const override;
206 Int_t GetEventX() const override;
207 Int_t GetEventY() const override;
208 Color_t GetHighLightColor() const override;
211 void GetPadPar(Double_t &xlow, Double_t &ylow, Double_t &xup, Double_t &yup) override;
212 Double_t GetXlowNDC() const override { return fXlowNDC; }
213 Double_t GetYlowNDC() const override { return fYlowNDC; }
214 /// Get width of pad along X in Normalized Coordinates (NDC)
215 Double_t GetWNDC() const override { return fWNDC; }
216 /// Get height of pad along Y in Normalized Coordinates (NDC)
217 Double_t GetHNDC() const override { return fHNDC; }
218 UInt_t GetWw() const override;
219 UInt_t GetWh() const override;
220 UInt_t GetPadWidth() const override;
221 UInt_t GetPadHeight() const override;
222 Double_t GetAbsXlowNDC() const override { return fAbsXlowNDC; }
223 Double_t GetAbsYlowNDC() const override { return fAbsYlowNDC; }
224 Double_t GetAbsWNDC() const override { return fAbsWNDC; }
225 Double_t GetAbsHNDC() const override { return fAbsHNDC; }
226 Double_t GetAspectRatio() const override { return fAspectRatio; }
227 Double_t GetPhi() const override { return fPhi; }
228 Double_t GetTheta() const override { return fTheta; }
229 ///Returns the minimum x-coordinate value visible on the pad. If log axis the returned value is in decades.
230 Double_t GetUxmin() const override { return fUxmin; }
231 ///Returns the minimum y-coordinate value visible on the pad. If log axis the returned value is in decades.
232 Double_t GetUymin() const override { return fUymin; }
233 ///Returns the maximum x-coordinate value visible on the pad. If log axis the returned value is in decades.
234 Double_t GetUxmax() const override { return fUxmax; }
235 ///Returns the maximum y-coordinate value visible on the pad. If log axis the returned value is in decades.
236 Double_t GetUymax() const override { return fUymax; }
237 Bool_t GetGridx() const override { return fGridx; }
238 Bool_t GetGridy() const override { return fGridy; }
239 Int_t GetNumber() const override { return fNumber; }
240 Int_t GetTickx() const override { return fTickx; }
241 Int_t GetTicky() const override { return fTicky; }
242 Double_t GetX1() const override { return fX1; }
243 Double_t GetX2() const override { return fX2; }
244 Double_t GetY1() const override { return fY1; }
245 Double_t GetY2() const override { return fY2; }
247 TList *GetListOfPrimitives() const override { return fPrimitives; }
248 TList *GetListOfExecs() const override { return fExecs; }
249 TObject *GetPrimitive(const char *name) const override; //obsolete, use FindObject instead
250 TObject *GetSelected() const override;
251 TVirtualPad *GetPad(Int_t subpadnumber) const override;
252 TObject *GetPadPointer() const override { return fPadPointer; }
253 TVirtualPad *GetPadSave() const override;
254 TVirtualPad *GetSelectedPad() const override;
255 Int_t GetGLDevice() override;
256 TView *GetView() const override { return fView; }
257 TObject *GetView3D() const override { return fPadView3D; }// Return 3D View of this TPad
258 Int_t GetLogx() const override { return fLogx; }
259 Int_t GetLogy() const override { return fLogy; }
260 Int_t GetLogz() const override { return fLogz; }
261 TVirtualPad *GetMother() const override { return fMother; }
262 const char *GetName() const override { return fName.Data(); }
263 const char *GetTitle() const override { return fTitle.Data(); }
264 TCanvas *GetCanvas() const override { return fCanvas; }
265 TVirtualPad *GetVirtCanvas() const override;
267 Int_t GetPadPaint() const override { return fPadPaint; }
268 Int_t GetPixmapID() const override { return fPixmapID; }
269 ULong_t Hash() const override { return fName.Hash(); }
270 Bool_t HasCrosshair() const override;
271 void HighLight(Color_t col=kRed, Bool_t set=kTRUE) override;
272 Bool_t HasFixedAspectRatio() const override { return fFixedAspectRatio; }
273 Bool_t IsBatch() const override;
274 Bool_t IsEditable() const override { return fEditable; }
275 Bool_t IsFolder() const override { return kTRUE; }
276 Bool_t IsModified() const override { return fModified; }
277 Bool_t IsRetained() const override;
278 Bool_t IsVertical() const override { return !TestBit(kHori); }
279 Bool_t IsWeb() const override;
280 void ls(Option_t *option="") const override;
281 void Modified(Bool_t flag=true) override; // *SIGNAL*
282 void ModifiedUpdate() override;
283 Bool_t OpaqueMoving() const override;
284 Bool_t OpaqueResizing() const override;
285 Double_t PadtoX(Double_t x) const override;
286 Double_t PadtoY(Double_t y) const override;
287 void Paint(Option_t *option="") override;
289 void PaintFillArea(Int_t n, Float_t *x, Float_t *y, Option_t *option="") override; // Obsolete
297 void PaintLine3D(Float_t *p1, Float_t *p2) override;
298 void PaintLine3D(Double_t *p1, Double_t *p2) override;
301 void PaintPolyLine3D(Int_t n, Double_t *p) override;
308 void PaintModified() override;
309 void PaintText(Double_t x, Double_t y, const char *text) override;
310 void PaintText(Double_t x, Double_t y, const wchar_t *text) override;
311 void PaintTextNDC(Double_t u, Double_t v, const char *text) override;
312 void PaintTextNDC(Double_t u, Double_t v, const wchar_t *text) override;
313 void PaintTextUrl(Double_t x, Double_t y, const char *text, const char *url) override;
314 virtual TPad *Pick(Int_t px, Int_t py, TObjLink *&pickobj);
317 void PixeltoXY(Double_t xpixel, Double_t ypixel, Double_t &x, Double_t &y) override;
318 void Pop() override; // *MENU*
319 void Print(const char *filename="") const override;
320 void Print(const char *filename, Option_t *option) override;
321 void Range(Double_t x1, Double_t y1, Double_t x2, Double_t y2) override; // *MENU* *ARGS={x1=>fX1,y1=>fY1,x2=>fX2,y2=>fY2}
322 virtual void RangeChanged() { Emit("RangeChanged()"); } // *SIGNAL*
324 void RecursiveRemove(TObject *obj) override;
325 TObject *Remove(TObject *obj, Bool_t modified = kTRUE) override;
326 void RedrawAxis(Option_t *option="") override;
327 void ResetView3D(TObject *view=nullptr) override { fPadView3D=view; }
328 void ResizePad(Option_t *option="") override;
329 virtual void Resized() { Emit("Resized()"); } // *SIGNAL*
330 void SaveAs(const char *filename="",Option_t *option="") const override; // *MENU*
331 void SetBorderMode(Short_t bordermode) override { fBorderMode = bordermode; Modified(); } // *MENU*
332 void SetBorderSize(Short_t bordersize) override { fBorderSize = bordersize; Modified(); } // *MENU*
333 void SetCanvas(TCanvas *c) override { fCanvas = c; }
334 void SetCanvasSize(UInt_t ww, UInt_t wh) override;
335 void SetCrosshair(Int_t crhair=1) override; // *TOGGLE*
336 void SetCursor(ECursor cursor) override;
337 void SetDoubleBuffer(Int_t mode=1) override;
338 void SetDrawOption(Option_t * = "") override {}
339 void SetEditable(Bool_t mode=kTRUE) override; // *TOGGLE*
340 void SetFixedAspectRatio(Bool_t fixed = kTRUE) override; // *TOGGLE*
341 void SetGrid(Int_t valuex = 1, Int_t valuey = 1) override { fGridx = valuex; fGridy = valuey; Modified(); }
342 void SetGridx(Int_t value = 1) override { fGridx = value; Modified(); } // *TOGGLE*
343 void SetGridy(Int_t value = 1) override { fGridy = value; Modified(); } // *TOGGLE*
344 void SetFillStyle(Style_t fstyle) override;
345 void SetLogx(Int_t value = 1) override; // *TOGGLE*
346 void SetLogy(Int_t value = 1) override; // *TOGGLE*
347 void SetLogz(Int_t value = 1) override; // *TOGGLE*
348 virtual void SetNumber(Int_t number) { fNumber = number; }
349 void SetPad(const char *name, const char *title,
350 Double_t xlow, Double_t ylow, Double_t xup,
351 Double_t yup, Color_t color=35,
352 Short_t bordersize=5, Short_t bordermode=-1) override;
353 void SetPad(Double_t xlow, Double_t ylow, Double_t xup, Double_t yup) override;
354 void SetAttFillPS(Color_t color, Style_t style) override;
355 void SetAttLinePS(Color_t color, Style_t style, Width_t lwidth) override;
356 void SetAttMarkerPS(Color_t color, Style_t style, Size_t msize) override;
357 void SetAttTextPS(Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize) override;
358 static void SetMaxPickDistance(Int_t maxPick=5);
359 void SetName(const char *name) override { fName = name; } // *MENU*
360 void SetSelected(TObject *obj) override;
361 void SetTicks(Int_t valuex = 1, Int_t valuey = 1) override { fTickx = valuex; fTicky = valuey; Modified(); }
362 void SetTickx(Int_t value = 1) override { fTickx = value; Modified(); } // *TOGGLE*
363 void SetTicky(Int_t value = 1) override { fTicky = value; Modified(); } // *TOGGLE*
364 void SetTitle(const char *title="") override { fTitle = title; }
365 void SetTheta(Double_t theta=30) override { fTheta = theta; Modified(); }
366 void SetPhi(Double_t phi=30) override { fPhi = phi; Modified(); }
367 void SetToolTipText(const char *text, Long_t delayms = 1000) override;
368 void SetVertical(Bool_t vert=kTRUE) override;
369 void SetView(TView *view = nullptr) override;
370 void SetViewer3D(TVirtualViewer3D *viewer3d) override { fViewer3D = viewer3d; }
371
372 virtual void SetGLDevice(Int_t dev) {fGLDevice = dev;}
373 void SetCopyGLDevice(Bool_t copy) override { fCopyGLDevice = copy; }
374
375 void ShowGuidelines(TObject *object, const Int_t event, const char mode = 'i', const bool cling = true) override;
376 void Update() override;
377 void UpdateAsync() override;
378
379 Int_t UtoAbsPixel(Double_t u) const override;
380 Int_t VtoAbsPixel(Double_t v) const override;
381 Int_t UtoPixel(Double_t u) const override;
382 Int_t VtoPixel(Double_t v) const override;
383 TObject *WaitPrimitive(const char *pname="", const char *emode="") override;
384 Int_t XtoAbsPixel(Double_t x) const override;
385 Int_t YtoAbsPixel(Double_t y) const override;
388 Double_t XtoPad(Double_t x) const override;
389 Double_t YtoPad(Double_t y) const override;
390 Int_t XtoPixel(Double_t x) const override;
391 Int_t YtoPixel(Double_t y) const override;
392 void XYtoAbsPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const override;
393 void XYtoAbsPixel(Double_t x, Double_t y, Double_t &xpixel, Double_t &ypixel) const override;
394 void XYtoPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const override;
395 void XYtoPixel(Double_t x, Double_t y, Double_t &xpixel, Double_t &ypixel) const override;
396
397 TObject *CreateToolTip(const TBox *b, const char *text, Long_t delayms) override;
398 void DeleteToolTip(TObject *tip) override;
399 void ResetToolTip(TObject *tip) override;
400 void CloseToolTip(TObject *tip) override;
401
404
407
408 virtual void x3d(Option_t *type=""); // Depreciated
409
411 Bool_t HasViewer3D() const override { return fViewer3D != nullptr; }
412 void ReleaseViewer3D(Option_t * type = "") override;
413
416 void SetBBoxCenter(const TPoint &p) override;
417 void SetBBoxCenterX(const Int_t x) override;
418 void SetBBoxCenterY(const Int_t y) override;
419 void SetBBoxX1(const Int_t x) override;
420 void SetBBoxX2(const Int_t x) override;
421 void SetBBoxY1(const Int_t y) override;
422 void SetBBoxY2(const Int_t y) override;
423
424 virtual void RecordPave(const TObject *obj); // *SIGNAL*
425 virtual void RecordLatex(const TObject *obj); // *SIGNAL*
426 virtual void EventPave() { Emit("EventPave()"); } // *SIGNAL*
427 virtual void StartEditing() { Emit("StartEditing()"); } // *SIGNAL*
428
429 ClassDefOverride(TPad,13) //A Graphics pad
430};
431
432#endif
433
ECursor
Definition GuiTypes.h:373
#define b(i)
Definition RSha256.hxx:100
#define c(i)
Definition RSha256.hxx:101
#define h(i)
Definition RSha256.hxx:106
short Style_t
Style number (short).
Definition RtypesCore.h:96
bool Bool_t
Boolean (0=false, 1=true) (bool).
Definition RtypesCore.h:77
int Int_t
Signed integer 4 bytes (int).
Definition RtypesCore.h:59
short Color_t
Color number (short).
Definition RtypesCore.h:99
float Size_t
Attribute size (float).
Definition RtypesCore.h:103
unsigned long ULong_t
Unsigned long integer 4 bytes (unsigned long). Size depends on architecture.
Definition RtypesCore.h:69
long Long_t
Signed long integer 4 bytes (long). Size depends on architecture.
Definition RtypesCore.h:68
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
Definition RtypesCore.h:60
short Width_t
Line width (short).
Definition RtypesCore.h:98
float Float_t
Float 4 bytes (float).
Definition RtypesCore.h:71
short Short_t
Signed Short integer 2 bytes (short).
Definition RtypesCore.h:53
double Double_t
Double 8 bytes.
Definition RtypesCore.h:73
constexpr Bool_t kTRUE
Definition RtypesCore.h:107
const char Option_t
Option string (const char).
Definition RtypesCore.h:80
#define BIT(n)
Definition Rtypes.h:91
@ kRed
Definition Rtypes.h:67
#define ClassDefOverride(name, id)
Definition Rtypes.h:348
Option_t Option_t option
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t cursor
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 Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void w
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
Option_t Option_t TPoint TPoint angle
Option_t Option_t TPoint TPoint const char mode
Option_t Option_t TPoint TPoint const char y2
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 Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
Option_t Option_t style
Option_t Option_t TPoint TPoint const char text
Option_t Option_t TPoint TPoint const char y1
char name[80]
Definition TGX11.cxx:148
float xmin
float ymin
float xmax
float ymax
Abstract base class for elements drawn in the editor.
Definition TAttBBox2D.h:19
Class to manage histogram axis.
Definition TAxis.h:32
Create a Box.
Definition TBox.h:22
Using a TBrowser one can browse all ROOT objects.
Definition TBrowser.h:37
ABC describing GUI independent main window (with menubar, scrollbars and a drawing area).
Definition TCanvasImp.h:30
The Canvas class.
Definition TCanvas.h:23
Define a Frame.
Definition TFrame.h:19
1-D histogram with a float per channel (see TH1 documentation)
Definition TH1.h:878
A doubly linked list.
Definition TList.h:38
Bool_t TestBit(UInt_t f) const
Definition TObject.h:204
TObject()
TObject constructor.
Definition TObject.h:259
void SetGridx(Int_t value=1) override
Definition TPad.h:342
Short_t GetBorderMode() const override
Definition TPad.h:199
Bool_t OpaqueMoving() const override
void SetBorderSize(Short_t bordersize) override
Definition TPad.h:332
void PaintTextNDC(Double_t u, Double_t v, const char *text) override
Int_t GetTicky() const override
Definition TPad.h:241
virtual Int_t Clip(Float_t *x, Float_t *y, Float_t xclipl, Float_t yclipb, Float_t xclipr, Float_t yclipt)
Clipping routine: Cohen Sutherland algorithm.
Definition TPad.cxx:771
Double_t fAbsYlowNDC
Absolute Y top left corner of pad in NDC [0,1].
Definition TPad.h:70
Double_t fXtoAbsPixelk
Conversion coefficient for X World to absolute pixel.
Definition TPad.h:41
void SetAttMarkerPS(Color_t color, Style_t style, Size_t msize) override
virtual void DivideSquare(Int_t n, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0)
"n" is the total number of sub-pads.
Definition TPad.cxx:1489
void AbsCoordinates(Bool_t set) override
Definition TPad.h:166
Bool_t IsBatch() const override
Double_t GetUymax() const override
Returns the maximum y-coordinate value visible on the pad. If log axis the returned value is in decad...
Definition TPad.h:236
void AddExec(const char *name, const char *command) override
Add a new TExec object to the list of Execs.
Definition TPad.cxx:499
void SetViewer3D(TVirtualViewer3D *viewer3d) override
Definition TPad.h:370
Double_t fWNDC
Width of pad along X in Normalized Coordinates (NDC).
Definition TPad.h:66
void SetName(const char *name) override
Definition TPad.h:359
Int_t NextPaletteColor() override
Int_t VtoPixel(Double_t v) const override
void PaintBorder(Color_t color, Bool_t tops)
Double_t GetPhi() const override
Definition TPad.h:227
virtual void x3d(Option_t *type="")
Bool_t IsEditable() const override
Definition TPad.h:274
void FillCollideGrid(TObject *o)
void SetView(TView *view=nullptr) override
TVirtualViewer3D * GetViewer3D(Option_t *type="") override
Double_t fPixeltoYk
Conversion coefficient for pixel to Y World.
Definition TPad.h:59
void PaintHatches(Double_t dy, Double_t angle, Int_t nn, Double_t *xx, Double_t *yy)
void PaintLine3D(Float_t *p1, Float_t *p2) override
static Int_t fgMaxPickDistance
Maximum Pick Distance.
Definition TPad.h:115
void ResizePad(Option_t *option="") override
void PaintMarker3D(Double_t x, Double_t y, Double_t z) override
void PaintPolyMarker(Int_t n, Float_t *x, Float_t *y, Option_t *option="") override
void SetGrid(Int_t valuex=1, Int_t valuey=1) override
Definition TPad.h:341
Double_t fPhi
phi angle to view as lego/surface
Definition TPad.h:80
Double_t GetAspectRatio() const override
Definition TPad.h:226
void DestroyExternalViewer3D()
Double_t fPixeltoY
yworld = fPixeltoYk + fPixeltoY*ypixel
Definition TPad.h:60
Double_t fAbsXlowNDC
Absolute X top left corner of pad in NDC [0,1].
Definition TPad.h:69
TList * GetListOfExecs() const override
Definition TPad.h:248
void SetTickx(Int_t value=1) override
Definition TPad.h:362
Double_t fVtoPixelk
Conversion coefficient for V NDC to pixel.
Definition TPad.h:52
Bool_t fGridx
Set to true if grid along X.
Definition TPad.h:100
TObject * fPadView3D
! 3D View of this TPad
Definition TPad.h:114
void SetTitle(const char *title="") override
Definition TPad.h:364
Double_t GetUxmax() const override
Returns the maximum x-coordinate value visible on the pad. If log axis the returned value is in decad...
Definition TPad.h:234
void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0) override
Automatic pad generation by division.
Definition TPad.cxx:1295
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save a primitive as a C++ statement(s) on output stream "out".
void CopyBackgroundPixmaps(TPad *stop, Int_t x, Int_t y)
virtual void RecordLatex(const TObject *obj)
virtual void StartEditing()
Definition TPad.h:427
Double_t fXtoPixel
xpixel = fXtoPixelk + fXtoPixel*xworld
Definition TPad.h:43
TList * fExecs
List of commands to be executed when a pad event occurs.
Definition TPad.h:108
Double_t PadtoY(Double_t y) const override
Int_t fTickx
Set to 1 if tick marks along X.
Definition TPad.h:89
void SetBBoxY1(const Int_t y) override
Int_t fTicky
Set to 1 if tick marks along Y.
Definition TPad.h:90
Int_t GetPixmapID() const override
Definition TPad.h:268
TPad(const TPad &pad)=delete
Bool_t GetGridx() const override
Definition TPad.h:237
Double_t fX2
X of upper X coordinate.
Definition TPad.h:38
Bool_t PlaceBox(TObject *o, Double_t w, Double_t h, Double_t &xl, Double_t &yb, Option_t *option="lb") override
void SetLogz(Int_t value=1) override
Bool_t fEmbeddedGL
!
Definition TPad.h:87
Int_t UtoAbsPixel(Double_t u) const override
void Browse(TBrowser *b) override
Browse pad.
Definition TPad.cxx:524
Int_t XtoPixel(Double_t x) const override
void SetAttFillPS(Color_t color, Style_t style) override
Int_t fCGnx
! Size of the collide grid along x
Definition TPad.h:119
void SetBBoxCenterY(const Int_t y) override
Double_t fPixeltoX
xworld = fPixeltoXk + fPixeltoX*xpixel
Definition TPad.h:57
~TPad() override
Pad destructor.
Definition TPad.cxx:380
Bool_t fCopyGLDevice
!
Definition TPad.h:86
Double_t fYtoPixel
ypixel = fYtoPixelk + fYtoPixel*yworld
Definition TPad.h:46
Double_t GetY2() const override
Definition TPad.h:245
void DeleteToolTip(TObject *tip) override
void Close(Option_t *option="") override
Delete all primitives in pad and pad itself.
Definition TPad.cxx:1084
void AbsPixeltoXY(Double_t xpixel, Double_t ypixel, Double_t &x, Double_t &y) override
Int_t GetNumber() const override
Definition TPad.h:239
Double_t fAbsWNDC
Absolute Width of pad along X in NDC.
Definition TPad.h:71
TObject * Remove(TObject *obj, Bool_t modified=kTRUE) override
UInt_t GetWw() const override
void PaintModified() override
void SetEditable(Bool_t mode=kTRUE) override
const char * GetTitle() const override
Returns title of object.
Definition TPad.h:263
void PaintDate()
void PixeltoXY(Double_t xpixel, Double_t ypixel, Double_t &x, Double_t &y) override
void SetBBoxX2(const Int_t x) override
void SetBBoxX1(const Int_t x) override
virtual Int_t ClippingCode(Double_t x, Double_t y, Double_t xcl1, Double_t ycl1, Double_t xcl2, Double_t ycl2)
Compute the endpoint codes for TPad::Clip.
Definition TPad.cxx:904
Double_t GetUymin() const override
Returns the minimum y-coordinate value visible on the pad. If log axis the returned value is in decad...
Definition TPad.h:232
Double_t fX1
X of lower X coordinate.
Definition TPad.h:36
TList * GetListOfPrimitives() const override
Definition TPad.h:247
void SetFillStyle(Style_t fstyle) override
Set the fill area style.
Double_t AbsPixeltoY(Double_t py) override
Definition TPad.h:168
TObject * GetPadPointer() const override
Definition TPad.h:252
TH1F * DrawFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, const char *title="") override
Double_t fVtoPixel
ypixel = fVtoPixelk + fVtoPixel*vndc
Definition TPad.h:53
TCanvasImp * GetCanvasImp() const override
Int_t GetEvent() const override
TObject * GetView3D() const override
Definition TPad.h:257
Double_t PadtoX(Double_t x) const override
virtual void RecordPave(const TObject *obj)
virtual void DrawCrosshair()
Function called to draw a crosshair in the canvas.
Definition TPad.cxx:1753
Double_t YtoPad(Double_t y) const override
virtual void RangeChanged()
Definition TPad.h:322
Double_t fUymin
Minimum value on the Y axis.
Definition TPad.h:75
void SetPad(const char *name, const char *title, Double_t xlow, Double_t ylow, Double_t xup, Double_t yup, Color_t color=35, Short_t bordersize=5, Short_t bordermode=-1) override
void SetCursor(ECursor cursor) override
Int_t GetCanvasID() const override
Int_t fLogz
(=0 if Z linear scale, =1 if log scale)
Definition TPad.h:93
Int_t HtoAbsPixel(Double_t y1, Double_t y2) const override
void XYtoPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const override
Double_t fYtoPixelk
Conversion coefficient for Y World to pixel.
Definition TPad.h:45
void UpdateAsync() override
TPad()
Pad default constructor.
Definition TPad.cxx:133
void UseCurrentStyle() override
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyl...
Int_t VtoAbsPixel(Double_t v) const override
void Range(Double_t x1, Double_t y1, Double_t x2, Double_t y2) override
virtual void EventPave()
Definition TPad.h:426
Double_t fUtoPixelk
Conversion coefficient for U NDC to pixel.
Definition TPad.h:49
void XYtoAbsPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const override
Double_t fPixeltoXk
Conversion coefficient for pixel to X World.
Definition TPad.h:56
Bool_t IsModified() const override
Definition TPad.h:276
Double_t fY1
Y of lower Y coordinate.
Definition TPad.h:37
Int_t GetEventY() const override
Int_t fGLDevice
! OpenGL off-screen pixmap identifier
Definition TPad.h:85
Double_t fYlowNDC
Y bottom left corner of pad in NDC [0,1].
Definition TPad.h:63
TObject * WaitPrimitive(const char *pname="", const char *emode="") override
TPad & operator=(const TPad &rhs)=delete
void SetAttTextPS(Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize) override
void PaintPolyLine(Int_t n, Double_t *x, Double_t *y, Option_t *option="") override
Bool_t fModified
Set to true when pad is modified.
Definition TPad.h:99
Double_t PixeltoY(Double_t py) override
TLegend * BuildLegend(Double_t x1=0.3, Double_t y1=0.21, Double_t x2=0.3, Double_t y2=0.21, const char *title="", Option_t *option="") override
Build a legend from the graphical objects in the pad.
Definition TPad.cxx:556
void Update() override
virtual void SetNumber(Int_t number)
Definition TPad.h:348
void PaintText(Double_t x, Double_t y, const wchar_t *text) override
Int_t fNumber
pad number identifier
Definition TPad.h:88
static Int_t GetMaxPickDistance()
void PaintFillAreaNDC(Int_t n, Double_t *x, Double_t *y, Option_t *option="") override
void SetPhi(Double_t phi=30) override
Definition TPad.h:366
Double_t fAbsPixeltoXk
Conversion coefficient for absolute pixel to X World.
Definition TPad.h:55
void Clear(Option_t *option="") override
Delete all pad primitives.
Definition TPad.cxx:723
Int_t YtoPixel(Double_t y) const override
Int_t GetTickx() const override
Definition TPad.h:240
void PaintLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2) override
Int_t GetGLDevice() override
Double_t fAspectRatio
ratio of w/h in case of fixed ratio
Definition TPad.h:82
void PaintBorderPS(Double_t xl, Double_t yl, Double_t xt, Double_t yt, Int_t bmode, Int_t bsize, Int_t dark, Int_t light) override
Double_t fUymax
Maximum value on the Y axis.
Definition TPad.h:77
void SetLogy(Int_t value=1) override
virtual Int_t ClipPolygon(Int_t n, Double_t *x, Double_t *y, Int_t nn, Double_t *xc, Double_t *yc, Double_t xclipl, Double_t yclipb, Double_t xclipr, Double_t yclipt)
Clip polygon using the Sutherland-Hodgman algorithm.
Definition TPad.cxx:953
friend class TWebCanvas
Definition TPad.h:30
void ExecuteEventAxis(Int_t event, Int_t px, Int_t py, TAxis *axis) override
void HighLight(Color_t col=kRed, Bool_t set=kTRUE) override
Double_t AbsPixeltoX(Double_t px) override
Definition TPad.h:167
void PaintLine3D(Double_t *p1, Double_t *p2) override
void SetBatch(Bool_t batch=kTRUE) override
TCanvas * fCanvas
! Pointer to mother canvas
Definition TPad.h:106
TVirtualPad * GetMother() const override
Definition TPad.h:261
TVirtualViewer3D * fViewer3D
! Current 3D viewer
Definition TPad.h:123
Bool_t HasCrosshair() const override
Bool_t IsRetained() const override
Bool_t Collide(Int_t i, Int_t j, Int_t w, Int_t h)
void PaintFillArea(Int_t n, Double_t *x, Double_t *y, Option_t *option="") override
Int_t GetPadPaint() const override
Definition TPad.h:267
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Compute distance from point px,py to a box.
Definition TPad.cxx:1191
Bool_t fFixedAspectRatio
True if fixed aspect ratio.
Definition TPad.h:104
void PaintFillArea(Int_t n, Float_t *x, Float_t *y, Option_t *option="") override
void Modified(Bool_t flag=true) override
void RecursiveRemove(TObject *obj) override
Recursively remove this object from a list.
void DivideRatios(Int_t nrows, Int_t ncolumns, const std::vector< double > &widthRatios={}, const std::vector< double > &heightRatios={}, const double canvasTopMargin=0., const double canvasLeftMargin=0.)
Divide the canvas according to ratios.
Definition TPad.cxx:1394
Bool_t HasFixedAspectRatio() const override
Definition TPad.h:272
void CloseToolTip(TObject *tip) override
Double_t GetUxmin() const override
Returns the minimum x-coordinate value visible on the pad. If log axis the returned value is in decad...
Definition TPad.h:230
void SetToolTipText(const char *text, Long_t delayms=1000) override
void PaintPolyLine(Int_t n, Float_t *x, Float_t *y, Option_t *option="") override
Int_t WtoAbsPixel(Double_t x1, Double_t x2) const override
void ls(Option_t *option="") const override
The ls function lists the contents of a class on stdout.
TView * GetView() const override
Definition TPad.h:256
void ModifiedUpdate() override
Double_t fVtoAbsPixelk
Conversion coefficient for V NDC to absolute pixel.
Definition TPad.h:51
UInt_t GetPadHeight() const override
TVirtualPad * GetPadSave() const override
void SetAttLinePS(Color_t color, Style_t style, Width_t lwidth) override
virtual void Resized()
Definition TPad.h:329
Bool_t IsFolder() const override
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Definition TPad.h:275
TVirtualPad * GetVirtCanvas() const override
void DeleteExec(const char *name) override
Remove TExec name from the list of Execs.
Definition TPad.cxx:1175
void PaintSegments(Int_t n, Double_t *x, Double_t *y, Option_t *option="") override
Paint N individual segments Provided arrays should have 2*n elements IMPORTANT!
Bool_t HasViewer3D() const override
Definition TPad.h:411
TObject * FindObject(const TObject *obj) const override
Must be redefined in derived classes.
UInt_t GetPadWidth() const override
void SetCanvas(TCanvas *c) override
Definition TPad.h:333
void XYtoAbsPixel(Double_t x, Double_t y, Double_t &xpixel, Double_t &ypixel) const override
void PaintSegmentsNDC(Int_t n, Double_t *u, Double_t *v) override
Paint N individual segments in NDC coordinates Provided arrays should have 2*n elements.
TString fTitle
Pad title.
Definition TPad.h:110
void CopyPixmaps() override
Copy the sub-pixmaps of the pad to the canvas.
Definition TPad.cxx:1156
void CopyPixmap() override
Copy the pixmap of the pad to the canvas.
Definition TPad.cxx:1143
Double_t GetY1() const override
Definition TPad.h:244
Int_t UtoPixel(Double_t u) const override
TPoint GetBBoxCenter() override
void FillCollideGridTFrame(TObject *o)
Bool_t GetGridy() const override
Definition TPad.h:238
void LineNotFree(Int_t x1, Int_t x2, Int_t y1, Int_t y2)
Double_t fAbsHNDC
Absolute Height of pad along Y in NDC.
Definition TPad.h:72
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Execute action corresponding to an event at (px,py).
void SetDrawOption(Option_t *="") override
Set drawing option for object.
Definition TPad.h:338
TObject * fTip
! tool tip associated with box
Definition TPad.h:33
void SetCanvasSize(UInt_t ww, UInt_t wh) override
Int_t GetLogz() const override
Definition TPad.h:260
virtual void AutoExec()
Execute the list of Execs when a pad event occurs.
Definition TPad.cxx:509
Bool_t fAbsCoord
Use absolute coordinates.
Definition TPad.h:102
Int_t fNumPaletteColor
Number of objects with an automatic color.
Definition TPad.h:116
Int_t fCrosshairPos
Position of crosshair.
Definition TPad.h:96
void SetPad(Double_t xlow, Double_t ylow, Double_t xup, Double_t yup) override
void FillCollideGridTGraph(TObject *o)
void SetFixedAspectRatio(Bool_t fixed=kTRUE) override
Short_t GetBorderSize() const override
Definition TPad.h:200
static void SetMaxPickDistance(Int_t maxPick=5)
void RedrawAxis(Option_t *option="") override
void DrawDist(Rectangle_t aBBox, Rectangle_t bBBox, char mode)
Int_t fLogx
(=0 if X linear scale, =1 if log scale)
Definition TPad.h:91
Double_t GetAbsWNDC() const override
Definition TPad.h:224
Int_t YtoAbsPixel(Double_t y) const override
Double_t fUtoPixel
xpixel = fUtoPixelk + fUtoPixel*undc
Definition TPad.h:50
Int_t fCrosshair
Crosshair type (0 if no crosshair requested).
Definition TPad.h:95
void PaintFillAreaHatches(Int_t n, Double_t *x, Double_t *y, Int_t FillStyle)
void RangeAxis(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax) override
Double_t fUtoAbsPixelk
Conversion coefficient for U NDC to absolute pixel.
Definition TPad.h:48
void ResetToolTip(TObject *tip) override
Double_t GetTheta() const override
Definition TPad.h:228
TList * fPrimitives
->List of primitives (subpads)
Definition TPad.h:107
UInt_t GetWh() const override
TCanvas * GetCanvas() const override
Definition TPad.h:264
Short_t fBorderSize
pad bordersize in pixels
Definition TPad.h:97
void Add(TObject *obj, Option_t *opt="", Bool_t modified=kTRUE) override
Add an object to list of primitives with specified draw option When.
Definition TPad.cxx:419
static void DrawColorTable()
void SetGridy(Int_t value=1) override
Definition TPad.h:343
TView * fView
! Pointer to 3-D view (if one exists)
Definition TPad.h:112
void PaintPolyMarker(Int_t n, Double_t *x, Double_t *y, Option_t *option="") override
Rectangle_t GetBBox() override
virtual void SetGLDevice(Int_t dev)
Definition TPad.h:372
void Paint(Option_t *option="") override
This method must be overridden if a class wants to paint itself.
void PaintTextNDC(Double_t u, Double_t v, const wchar_t *text) override
void FillCollideGridTBox(TObject *o)
Double_t fTheta
theta angle to view as lego/surface
Definition TPad.h:79
void DrawCollideGrid()
TString fName
Pad name.
Definition TPad.h:109
void SetVertical(Bool_t vert=kTRUE) override
void FillCollideGridTH1(TObject *o)
void GetPadPar(Double_t &xlow, Double_t &ylow, Double_t &xup, Double_t &yup) override
void PaintText(Double_t x, Double_t y, const char *text) override
Int_t fPadPaint
Set to 1 while painting the pad.
Definition TPad.h:94
@ kCannotMove
Fixed position.
Definition TPad.h:157
@ kClearAfterCR
Clear after CR.
Definition TPad.h:158
@ kHori
Pad is horizontal.
Definition TPad.h:154
@ kClipFrame
Clip on frame.
Definition TPad.h:155
@ kPrintingPS
PS Printing.
Definition TPad.h:156
@ kFraming
Frame is requested.
Definition TPad.h:153
Double_t GetXlowNDC() const override
Definition TPad.h:212
void SaveAs(const char *filename="", Option_t *option="") const override
Save this object in the file specified by filename.
Int_t fPixmapID
! Off-screen pixmap identifier
Definition TPad.h:84
Bool_t fEditable
True if canvas is editable.
Definition TPad.h:103
Double_t GetYlowNDC() const override
Definition TPad.h:213
TObject * FindObject(const char *name) const override
Must be redefined in derived classes.
Color_t GetHighLightColor() const override
Bool_t OpaqueResizing() const override
Double_t fXUpNDC
Definition TPad.h:64
void ResetView3D(TObject *view=nullptr) override
Definition TPad.h:327
std::vector< Bool_t > fCollideGrid
! Grid used to find empty space when adding a box (Legend) in a pad
Definition TPad.h:118
TVirtualPad * cd(Int_t subpadnumber=0) override
Set Current pad.
Definition TPad.cxx:694
Int_t GetLogy() const override
Definition TPad.h:259
void PaintLineNDC(Double_t u1, Double_t v1, Double_t u2, Double_t v2) override
void Print(const char *filename="") const override
This method must be overridden when a class wants to print itself.
Int_t GetEventX() const override
TFrame * GetFrame() override
Double_t fYUpNDC
Definition TPad.h:65
Double_t fYtoAbsPixelk
Conversion coefficient for Y World to absolute pixel.
Definition TPad.h:44
Double_t fXtoPixelk
Conversion coefficient for X World to pixel.
Definition TPad.h:42
Int_t fLogy
(=0 if Y linear scale, =1 if log scale)
Definition TPad.h:92
TFrame * fFrame
! Pointer to 2-D frame (if one exists)
Definition TPad.h:111
TVirtualPadPainter * GetPainter() override
virtual void Closed()
Definition TPad.h:183
Double_t fHNDC
Height of pad along Y in Normalized Coordinates (NDC).
Definition TPad.h:67
void ShowGuidelines(TObject *object, const Int_t event, const char mode='i', const bool cling=true) override
Int_t GetCrosshair() const
void GetRangeAxis(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) override
void SetBorderMode(Short_t bordermode) override
Definition TPad.h:331
void PaintBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t *option="") override
void DrawClassObject(const TObject *obj, Option_t *option="") override
Draw class inheritance tree of the class to which obj belongs.
Definition TPad.cxx:1551
Int_t fCGny
! Size of the collide grid along y
Definition TPad.h:120
Double_t fXlowNDC
X bottom left corner of pad in NDC [0,1].
Definition TPad.h:62
TObject * GetPrimitive(const char *name) const override
Double_t fUxmin
Minimum value on the X axis.
Definition TPad.h:74
Double_t GetAbsHNDC() const override
Definition TPad.h:225
void SetTicks(Int_t valuex=1, Int_t valuey=1) override
Definition TPad.h:361
void SetBBoxCenter(const TPoint &p) override
Bool_t IsWeb() const override
void SetSelected(TObject *obj) override
virtual void HideToolTip(Int_t event)
TObject * GetSelected() const override
void GetRange(Double_t &x1, Double_t &y1, Double_t &x2, Double_t &y2) override
Double_t PixeltoX(Double_t px) override
void PaintPolyLineNDC(Int_t n, Double_t *x, Double_t *y, Option_t *option="") override
Bool_t IsVertical() const override
Definition TPad.h:278
Int_t IncrementPaletteColor(Int_t i, TString opt) override
void PaintPadFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax) override
Double_t GetAbsYlowNDC() const override
Definition TPad.h:223
Double_t fUxmax
Maximum value on the X axis.
Definition TPad.h:76
void AddFirst(TObject *obj, Option_t *opt="", Bool_t modified=kTRUE) override
Add an object as first in list of primitives with specified draw option When.
Definition TPad.cxx:440
void SetTicky(Int_t value=1) override
Definition TPad.h:363
Double_t fY2
Y of upper Y coordinate.
Definition TPad.h:39
void PaintTextUrl(Double_t x, Double_t y, const char *text, const char *url) override
void Print(const char *filename, Option_t *option) override
Double_t fAbsPixeltoYk
Conversion coefficient for absolute pixel to Y World.
Definition TPad.h:58
TVirtualPad * GetSelectedPad() const override
void PaintPolyLine3D(Int_t n, Double_t *p) override
TVirtualPad * GetPad(Int_t subpadnumber) const override
Short_t fBorderMode
Bordermode (-1=down, 0 = no border, 1=up).
Definition TPad.h:98
void SetLogx(Int_t value=1) override
void ReleaseViewer3D(Option_t *type="") override
void SetCrosshair(Int_t crhair=1) override
void SetDoubleBuffer(Int_t mode=1) override
Int_t fNextPaletteColor
Next automatic color.
Definition TPad.h:117
void SetBBoxCenterX(const Int_t x) override
virtual TPad * Pick(Int_t px, Int_t py, TObjLink *&pickobj)
Int_t GetLogx() const override
Definition TPad.h:258
void SetCopyGLDevice(Bool_t copy) override
Definition TPad.h:373
TObject * fPadPointer
! free pointer
Definition TPad.h:113
Double_t GetX2() const override
Definition TPad.h:243
TObject * CreateToolTip(const TBox *b, const char *text, Long_t delayms) override
Double_t GetWNDC() const override
Get width of pad along X in Normalized Coordinates (NDC).
Definition TPad.h:215
void Pop() override
Pop on object drawn in a pad to the top of the display list.
Double_t GetAbsXlowNDC() const override
Definition TPad.h:222
void XYtoPixel(Double_t x, Double_t y, Double_t &xpixel, Double_t &ypixel) const override
ULong_t Hash() const override
Return hash value for this object.
Definition TPad.h:269
Double_t GetX1() const override
Definition TPad.h:242
Double_t GetHNDC() const override
Get height of pad along Y in Normalized Coordinates (NDC).
Definition TPad.h:217
TPad * fMother
! pointer to mother of the list
Definition TPad.h:105
void SetTheta(Double_t theta=30) override
Definition TPad.h:365
const char * GetName() const override
Returns name of object.
Definition TPad.h:262
Int_t XtoAbsPixel(Double_t x) const override
Bool_t fGridy
Set to true if grid along Y.
Definition TPad.h:101
void SetBBoxY2(const Int_t y) override
Double_t XtoPad(Double_t x) const override
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
Definition TQObject.h:164
Basic string class.
Definition TString.h:138
See TView3D.
Definition TView.h:25
To make it possible to use GL for 2D graphic in a TPad/TCanvas.
TVirtualPad()
VirtualPad default constructor.
Abstract 3D shapes viewer.
Basic TCanvasImp ABI implementation for Web-based Graphics Provides painting of main ROOT classes in ...
Definition TWebCanvas.h:35
STL class.
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
const Int_t n
Definition legend1.C:16
Rectangle structure (maps to the X11 XRectangle structure).
Definition GuiTypes.h:362
th1 Draw()