ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TPad //
19 // //
20 // A Graphics pad. //
21 // //
22 // //
23 //////////////////////////////////////////////////////////////////////////
24 
25 #ifndef ROOT_TVirtualPad
26 #include "TVirtualPad.h"
27 #endif
28 #ifndef ROOT_TAttBBox2D
29 #include "TAttBBox2D.h"
30 #endif
31 #ifndef ROOT_TPoint
32 #include "TPoint.h"
33 #endif
34 #ifndef ROOT_GuiTypes
35 #include "GuiTypes.h"
36 #endif
37 
38 class TVirtualViewer3D;
39 class TVirtualPadPainter;
40 class TBrowser;
41 class TBox;
42 class TLegend;
43 class TArrow;
44 
45 
46 class TPad : public TVirtualPad, public TAttBBox2D {
47 
48 private:
49  TObject *fTip; //! tool tip associated with box
50 
51 protected:
52  Double_t fX1; // X of lower X coordinate
53  Double_t fY1; // Y of lower Y coordinate
54  Double_t fX2; // X of upper X coordinate
55  Double_t fY2; // Y of upper Y coordinate
56 
57  Double_t fXtoAbsPixelk; // Conversion coefficient for X World to absolute pixel
58  Double_t fXtoPixelk; // Conversion coefficient for X World to pixel
59  Double_t fXtoPixel; // xpixel = fXtoPixelk + fXtoPixel*xworld
60  Double_t fYtoAbsPixelk; // Conversion coefficient for Y World to absolute pixel
61  Double_t fYtoPixelk; // Conversion coefficient for Y World to pixel
62  Double_t fYtoPixel; // ypixel = fYtoPixelk + fYtoPixel*yworld
63 
64  Double_t fUtoAbsPixelk; // Conversion coefficient for U NDC to absolute pixel
65  Double_t fUtoPixelk; // Conversion coefficient for U NDC to pixel
66  Double_t fUtoPixel; // xpixel = fUtoPixelk + fUtoPixel*undc
67  Double_t fVtoAbsPixelk; // Conversion coefficient for V NDC to absolute pixel
68  Double_t fVtoPixelk; // Conversion coefficient for V NDC to pixel
69  Double_t fVtoPixel; // ypixel = fVtoPixelk + fVtoPixel*vndc
70 
71  Double_t fAbsPixeltoXk; // Conversion coefficient for absolute pixel to X World
72  Double_t fPixeltoXk; // Conversion coefficient for pixel to X World
73  Double_t fPixeltoX; // xworld = fPixeltoXk + fPixeltoX*xpixel
74  Double_t fAbsPixeltoYk; // Conversion coefficient for absolute pixel to Y World
75  Double_t fPixeltoYk; // Conversion coefficient for pixel to Y World
76  Double_t fPixeltoY; // yworld = fPixeltoYk + fPixeltoY*ypixel
77 
78  Double_t fXlowNDC; // X bottom left corner of pad in NDC [0,1]
79  Double_t fYlowNDC; // Y bottom left corner of pad in NDC [0,1]
82  Double_t fWNDC; // Width of pad along X in NDC
83  Double_t fHNDC; // Height of pad along Y in NDC
84 
85  Double_t fAbsXlowNDC; // Absolute X top left corner of pad in NDC [0,1]
86  Double_t fAbsYlowNDC; // Absolute Y top left corner of pad in NDC [0,1]
87  Double_t fAbsWNDC; // Absolute Width of pad along X in NDC
88  Double_t fAbsHNDC; // Absolute Height of pad along Y in NDC
89 
90  Double_t fUxmin; // Minimum value on the X axis
91  Double_t fUymin; // Minimum value on the Y axis
92  Double_t fUxmax; // Maximum value on the X axis
93  Double_t fUymax; // Maximum value on the Y axis
94 
95  Double_t fTheta; // theta angle to view as lego/surface
96  Double_t fPhi; // phi angle to view as lego/surface
97 
98  Double_t fAspectRatio; // ratio of w/h in case of fixed ratio
99 
100  Int_t fPixmapID; //! Off-screen pixmap identifier
101  Int_t fGLDevice; //! OpenGL off-screen pixmap identifier
104  Int_t fNumber; // pad number identifier
105  Int_t fTickx; // Set to 1 if tick marks along X
106  Int_t fTicky; // Set to 1 if tick marks along Y
107  Int_t fLogx; // (=0 if X linear scale, =1 if log scale)
108  Int_t fLogy; // (=0 if Y linear scale, =1 if log scale)
109  Int_t fLogz; // (=0 if Z linear scale, =1 if log scale)
110  Int_t fPadPaint; // Set to 1 while painting the pad
111  Int_t fCrosshair; // Crosshair type (0 if no crosshair requested)
112  Int_t fCrosshairPos; // Position of crosshair
113  Short_t fBorderSize; // pad bordersize in pixels
114  Short_t fBorderMode; // Bordermode (-1=down, 0 = no border, 1=up)
115  Bool_t fModified; // Set to true when pad is modified
116  Bool_t fGridx; // Set to true if grid along X
117  Bool_t fGridy; // Set to true if grid along Y
118  Bool_t fAbsCoord; // Use absolute coordinates
119  Bool_t fEditable; // True if canvas is editable
120  Bool_t fFixedAspectRatio; // True if fixed aspect ratio
121  TPad *fMother; //! pointer to mother of the list
122  TCanvas *fCanvas; //! Pointer to mother canvas
123  TList *fPrimitives; //->List of primitives (subpads)
124  TList *fExecs; // List of commands to be executed when a pad event occurs
125  TString fName; // Pad name
126  TString fTitle; // Pad title
127  TFrame *fFrame; //! Pointer to 2-D frame (if one exists)
128  TView *fView; //! Pointer to 3-D view (if one exists)
129  TObject *fPadPointer; //! free pointer
130  TObject *fPadView3D; //! 3D View of this TPad
131  static Int_t fgMaxPickDistance;// Maximum Pick Distance
132 
133  // 3D Viewer support
134  TVirtualViewer3D *fViewer3D; //! Current 3D viewer
135 
138  virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
139  virtual void HideToolTip(Int_t event);
140  void PaintBorder(Color_t color, Bool_t tops);
141  virtual 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);
142  void PaintDate();
143  virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
144  virtual void SetBatch(Bool_t batch=kTRUE);
145 
146 private:
147  TPad(const TPad &pad); // cannot copy pads, use TObject::Clone()
148  TPad &operator=(const TPad &rhs); // idem
149 
151  void CopyBackgroundPixmaps(TPad *start, TPad *stop, Int_t x, Int_t y);
152  void DrawDist(Rectangle_t aBBox, Rectangle_t bBBox, char mode);
153 
154 public:
155  // TPad status bits
156  enum {
157  kFraming = BIT(6),
158  kHori = BIT(9),
163  };
164 
165  TPad();
166  TPad(const char *name, const char *title, Double_t xlow,
167  Double_t ylow, Double_t xup, Double_t yup,
168  Color_t color=-1, Short_t bordersize=-1, Short_t bordermode=-2);
169  virtual ~TPad();
170  void AbsCoordinates(Bool_t set) { fAbsCoord = set; }
173  virtual void AbsPixeltoXY(Int_t xpixel, Int_t ypixel, Double_t &x, Double_t &y);
174  virtual void AddExec(const char *name, const char *command);
175  virtual void AutoExec();
176  virtual void Browse(TBrowser *b);
177  virtual TLegend *BuildLegend(Double_t x1=0.5, Double_t y1=0.67, Double_t x2=0.88, Double_t y2=0.88, const char *title=""); // *MENU*
178  TVirtualPad* cd(Int_t subpadnumber=0); // *MENU*
179  void Clear(Option_t *option="");
180  virtual Int_t Clip(Float_t *x, Float_t *y, Float_t xclipl, Float_t yclipb, Float_t xclipr, Float_t yclipt);
181  virtual Int_t Clip(Double_t *x, Double_t *y, Double_t xclipl, Double_t yclipb, Double_t xclipr, Double_t yclipt);
182  virtual Int_t ClippingCode(Double_t x, Double_t y, Double_t xcl1, Double_t ycl1, Double_t xcl2, Double_t ycl2);
183  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);
184  virtual void Close(Option_t *option="");
185  virtual void Closed() { Emit("Closed()"); } // *SIGNAL*
186  virtual void CopyPixmap();
187  virtual void CopyPixmaps();
188  virtual void DeleteExec(const char *name);
189  virtual void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0); // *MENU*
190  virtual void DivideSquare(Int_t n, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0);
191  virtual void Draw(Option_t *option="");
192  virtual void DrawClassObject(const TObject *obj, Option_t *option="");
193  static void DrawColorTable();
194  virtual void DrawCrosshair();
196  virtual void ExecuteEventAxis(Int_t event, Int_t px, Int_t py, TAxis *axis);
197  virtual TObject *FindObject(const char *name) const;
198  virtual TObject *FindObject(const TObject *obj) const;
199  virtual void UseCurrentStyle(); // *MENU*
200  virtual Short_t GetBorderMode() const { return fBorderMode;}
201  virtual Short_t GetBorderSize() const { return fBorderSize;}
202  Int_t GetCrosshair() const;
203  virtual Int_t GetCanvasID() const;
204  virtual TCanvasImp *GetCanvasImp() const;
205  TFrame *GetFrame();
206  virtual Int_t GetEvent() const;
207  virtual Int_t GetEventX() const;
208  virtual Int_t GetEventY() const;
209  virtual Color_t GetHighLightColor() const;
210  virtual void GetRange(Double_t &x1, Double_t &y1, Double_t &x2, Double_t &y2);
212  virtual void GetPadPar(Double_t &xlow, Double_t &ylow, Double_t &xup, Double_t &yup);
213  Double_t GetXlowNDC() const {return fXlowNDC;}
214  Double_t GetYlowNDC() const {return fYlowNDC;}
215  Double_t GetWNDC() const {return fWNDC;}
216  Double_t GetHNDC() const {return fHNDC;}
217  virtual UInt_t GetWw() const;
218  virtual UInt_t GetWh() const;
221  Double_t GetAbsWNDC() const {return fAbsWNDC;}
222  Double_t GetAbsHNDC() const {return fAbsHNDC;}
224  Double_t GetPhi() const {return fPhi;}
225  Double_t GetTheta() const {return fTheta;}
226  Double_t GetUxmin() const {return fUxmin;}
227  Double_t GetUymin() const {return fUymin;}
228  Double_t GetUxmax() const {return fUxmax;}
229  Double_t GetUymax() const {return fUymax;}
230  Bool_t GetGridx() const {return fGridx;}
231  Bool_t GetGridy() const {return fGridy;}
232  Int_t GetNumber() const {return fNumber;}
233  Int_t GetTickx() const {return fTickx;}
234  Int_t GetTicky() const {return fTicky;}
235  Double_t GetX1() const { return fX1; }
236  Double_t GetX2() const { return fX2; }
237  Double_t GetY1() const { return fY1; }
238  Double_t GetY2() const { return fY2; }
239  static Int_t GetMaxPickDistance();
241  TList *GetListOfExecs() const {return fExecs;}
242  virtual TObject *GetPrimitive(const char *name) const; //obsolete, use FindObject instead
243  virtual TObject *GetSelected() const;
244  virtual TVirtualPad *GetPad(Int_t subpadnumber) const;
245  virtual TObject *GetPadPointer() const {return fPadPointer;}
246  TVirtualPad *GetPadSave() const;
247  TVirtualPad *GetSelectedPad() const;
248  Int_t GetGLDevice();
249  TView *GetView() const {return fView;}
250  TObject *GetView3D() const {return fPadView3D;}// Return 3D View of this TPad
251  Int_t GetLogx() const {return fLogx;}
252  Int_t GetLogy() const {return fLogy;}
253  Int_t GetLogz() const {return fLogz;}
254  virtual TVirtualPad *GetMother() const {return fMother;}
255  const char *GetName() const {return fName.Data();}
256  const char *GetTitle() const {return fTitle.Data();}
257  virtual TCanvas *GetCanvas() const { return fCanvas; }
258  virtual TVirtualPad *GetVirtCanvas() const ;
259  virtual TVirtualPadPainter *GetPainter();
260  Int_t GetPadPaint() const {return fPadPaint;}
261  Int_t GetPixmapID() const {return fPixmapID;}
262  ULong_t Hash() const { return fName.Hash(); }
263  virtual Bool_t HasCrosshair() const;
264  void HighLight(Color_t col=kRed, Bool_t set=kTRUE);
266  virtual Bool_t IsBatch() const;
267  virtual Bool_t IsEditable() const {return fEditable;}
268  Bool_t IsFolder() const {return kTRUE;}
269  Bool_t IsModified() const {return fModified;}
270  virtual Bool_t IsRetained() const;
271  virtual Bool_t IsVertical() const {return !TestBit(kHori);}
272  virtual void ls(Option_t *option="") const;
273  void Modified(Bool_t flag=1); // *SIGNAL*
274  virtual Bool_t OpaqueMoving() const;
275  virtual Bool_t OpaqueResizing() const;
276  Double_t PadtoX(Double_t x) const;
277  Double_t PadtoY(Double_t y) const;
278  virtual void Paint(Option_t *option="");
279  void PaintBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t *option="");
280  void PaintFillArea(Int_t n, Float_t *x, Float_t *y, Option_t *option=""); // Obsolete
281  void PaintFillArea(Int_t n, Double_t *x, Double_t *y, Option_t *option="");
283  void PaintHatches(Double_t dy, Double_t angle, Int_t nn, Double_t *xx, Double_t *yy);
287  void PaintLine3D(Float_t *p1, Float_t *p2);
288  void PaintLine3D(Double_t *p1, Double_t *p2);
289  void PaintPolyLine(Int_t n, Float_t *x, Float_t *y, Option_t *option="");
290  void PaintPolyLine(Int_t n, Double_t *x, Double_t *y, Option_t *option="");
291  void PaintPolyLine3D(Int_t n, Double_t *p);
292  void PaintPolyLineNDC(Int_t n, Double_t *x, Double_t *y, Option_t *option="");
293  void PaintPolyMarker(Int_t n, Float_t *x, Float_t *y, Option_t *option="");
294  void PaintPolyMarker(Int_t n, Double_t *x, Double_t *y, Option_t *option="");
295  virtual void PaintModified();
296  void PaintText(Double_t x, Double_t y, const char *text);
297  void PaintText(Double_t x, Double_t y, const wchar_t *text);
298  void PaintTextNDC(Double_t u, Double_t v, const char *text);
299  void PaintTextNDC(Double_t u, Double_t v, const wchar_t *text);
300  virtual TPad *Pick(Int_t px, Int_t py, TObjLink *&pickobj);
303  virtual void PixeltoXY(Int_t xpixel, Int_t ypixel, Double_t &x, Double_t &y);
304  virtual void Pop(); // *MENU*
305  virtual void Print(const char *filename="") const;
306  virtual void Print(const char *filename, Option_t *option);
307  virtual void Range(Double_t x1, Double_t y1, Double_t x2, Double_t y2); // *MENU* *ARGS={x1=>fX1,y1=>fY1,x2=>fX2,y2=>fY2}
308  virtual void RangeChanged() { Emit("RangeChanged()"); } // *SIGNAL*
310  virtual void RangeAxisChanged() { Emit("RangeAxisChanged()"); } // *SIGNAL*
311  virtual void RecursiveRemove(TObject *obj);
312  virtual void RedrawAxis(Option_t *option="");
314  virtual void ResizePad(Option_t *option="");
315  virtual void SaveAs(const char *filename="",Option_t *option="") const; // *MENU*
316  virtual void SetBorderMode(Short_t bordermode) {fBorderMode = bordermode; Modified();} // *MENU*
317  virtual void SetBorderSize(Short_t bordersize) {fBorderSize = bordersize; Modified();} // *MENU*
318  void SetCanvas(TCanvas *c) { fCanvas = c; }
319  virtual void SetCanvasSize(UInt_t ww, UInt_t wh);
320  virtual void SetCrosshair(Int_t crhair=1); // *TOGGLE*
321  virtual void SetCursor(ECursor cursor);
322  virtual void SetDoubleBuffer(Int_t mode=1);
323  virtual void SetDrawOption(Option_t *option="");
324  virtual void SetEditable(Bool_t mode=kTRUE); // *TOGGLE*
325  virtual void SetFixedAspectRatio(Bool_t fixed = kTRUE); // *TOGGLE*
326  virtual void SetGrid(Int_t valuex = 1, Int_t valuey = 1) {fGridx = valuex; fGridy = valuey; Modified();}
327  virtual void SetGridx(Int_t value = 1) {fGridx = value; Modified();} // *TOGGLE*
328  virtual void SetGridy(Int_t value = 1) {fGridy = value; Modified();} // *TOGGLE*
329  virtual void SetFillStyle(Style_t fstyle);
330  virtual void SetLogx(Int_t value = 1); // *TOGGLE*
331  virtual void SetLogy(Int_t value = 1); // *TOGGLE*
332  virtual void SetLogz(Int_t value = 1); // *TOGGLE*
333  virtual void SetNumber(Int_t number) {fNumber = number;}
334  virtual void SetPad(const char *name, const char *title,
335  Double_t xlow, Double_t ylow, Double_t xup,
336  Double_t yup, Color_t color=35,
337  Short_t bordersize=5, Short_t bordermode=-1);
338  virtual void SetPad(Double_t xlow, Double_t ylow, Double_t xup, Double_t yup);
339  virtual void SetAttFillPS(Color_t color, Style_t style);
340  virtual void SetAttLinePS(Color_t color, Style_t style, Width_t lwidth);
341  virtual void SetAttMarkerPS(Color_t color, Style_t style, Size_t msize);
342  virtual void SetAttTextPS(Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize);
343  static void SetMaxPickDistance(Int_t maxPick=5);
344  virtual void SetName(const char *name) {fName = name;} // *MENU*
345  virtual void SetSelected(TObject *obj);
346  virtual void SetTicks(Int_t valuex = 1, Int_t valuey = 1) {fTickx = valuex; fTicky = valuey; Modified();}
347  virtual void SetTickx(Int_t value = 1) {fTickx = value; Modified();} // *TOGGLE*
348  virtual void SetTicky(Int_t value = 1) {fTicky = value; Modified();} // *TOGGLE*
349  virtual void SetTitle(const char *title="") {fTitle = title;}
350  virtual void SetTheta(Double_t theta=30) {fTheta = theta; Modified();}
351  virtual void SetPhi(Double_t phi=30) {fPhi = phi; Modified();}
352  virtual void SetToolTipText(const char *text, Long_t delayms = 1000);
353  virtual void SetVertical(Bool_t vert=kTRUE);
354  virtual void SetView(TView *view = 0);
355  virtual void SetViewer3D(TVirtualViewer3D *viewer3d) {fViewer3D = viewer3d;}
356 
357  virtual void SetGLDevice(Int_t dev) {fGLDevice = dev;}
358  virtual void SetCopyGLDevice(Bool_t copy) {fCopyGLDevice = copy;}
359 
360  virtual void ShowGuidelines(TObject *object, const Int_t event, const char mode = 'i', const bool cling = true);
361  virtual void Update();
364  Int_t UtoPixel(Double_t u) const;
365  Int_t VtoPixel(Double_t v) const;
366  virtual TObject *WaitPrimitive(const char *pname="", const char *emode="");
367  Int_t XtoAbsPixel(Double_t x) const;
368  Int_t YtoAbsPixel(Double_t y) const;
369  Double_t XtoPad(Double_t x) const;
370  Double_t YtoPad(Double_t y) const;
371  Int_t XtoPixel(Double_t x) const;
372  Int_t YtoPixel(Double_t y) const;
373  virtual void XYtoAbsPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const;
374  virtual void XYtoPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const;
375 
376  virtual TObject *CreateToolTip(const TBox *b, const char *text, Long_t delayms);
377  virtual void DeleteToolTip(TObject *tip);
378  virtual void ResetToolTip(TObject *tip);
379  virtual void CloseToolTip(TObject *tip);
380 
381  virtual void x3d(Option_t *type=""); // Depreciated
382 
383  virtual TVirtualViewer3D *GetViewer3D(Option_t * type = "");
384  virtual Bool_t HasViewer3D() const { return (fViewer3D); }
385  virtual void ReleaseViewer3D(Option_t * type = "");
386 
387  virtual Rectangle_t GetBBox();
388  virtual TPoint GetBBoxCenter();
389  virtual void SetBBoxCenter(const TPoint &p);
390  virtual void SetBBoxCenterX(const Int_t x);
391  virtual void SetBBoxCenterY(const Int_t y);
392  virtual void SetBBoxX1(const Int_t x);
393  virtual void SetBBoxX2(const Int_t x);
394  virtual void SetBBoxY1(const Int_t y);
395  virtual void SetBBoxY2(const Int_t y);
396 
397  virtual void RecordPave(const TObject *obj); // *SIGNAL*
398  virtual void RecordLatex(const TObject *obj); // *SIGNAL*
399  virtual void EventPave() { Emit("EventPave()"); } // *SIGNAL*
400  virtual void StartEditing() { Emit("StartEditing()"); } // *SIGNAL*
401 
402  ClassDef(TPad,11) //A Graphics pad
403 };
404 
405 
406 //______________________________________________________________________________
407 inline void TPad::Modified(Bool_t flag)
408 {
409  if (!fModified && flag) Emit("Modified()");
410  fModified = flag;
411 }
412 
413 
414 //______________________________________________________________________________
415 inline void TPad::AbsPixeltoXY(Int_t xpixel, Int_t ypixel, Double_t &x, Double_t &y)
416 {
417  x = AbsPixeltoX(xpixel);
418  y = AbsPixeltoY(ypixel);
419 }
420 
421 
422 //______________________________________________________________________________
424 {
425  if (fAbsCoord) return fAbsPixeltoXk + px*fPixeltoX;
426  else return fPixeltoXk + px*fPixeltoX;
427 }
428 
429 
430 //______________________________________________________________________________
432 {
433  if (fAbsCoord) return fAbsPixeltoYk + py*fPixeltoY;
434  else return fPixeltoYk + py*fPixeltoY;
435 }
436 
437 
438 //______________________________________________________________________________
439 inline void TPad::PixeltoXY(Int_t xpixel, Int_t ypixel, Double_t &x, Double_t &y)
440 {
441  x = PixeltoX(xpixel);
442  y = PixeltoY(ypixel);
443 }
444 
445 
446 //______________________________________________________________________________
448 {
449  Double_t val;
450  if (fAbsCoord) val = fUtoAbsPixelk + u*fUtoPixel;
451  else val = u*fUtoPixel;
452  if (val < -kMaxPixel) return -kMaxPixel;
453  if (val > kMaxPixel) return kMaxPixel;
454  return Int_t(val);
455 }
456 
457 
458 //______________________________________________________________________________
460 {
461  Double_t val;
462  if (fAbsCoord) val = fVtoAbsPixelk + v*fVtoPixel;
463  else val = fVtoPixelk + v*fVtoPixel;
464  if (val < -kMaxPixel) return -kMaxPixel;
465  if (val > kMaxPixel) return kMaxPixel;
466  return Int_t(val);
467 }
468 
469 
470 //______________________________________________________________________________
472 {
473  Double_t val = fXtoAbsPixelk + x*fXtoPixel;
474  if (val < -kMaxPixel) return -kMaxPixel;
475  if (val > kMaxPixel) return kMaxPixel;
476  return Int_t(val);
477 }
478 
479 
480 //______________________________________________________________________________
482 {
483  Double_t val;
484  if (fAbsCoord) val = fXtoAbsPixelk + x*fXtoPixel;
485  else val = fXtoPixelk + x*fXtoPixel;
486  if (val < -kMaxPixel) return -kMaxPixel;
487  if (val > kMaxPixel) return kMaxPixel;
488  return Int_t(val);
489 }
490 
491 
492 //______________________________________________________________________________
494 {
495  Double_t val = fYtoAbsPixelk + y*fYtoPixel;
496  if (val < -kMaxPixel) return -kMaxPixel;
497  if (val > kMaxPixel) return kMaxPixel;
498  return Int_t(val);
499 }
500 
501 
502 //______________________________________________________________________________
504 {
505  Double_t val;
506  if (fAbsCoord) val = fYtoAbsPixelk + y*fYtoPixel;
507  else val = fYtoPixelk + y*fYtoPixel;
508  if (val < -kMaxPixel) return -kMaxPixel;
509  if (val > kMaxPixel) return kMaxPixel;
510  return Int_t(val);
511 }
512 
513 
514 //______________________________________________________________________________
515 inline void TPad::XYtoAbsPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const
516 {
517  xpixel = XtoAbsPixel(x);
518  ypixel = YtoAbsPixel(y);
519 }
520 
521 
522 //______________________________________________________________________________
523 inline void TPad::XYtoPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const
524 {
525  xpixel = XtoPixel(x);
526  ypixel = YtoPixel(y);
527 }
528 
529 
530 //______________________________________________________________________________
532 { }
533 
534 #endif
535 
Double_t PadtoY(Double_t y) const
Convert y from pad to Y.
Definition: TPad.cxx:2883
const int nx
Definition: kalman.C:16
virtual TCanvasImp * GetCanvasImp() const
Get canvas implementation pointer if any.
Definition: TPad.cxx:2539
Double_t PadtoX(Double_t x) const
Convert x from pad to X.
Definition: TPad.cxx:2874
virtual TObject * GetSelected() const
Get selected.
Definition: TPad.cxx:2595
Bool_t fAbsCoord
Definition: TPad.h:118
virtual void SetGridx(Int_t value=1)
Definition: TPad.h:327
Double_t fPixeltoX
Definition: TPad.h:73
Double_t fUymin
Definition: TPad.h:91
Int_t GetTicky() const
Definition: TPad.h:234
virtual 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)
Set all pad parameters.
Definition: TPad.cxx:5363
virtual void SetTickx(Int_t value=1)
Definition: TPad.h:347
float xmin
Definition: THbookFile.cxx:93
Double_t GetUxmin() const
Definition: TPad.h:226
void PaintLineNDC(Double_t u1, Double_t v1, Double_t u2, Double_t v2)
Paint line in normalized coordinates.
Definition: TPad.cxx:3666
virtual void DrawClassObject(const TObject *obj, Option_t *option="")
Draw class inheritance tree of the class to which obj belongs.
Definition: TPad.cxx:1225
TList * fPrimitives
Pointer to mother canvas.
Definition: TPad.h:123
virtual TObject * GetPrimitive(const char *name) const
Get primitive.
Definition: TPad.cxx:2753
virtual void ResizePad(Option_t *option="")
Compute pad conversion coefficients.
Definition: TPad.cxx:4873
virtual TCanvas * GetCanvas() const
Definition: TPad.h:257
Double_t GetAbsWNDC() const
Definition: TPad.h:221
ABC describing GUI independent main window (with menubar, scrollbars and a drawing area)...
Definition: TCanvasImp.h:32
virtual void SetDrawOption(Option_t *option="")
Set drawing option for object.
Definition: TPad.h:531
This class displays a legend box (TPaveText) containing several legend entries.
Definition: TLegend.h:35
virtual void ResetView3D(TObject *view=0)
Definition: TPad.h:313
const Double_t * v1
Definition: TArcBall.cxx:33
TString fTitle
Definition: TPad.h:126
virtual void DrawCrosshair()
Function called to draw a crosshair in the canvas.
Definition: TPad.cxx:1426
short Style_t
Definition: RtypesCore.h:76
ClassDef(TAttBBox2D, 0)
virtual void SetBatch(Bool_t batch=kTRUE)
Set pad in batch mode.
Definition: TPad.cxx:2681
virtual void SetTheta(Double_t theta=30)
Definition: TPad.h:350
Bool_t fGridx
Definition: TPad.h:116
Double_t fPhi
Definition: TPad.h:96
float Float_t
Definition: RtypesCore.h:53
float Size_t
Definition: RtypesCore.h:83
virtual void Paint(Option_t *option="")
Paint all primitives in pad.
Definition: TPad.cxx:2916
Float_t theta
Definition: shapesAnim.C:5
return c
const char Option_t
Definition: RtypesCore.h:62
virtual Int_t GetEventX() const
Get X event.
Definition: TPad.cxx:2555
Int_t XtoAbsPixel(Double_t x) const
Definition: TPad.h:471
Definition: Rtypes.h:61
float ymin
Definition: THbookFile.cxx:93
void CopyBackgroundPixmaps(TPad *start, TPad *stop, Int_t x, Int_t y)
Copy pixmaps of pads laying below pad "stop" into pad "stop".
Definition: TPad.cxx:3314
Double_t GetAbsYlowNDC() const
Definition: TPad.h:220
Create a Box.
Definition: TBox.h:44
TList * GetListOfExecs() const
Definition: TPad.h:241
void PaintPadFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax)
Paint histogram/graph frame.
Definition: TPad.cxx:3114
virtual void SetVertical(Bool_t vert=kTRUE)
Set pad vertical (default) or horizontal.
Definition: TPad.cxx:5895
void PaintFillArea(Int_t n, Float_t *x, Float_t *y, Option_t *option="")
Definition: TPad.cxx:3340
virtual void RangeChanged()
Definition: TPad.h:308
Int_t GetLogx() const
Definition: TPad.h:251
virtual void SetSelected(TObject *obj)
Set selected.
Definition: TPad.cxx:2713
#define BIT(n)
Definition: Rtypes.h:120
void PaintPolyLineNDC(Int_t n, Double_t *x, Double_t *y, Option_t *option="")
Paint polyline in CurrentPad NDC coordinates.
Definition: TPad.cxx:3820
Short_t fBorderSize
Definition: TPad.h:113
TH1F * DrawFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, const char *title="")
Draw an empty pad frame with X and Y axis.
Definition: TPad.cxx:1475
Double_t PixeltoX(Int_t px)
Definition: TPad.h:423
virtual void SetBBoxCenter(const TPoint &p)
Set center of the Pad.
Definition: TPad.cxx:6480
virtual void SetFixedAspectRatio(Bool_t fixed=kTRUE)
Fix pad aspect ratio to current value if fixed is true.
Definition: TPad.cxx:5246
virtual void SetBorderMode(Short_t bordermode)
Definition: TPad.h:316
virtual UInt_t GetWw() const
Get Ww.
Definition: TPad.cxx:2630
tuple pname
Definition: tree.py:131
virtual ~TPad()
Pad destructor.
Definition: TPad.cxx:326
Int_t GetLogz() const
Definition: TPad.h:253
Double_t fAbsXlowNDC
Definition: TPad.h:85
virtual Bool_t IsRetained() const
Is pad retained ?
Definition: TPad.cxx:2657
See TView3D.
Definition: TView.h:36
TList * fExecs
Definition: TPad.h:124
virtual void CopyPixmap()
Copy the pixmap of the pad to the canvas.
Definition: TPad.cxx:956
Bool_t HasFixedAspectRatio() const
Definition: TPad.h:265
Double_t GetUymax() const
Definition: TPad.h:229
Double_t GetAbsXlowNDC() const
Definition: TPad.h:219
Int_t UtoPixel(Double_t u) const
Definition: TPad.h:447
static const char * filename()
Double_t GetAspectRatio() const
Definition: TPad.h:223
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:1172
virtual void GetRangeAxis(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax)
Return pad axis coordinates range.
Definition: TPad.cxx:2813
Double_t fUxmax
Definition: TPad.h:92
void PaintBorder(Color_t color, Bool_t tops)
Paint the pad border.
Definition: TPad.cxx:2978
Basic string class.
Definition: TString.h:137
1-D histogram with a float per channel (see TH1 documentation)}
Definition: TH1.h:570
Int_t VtoAbsPixel(Double_t v) const
Definition: TPad.h:363
Double_t fUymax
Definition: TPad.h:93
virtual Bool_t OpaqueMoving() const
Is pad moving in opaque mode ?
Definition: TPad.cxx:2665
virtual void Update()
Update pad.
Definition: TPad.cxx:2721
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
virtual void PaintModified()
Traverse pad hierarchy and (re)paint only modified pads.
Definition: TPad.cxx:3133
Double_t fVtoPixel
Definition: TPad.h:69
virtual void SetBBoxCenterX(const Int_t x)
Set X coordinate of the center of the Pad.
Definition: TPad.cxx:6490
Double_t fYUpNDC
Definition: TPad.h:81
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:586
Int_t fPadPaint
Definition: TPad.h:110
Int_t GetTickx() const
Definition: TPad.h:233
Double_t fPixeltoXk
Definition: TPad.h:72
ECursor
Definition: TVirtualX.h:56
virtual void Print(const char *filename="") const
Save Pad contents in a file in one of various formats.
Definition: TPad.cxx:4134
Float_t py
Definition: hprod.C:33
virtual Short_t GetBorderMode() const
Definition: TPad.h:200
Double_t YtoPad(Double_t y) const
Convert y from Y to pad.
Definition: TPad.cxx:2904
Double_t fAbsWNDC
Definition: TPad.h:87
Double_t fAbsPixeltoYk
Definition: TPad.h:74
Bool_t IsModified() const
Definition: TPad.h:269
virtual void RecursiveRemove(TObject *obj)
Recursively remove object from a pad and its sub-pads.
Definition: TPad.cxx:4681
Int_t fNumber
Definition: TPad.h:104
void PaintHatches(Double_t dy, Double_t angle, Int_t nn, Double_t *xx, Double_t *yy)
This routine draw hatches inclined with the angle "angle" and spaced of "dy" in normalized device coo...
Definition: TPad.cxx:3489
Double_t fAbsYlowNDC
Definition: TPad.h:86
virtual void SetToolTipText(const char *text, Long_t delayms=1000)
Set tool tip text associated with this pad.
Definition: TPad.cxx:5881
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:728
const char * Data() const
Definition: TString.h:349
virtual TVirtualViewer3D * GetViewer3D(Option_t *type="")
Create/obtain handle to 3D viewer.
Definition: TPad.cxx:6331
TVirtualPad * cd(Int_t subpadnumber=0)
Set Current pad.
Definition: TPad.cxx:514
static const double x2[5]
Double_t fYtoAbsPixelk
Definition: TPad.h:60
Double_t GetYlowNDC() const
Definition: TPad.h:214
Double_t x[n]
Definition: legend1.C:17
void PaintDate()
Paint the current date and time if the option date is on.
Definition: TPad.cxx:3083
virtual Int_t GetEvent() const
Get Event.
Definition: TPad.cxx:2547
virtual void Close(Option_t *option="")
Delete all primitives in pad and pad itself.
Definition: TPad.cxx:898
virtual void PixeltoXY(Int_t xpixel, Int_t ypixel, Double_t &x, Double_t &y)
Definition: TPad.h:439
TFrame * GetFrame()
Get frame.
Definition: TPad.cxx:2729
Int_t bsize[]
Definition: SparseFit4.cxx:31
virtual Int_t GetEventY() const
Get Y event.
Definition: TPad.cxx:2563
void HighLight(Color_t col=kRed, Bool_t set=kTRUE)
Highlight pad.
Definition: TPad.cxx:2825
Int_t fLogx
Definition: TPad.h:107
TFrame * fFrame
Definition: TPad.h:127
const int ny
Definition: kalman.C:17
static Int_t GetMaxPickDistance()
Static function (see also TPad::SetMaxPickDistance)
Definition: TPad.cxx:2587
virtual void SetGrid(Int_t valuex=1, Int_t valuey=1)
Definition: TPad.h:326
void PaintTextNDC(Double_t u, Double_t v, const char *text)
Paint text in CurrentPad NDC coordinates.
Definition: TPad.cxx:3946
Bool_t fEditable
Definition: TPad.h:119
virtual void ExecuteEventAxis(Int_t event, Int_t px, Int_t py, TAxis *axis)
Execute action corresponding to one event for a TAxis object (called by TAxis::ExecuteEvent.) This member function is called when an axis is clicked with the locator.
Definition: TPad.cxx:2157
TCanvas * fCanvas
pointer to mother of the list
Definition: TPad.h:122
virtual void SetCrosshair(Int_t crhair=1)
Set crosshair active/inactive.
Definition: TPad.cxx:5856
virtual TLegend * BuildLegend(Double_t x1=0.5, Double_t y1=0.67, Double_t x2=0.88, Double_t y2=0.88, const char *title="")
Build a legend from the graphical objects in the pad.
Definition: TPad.cxx:422
const Int_t kMaxPixel
Definition: GuiTypes.h:370
static double p2(double t, double a, double b, double c)
virtual void SaveAs(const char *filename="", Option_t *option="") const
Save Pad contents in a file in one of various formats.
Definition: TPad.cxx:5005
virtual void SetBBoxX1(const Int_t x)
Set lefthandside of BoundingBox to a value (resize in x direction on left)
Definition: TPad.cxx:6509
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Compute distance from point px,py to a box.
Definition: TPad.cxx:1002
Double_t fXUpNDC
Definition: TPad.h:80
virtual TObject * GetPadPointer() const
Definition: TPad.h:245
void align()
Definition: geodemo.C:1778
static void DrawColorTable()
Static function to Display Color Table in a pad.
Definition: TPad.cxx:1520
Int_t fCrosshairPos
Definition: TPad.h:112
Abstract 3D shapes viewer.
virtual void XYtoPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const
Definition: TPad.h:523
Double_t fAbsHNDC
Definition: TPad.h:88
Int_t fLogz
Definition: TPad.h:109
virtual void SetLogx(Int_t value=1)
Set Lin/Log scale for X.
Definition: TPad.cxx:5301
virtual void RedrawAxis(Option_t *option="")
Redraw the frame axis Redrawing axis may be necessary in case of superimposed histograms when one or ...
Definition: TPad.cxx:4705
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition: TVirtualPad.h:59
Int_t GetLogy() const
Definition: TPad.h:252
virtual void SetGLDevice(Int_t dev)
Definition: TPad.h:357
virtual TPad * Pick(Int_t px, Int_t py, TObjLink *&pickobj)
Search for an object at pixel position px,py.
Definition: TPad.cxx:3990
Int_t YtoAbsPixel(Double_t y) const
Definition: TPad.h:493
virtual void Draw(Option_t *option="")
Draw Pad in Current pad (re-parent pad if necessary).
Definition: TPad.cxx:1192
Double_t GetXlowNDC() const
Definition: TPad.h:213
char * out
Definition: TBase64.cxx:29
Double_t fYlowNDC
Definition: TPad.h:79
void SetCanvas(TCanvas *c)
Definition: TPad.h:318
short Color_t
Definition: RtypesCore.h:79
Double_t GetY2() const
Definition: TPad.h:238
virtual void SetEditable(Bool_t mode=kTRUE)
Set pad editable yes/no If a pad is not editable:
Definition: TPad.cxx:5270
virtual void XYtoAbsPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const
Definition: TPad.h:515
void Emit(const char *signal)
Acitvate signal without args.
Definition: TQObject.cxx:559
virtual Int_t GetCanvasID() const
Get canvas identifier.
Definition: TPad.cxx:2531
Double_t fX2
Definition: TPad.h:54
Definition: TPoint.h:33
const char * GetName() const
Returns name of object.
Definition: TPad.h:255
A doubly linked list.
Definition: TList.h:47
virtual Color_t GetHighLightColor() const
Get highlight color.
Definition: TPad.cxx:2579
virtual void CopyPixmaps()
Copy the sub-pixmaps of the pad to the canvas.
Definition: TPad.cxx:970
Double_t fXtoPixel
Definition: TPad.h:59
Double_t fPixeltoY
Definition: TPad.h:76
virtual TVirtualPad * GetVirtCanvas() const
Get virtual canvas.
Definition: TPad.cxx:2571
void PaintPolyLine(Int_t n, Float_t *x, Float_t *y, Option_t *option="")
Paint polyline in CurrentPad World coordinates.
Definition: TPad.cxx:3722
virtual void AddExec(const char *name, const char *command)
Add a new TExec object to the list of Execs.
Definition: TPad.cxx:378
TObject * fPadView3D
free pointer
Definition: TPad.h:130
Using a TBrowser one can browse all ROOT objects.
Definition: TBrowser.h:41
Double_t fVtoPixelk
Definition: TPad.h:68
Double_t fXtoAbsPixelk
Definition: TPad.h:57
TView * GetView() const
Definition: TPad.h:249
TPad * fMother
Definition: TPad.h:121
float ymax
Definition: THbookFile.cxx:93
TVirtualPad * GetSelectedPad() const
Get selected pad.
Definition: TPad.cxx:2604
virtual TObject * FindObject(const char *name) const
Search if object named name is inside this pad or in pads inside this pad.
Definition: TPad.cxx:2491
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute action corresponding to one event.
Definition: TPad.cxx:1583
virtual void SetDoubleBuffer(Int_t mode=1)
Set double buffer mode ON or OFF.
Definition: TPad.cxx:2705
virtual void SetAttLinePS(Color_t color, Style_t style, Width_t lwidth)
Set postscript line attributes.
Definition: TPad.cxx:5407
Int_t fPixmapID
Definition: TPad.h:100
virtual void SetCursor(ECursor cursor)
Set cursor type.
Definition: TPad.cxx:2697
virtual void DeleteToolTip(TObject *tip)
Delete tool tip object.
Definition: TPad.cxx:6281
virtual void ShowGuidelines(TObject *object, const Int_t event, const char mode= 'i', const bool cling=true)
Shows lines to indicate if a TAttBBox2D object is aligned to the center or to another object...
Definition: TPad.cxx:5542
Class to manage histogram axis.
Definition: TAxis.h:36
virtual void CloseToolTip(TObject *tip)
Hide tool tip.
Definition: TPad.cxx:6303
SVector< double, 2 > v
Definition: Dict.h:5
TPaveLabel title(3, 27.1, 15, 28.7,"ROOT Environment and Tools")
virtual void Range(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Set world coordinate system for the pad.
Definition: TPad.cxx:4623
virtual void SetAttFillPS(Color_t color, Style_t style)
Set postscript fill area attributes.
Definition: TPad.cxx:5396
virtual void DeleteExec(const char *name)
Remove TExec name from the list of Execs.
Definition: TPad.cxx:986
virtual void SetTicky(Int_t value=1)
Definition: TPad.h:348
virtual TPoint GetBBoxCenter()
Return the center of the Pad as TPoint in pixels.
Definition: TPad.cxx:6466
virtual Bool_t HasCrosshair() const
Return kTRUE if the crosshair has been activated (via SetCrosshair).
Definition: TPad.cxx:5834
virtual void ls(Option_t *option="") const
List all primitives in pad.
Definition: TPad.cxx:2860
virtual void UseCurrentStyle()
Force a copy of current style for all objects in pad.
Definition: TPad.cxx:6113
virtual void SetBBoxY2(const Int_t y)
Set bottom of BoundingBox to a value (resize in y direction on bottom)
Definition: TPad.cxx:6539
TView * fView
Pointer to 2-D frame (if one exists)
Definition: TPad.h:128
void PaintPolyMarker(Int_t n, Float_t *x, Float_t *y, Option_t *option="")
Paint polymarker in CurrentPad World coordinates.
Definition: TPad.cxx:3858
void CopyBackgroundPixmap(Int_t x, Int_t y)
Copy pixmap of this pad as background of the current pad.
Definition: TPad.cxx:3331
Double_t GetAbsHNDC() const
Definition: TPad.h:222
virtual void SetView(TView *view=0)
Set the current TView. Delete previous view if view=0.
Definition: TPad.cxx:5387
unsigned int UInt_t
Definition: RtypesCore.h:42
Bool_t TestBit(UInt_t f) const
Definition: TObject.h:173
The most important graphics class in the ROOT system.
Definition: TPad.h:46
virtual Bool_t OpaqueResizing() const
Is pad resizing in opaque mode ?
Definition: TPad.cxx:2673
virtual void ResetToolTip(TObject *tip)
Reset tool tip, i.e.
Definition: TPad.cxx:6292
virtual void SetAttMarkerPS(Color_t color, Style_t style, Size_t msize)
Set postscript marker attributes.
Definition: TPad.cxx:5419
virtual void AbsPixeltoXY(Int_t xpixel, Int_t ypixel, Double_t &x, Double_t &y)
Definition: TPad.h:415
short Short_t
Definition: RtypesCore.h:35
virtual Short_t GetBorderSize() const
Definition: TPad.h:201
void AbsCoordinates(Bool_t set)
Definition: TPad.h:170
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save primitives in this pad on the C++ source file out.
Definition: TPad.cxx:5066
virtual void SetPhi(Double_t phi=30)
Definition: TPad.h:351
void PaintLine3D(Float_t *p1, Float_t *p2)
Paint 3-D line in the CurrentPad.
Definition: TPad.cxx:3686
virtual void SetViewer3D(TVirtualViewer3D *viewer3d)
Definition: TPad.h:355
Double_t GetUxmax() const
Definition: TPad.h:228
static double p1(double t, double a, double b)
float xmax
Definition: THbookFile.cxx:93
Bool_t GetGridx() const
Definition: TPad.h:230
tuple pad
Definition: first.py:38
virtual void StartEditing()
Definition: TPad.h:400
virtual void SetCopyGLDevice(Bool_t copy)
Definition: TPad.h:358
virtual void SetCanvasSize(UInt_t ww, UInt_t wh)
Set canvas size.
Definition: TPad.cxx:2689
Double_t fYtoPixel
Definition: TPad.h:62
virtual TVirtualPadPainter * GetPainter()
Get pad painter from TCanvas.
Definition: TPad.cxx:6443
TVirtualPad * GetPadSave() const
Get save pad.
Definition: TPad.cxx:2613
Bool_t fModified
Definition: TPad.h:115
virtual TVirtualPad * GetMother() const
Definition: TPad.h:254
Int_t fCrosshair
Definition: TPad.h:111
Define a Frame.
Definition: TFrame.h:29
short Width_t
Definition: RtypesCore.h:78
Double_t fUtoAbsPixelk
Definition: TPad.h:64
Double_t fY2
Definition: TPad.h:55
Int_t GetNumber() const
Definition: TPad.h:232
Double_t fAspectRatio
Definition: TPad.h:98
TObject * GetView3D() const
Definition: TPad.h:250
const char * GetTitle() const
Returns title of object.
Definition: TPad.h:256
Float_t phi
Definition: shapesAnim.C:6
virtual 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)
Paint a frame border with Postscript.
Definition: TPad.cxx:3074
Double_t GetPhi() const
Definition: TPad.h:224
Int_t XtoPixel(Double_t x) const
Definition: TPad.h:481
long Long_t
Definition: RtypesCore.h:50
The Canvas class.
Definition: TCanvas.h:48
virtual void HideToolTip(Int_t event)
Hide tool tip depending on the event type.
Definition: TPad.cxx:2640
Int_t GetPadPaint() const
Definition: TPad.h:260
void PaintBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t *option="")
Paint box in CurrentPad World coordinates.
Definition: TPad.cxx:3220
virtual void SetTitle(const char *title="")
Definition: TPad.h:349
static const double x1[5]
Double_t fVtoAbsPixelk
Definition: TPad.h:67
virtual void EventPave()
Definition: TPad.h:399
Int_t GetCrosshair() const
Return the crosshair type (from the mother canvas) crosshair type = 0 means no crosshair.
Definition: TPad.cxx:5843
Double_t fXtoPixelk
Definition: TPad.h:58
double Double_t
Definition: RtypesCore.h:55
Int_t GetGLDevice()
Get GL device.
Definition: TPad.cxx:6419
TText * text
virtual void SetGridy(Int_t value=1)
Definition: TPad.h:328
void DestroyExternalViewer3D()
Current 3D viewer.
virtual Bool_t IsEditable() const
Definition: TPad.h:267
Bool_t fGridy
Definition: TPad.h:117
int type
Definition: TGX11.cxx:120
virtual void SetFillStyle(Style_t fstyle)
Override TAttFill::FillStyle for TPad because we want to handle style=0 as style 4000.
Definition: TPad.cxx:5289
Bool_t fCopyGLDevice
OpenGL off-screen pixmap identifier.
Definition: TPad.h:102
unsigned long ULong_t
Definition: RtypesCore.h:51
Double_t XtoPad(Double_t x) const
Convert x from X to pad.
Definition: TPad.cxx:2892
TCanvas * style()
Definition: style.C:1
Double_t y[n]
Definition: legend1.C:17
Double_t fTheta
Definition: TPad.h:95
virtual void GetRange(Double_t &x1, Double_t &y1, Double_t &x2, Double_t &y2)
Return pad world coordinates range.
Definition: TPad.cxx:2802
Double_t GetUymin() const
Definition: TPad.h:227
Double_t PixeltoY(Int_t py)
Definition: TPad.h:431
virtual Bool_t IsBatch() const
Is pad in batch mode ?
Definition: TPad.cxx:2649
virtual void SetBBoxY1(const Int_t y)
Set top of BoundingBox to a value (resize in y direction on top)
Definition: TPad.cxx:6529
Int_t fTickx
Definition: TPad.h:105
tuple view
Definition: tornado.py:20
TPad & operator=(const TPad &rhs)
virtual TObject * WaitPrimitive(const char *pname="", const char *emode="")
Loop and sleep until a primitive with name=pname is found in the pad.
Definition: TPad.cxx:6231
virtual void GetPadPar(Double_t &xlow, Double_t &ylow, Double_t &xup, Double_t &yup)
Return lower and upper bounds of the pad in NDC coordinates.
Definition: TPad.cxx:2791
virtual void SetTicks(Int_t valuex=1, Int_t valuey=1)
Definition: TPad.h:346
TVirtualViewer3D * fViewer3D
Definition: TPad.h:134
virtual void SetBBoxX2(const Int_t x)
Set right hand side of BoundingBox to a value (resize in x direction on right)
Definition: TPad.cxx:6520
#define name(a, b)
Definition: linkTestLib0.cpp:5
Double_t fXlowNDC
Definition: TPad.h:78
virtual void SetName(const char *name)
Definition: TPad.h:344
Mother of all ROOT objects.
Definition: TObject.h:58
Bool_t fFixedAspectRatio
Definition: TPad.h:120
void Clear(Option_t *option="")
Delete all pad primitives.
Definition: TPad.cxx:543
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:777
Float_t px
Definition: hprod.C:33
virtual TVirtualPad * GetPad(Int_t subpadnumber) const
Get a pointer to subpadnumber of this pad.
Definition: TPad.cxx:2770
Bool_t axis
Definition: geodemo.C:37
virtual void Browse(TBrowser *b)
Browse pad.
Definition: TPad.cxx:403
TList * GetListOfPrimitives() const
Definition: TPad.h:240
virtual void RecordPave(const TObject *obj)
Emit RecordPave() signal.
Definition: TPad.cxx:6427
Int_t YtoPixel(Double_t y) const
Definition: TPad.h:503
virtual void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0)
Automatic pad generation by division.
Definition: TPad.cxx:1073
Abstract base class for elements drawn in the editor.
Definition: TAttBBox2D.h:23
Double_t GetTheta() const
Definition: TPad.h:225
virtual void AutoExec()
Execute the list of Execs when a pad event occurs.
Definition: TPad.cxx:388
virtual void ReleaseViewer3D(Option_t *type="")
Release current (external) viewer.
Definition: TPad.cxx:6403
TString fName
Definition: TPad.h:125
Double_t fYtoPixelk
Definition: TPad.h:61
void PaintPolyLine3D(Int_t n, Double_t *p)
Paint 3-D polyline in the CurrentPad.
Definition: TPad.cxx:3844
virtual Bool_t HasViewer3D() const
Definition: TPad.h:384
Double_t fHNDC
Definition: TPad.h:83
Double_t AbsPixeltoX(Int_t px)
Definition: TPad.h:171
virtual TObject * CreateToolTip(const TBox *b, const char *text, Long_t delayms)
Create a tool tip and return its pointer.
Definition: TPad.cxx:6271
Bool_t fEmbeddedGL
Definition: TPad.h:103
virtual void Pop()
Pop pad to the top of the stack.
Definition: TPad.cxx:4100
ULong_t Hash() const
Return hash value for this object.
Definition: TPad.h:262
Double_t GetX2() const
Definition: TPad.h:236
virtual void SetAttTextPS(Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize)
Set postscript text attributes.
Definition: TPad.cxx:5431
TObject * fPadPointer
Pointer to 3-D view (if one exists)
Definition: TPad.h:129
virtual Rectangle_t GetBBox()
Return the bounding Box of the Pad.
Definition: TPad.cxx:6452
Bool_t GetGridy() const
Definition: TPad.h:231
Double_t fUtoPixelk
Definition: TPad.h:65
virtual void RangeAxis(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax)
Set axis coordinate system for the pad.
Definition: TPad.cxx:4661
virtual void SetNumber(Int_t number)
Definition: TPad.h:333
Double_t fPixeltoYk
Definition: TPad.h:75
virtual Bool_t IsVertical() const
Definition: TPad.h:271
virtual void SetBorderSize(Short_t bordersize)
Definition: TPad.h:317
Draw all kinds of Arrows.
Definition: TArrow.h:35
Double_t fY1
Definition: TPad.h:53
Int_t fGLDevice
Off-screen pixmap identifier.
Definition: TPad.h:101
RooCmdArg FillStyle(Style_t style)
static void SetMaxPickDistance(Int_t maxPick=5)
static function to set the maximum Pick Distance fgMaxPickDistance This parameter is used in TPad::Pi...
Definition: TPad.cxx:5871
void PaintFillAreaHatches(Int_t n, Double_t *x, Double_t *y, Int_t FillStyle)
This function paints hatched fill area according to the FillStyle value The convention for the Hatch ...
Definition: TPad.cxx:3427
Double_t GetWNDC() const
Definition: TPad.h:215
const Bool_t kTRUE
Definition: Rtypes.h:91
virtual void SetLogz(Int_t value=1)
Set Lin/Log scale for Z.
Definition: TPad.cxx:5324
Double_t fX1
tool tip associated with box
Definition: TPad.h:52
Int_t GetPixmapID() const
Definition: TPad.h:261
TObject * fTip
Definition: TPad.h:49
TObject * obj
virtual void x3d(Option_t *type="")
Deprecated: use TPad::GetViewer3D() instead.
Definition: TPad.cxx:6313
void PaintLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Paint line in CurrentPad World coordinates.
Definition: TPad.cxx:3641
float value
Definition: math.cpp:443
Double_t AbsPixeltoY(Int_t py)
Definition: TPad.h:172
Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects)...
Definition: TPad.h:268
Int_t VtoPixel(Double_t v) const
Definition: TPad.h:459
Double_t GetY1() const
Definition: TPad.h:237
Double_t GetX1() const
Definition: TPad.h:235
Double_t fUxmin
Definition: TPad.h:90
const Int_t n
Definition: legend1.C:16
Int_t fTicky
Definition: TPad.h:106
virtual UInt_t GetWh() const
Get Wh.
Definition: TPad.cxx:2622
virtual void SetBBoxCenterY(const Int_t y)
Set Y coordinate of the center of the Pad.
Definition: TPad.cxx:6499
virtual void RangeAxisChanged()
Definition: TPad.h:310
void Modified(Bool_t flag=1)
Definition: TPad.h:407
To make it possible to use GL for 2D graphic in a TPad/TCanvas.
static Int_t fgMaxPickDistance
3D View of this TPad
Definition: TPad.h:131
Double_t GetHNDC() const
Definition: TPad.h:216
virtual void Closed()
Definition: TPad.h:185
Double_t fUtoPixel
Definition: TPad.h:66
Short_t fBorderMode
Definition: TPad.h:114
Double_t fAbsPixeltoXk
Definition: TPad.h:71
Int_t UtoAbsPixel(Double_t u) const
Definition: TPad.h:362
Int_t fLogy
Definition: TPad.h:108
void PaintText(Double_t x, Double_t y, const char *text)
Paint text in CurrentPad World coordinates.
Definition: TPad.cxx:3920
Double_t fWNDC
Definition: TPad.h:82
virtual void RecordLatex(const TObject *obj)
Emit RecordLatex() signal.
Definition: TPad.cxx:6435
void DrawDist(Rectangle_t aBBox, Rectangle_t bBBox, char mode)
Draw Arrows to indicated equal distances of Objects with given BBoxes.
Definition: TPad.cxx:5458
virtual void SetLogy(Int_t value=1)
Set Lin/Log scale for Y.
Definition: TPad.cxx:5314
UInt_t Hash(ECaseCompare cmp=kExact) const
Return hash value.
Definition: TString.cxx:592