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