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 AddExec(const char *name, const char *command) = 0;
83 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;
84 virtual TVirtualPad* cd(Int_t subpadnumber=0) = 0;
85 void Clear(Option_t *option="") override = 0;
86 virtual Int_t Clip(Double_t *x, Double_t *y, Double_t xclipl, Double_t yclipb, Double_t xclipr, Double_t yclipt) = 0;
87 virtual void Close(Option_t *option="") = 0;
88 virtual void CopyPixmap() = 0;
89 virtual void CopyPixmaps() = 0;
90 virtual void DeleteExec(const char *name) = 0;
91 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;
92 void Draw(Option_t *option="") override = 0;
93 virtual void DrawClassObject(const TObject *obj, Option_t *option="") = 0;
94 virtual TH1F *DrawFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, const char *title="") = 0;
95 virtual void ExecuteEventAxis(Int_t event, Int_t px, Int_t py, TAxis *axis) = 0;
96 virtual void UnZoomed() { Emit("UnZoomed()"); } // *SIGNAL*
97 virtual Short_t GetBorderMode() const = 0;
98 virtual Short_t GetBorderSize() const = 0;
99 virtual Int_t GetCanvasID() const = 0;
100 virtual TCanvasImp *GetCanvasImp() const = 0;
101 virtual TCanvas *GetCanvas() const = 0;
102 virtual TVirtualPad *GetVirtCanvas() const = 0;
103 virtual Int_t GetEvent() const = 0;
104 virtual Int_t GetEventX() const = 0;
105 virtual Int_t GetEventY() const = 0;
106 virtual TFrame *GetFrame() = 0;
107 virtual Color_t GetHighLightColor() const = 0;
108 virtual Int_t GetNumber() const = 0;
109 virtual void GetRange(Double_t &x1, Double_t &y1, Double_t &x2, Double_t &y2) = 0;
111 virtual void GetPadPar(Double_t &xlow, Double_t &ylow, Double_t &xup, Double_t &yup) = 0;
112 virtual Double_t GetXlowNDC() const = 0;
113 virtual Double_t GetYlowNDC() const = 0;
114 virtual Double_t GetWNDC() const = 0;
115 virtual Double_t GetHNDC() const = 0;
116 virtual UInt_t GetWw() const = 0;
117 virtual UInt_t GetWh() const = 0;
118 virtual Double_t GetAbsXlowNDC() const = 0;
119 virtual Double_t GetAbsYlowNDC() const = 0;
120 virtual Double_t GetAbsWNDC() const = 0;
121 virtual Double_t GetAbsHNDC() const = 0;
122 virtual Double_t GetAspectRatio() const = 0;
123 virtual Double_t GetPhi() const = 0;
124 virtual Double_t GetTheta() const = 0;
125 virtual Double_t GetUxmin() const = 0;
126 virtual Double_t GetUymin() const = 0;
127 virtual Double_t GetUxmax() const = 0;
128 virtual Double_t GetUymax() const = 0;
129 virtual Bool_t GetGridx() const = 0;
130 virtual Bool_t GetGridy() const = 0;
131 virtual Int_t GetTickx() const = 0;
132 virtual Int_t GetTicky() const = 0;
133 virtual Double_t GetX1() const = 0;
134 virtual Double_t GetX2() const = 0;
135 virtual Double_t GetY1() const = 0;
136 virtual Double_t GetY2() const = 0;
137 virtual TList *GetListOfPrimitives() const = 0;
138 virtual TList *GetListOfExecs() const = 0;
139 virtual TObject *GetPrimitive(const char *name) const = 0;
140 virtual TObject *GetSelected() const = 0;
141 virtual TVirtualPad *GetPad(Int_t subpadnumber) const = 0;
142 virtual TObject *GetPadPointer() const = 0;
143 virtual TVirtualPad *GetPadSave() const = 0;
144 virtual TVirtualPad *GetSelectedPad() const = 0;
145 virtual TView *GetView() const = 0;
146 virtual Int_t GetLogx() const = 0;
147 virtual Int_t GetLogy() const = 0;
148 virtual Int_t GetLogz() const = 0;
149 virtual TVirtualPad *GetMother() const = 0;
150 const char *GetName() const override = 0;
151 const char *GetTitle() const override = 0;
152 virtual Int_t GetPadPaint() const = 0;
153 virtual Int_t GetPixmapID() const = 0;
154 virtual TObject *GetView3D() const = 0;
155 virtual Bool_t HasCrosshair() const = 0;
156 virtual void HighLight(Color_t col=kRed, Bool_t set=kTRUE) = 0;
157 virtual Bool_t HasFixedAspectRatio() const = 0;
158 virtual Bool_t IsBatch() const = 0;
159 Bool_t IsBeingResized() const { return fResizing; }
160 virtual Bool_t IsEditable() const = 0;
161 virtual Bool_t IsModified() const = 0;
162 virtual Bool_t IsRetained() const = 0;
163 virtual Bool_t IsVertical() const = 0;
164 virtual Bool_t IsWeb() const { return kFALSE; }
165 void ls(Option_t *option="") const override = 0;
166 virtual void Modified(Bool_t flag=1) = 0;
167 virtual void ModifiedUpdate() = 0;
168 virtual Bool_t OpaqueMoving() const = 0;
169 virtual Bool_t OpaqueResizing() const = 0;
170 virtual Double_t PadtoX(Double_t x) const = 0;
171 virtual Double_t PadtoY(Double_t y) const = 0;
172 void Paint(Option_t *option="") override = 0;
173 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;
175 virtual void PaintFillArea(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0;
176 virtual void PaintFillArea(Int_t n, Double_t *x, Double_t *y, Option_t *option="") = 0;
181 virtual void PaintLine3D(Float_t *p1, Float_t *p2) = 0;
182 virtual void PaintLine3D(Double_t *p1, Double_t *p2) = 0;
183 virtual void PaintPolyLine(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0;
184 virtual void PaintPolyLine(Int_t n, Double_t *x, Double_t *y, Option_t *option="") = 0;
185 virtual void PaintPolyLine3D(Int_t n, Double_t *p) = 0;
187 virtual void PaintPolyMarker(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0;
189 virtual void PaintModified() = 0;
190 virtual void PaintText(Double_t x, Double_t y, const char *text) = 0;
191 virtual void PaintText(Double_t x, Double_t y, const wchar_t *text) = 0;
192 virtual void PaintTextNDC(Double_t u, Double_t v, const char *text) = 0;
193 virtual void PaintTextNDC(Double_t u, Double_t v, const wchar_t *text) = 0;
194 virtual Double_t PixeltoX(Int_t px) = 0;
195 virtual Double_t PixeltoY(Int_t py) = 0;
196 void Pop() override = 0;
197 void Print(const char *filename="") const override = 0;
198 virtual void Print(const char *filename, Option_t *option) = 0;
201 virtual void RangeAxisChanged() { Emit("RangeAxisChanged()"); } // *SIGNAL*
202 void RecursiveRemove(TObject *obj) override = 0;
203 virtual void RedrawAxis(Option_t *option="") = 0;
204 virtual void ResetView3D(TObject *view = nullptr) = 0;
205 virtual void ResizePad(Option_t *option="") = 0;
206 void SaveAs(const char *filename="",Option_t *option="") const override = 0;
207 virtual void SetBatch(Bool_t batch=kTRUE) = 0;
208 virtual void SetBorderMode(Short_t bordermode) = 0;
209 virtual void SetBorderSize(Short_t bordersize) = 0;
210 virtual void SetCanvas(TCanvas *c) = 0;
211 virtual void SetCanvasSize(UInt_t ww, UInt_t wh) = 0;
212 virtual void SetCrosshair(Int_t crhair=1) = 0;
213 virtual void SetCursor(ECursor cursor) = 0;
214 virtual void SetDoubleBuffer(Int_t mode=1) = 0;
215 virtual void SetEditable(Bool_t mode=kTRUE) = 0;
216 virtual void SetFixedAspectRatio(Bool_t fixed = kTRUE) = 0;
217 virtual void SetGrid(Int_t valuex = 1, Int_t valuey = 1) = 0;
218 virtual void SetGridx(Int_t value = 1) = 0;
219 virtual void SetGridy(Int_t value = 1) = 0;
220 virtual void SetLogx(Int_t value = 1) = 0;
221 virtual void SetLogy(Int_t value = 1) = 0;
222 virtual void SetLogz(Int_t value = 1) = 0;
223 virtual void SetPad(const char *name, const char *title,
224 Double_t xlow, Double_t ylow, Double_t xup,
225 Double_t yup, Color_t color=35,
226 Short_t bordersize=5, Short_t bordermode=-1) = 0;
227 virtual void SetPad(Double_t xlow, Double_t ylow, Double_t xup, Double_t yup) = 0;
228 virtual void SetAttFillPS(Color_t color, Style_t style) = 0;
229 virtual void SetAttLinePS(Color_t color, Style_t style, Width_t lwidth) = 0;
230 virtual void SetAttMarkerPS(Color_t color, Style_t style, Size_t msize) = 0;
231 virtual void SetAttTextPS(Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize) = 0;
232 virtual void SetName(const char *name) = 0;
233 virtual void SetSelected(TObject *obj) = 0;
234 virtual void SetTicks(Int_t valuex = 1, Int_t valuey = 1) = 0;
235 virtual void SetTickx(Int_t value = 1) = 0;
236 virtual void SetTicky(Int_t value = 1) = 0;
237 virtual void SetTitle(const char *title="") = 0;
238 virtual void SetTheta(Double_t theta=30) = 0;
239 virtual void SetPhi(Double_t phi=30) = 0;
240 virtual void SetToolTipText(const char *text, Long_t delayms = 1000) = 0;
241 virtual void SetVertical(Bool_t vert=kTRUE) = 0;
242 virtual void SetView(TView *view = nullptr) = 0;
243 virtual void SetViewer3D(TVirtualViewer3D * /*viewer3d*/) {}
244 virtual void ShowGuidelines(TObject *object, const Int_t event, const char mode = 'i', const bool cling = true) = 0;
245 virtual TObject *WaitPrimitive(const char *pname="", const char *emode="") = 0;
246 virtual void Update() = 0;
247 virtual void UpdateAsync() = 0;
248 virtual Int_t UtoAbsPixel(Double_t u) const = 0;
249 virtual Int_t VtoAbsPixel(Double_t v) const = 0;
250 virtual Int_t UtoPixel(Double_t u) const = 0;
251 virtual Int_t VtoPixel(Double_t v) const = 0;
252 virtual Int_t XtoAbsPixel(Double_t x) const = 0;
253 virtual Int_t YtoAbsPixel(Double_t y) const = 0;
254 virtual Double_t XtoPad(Double_t x) const = 0;
255 virtual Double_t YtoPad(Double_t y) const = 0;
256 virtual Int_t XtoPixel(Double_t x) const = 0;
257 virtual Int_t YtoPixel(Double_t y) const = 0;
258
260 virtual Int_t NextPaletteColor() = 0;
261
262 virtual Bool_t PlaceBox(TObject *o, Double_t w, Double_t h, Double_t &xl, Double_t &yb, Option_t* opt = "lb") = 0;
263
264 virtual TObject *CreateToolTip(const TBox *b, const char *text, Long_t delayms) = 0;
265 virtual void DeleteToolTip(TObject *tip) = 0;
266 virtual void ResetToolTip(TObject *tip) = 0;
267 virtual void CloseToolTip(TObject *tip) = 0;
268
270 virtual Bool_t HasViewer3D() const = 0;
271 virtual void ReleaseViewer3D(Option_t * type = "") = 0;
272
273 virtual Int_t GetGLDevice() = 0;
274 virtual void SetCopyGLDevice(Bool_t copy) = 0;
276
277 virtual Bool_t PadInSelectionMode() const;
278 virtual Bool_t PadInHighlightMode() const;
279
280 virtual void PushTopLevelSelectable(TObject *top);
281 virtual void PushSelectableObject(TObject *obj);
282 virtual void PopTopLevelSelectable();
283
284 static TVirtualPad *&Pad();
285
286 ClassDefOverride(TVirtualPad,3) //Abstract base class for Pads and Canvases
287};
288
289//
290//Small scope-guard class to add/remove object's into pad's stack of selectable objects.
291//Does nothing, unless you implement non-standard picking.
292//
293
295public:
298
299private:
302};
303
304
305#define gPad (TVirtualPad::Pad())
306R__EXTERN Int_t (*gThreadXAR)(const char *xact, Int_t nb, void **ar, Int_t *iret);
307
308#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:89
int Int_t
Definition RtypesCore.h:45
short Color_t
Definition RtypesCore.h:92
float Size_t
Definition RtypesCore.h:96
long Long_t
Definition RtypesCore.h:54
short Width_t
Definition RtypesCore.h:91
float Float_t
Definition RtypesCore.h:57
short Short_t
Definition RtypesCore.h:39
constexpr Bool_t kFALSE
Definition RtypesCore.h:101
double Double_t
Definition RtypesCore.h:59
constexpr Bool_t kTRUE
Definition RtypesCore.h:100
const char Option_t
Definition RtypesCore.h:66
@ kRed
Definition Rtypes.h:66
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
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:31
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:621
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 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:96
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 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 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