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 "Buttons.h"
34
35// forward declarations
36class TAxis;
37class TObject;
38class TObjLink;
39class TView;
40class TCanvas;
41class TCanvasImp;
42class TH1F;
43class TFrame;
44class TLegend;
45class TBox;
46class TString;
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:
67 ~TContext();
68 auto IsInteractive() const { return fInteractive; }
69 auto GetSaved() const { return fSaved; }
71 };
72
73 /** Helper class to store interactive parameters for individual objects
74 * Should be used via gPad->Interactive() methods in the objects ExecuteEvent */
76 protected:
77 TObject *fObject = nullptr;
78 public:
79 TInteractive() = default;
80 virtual ~TInteractive() = default;
81 void SetObject(TObject *obj) { fObject = obj; }
82 TObject *GetObject() const { return fObject; }
83 };
84
86 TVirtualPad(const char *name, const char *title, Double_t xlow,
87 Double_t ylow, Double_t xup, Double_t yup,
89 virtual ~TVirtualPad();
90 virtual void AbsCoordinates(Bool_t set) = 0;
91 virtual Double_t AbsPixeltoX(Double_t px) = 0;
92 virtual Double_t AbsPixeltoY(Double_t py) = 0;
94 virtual void Add(TObject *obj, Option_t *opt = "", Bool_t modified = kTRUE) = 0;
95 virtual void AddFirst(TObject *obj, Option_t *opt = "", Bool_t modified = kTRUE) = 0;
96 virtual void AddExec(const char *name, const char *command) = 0;
97 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;
99 void Clear(Option_t *option="") override = 0;
101 virtual void Close(Option_t *option="") = 0;
102 virtual void CopyPixmap() = 0;
103 virtual void CopyPixmaps() = 0;
104 virtual void DeleteExec(const char *name) = 0;
105 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;
106 void Draw(Option_t *option="") override = 0;
107 virtual void DrawClassObject(const TObject *obj, Option_t *option="") = 0;
108 virtual TH1F *DrawFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, const char *title="") = 0;
109 virtual void ExecuteEventAxis(Int_t event, Int_t px, Int_t py, TAxis *axis) = 0;
110 virtual void FeedbackMode(Bool_t set) = 0;
111 virtual void UnZoomed() { Emit("UnZoomed()"); } // *SIGNAL*
112 virtual Short_t GetBorderMode() const = 0;
113 virtual Short_t GetBorderSize() const = 0;
114 virtual Int_t GetCanvasID() const = 0;
115 virtual TCanvasImp *GetCanvasImp() const = 0;
116 virtual TCanvas *GetCanvas() const = 0;
117 virtual Int_t GetDoubleBuffer() const = 0;
118 virtual TVirtualPad *GetVirtCanvas() const = 0;
119 virtual Int_t GetEvent() const = 0;
120 virtual Int_t GetEventX() const = 0;
121 virtual Int_t GetEventY() const = 0;
122 virtual TFrame *GetFrame() = 0;
123 virtual Color_t GetHighLightColor() const = 0;
124 virtual Int_t GetNumber() const = 0;
125 virtual void GetRange(Double_t &x1, Double_t &y1, Double_t &x2, Double_t &y2) = 0;
127 virtual void GetPadPar(Double_t &xlow, Double_t &ylow, Double_t &xup, Double_t &yup) = 0;
128 virtual Double_t GetXlowNDC() const = 0;
129 virtual Double_t GetYlowNDC() const = 0;
130 virtual Double_t GetWNDC() const = 0;
131 virtual Double_t GetHNDC() const = 0;
132 virtual UInt_t GetWw() const = 0;
133 virtual UInt_t GetWh() const = 0;
134 virtual UInt_t GetPadWidth() const = 0;
135 virtual UInt_t GetPadHeight() const = 0;
136 virtual Double_t GetAbsXlowNDC() const = 0;
137 virtual Double_t GetAbsYlowNDC() const = 0;
138 virtual Double_t GetAbsWNDC() const = 0;
139 virtual Double_t GetAbsHNDC() const = 0;
140 virtual Double_t GetAspectRatio() const = 0;
141 virtual Double_t GetPhi() const = 0;
142 virtual Double_t GetTheta() const = 0;
143 virtual Double_t GetUxmin() const = 0;
144 virtual Double_t GetUymin() const = 0;
145 virtual Double_t GetUxmax() const = 0;
146 virtual Double_t GetUymax() const = 0;
147 virtual Bool_t GetGridx() const = 0;
148 virtual Bool_t GetGridy() const = 0;
149 virtual Int_t GetTickx() const = 0;
150 virtual Int_t GetTicky() const = 0;
151 virtual Double_t GetX1() const = 0;
152 virtual Double_t GetX2() const = 0;
153 virtual Double_t GetY1() const = 0;
154 virtual Double_t GetY2() const = 0;
155 virtual TList *GetListOfPrimitives() const = 0;
156 virtual TList *GetListOfExecs() const = 0;
157 virtual TObject *GetPrimitive(const char *name) const = 0;
158 virtual TObject *GetSelected() const = 0;
160 virtual TObject *GetPadPointer() const = 0;
161 virtual TVirtualPad *GetPadSave() const = 0;
162 virtual TVirtualPad *GetSelectedPad() const = 0;
163 virtual TView *GetView() const = 0;
164 virtual Int_t GetLogx() const = 0;
165 virtual Int_t GetLogy() const = 0;
166 virtual Int_t GetLogz() const = 0;
167 virtual TVirtualPad *GetMother() const = 0;
168 const char *GetName() const override = 0;
169 const char *GetTitle() const override = 0;
170 virtual Int_t GetPadPaint() const = 0;
171 virtual Int_t GetPixmapID() const = 0;
172 virtual TObject *GetView3D() const = 0;
173 virtual Bool_t HasCrosshair() const = 0;
174 virtual void HighLight(Color_t col=kRed, Bool_t set=kTRUE) = 0;
175 virtual Bool_t HasFixedAspectRatio() const = 0;
176 virtual Bool_t IsBatch() const = 0;
177 Bool_t IsBeingResized() const { return fResizing; }
178 virtual Bool_t IsEditable() const = 0;
179 virtual Bool_t IsModified() const = 0;
180 virtual Bool_t IsRetained() const = 0;
181 virtual Bool_t IsVertical() const = 0;
182 virtual Bool_t IsWeb() const { return kFALSE; }
183 void ls(Option_t *option="") const override = 0;
184 virtual void Modified(Bool_t flag=1) = 0;
185 virtual void ModifiedUpdate() = 0;
186 virtual Bool_t OpaqueMoving() const = 0;
187 virtual Bool_t OpaqueResizing() const = 0;
188 virtual Double_t PadtoX(Double_t x) const = 0;
189 virtual Double_t PadtoY(Double_t y) const = 0;
190 void Paint(Option_t *option="") override = 0;
193 virtual void PaintFillArea(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0;
194 virtual void PaintFillArea(Int_t n, Double_t *x, Double_t *y, Option_t *option="") = 0;
199 virtual void PaintLine3D(Float_t *p1, Float_t *p2) = 0;
200 virtual void PaintLine3D(Double_t *p1, Double_t *p2) = 0;
201 virtual void PaintPolyLine(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0;
202 virtual void PaintPolyLine(Int_t n, Double_t *x, Double_t *y, Option_t *option="") = 0;
203 virtual void PaintPolyLine3D(Int_t n, Double_t *p) = 0;
205 virtual void PaintPolyMarker(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0;
207 virtual void PaintSegments(Int_t n, Double_t *x, Double_t *y, Option_t *option="");
208 virtual void PaintSegmentsNDC(Int_t n, Double_t *u, Double_t *v);
209 virtual void PaintMarker3D(Double_t x, Double_t y, Double_t z) = 0;
210 virtual void PaintModified() = 0;
211 virtual void PaintText(Double_t x, Double_t y, const char *text) = 0;
212 virtual void PaintText(Double_t x, Double_t y, const wchar_t *text) = 0;
213 virtual void PaintTextNDC(Double_t u, Double_t v, const char *text) = 0;
214 virtual void PaintTextNDC(Double_t u, Double_t v, const wchar_t *text) = 0;
215 virtual void PaintTextUrl(Double_t x, Double_t y, const char *text, const char *url) = 0;
216 virtual Double_t PixeltoX(Double_t px) = 0;
217 virtual Double_t PixeltoY(Double_t py) = 0;
219 void Pop() override = 0;
220 void Print(const char *filename="") const override = 0;
221 virtual void Print(const char *filename, Option_t *option) = 0;
224 virtual void RangeAxisChanged() { Emit("RangeAxisChanged()"); } // *SIGNAL*
225 void RecursiveRemove(TObject *obj) override = 0;
226 virtual TObject *Remove(TObject *obj, Bool_t modified = kTRUE) = 0;
227 virtual void RedrawAxis(Option_t *option="") = 0;
228 virtual void ResetView3D(TObject *view = nullptr) = 0;
229 virtual void ResizePad(Option_t *option="") = 0;
230 void SaveAs(const char *filename="",Option_t *option="") const override = 0;
231 virtual void SetBatch(Bool_t batch=kTRUE) = 0;
234 virtual void SetCanvas(TCanvas *c) = 0;
235 virtual void SetCanvasSize(UInt_t ww, UInt_t wh) = 0;
236 virtual void SetCrosshair(Int_t crhair=1) = 0;
237 virtual void SetCursor(ECursor cursor) = 0;
238 virtual void SetDoubleBuffer(Int_t mode=1) = 0;
239 virtual void SetEditable(Bool_t mode=kTRUE) = 0;
240 virtual void SetFixedAspectRatio(Bool_t fixed = kTRUE) = 0;
241 virtual void SetGrid(Int_t valuex = 1, Int_t valuey = 1) = 0;
242 virtual void SetGridx(Int_t value = 1) = 0;
243 virtual void SetGridy(Int_t value = 1) = 0;
244 virtual void SetLogx(Int_t value = 1) = 0;
245 virtual void SetLogy(Int_t value = 1) = 0;
246 virtual void SetLogz(Int_t value = 1) = 0;
247 virtual void SetPad(const char *name, const char *title,
248 Double_t xlow, Double_t ylow, Double_t xup,
249 Double_t yup, Color_t color=35,
251 virtual void SetPad(Double_t xlow, Double_t ylow, Double_t xup, Double_t yup) = 0;
252 virtual void SetAttFillPS(Color_t color, Style_t style) = 0;
253 virtual void SetAttLinePS(Color_t color, Style_t style, Width_t lwidth) = 0;
254 virtual void SetAttMarkerPS(Color_t color, Style_t style, Size_t msize) = 0;
255 virtual void SetAttTextPS(Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize) = 0;
256 virtual void SetName(const char *name) = 0;
257 virtual void SetSelected(TObject *obj) = 0;
258 virtual void SetTicks(Int_t valuex = 1, Int_t valuey = 1) = 0;
259 virtual void SetTickx(Int_t value = 1) = 0;
260 virtual void SetTicky(Int_t value = 1) = 0;
261 virtual void SetTitle(const char *title="") = 0;
262 virtual void SetTheta(Double_t theta=30) = 0;
263 virtual void SetPhi(Double_t phi=30) = 0;
264 virtual void SetToolTipText(const char *text, Long_t delayms = 1000) = 0;
265 virtual void SetVertical(Bool_t vert=kTRUE) = 0;
266 virtual void SetView(TView *view = nullptr) = 0;
267 virtual void SetViewer3D(TVirtualViewer3D * /*viewer3d*/) {}
268 virtual void ShowGuidelines(TObject *object, const Int_t event, const char mode = 'i', const bool cling = true) = 0;
269 virtual TObject *WaitPrimitive(const char *pname="", const char *emode="") = 0;
270 virtual void Update() = 0;
271 virtual void UpdateAsync() = 0;
272 virtual Int_t UtoAbsPixel(Double_t u) const = 0;
273 virtual Int_t VtoAbsPixel(Double_t v) const = 0;
274 virtual Int_t UtoPixel(Double_t u) const = 0;
275 virtual Int_t VtoPixel(Double_t v) const = 0;
276 virtual Int_t XtoAbsPixel(Double_t x) const = 0;
277 virtual Int_t YtoAbsPixel(Double_t y) const = 0;
278 virtual Int_t HtoAbsPixel(Double_t y1, Double_t y2) const = 0;
279 virtual Int_t WtoAbsPixel(Double_t x1, Double_t x2) const = 0;
280 virtual void XYtoAbsPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const = 0;
282 virtual Double_t XtoPad(Double_t x) const = 0;
283 virtual Double_t YtoPad(Double_t y) const = 0;
284 virtual Int_t XtoPixel(Double_t x) const = 0;
285 virtual Int_t YtoPixel(Double_t y) const = 0;
286 virtual void XYtoPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const = 0;
288
289 virtual TInteractive *Interactive(TObject * /* obj */ = nullptr, TInteractive * /* init */ = nullptr) = 0;
290
291 virtual Int_t IncrementPaletteColor(Int_t i, const TString &opt) = 0;
292 virtual Int_t NextPaletteColor() = 0;
293
294 virtual Bool_t PlaceBox(TObject *o, Double_t w, Double_t h, Double_t &xl, Double_t &yb, Option_t* opt = "lb") = 0;
295
296 virtual TObject *CreateToolTip(const TBox *b, const char *text, Long_t delayms) = 0;
297 virtual void DeleteToolTip(TObject *tip) = 0;
298 virtual void ResetToolTip(TObject *tip) = 0;
299 virtual void CloseToolTip(TObject *tip) = 0;
300
302 virtual Bool_t HasViewer3D() const = 0;
303 virtual void ReleaseViewer3D(Option_t * type = "") = 0;
304
305 virtual Int_t GetGLDevice() = 0;
306 virtual void SetCopyGLDevice(Bool_t copy) = 0;
308
309 virtual Bool_t PadInSelectionMode() const;
310 virtual Bool_t PadInHighlightMode() const;
311
312 virtual void PushTopLevelSelectable(TObject *top);
313 virtual void PushSelectableObject(TObject *obj);
314 virtual void PopTopLevelSelectable();
315
316 static TVirtualPad *&Pad();
317
318 ClassDefOverride(TVirtualPad,3) //Abstract base class for Pads and Canvases
319};
320
321//
322//Small scope-guard class to add/remove object's into pad's stack of selectable objects.
323//Does nothing, unless you implement non-standard picking.
324//
325
327public:
330
331private:
334};
335
336
337#define gPad (TVirtualPad::Pad())
338R__EXTERN Int_t (*gThreadXAR)(const char *xact, Int_t nb, void **ar, Int_t *iret);
339
340#endif
#define R__EXTERN
Definition DllImport.h:26
ECursor
Definition GuiTypes.h:373
#define b(i)
Definition RSha256.hxx:100
#define c(i)
Definition RSha256.hxx:101
#define h(i)
Definition RSha256.hxx:106
cudaEvent_t event
short Style_t
Style number (short)
Definition RtypesCore.h:97
int Int_t
Signed integer 4 bytes (int)
Definition RtypesCore.h:60
short Color_t
Color number (short)
Definition RtypesCore.h:100
float Size_t
Attribute size (float)
Definition RtypesCore.h:104
long Long_t
Signed long integer 4 bytes (long). Size depends on architecture.
Definition RtypesCore.h:69
short Width_t
Line width (short)
Definition RtypesCore.h:99
float Float_t
Float 4 bytes (float)
Definition RtypesCore.h:72
short Short_t
Signed Short integer 2 bytes (short)
Definition RtypesCore.h:54
constexpr Bool_t kFALSE
Definition RtypesCore.h:109
double Double_t
Double 8 bytes.
Definition RtypesCore.h:74
constexpr Bool_t kTRUE
Definition RtypesCore.h:108
const char Option_t
Option string (const char)
Definition RtypesCore.h:81
@ kRed
Definition Rtypes.h:66
#define ClassDefOverride(name, id)
Definition Rtypes.h:347
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
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:142
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:21
Line Attributes class.
Definition TAttLine.h:21
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:31
The Canvas class.
Definition TCanvas.h:23
Define a Frame.
Definition TFrame.h:19
1-D histogram with a float per channel (see TH1 documentation)
Definition TH1.h:878
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:42
TPickerStackGuard & operator=(const TPickerStackGuard &rhs)=delete
TPickerStackGuard(const TPickerStackGuard &rhs)=delete
~TPickerStackGuard()
Guard does out of scope, pop object from stack.
TPickerStackGuard(TObject *obj)
Scope-guards ctor, pushe the object on stack.
/**
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:137
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.
TContext(Bool_t _interactive=kFALSE)
Constructor which just store 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.
Helper class to store interactive parameters for individual objects Should be used via gPad->Interact...
Definition TVirtualPad.h:75
virtual ~TInteractive()=default
void SetObject(TObject *obj)
Definition TVirtualPad.h:81
TObject * GetObject() const
Definition TVirtualPad.h:82
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 void PaintMarker3D(Double_t x, Double_t y, Double_t z)=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 Int_t GetDoubleBuffer() const =0
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 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 Double_t PixeltoY(Double_t py)=0
virtual TFrame * GetFrame()=0
virtual Double_t AbsPixeltoX(Double_t px)=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 Int_t HtoAbsPixel(Double_t y1, Double_t y2) const =0
virtual void SetGridx(Int_t value=1)=0
virtual void PixeltoXY(Double_t xpixel, Double_t ypixel, Double_t &x, Double_t &y)=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 PaintTextUrl(Double_t x, Double_t y, const char *text, const char *url)=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 void XYtoPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const =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 void UnZoomed()
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 TInteractive * Interactive(TObject *=nullptr, TInteractive *=nullptr)=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 UInt_t GetPadWidth() const =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 void AbsPixeltoXY(Double_t xpixel, Double_t ypixel, Double_t &x, Double_t &y)=0
virtual Double_t YtoPad(Double_t y) const =0
void * GetSender() override
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 Int_t IncrementPaletteColor(Int_t i, const TString &opt)=0
virtual void SetPad(Double_t xlow, Double_t ylow, Double_t xup, Double_t yup)=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 XYtoAbsPixel(Double_t x, Double_t y, Double_t &xpixel, Double_t &ypixel) const =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 PaintSegmentsNDC(Int_t n, Double_t *u, Double_t *v)
Paint N individual segments in NDC coordinates Provided arrays should have 2*n elements.
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 void PushSelectableObject(TObject *obj)
Does nothing, unless you implement your own picking.
virtual TCanvasImp * GetCanvasImp() const =0
virtual Double_t PixeltoX(Double_t px)=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 void XYtoAbsPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const =0
virtual Double_t GetAbsWNDC() const =0
virtual void PaintModified()=0
virtual TObject * GetView3D() const =0
virtual Int_t GetGLDevice()=0
virtual void ModifiedUpdate()=0
virtual void XYtoPixel(Double_t x, Double_t y, Double_t &xpixel, Double_t &ypixel) const =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 UInt_t GetPadHeight() const =0
virtual Int_t WtoAbsPixel(Double_t x1, Double_t x2) const =0
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 Double_t AbsPixeltoY(Double_t py)=0
virtual void GetRange(Double_t &x1, Double_t &y1, Double_t &x2, Double_t &y2)=0
Bool_t fResizing
!true when resizing the pad
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 void FeedbackMode(Bool_t set)=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 void PaintSegments(Int_t n, Double_t *x, Double_t *y, Option_t *option="")
Paint N individual segments Provided arrays should have 2*n elements IMPORTANT! Provided arrays can b...
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