Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TVirtualPad.h
Go to the documentation of this file.
1// @(#)root/base:$Id$
2// Author: Rene Brun 05/12/95
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_TVirtualPad
13#define ROOT_TVirtualPad
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TVirtualPad //
19// //
20// Abstract base class for Pads and Canvases //
21// //
22// //
23//////////////////////////////////////////////////////////////////////////
24
25
26#include "TObject.h"
27#include "TAttLine.h"
28#include "TAttFill.h"
29#include "TAttPad.h"
30#include "TQObject.h"
31
32#include "GuiTypes.h"
33#include "TString.h"
34#include "Buttons.h"
35
36// forward declarations
37class TAxis;
38class TObject;
39class TObjLink;
40class TView;
41class TCanvas;
42class TCanvasImp;
43class TH1F;
44class TFrame;
45class TLegend;
46class TBox;
49
50class TVirtualPad : public TObject, public TAttLine, public TAttFill,
51 public TAttPad, public TQObject {
52
53protected:
54 Bool_t fResizing; //!true when resizing the pad
55
56 void *GetSender() override { return this; } //used to set gTQSender
57
58public:
59
60 /** small helper class to store/restore gPad context in TPad methods */
61 class TContext {
64 public:
65 TContext(Bool_t _interactive = kFALSE);
66 TContext(TVirtualPad *gpad, Bool_t interactive = kFALSE, Bool_t not_null = kFALSE);
67 ~TContext();
68 auto IsInteractive() const { return fInteractive; }
69 auto GetSaved() const { return fSaved; }
70 void PadDeleted(TVirtualPad *pad);
71 };
72
73
75 TVirtualPad(const char *name, const char *title, Double_t xlow,
76 Double_t ylow, Double_t xup, Double_t yup,
77 Color_t color=19, Short_t bordersize=4, Short_t bordermode=1);
78 virtual ~TVirtualPad();
79 virtual void AbsCoordinates(Bool_t set) = 0;
80 virtual Double_t AbsPixeltoX(Int_t px) = 0;
81 virtual Double_t AbsPixeltoY(Int_t py) = 0;
82 virtual void Add(TObject *obj, Option_t *opt = "", Bool_t modified = kTRUE) = 0;
83 virtual void AddFirst(TObject *obj, Option_t *opt = "", Bool_t modified = kTRUE) = 0;
84 virtual void AddExec(const char *name, const char *command) = 0;
85 virtual 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 = "") = 0;
86 virtual TVirtualPad* cd(Int_t subpadnumber=0) = 0;
87 void Clear(Option_t *option="") override = 0;
88 virtual Int_t Clip(Double_t *x, Double_t *y, Double_t xclipl, Double_t yclipb, Double_t xclipr, Double_t yclipt) = 0;
89 virtual void Close(Option_t *option="") = 0;
90 virtual void CopyPixmap() = 0;
91 virtual void CopyPixmaps() = 0;
92 virtual void DeleteExec(const char *name) = 0;
93 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) = 0;
94 void Draw(Option_t *option="") override = 0;
95 virtual void DrawClassObject(const TObject *obj, Option_t *option="") = 0;
96 virtual TH1F *DrawFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, const char *title="") = 0;
97 virtual void ExecuteEventAxis(Int_t event, Int_t px, Int_t py, TAxis *axis) = 0;
98 virtual void UnZoomed() { Emit("UnZoomed()"); } // *SIGNAL*
99 virtual Short_t GetBorderMode() const = 0;
100 virtual Short_t GetBorderSize() const = 0;
101 virtual Int_t GetCanvasID() const = 0;
102 virtual TCanvasImp *GetCanvasImp() const = 0;
103 virtual TCanvas *GetCanvas() const = 0;
104 virtual TVirtualPad *GetVirtCanvas() const = 0;
105 virtual Int_t GetEvent() const = 0;
106 virtual Int_t GetEventX() const = 0;
107 virtual Int_t GetEventY() const = 0;
108 virtual TFrame *GetFrame() = 0;
109 virtual Color_t GetHighLightColor() const = 0;
110 virtual Int_t GetNumber() const = 0;
111 virtual void GetRange(Double_t &x1, Double_t &y1, Double_t &x2, Double_t &y2) = 0;
113 virtual void GetPadPar(Double_t &xlow, Double_t &ylow, Double_t &xup, Double_t &yup) = 0;
114 virtual Double_t GetXlowNDC() const = 0;
115 virtual Double_t GetYlowNDC() const = 0;
116 virtual Double_t GetWNDC() const = 0;
117 virtual Double_t GetHNDC() const = 0;
118 virtual UInt_t GetWw() const = 0;
119 virtual UInt_t GetWh() const = 0;
120 virtual Double_t GetAbsXlowNDC() const = 0;
121 virtual Double_t GetAbsYlowNDC() const = 0;
122 virtual Double_t GetAbsWNDC() const = 0;
123 virtual Double_t GetAbsHNDC() const = 0;
124 virtual Double_t GetAspectRatio() const = 0;
125 virtual Double_t GetPhi() const = 0;
126 virtual Double_t GetTheta() const = 0;
127 virtual Double_t GetUxmin() const = 0;
128 virtual Double_t GetUymin() const = 0;
129 virtual Double_t GetUxmax() const = 0;
130 virtual Double_t GetUymax() const = 0;
131 virtual Bool_t GetGridx() const = 0;
132 virtual Bool_t GetGridy() const = 0;
133 virtual Int_t GetTickx() const = 0;
134 virtual Int_t GetTicky() const = 0;
135 virtual Double_t GetX1() const = 0;
136 virtual Double_t GetX2() const = 0;
137 virtual Double_t GetY1() const = 0;
138 virtual Double_t GetY2() const = 0;
139 virtual TList *GetListOfPrimitives() const = 0;
140 virtual TList *GetListOfExecs() const = 0;
141 virtual TObject *GetPrimitive(const char *name) const = 0;
142 virtual TObject *GetSelected() const = 0;
143 virtual TVirtualPad *GetPad(Int_t subpadnumber) const = 0;
144 virtual TObject *GetPadPointer() const = 0;
145 virtual TVirtualPad *GetPadSave() const = 0;
146 virtual TVirtualPad *GetSelectedPad() const = 0;
147 virtual TView *GetView() const = 0;
148 virtual Int_t GetLogx() const = 0;
149 virtual Int_t GetLogy() const = 0;
150 virtual Int_t GetLogz() const = 0;
151 virtual TVirtualPad *GetMother() const = 0;
152 const char *GetName() const override = 0;
153 const char *GetTitle() const override = 0;
154 virtual Int_t GetPadPaint() const = 0;
155 virtual Int_t GetPixmapID() const = 0;
156 virtual TObject *GetView3D() const = 0;
157 virtual Bool_t HasCrosshair() const = 0;
158 virtual void HighLight(Color_t col=kRed, Bool_t set=kTRUE) = 0;
159 virtual Bool_t HasFixedAspectRatio() const = 0;
160 virtual Bool_t IsBatch() const = 0;
161 Bool_t IsBeingResized() const { return fResizing; }
162 virtual Bool_t IsEditable() const = 0;
163 virtual Bool_t IsModified() const = 0;
164 virtual Bool_t IsRetained() const = 0;
165 virtual Bool_t IsVertical() const = 0;
166 virtual Bool_t IsWeb() const { return kFALSE; }
167 void ls(Option_t *option="") const override = 0;
168 virtual void Modified(Bool_t flag=1) = 0;
169 virtual void ModifiedUpdate() = 0;
170 virtual Bool_t OpaqueMoving() const = 0;
171 virtual Bool_t OpaqueResizing() const = 0;
172 virtual Double_t PadtoX(Double_t x) const = 0;
173 virtual Double_t PadtoY(Double_t y) const = 0;
174 void Paint(Option_t *option="") override = 0;
175 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) = 0;
177 virtual void PaintFillArea(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0;
178 virtual void PaintFillArea(Int_t n, Double_t *x, Double_t *y, Option_t *option="") = 0;
183 virtual void PaintLine3D(Float_t *p1, Float_t *p2) = 0;
184 virtual void PaintLine3D(Double_t *p1, Double_t *p2) = 0;
185 virtual void PaintPolyLine(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0;
186 virtual void PaintPolyLine(Int_t n, Double_t *x, Double_t *y, Option_t *option="") = 0;
187 virtual void PaintPolyLine3D(Int_t n, Double_t *p) = 0;
189 virtual void PaintPolyMarker(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0;
191 virtual void PaintModified() = 0;
192 virtual void PaintText(Double_t x, Double_t y, const char *text) = 0;
193 virtual void PaintText(Double_t x, Double_t y, const wchar_t *text) = 0;
194 virtual void PaintTextNDC(Double_t u, Double_t v, const char *text) = 0;
195 virtual void PaintTextNDC(Double_t u, Double_t v, const wchar_t *text) = 0;
196 virtual Double_t PixeltoX(Int_t px) = 0;
197 virtual Double_t PixeltoY(Int_t py) = 0;
198 void Pop() override = 0;
199 void Print(const char *filename="") const override = 0;
200 virtual void Print(const char *filename, Option_t *option) = 0;
203 virtual void RangeAxisChanged() { Emit("RangeAxisChanged()"); } // *SIGNAL*
204 void RecursiveRemove(TObject *obj) override = 0;
205 virtual TObject *Remove(TObject *obj, Bool_t modified = kTRUE) = 0;
206 virtual void RedrawAxis(Option_t *option="") = 0;
207 virtual void ResetView3D(TObject *view = nullptr) = 0;
208 virtual void ResizePad(Option_t *option="") = 0;
209 void SaveAs(const char *filename="",Option_t *option="") const override = 0;
210 virtual void SetBatch(Bool_t batch=kTRUE) = 0;
211 virtual void SetBorderMode(Short_t bordermode) = 0;
212 virtual void SetBorderSize(Short_t bordersize) = 0;
213 virtual void SetCanvas(TCanvas *c) = 0;
214 virtual void SetCanvasSize(UInt_t ww, UInt_t wh) = 0;
215 virtual void SetCrosshair(Int_t crhair=1) = 0;
216 virtual void SetCursor(ECursor cursor) = 0;
217 virtual void SetDoubleBuffer(Int_t mode=1) = 0;
218 virtual void SetEditable(Bool_t mode=kTRUE) = 0;
219 virtual void SetFixedAspectRatio(Bool_t fixed = kTRUE) = 0;
220 virtual void SetGrid(Int_t valuex = 1, Int_t valuey = 1) = 0;
221 virtual void SetGridx(Int_t value = 1) = 0;
222 virtual void SetGridy(Int_t value = 1) = 0;
223 virtual void SetLogx(Int_t value = 1) = 0;
224 virtual void SetLogy(Int_t value = 1) = 0;
225 virtual void SetLogz(Int_t value = 1) = 0;
226 virtual void SetPad(const char *name, const char *title,
227 Double_t xlow, Double_t ylow, Double_t xup,
228 Double_t yup, Color_t color=35,
229 Short_t bordersize=5, Short_t bordermode=-1) = 0;
230 virtual void SetPad(Double_t xlow, Double_t ylow, Double_t xup, Double_t yup) = 0;
231 virtual void SetAttFillPS(Color_t color, Style_t style) = 0;
232 virtual void SetAttLinePS(Color_t color, Style_t style, Width_t lwidth) = 0;
233 virtual void SetAttMarkerPS(Color_t color, Style_t style, Size_t msize) = 0;
234 virtual void SetAttTextPS(Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize) = 0;
235 virtual void SetName(const char *name) = 0;
236 virtual void SetSelected(TObject *obj) = 0;
237 virtual void SetTicks(Int_t valuex = 1, Int_t valuey = 1) = 0;
238 virtual void SetTickx(Int_t value = 1) = 0;
239 virtual void SetTicky(Int_t value = 1) = 0;
240 virtual void SetTitle(const char *title="") = 0;
241 virtual void SetTheta(Double_t theta=30) = 0;
242 virtual void SetPhi(Double_t phi=30) = 0;
243 virtual void SetToolTipText(const char *text, Long_t delayms = 1000) = 0;
244 virtual void SetVertical(Bool_t vert=kTRUE) = 0;
245 virtual void SetView(TView *view = nullptr) = 0;
246 virtual void SetViewer3D(TVirtualViewer3D * /*viewer3d*/) {}
247 virtual void ShowGuidelines(TObject *object, const Int_t event, const char mode = 'i', const bool cling = true) = 0;
248 virtual TObject *WaitPrimitive(const char *pname="", const char *emode="") = 0;
249 virtual void Update() = 0;
250 virtual void UpdateAsync() = 0;
251 virtual Int_t UtoAbsPixel(Double_t u) const = 0;
252 virtual Int_t VtoAbsPixel(Double_t v) const = 0;
253 virtual Int_t UtoPixel(Double_t u) const = 0;
254 virtual Int_t VtoPixel(Double_t v) const = 0;
255 virtual Int_t XtoAbsPixel(Double_t x) const = 0;
256 virtual Int_t YtoAbsPixel(Double_t y) const = 0;
257 virtual Double_t XtoPad(Double_t x) const = 0;
258 virtual Double_t YtoPad(Double_t y) const = 0;
259 virtual Int_t XtoPixel(Double_t x) const = 0;
260 virtual Int_t YtoPixel(Double_t y) const = 0;
261
263 virtual Int_t NextPaletteColor() = 0;
264
265 virtual Bool_t PlaceBox(TObject *o, Double_t w, Double_t h, Double_t &xl, Double_t &yb, Option_t* opt = "lb") = 0;
266
267 virtual TObject *CreateToolTip(const TBox *b, const char *text, Long_t delayms) = 0;
268 virtual void DeleteToolTip(TObject *tip) = 0;
269 virtual void ResetToolTip(TObject *tip) = 0;
270 virtual void CloseToolTip(TObject *tip) = 0;
271
273 virtual Bool_t HasViewer3D() const = 0;
274 virtual void ReleaseViewer3D(Option_t * type = "") = 0;
275
276 virtual Int_t GetGLDevice() = 0;
277 virtual void SetCopyGLDevice(Bool_t copy) = 0;
279
280 virtual Bool_t PadInSelectionMode() const;
281 virtual Bool_t PadInHighlightMode() const;
282
283 virtual void PushTopLevelSelectable(TObject *top);
284 virtual void PushSelectableObject(TObject *obj);
285 virtual void PopTopLevelSelectable();
286
287 static TVirtualPad *&Pad();
288
289 ClassDefOverride(TVirtualPad,3) //Abstract base class for Pads and Canvases
290};
291
292//
293//Small scope-guard class to add/remove object's into pad's stack of selectable objects.
294//Does nothing, unless you implement non-standard picking.
295//
296
298public:
301
302private:
305};
306
307
308#define gPad (TVirtualPad::Pad())
309R__EXTERN Int_t (*gThreadXAR)(const char *xact, Int_t nb, void **ar, Int_t *iret);
310
311#endif
#define R__EXTERN
Definition DllImport.h:26
ECursor
Definition GuiTypes.h:372
#define b(i)
Definition RSha256.hxx:100
#define c(i)
Definition RSha256.hxx:101
#define h(i)
Definition RSha256.hxx:106
short Style_t
Definition RtypesCore.h:82
int Int_t
Definition RtypesCore.h:45
short Color_t
Definition RtypesCore.h:85
float Size_t
Definition RtypesCore.h:89
long Long_t
Definition RtypesCore.h:54
short Width_t
Definition RtypesCore.h:84
float Float_t
Definition RtypesCore.h:57
short Short_t
Definition RtypesCore.h:39
constexpr Bool_t kFALSE
Definition RtypesCore.h:94
double Double_t
Definition RtypesCore.h:59
constexpr Bool_t kTRUE
Definition RtypesCore.h:93
const char Option_t
Definition RtypesCore.h:66
@ kRed
Definition Rtypes.h:66
#define ClassDefOverride(name, id)
Definition Rtypes.h:346
winID h TVirtualViewer3D TVirtualGLPainter p
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 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:110
float xmin
float ymin
float xmax
float ymax
R__EXTERN Int_t(* gThreadXAR)(const char *xact, Int_t nb, void **ar, Int_t *iret)
Fill Area Attributes class.
Definition TAttFill.h:19
Line Attributes class.
Definition TAttLine.h:18
Manages default Pad attributes.
Definition TAttPad.h:19
Class to manage histogram axis.
Definition TAxis.h:32
Create a Box.
Definition TBox.h:22
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:623
This class displays a legend box (TPaveText) containing several legend entries.
Definition TLegend.h:23
A doubly linked list.
Definition TList.h:38
Mother of all ROOT objects.
Definition TObject.h:41
TPickerStackGuard & operator=(const TPickerStackGuard &rhs)=delete
TPickerStackGuard(const TPickerStackGuard &rhs)=delete
~TPickerStackGuard()
Guard does out of scope, pop object from stack.
This is the ROOT implementation of the Qt object communication mechanism (see also http://www....
Definition TQObject.h:48
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
Definition TQObject.h:164
Basic string class.
Definition TString.h:139
See TView3D.
Definition TView.h:25
To make it possible to use GL for 2D graphic in a TPad/TCanvas.
small helper class to store/restore gPad context in TPad methods
Definition TVirtualPad.h:61
auto GetSaved() const
Definition TVirtualPad.h:69
~TContext()
Destructor Restores previous value of gPad.
auto IsInteractive() const
Definition TVirtualPad.h:68
TVirtualPad * fSaved
Definition TVirtualPad.h:63
void PadDeleted(TVirtualPad *pad)
Inform context that pad deleted or will be deleted soon Reference on that pad should be cleared.
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition TVirtualPad.h:51
virtual void PaintFillAreaNDC(Int_t n, Double_t *x, Double_t *y, Option_t *option="")=0
virtual void Modified(Bool_t flag=1)=0
virtual Bool_t PadInHighlightMode() const
Should always return false, unless you can highlight selected object in pad.
virtual void SetTickx(Int_t value=1)=0
virtual void SetAttMarkerPS(Color_t color, Style_t style, Size_t msize)=0
virtual Int_t Clip(Double_t *x, Double_t *y, Double_t xclipl, Double_t yclipb, Double_t xclipr, Double_t yclipt)=0
virtual void SetGrid(Int_t valuex=1, Int_t valuey=1)=0
virtual void CloseToolTip(TObject *tip)=0
virtual void SetCanvasSize(UInt_t ww, UInt_t wh)=0
virtual Double_t PadtoX(Double_t x) const =0
virtual void PaintFillArea(Int_t n, Float_t *x, Float_t *y, Option_t *option="")=0
virtual Int_t YtoAbsPixel(Double_t y) const =0
virtual void SetEditable(Bool_t mode=kTRUE)=0
virtual void SetLogx(Int_t value=1)=0
virtual TObject * GetPadPointer() const =0
virtual Double_t GetUymax() const =0
virtual void PaintTextNDC(Double_t u, Double_t v, const char *text)=0
virtual TVirtualPad * GetSelectedPad() const =0
virtual Double_t GetX2() const =0
virtual void SetBatch(Bool_t batch=kTRUE)=0
virtual void PaintPolyLine3D(Int_t n, Double_t *p)=0
virtual TList * GetListOfPrimitives() const =0
virtual Int_t YtoPixel(Double_t y) const =0
virtual void GetPadPar(Double_t &xlow, Double_t &ylow, Double_t &xup, Double_t &yup)=0
void Print(const char *filename="") const override=0
This method must be overridden when a class wants to print itself.
virtual Int_t GetLogz() const =0
virtual void UpdateAsync()=0
virtual Int_t NextPaletteColor()=0
void Pop() override=0
Pop on object drawn in a pad to the top of the display list.
virtual void PaintLine3D(Float_t *p1, Float_t *p2)=0
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)=0
virtual TVirtualPad * cd(Int_t subpadnumber=0)=0
void Draw(Option_t *option="") override=0
Default Draw method for all objects.
virtual void HighLight(Color_t col=kRed, Bool_t set=kTRUE)=0
virtual void PaintPolyLineNDC(Int_t n, Double_t *x, Double_t *y, Option_t *option="")=0
virtual 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="")=0
virtual Bool_t IsWeb() const
virtual void SetSelected(TObject *obj)=0
virtual Double_t GetAbsYlowNDC() const =0
virtual TObject * CreateToolTip(const TBox *b, const char *text, Long_t delayms)=0
virtual void AbsCoordinates(Bool_t set)=0
virtual Int_t IncrementPaletteColor(Int_t i, TString opt)=0
virtual void PaintPolyMarker(Int_t n, Float_t *x, Float_t *y, Option_t *option="")=0
virtual Bool_t IsVertical() const =0
virtual void SetCrosshair(Int_t crhair=1)=0
virtual TFrame * GetFrame()=0
virtual Bool_t IsBatch() const =0
virtual UInt_t GetWh() const =0
virtual Int_t XtoAbsPixel(Double_t x) const =0
virtual Double_t GetY1() const =0
virtual void SetGridx(Int_t value=1)=0
virtual TH1F * DrawFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, const char *title="")=0
virtual ~TVirtualPad()
VirtualPad destructor.
virtual TVirtualPadPainter * GetPainter()=0
virtual void PaintLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2)=0
virtual void PaintTextNDC(Double_t u, Double_t v, const wchar_t *text)=0
virtual Bool_t GetGridx() const =0
virtual TObject * Remove(TObject *obj, Bool_t modified=kTRUE)=0
virtual void RedrawAxis(Option_t *option="")=0
virtual void Print(const char *filename, Option_t *option)=0
virtual Bool_t PlaceBox(TObject *o, Double_t w, Double_t h, Double_t &xl, Double_t &yb, Option_t *opt="lb")=0
virtual TVirtualViewer3D * GetViewer3D(Option_t *type="")=0
virtual TVirtualPad * GetMother() const =0
virtual Int_t GetEventX() const =0
virtual void Update()=0
virtual void SetTheta(Double_t theta=30)=0
const char * GetName() const override=0
Returns name of object.
virtual void PaintPolyMarker(Int_t n, Double_t *x, Double_t *y, Option_t *option="")=0
virtual TObject * GetSelected() const =0
virtual void SetTitle(const char *title="")=0
virtual void Range(Double_t x1, Double_t y1, Double_t x2, Double_t y2)=0
virtual TVirtualPad * GetPad(Int_t subpadnumber) const =0
virtual void SetCopyGLDevice(Bool_t copy)=0
virtual void SetDoubleBuffer(Int_t mode=1)=0
virtual void PaintBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t *option="")=0
virtual TList * GetListOfExecs() const =0
virtual Int_t GetPadPaint() const =0
virtual Int_t GetTicky() const =0
virtual Double_t PixeltoX(Int_t px)=0
virtual void UnZoomed()
Definition TVirtualPad.h:98
virtual void SetLogz(Int_t value=1)=0
Bool_t IsBeingResized() const
virtual Int_t UtoAbsPixel(Double_t u) const =0
virtual void SetVertical(Bool_t vert=kTRUE)=0
virtual void CopyPixmap()=0
virtual Bool_t PadInSelectionMode() const
Should always return false unless you have non-standard picking.
virtual void SetAttLinePS(Color_t color, Style_t style, Width_t lwidth)=0
virtual void GetRangeAxis(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax)=0
virtual Double_t AbsPixeltoX(Int_t px)=0
virtual Int_t GetNumber() const =0
virtual Double_t PadtoY(Double_t y) const =0
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)=0
virtual void SetAttTextPS(Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize)=0
virtual Bool_t HasFixedAspectRatio() const =0
virtual void ResetView3D(TObject *view=nullptr)=0
virtual void PushTopLevelSelectable(TObject *top)
Does nothing, unless you implement your own picking.
virtual void SetViewer3D(TVirtualViewer3D *)
virtual Double_t GetUxmax() const =0
virtual void SetView(TView *view=nullptr)=0
virtual Double_t YtoPad(Double_t y) const =0
void * GetSender() override
true when resizing the pad
Definition TVirtualPad.h:56
virtual Bool_t IsRetained() const =0
virtual void PaintFillArea(Int_t n, Double_t *x, Double_t *y, Option_t *option="")=0
virtual void SetPad(Double_t xlow, Double_t ylow, Double_t xup, Double_t yup)=0
virtual Double_t AbsPixeltoY(Int_t py)=0
virtual void Add(TObject *obj, Option_t *opt="", Bool_t modified=kTRUE)=0
virtual void SetToolTipText(const char *text, Long_t delayms=1000)=0
virtual void PaintPolyLine(Int_t n, Float_t *x, Float_t *y, Option_t *option="")=0
void SaveAs(const char *filename="", Option_t *option="") const override=0
Save this object in the file specified by filename.
virtual void SetTicks(Int_t valuex=1, Int_t valuey=1)=0
virtual Int_t GetPixmapID() const =0
virtual void SetAttFillPS(Color_t color, Style_t style)=0
virtual void ResetToolTip(TObject *tip)=0
virtual void SetTicky(Int_t value=1)=0
virtual Double_t PixeltoY(Int_t py)=0
virtual void PushSelectableObject(TObject *obj)
Does nothing, unless you implement your own picking.
virtual TCanvasImp * GetCanvasImp() const =0
virtual void RangeAxis(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax)=0
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)=0
virtual Int_t VtoPixel(Double_t v) const =0
virtual Int_t GetLogy() const =0
virtual void SetGridy(Int_t value=1)=0
void Paint(Option_t *option="") override=0
This method must be overridden if a class wants to paint itself.
virtual Double_t GetAbsWNDC() const =0
virtual void PaintModified()=0
virtual TObject * GetView3D() const =0
virtual Int_t GetGLDevice()=0
virtual void ModifiedUpdate()=0
void ls(Option_t *option="") const override=0
The ls function lists the contents of a class on stdout.
virtual void AddExec(const char *name, const char *command)=0
void RecursiveRemove(TObject *obj) override=0
Recursively remove this object from a list.
virtual void Close(Option_t *option="")=0
virtual void PaintLineNDC(Double_t u1, Double_t v1, Double_t u2, Double_t v2)=0
virtual Double_t GetHNDC() const =0
virtual TVirtualPad * GetPadSave() const =0
virtual Double_t GetAbsXlowNDC() const =0
TVirtualPad()
VirtualPad default constructor.
virtual void ShowGuidelines(TObject *object, const Int_t event, const char mode='i', const bool cling=true)=0
const char * GetTitle() const override=0
Returns title of object.
virtual Double_t XtoPad(Double_t x) const =0
virtual Bool_t IsModified() const =0
virtual void ExecuteEventAxis(Int_t event, Int_t px, Int_t py, TAxis *axis)=0
virtual void PaintPolyLine(Int_t n, Double_t *x, Double_t *y, Option_t *option="")=0
virtual void PaintPadFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax)=0
virtual Double_t GetAspectRatio() const =0
virtual void ReleaseViewer3D(Option_t *type="")=0
virtual Int_t VtoAbsPixel(Double_t v) const =0
virtual void PaintText(Double_t x, Double_t y, const char *text)=0
virtual void RangeAxisChanged()
virtual Double_t GetAbsHNDC() const =0
virtual Double_t GetY2() const =0
virtual Double_t GetTheta() const =0
virtual Double_t GetUymin() const =0
virtual void PaintLine3D(Double_t *p1, Double_t *p2)=0
virtual Int_t GetEvent() const =0
virtual Double_t GetUxmin() const =0
virtual Int_t XtoPixel(Double_t x) const =0
virtual TObject * WaitPrimitive(const char *pname="", const char *emode="")=0
static TVirtualPad *& Pad()
Return the current pad for the current thread.
virtual Double_t GetPhi() const =0
virtual Int_t UtoPixel(Double_t u) const =0
virtual void PaintText(Double_t x, Double_t y, const wchar_t *text)=0
virtual Bool_t OpaqueResizing() const =0
virtual void SetFixedAspectRatio(Bool_t fixed=kTRUE)=0
virtual Double_t GetWNDC() const =0
virtual Double_t GetYlowNDC() const =0
virtual void DrawClassObject(const TObject *obj, Option_t *option="")=0
virtual UInt_t GetWw() const =0
virtual Int_t GetCanvasID() const =0
virtual Int_t GetTickx() const =0
virtual Bool_t HasViewer3D() const =0
virtual Short_t GetBorderMode() const =0
virtual void GetRange(Double_t &x1, Double_t &y1, Double_t &x2, Double_t &y2)=0
Bool_t fResizing
Definition TVirtualPad.h:54
virtual void DeleteExec(const char *name)=0
virtual void PopTopLevelSelectable()
Does nothing, unless you implement your own picking.
virtual void SetCanvas(TCanvas *c)=0
virtual void DeleteToolTip(TObject *tip)=0
virtual void SetPhi(Double_t phi=30)=0
virtual void SetCursor(ECursor cursor)=0
virtual TView * GetView() const =0
virtual void CopyPixmaps()=0
virtual Color_t GetHighLightColor() const =0
virtual Int_t GetLogx() const =0
virtual void SetLogy(Int_t value=1)=0
virtual Short_t GetBorderSize() const =0
virtual void SetBorderMode(Short_t bordermode)=0
virtual Int_t GetEventY() const =0
virtual Double_t GetXlowNDC() const =0
virtual TVirtualPad * GetVirtCanvas() const =0
virtual TCanvas * GetCanvas() const =0
virtual Bool_t HasCrosshair() const =0
virtual Bool_t IsEditable() const =0
virtual void AddFirst(TObject *obj, Option_t *opt="", Bool_t modified=kTRUE)=0
virtual Double_t GetX1() const =0
virtual TObject * GetPrimitive(const char *name) const =0
virtual void SetBorderSize(Short_t bordersize)=0
void Clear(Option_t *option="") override=0
virtual void SetName(const char *name)=0
virtual void ResizePad(Option_t *option="")=0
virtual Bool_t GetGridy() const =0
virtual Bool_t OpaqueMoving() const =0
Abstract 3D shapes viewer.
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
const Int_t n
Definition legend1.C:16