The most important graphics class in the ROOT system.
A Pad is contained in a Canvas.
A Pad may contain other pads (unlimited pad hierarchy).
A pad is a linked list of primitives of any type (graphics objects, histograms, detectors, tracks, etc.).
Adding a new element into a pad is in general performed by the Draw member function of the object classes.
It is important to realize that the pad is a linked list of references to the original object. For example, in case of a histogram, the histogram.Draw() operation only stores a reference to the histogram object and not a graphical representation of this histogram. When the mouse is used to change (say the bin content), the bin content of the original histogram is changed.
The convention used in ROOT is that a Draw operation only adds a reference to the object. The effective drawing is performed when the canvas receives a signal to be painted.
This signal is generally sent when typing carriage return in the command input or when a graphical operation has been performed on one of the pads of this canvas. When a Canvas/Pad is repainted, the member function Paint for all objects in the Pad linked list is invoked.
When the mouse is moved on the Pad, The member function DistancetoPrimitive is called for all the elements in the pad. DistancetoPrimitive returns the distance in pixels to this object.
When the object is within the distance window, the member function ExecuteEvent is called for this object.
In ExecuteEvent, move, changes can be performed on the object.
For examples of DistancetoPrimitive and ExecuteEvent functions, see classes
A Pad supports linear and log scales coordinate systems. The transformation coefficients are explained in TPad::ResizePad.
Public Types | |
enum | { kFraming = (1ULL << ( 6 )) , kHori = (1ULL << ( 9 )) , kClipFrame = (1ULL << ( 10 )) , kPrintingPS = (1ULL << ( 11 )) , kCannotMove = (1ULL << ( 12 )) , kClearAfterCR = (1ULL << ( 14 )) } |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) } |
enum | EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) } |
enum | EStatusBits { kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) , kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 )) } |
Public Member Functions | |
TPad () | |
Pad default constructor. | |
TPad (const char *name, const char *title, Double_t xlow, Double_t ylow, Double_t xup, Double_t yup, Color_t color=-1, Short_t bordersize=-1, Short_t bordermode=-2) | |
Pad constructor. | |
virtual | ~TPad () |
Pad destructor. | |
void | AbsCoordinates (Bool_t set) override |
Double_t | AbsPixeltoX (Int_t px) override |
virtual void | AbsPixeltoXY (Int_t xpixel, Int_t ypixel, Double_t &x, Double_t &y) |
Double_t | AbsPixeltoY (Int_t py) override |
void | AddExec (const char *name, const char *command) override |
Add a new TExec object to the list of Execs. | |
virtual void | AutoExec () |
Execute the list of Execs when a pad event occurs. | |
void | Browse (TBrowser *b) override |
Browse pad. | |
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="") override |
Build a legend from the graphical objects in the pad. | |
TVirtualPad * | cd (Int_t subpadnumber=0) override |
Set Current pad. | |
void | Clear (Option_t *option="") override |
Delete all pad primitives. | |
Int_t | Clip (Double_t *x, Double_t *y, Double_t xclipl, Double_t yclipb, Double_t xclipr, Double_t yclipt) override |
Clipping routine: Cohen Sutherland algorithm. | |
virtual Int_t | Clip (Float_t *x, Float_t *y, Float_t xclipl, Float_t yclipb, Float_t xclipr, Float_t yclipt) |
Clipping routine: Cohen Sutherland algorithm. | |
virtual Int_t | ClippingCode (Double_t x, Double_t y, Double_t xcl1, Double_t ycl1, Double_t xcl2, Double_t ycl2) |
Compute the endpoint codes for TPad::Clip. | |
virtual Int_t | ClipPolygon (Int_t n, Double_t *x, Double_t *y, Int_t nn, Double_t *xc, Double_t *yc, Double_t xclipl, Double_t yclipb, Double_t xclipr, Double_t yclipt) |
Clip polygon using the Sutherland-Hodgman algorithm. | |
void | Close (Option_t *option="") override |
Delete all primitives in pad and pad itself. | |
virtual void | Closed () |
void | CloseToolTip (TObject *tip) override |
Hide tool tip. | |
void | CopyPixmap () override |
Copy the pixmap of the pad to the canvas. | |
void | CopyPixmaps () override |
Copy the sub-pixmaps of the pad to the canvas. | |
TObject * | CreateToolTip (const TBox *b, const char *text, Long_t delayms) override |
Create a tool tip and return its pointer. | |
void | DeleteExec (const char *name) override |
Remove TExec name from the list of Execs. | |
void | DeleteToolTip (TObject *tip) override |
Delete tool tip object. | |
void | Divide (Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0) override |
Automatic pad generation by division. | |
virtual void | DivideSquare (Int_t n, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0) |
"n" is the total number of sub-pads. | |
void | Draw (Option_t *option="") override |
Draw Pad in Current pad (re-parent pad if necessary). | |
void | DrawClassObject (const TObject *obj, Option_t *option="") override |
Draw class inheritance tree of the class to which obj belongs. | |
void | DrawCollideGrid () |
This method draws the collide grid on top of the canvas. | |
virtual void | DrawCrosshair () |
Function called to draw a crosshair in the canvas. | |
TH1F * | DrawFrame (Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, const char *title="") override |
Draw an empty pad frame with X and Y axis. | |
virtual void | EventPave () |
void | ExecuteEventAxis (Int_t event, Int_t px, Int_t py, TAxis *axis) override |
Execute action corresponding to one event for a TAxis object (called by TAxis::ExecuteEvent.) This member function is called when an axis is clicked with the locator. | |
TObject * | FindObject (const char *name) const override |
Search if object named name is inside this pad or in pads inside this pad. | |
TObject * | FindObject (const TObject *obj) const override |
Search if obj is in pad or in pads inside this pad. | |
Double_t | GetAbsHNDC () const override |
Double_t | GetAbsWNDC () const override |
Double_t | GetAbsXlowNDC () const override |
Double_t | GetAbsYlowNDC () const override |
Double_t | GetAspectRatio () const override |
Rectangle_t | GetBBox () override |
Return the bounding Box of the Pad. | |
TPoint | GetBBoxCenter () override |
Return the center of the Pad as TPoint in pixels. | |
Short_t | GetBorderMode () const override |
Short_t | GetBorderSize () const override |
TCanvas * | GetCanvas () const override |
Int_t | GetCanvasID () const override |
Get canvas identifier. | |
TCanvasImp * | GetCanvasImp () const override |
Get canvas implementation pointer if any. | |
Int_t | GetCrosshair () const |
Return the crosshair type (from the mother canvas) crosshair type = 0 means no crosshair. | |
Int_t | GetEvent () const override |
Get Event. | |
Int_t | GetEventX () const override |
Get X event. | |
Int_t | GetEventY () const override |
Get Y event. | |
TFrame * | GetFrame () override |
Get frame. | |
Int_t | GetGLDevice () override |
Get GL device. | |
Bool_t | GetGridx () const override |
Bool_t | GetGridy () const override |
Color_t | GetHighLightColor () const override |
Get highlight color. | |
Double_t | GetHNDC () const override |
Get height of pad along Y in Normalized Coordinates (NDC) | |
TList * | GetListOfExecs () const override |
TList * | GetListOfPrimitives () const override |
Int_t | GetLogx () const override |
Int_t | GetLogy () const override |
Int_t | GetLogz () const override |
TVirtualPad * | GetMother () const override |
const char * | GetName () const override |
Returns name of object. | |
Int_t | GetNumber () const override |
TVirtualPad * | GetPad (Int_t subpadnumber) const override |
Get a pointer to subpadnumber of this pad. | |
Int_t | GetPadPaint () const override |
void | GetPadPar (Double_t &xlow, Double_t &ylow, Double_t &xup, Double_t &yup) override |
Return lower and upper bounds of the pad in NDC coordinates. | |
TObject * | GetPadPointer () const override |
TVirtualPad * | GetPadSave () const override |
Get save pad. | |
TVirtualPadPainter * | GetPainter () override |
Get pad painter from TCanvas. | |
Double_t | GetPhi () const override |
Int_t | GetPixmapID () const override |
TObject * | GetPrimitive (const char *name) const override |
Get primitive. | |
void | GetRange (Double_t &x1, Double_t &y1, Double_t &x2, Double_t &y2) override |
Return pad world coordinates range. | |
void | GetRangeAxis (Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) override |
Return pad axis coordinates range. | |
TObject * | GetSelected () const override |
Get selected. | |
TVirtualPad * | GetSelectedPad () const override |
Get selected pad. | |
Double_t | GetTheta () const override |
Int_t | GetTickx () const override |
Int_t | GetTicky () const override |
const char * | GetTitle () const override |
Returns title of object. | |
Double_t | GetUxmax () const override |
Returns the maximum x-coordinate value visible on the pad. If log axis the returned value is in decades. | |
Double_t | GetUxmin () const override |
Returns the minimum x-coordinate value visible on the pad. If log axis the returned value is in decades. | |
Double_t | GetUymax () const override |
Returns the maximum y-coordinate value visible on the pad. If log axis the returned value is in decades. | |
Double_t | GetUymin () const override |
Returns the minimum y-coordinate value visible on the pad. If log axis the returned value is in decades. | |
TView * | GetView () const override |
TObject * | GetView3D () const override |
TVirtualViewer3D * | GetViewer3D (Option_t *type="") override |
Create/obtain handle to 3D viewer. | |
TVirtualPad * | GetVirtCanvas () const override |
Get virtual canvas. | |
UInt_t | GetWh () const override |
Get Wh. | |
Double_t | GetWNDC () const override |
Get width of pad along X in Normalized Coordinates (NDC) | |
UInt_t | GetWw () const override |
Get Ww. | |
Double_t | GetX1 () const override |
Double_t | GetX2 () const override |
Double_t | GetXlowNDC () const override |
Double_t | GetY1 () const override |
Double_t | GetY2 () const override |
Double_t | GetYlowNDC () const override |
Bool_t | HasCrosshair () const override |
Return kTRUE if the crosshair has been activated (via SetCrosshair). | |
Bool_t | HasFixedAspectRatio () const override |
ULong_t | Hash () const override |
Return hash value for this object. | |
Bool_t | HasViewer3D () const override |
void | HighLight (Color_t col=kRed, Bool_t set=kTRUE) override |
Highlight pad. | |
Int_t | IncrementPaletteColor (Int_t i, TString opt) override |
Increment (i==1) or set (i>1) the number of autocolor in the pad. | |
TClass * | IsA () const override |
Bool_t | IsBatch () const override |
Is pad in batch mode ? | |
virtual Bool_t | IsEditable () const override |
Bool_t | IsFolder () const override |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
Bool_t | IsModified () const override |
Bool_t | IsRetained () const override |
Is pad retained ? | |
Bool_t | IsVertical () const override |
void | ls (Option_t *option="") const override |
List all primitives in pad. | |
void | Modified (Bool_t flag=1) override |
Int_t | NextPaletteColor () override |
Get the next autocolor in the pad. | |
Bool_t | OpaqueMoving () const override |
Is pad moving in opaque mode ? | |
Bool_t | OpaqueResizing () const override |
Is pad resizing in opaque mode ? | |
Double_t | PadtoX (Double_t x) const override |
Convert x from pad to X. | |
Double_t | PadtoY (Double_t y) const override |
Convert y from pad to Y. | |
void | Paint (Option_t *option="") override |
Paint all primitives in pad. | |
void | PaintBox (Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t *option="") override |
Paint box in CurrentPad World coordinates. | |
void | PaintFillArea (Int_t n, Double_t *x, Double_t *y, Option_t *option="") override |
Paint fill area in CurrentPad World coordinates. | |
void | PaintFillArea (Int_t n, Float_t *x, Float_t *y, Option_t *option="") override |
void | PaintFillAreaHatches (Int_t n, Double_t *x, Double_t *y, Int_t FillStyle) |
This function paints hatched fill area according to the FillStyle value The convention for the Hatch is the following: | |
void | PaintFillAreaNDC (Int_t n, Double_t *x, Double_t *y, Option_t *option="") override |
Paint fill area in CurrentPad NDC coordinates. | |
void | PaintHatches (Double_t dy, Double_t angle, Int_t nn, Double_t *xx, Double_t *yy) |
This routine draw hatches inclined with the angle "angle" and spaced of "dy" in normalized device coordinates in the surface defined by n,xx,yy. | |
void | PaintLine (Double_t x1, Double_t y1, Double_t x2, Double_t y2) override |
Paint line in CurrentPad World coordinates. | |
void | PaintLine3D (Double_t *p1, Double_t *p2) override |
Paint 3-D line in the CurrentPad. | |
void | PaintLine3D (Float_t *p1, Float_t *p2) override |
Paint 3-D line in the CurrentPad. | |
void | PaintLineNDC (Double_t u1, Double_t v1, Double_t u2, Double_t v2) override |
Paint line in normalized coordinates. | |
void | PaintModified () override |
Traverse pad hierarchy and (re)paint only modified pads. | |
void | PaintPadFrame (Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax) override |
Paint histogram/graph frame. | |
void | PaintPolyLine (Int_t n, Double_t *x, Double_t *y, Option_t *option="") override |
Paint polyline in CurrentPad World coordinates. | |
void | PaintPolyLine (Int_t n, Float_t *x, Float_t *y, Option_t *option="") override |
Paint polyline in CurrentPad World coordinates. | |
void | PaintPolyLine3D (Int_t n, Double_t *p) override |
Paint 3-D polyline in the CurrentPad. | |
void | PaintPolyLineNDC (Int_t n, Double_t *x, Double_t *y, Option_t *option="") override |
Paint polyline in CurrentPad NDC coordinates. | |
void | PaintPolyMarker (Int_t n, Double_t *x, Double_t *y, Option_t *option="") override |
Paint polymarker in CurrentPad World coordinates. | |
void | PaintPolyMarker (Int_t n, Float_t *x, Float_t *y, Option_t *option="") override |
Paint polymarker in CurrentPad World coordinates. | |
void | PaintText (Double_t x, Double_t y, const char *text) override |
Paint text in CurrentPad World coordinates. | |
void | PaintText (Double_t x, Double_t y, const wchar_t *text) override |
Paint text in CurrentPad World coordinates. | |
void | PaintTextNDC (Double_t u, Double_t v, const char *text) override |
Paint text in CurrentPad NDC coordinates. | |
void | PaintTextNDC (Double_t u, Double_t v, const wchar_t *text) override |
Paint text in CurrentPad NDC coordinates. | |
virtual TPad * | Pick (Int_t px, Int_t py, TObjLink *&pickobj) |
Search for an object at pixel position px,py. | |
Double_t | PixeltoX (Int_t px) override |
virtual void | PixeltoXY (Int_t xpixel, Int_t ypixel, Double_t &x, Double_t &y) |
Double_t | PixeltoY (Int_t py) override |
Bool_t | PlaceBox (TObject *o, Double_t w, Double_t h, Double_t &xl, Double_t &yb, Option_t *option="lb") override |
Place a box in NDC space. | |
void | Pop () override |
Pop pad to the top of the stack. | |
void | Print (const char *filename, Option_t *option) override |
Save Canvas contents in a file in one of various formats. | |
void | Print (const char *filename="") const override |
This method is equivalent to SaveAs("filename") . See TPad::SaveAs for details. | |
void | Range (Double_t x1, Double_t y1, Double_t x2, Double_t y2) override |
Set world coordinate system for the pad. | |
void | RangeAxis (Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax) override |
Set axis coordinate system for the pad. | |
virtual void | RangeChanged () |
virtual void | RecordLatex (const TObject *obj) |
Emit RecordLatex() signal. | |
virtual void | RecordPave (const TObject *obj) |
Emit RecordPave() signal. | |
void | RecursiveRemove (TObject *obj) override |
Recursively remove object from a pad and its sub-pads. | |
void | RedrawAxis (Option_t *option="") override |
Redraw the frame axis. | |
void | ReleaseViewer3D (Option_t *type="") override |
Release current (external) viewer. | |
void | ResetToolTip (TObject *tip) override |
Reset tool tip, i.e. | |
void | ResetView3D (TObject *view=nullptr) override |
virtual void | Resized () |
void | ResizePad (Option_t *option="") override |
Compute pad conversion coefficients. | |
void | SaveAs (const char *filename="", Option_t *option="") const override |
Save the pad content in a file. | |
void | SetAttFillPS (Color_t color, Style_t style) override |
Set postscript fill area attributes. | |
void | SetAttLinePS (Color_t color, Style_t style, Width_t lwidth) override |
Set postscript line attributes. | |
void | SetAttMarkerPS (Color_t color, Style_t style, Size_t msize) override |
Set postscript marker attributes. | |
void | SetAttTextPS (Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize) override |
Set postscript text attributes. | |
void | SetBBoxCenter (const TPoint &p) override |
Set center of the Pad. | |
void | SetBBoxCenterX (const Int_t x) override |
Set X coordinate of the center of the Pad. | |
void | SetBBoxCenterY (const Int_t y) override |
Set Y coordinate of the center of the Pad. | |
void | SetBBoxX1 (const Int_t x) override |
Set lefthandside of BoundingBox to a value (resize in x direction on left) | |
void | SetBBoxX2 (const Int_t x) override |
Set right hand side of BoundingBox to a value (resize in x direction on right) | |
void | SetBBoxY1 (const Int_t y) override |
Set top of BoundingBox to a value (resize in y direction on top) | |
void | SetBBoxY2 (const Int_t y) override |
Set bottom of BoundingBox to a value (resize in y direction on bottom) | |
void | SetBorderMode (Short_t bordermode) override |
void | SetBorderSize (Short_t bordersize) override |
void | SetCanvas (TCanvas *c) override |
void | SetCanvasSize (UInt_t ww, UInt_t wh) override |
Set canvas size. | |
void | SetCopyGLDevice (Bool_t copy) override |
void | SetCrosshair (Int_t crhair=1) override |
Set crosshair active/inactive. | |
void | SetCursor (ECursor cursor) override |
Set cursor type. | |
void | SetDoubleBuffer (Int_t mode=1) override |
Set double buffer mode ON or OFF. | |
void | SetDrawOption (Option_t *option="") override |
Set drawing option for object. | |
void | SetEditable (Bool_t mode=kTRUE) override |
Set pad editable yes/no If a pad is not editable: | |
void | SetFillStyle (Style_t fstyle) override |
Override TAttFill::FillStyle for TPad because we want to handle style=0 as style 4000. | |
void | SetFixedAspectRatio (Bool_t fixed=kTRUE) override |
Fix pad aspect ratio to current value if fixed is true. | |
virtual void | SetGLDevice (Int_t dev) |
void | SetGrid (Int_t valuex=1, Int_t valuey=1) override |
void | SetGridx (Int_t value=1) override |
void | SetGridy (Int_t value=1) override |
void | SetLogx (Int_t value=1) override |
Set Lin/Log scale for X. | |
void | SetLogy (Int_t value=1) override |
Set Lin/Log scale for Y. | |
void | SetLogz (Int_t value=1) override |
Set Lin/Log scale for Z. | |
void | SetName (const char *name) override |
virtual void | SetNumber (Int_t number) |
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) override |
Set all pad parameters. | |
void | SetPad (Double_t xlow, Double_t ylow, Double_t xup, Double_t yup) override |
Set canvas range for pad and resize the pad. | |
void | SetPhi (Double_t phi=30) override |
void | SetSelected (TObject *obj) override |
Set selected. | |
void | SetTheta (Double_t theta=30) override |
void | SetTicks (Int_t valuex=1, Int_t valuey=1) override |
void | SetTickx (Int_t value=1) override |
void | SetTicky (Int_t value=1) override |
void | SetTitle (const char *title="") override |
void | SetToolTipText (const char *text, Long_t delayms=1000) override |
Set tool tip text associated with this pad. | |
void | SetVertical (Bool_t vert=kTRUE) override |
Set pad vertical (default) or horizontal. | |
void | SetView (TView *view=nullptr) override |
Set the current TView. Delete previous view if view=0. | |
void | SetViewer3D (TVirtualViewer3D *viewer3d) override |
void | ShowGuidelines (TObject *object, const Int_t event, const char mode='i', const bool cling=true) override |
Shows lines to indicate if a TAttBBox2D object is aligned to the center or to another object, shows distance arrows if two objects on screen have the same distance to another object Call from primitive in Execute Event, in ButtonMotion after the new coordinates have been set, to 'stick' once when button is up to delete lines. | |
virtual void | StartEditing () |
void | Streamer (TBuffer &) override |
Stream a class object. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
void | Update () override |
Update pad. | |
void | UseCurrentStyle () override |
Force a copy of current style for all objects in pad. | |
Int_t | UtoAbsPixel (Double_t u) const override |
Int_t | UtoPixel (Double_t u) const override |
Int_t | VtoAbsPixel (Double_t v) const override |
Int_t | VtoPixel (Double_t v) const override |
TObject * | WaitPrimitive (const char *pname="", const char *emode="") override |
Loop and sleep until a primitive with name=pname is found in the pad. | |
virtual void | x3d (Option_t *type="") |
Deprecated: use TPad::GetViewer3D() instead. | |
Int_t | XtoAbsPixel (Double_t x) const override |
Double_t | XtoPad (Double_t x) const override |
Convert x from X to pad. | |
Int_t | XtoPixel (Double_t x) const override |
virtual void | XYtoAbsPixel (Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const |
virtual void | XYtoPixel (Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const |
Int_t | YtoAbsPixel (Double_t y) const override |
Double_t | YtoPad (Double_t y) const override |
Convert y from Y to pad. | |
Int_t | YtoPixel (Double_t y) const override |
Public Member Functions inherited from TVirtualPad | |
TVirtualPad () | |
VirtualPad default constructor. | |
TVirtualPad (const char *name, const char *title, Double_t xlow, Double_t ylow, Double_t xup, Double_t yup, Color_t color=19, Short_t bordersize=4, Short_t bordermode=1) | |
VirtualPad constructor. | |
virtual | ~TVirtualPad () |
VirtualPad destructor. | |
TClass * | IsA () const override |
Bool_t | IsBeingResized () const |
virtual Bool_t | PadInHighlightMode () const |
Should always return false, unless you can highlight selected object in pad. | |
virtual Bool_t | PadInSelectionMode () const |
Should always return false unless you have non-standard picking. | |
virtual void | PopTopLevelSelectable () |
Does nothing, unless you implement your own picking. | |
virtual void | PushSelectableObject (TObject *obj) |
Does nothing, unless you implement your own picking. | |
virtual void | PushTopLevelSelectable (TObject *top) |
Does nothing, unless you implement your own picking. | |
virtual void | RangeAxisChanged () |
void | Streamer (TBuffer &) override |
Stream an object of class TVirtualPad. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
virtual void | UnZoomed () |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. | |
TObject (const TObject &object) | |
TObject copy ctor. | |
virtual | ~TObject () |
TObject destructor. | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. | |
ULong_t | CheckedHash () |
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. | |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. | |
virtual Int_t | Compare (const TObject *obj) const |
Compare abstract method. | |
virtual void | Copy (TObject &object) const |
Copy this to obj. | |
virtual void | Delete (Option_t *option="") |
Delete this object. | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1) . | |
virtual void | Dump () const |
Dump contents of object on stdout. | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. | |
virtual void | Execute (const char *method, const char *params, Int_t *error=nullptr) |
Execute method on this object with the given parameter string, e.g. | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) |
Execute method on this object with parameters stored in the TObjArray. | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. | |
virtual const char * | GetIconName () const |
Returns mime type name of object. | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). | |
virtual Option_t * | GetOption () const |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. | |
Bool_t | HasInconsistentHash () const |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. | |
void | InvertBit (UInt_t f) |
Bool_t | IsDestructed () const |
IsDestructed. | |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
virtual Bool_t | IsSortable () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
void | MayNotUse (const char *method) const |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. | |
void | operator delete (void *ptr) |
Operator delete. | |
void | operator delete[] (void *ptr) |
Operator delete []. | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. | |
void | ResetBit (UInt_t f) |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. | |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. | |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. | |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. | |
Public Member Functions inherited from TAttLine | |
TAttLine () | |
AttLine default constructor. | |
TAttLine (Color_t lcolor, Style_t lstyle, Width_t lwidth) | |
AttLine normal constructor. | |
virtual | ~TAttLine () |
AttLine destructor. | |
void | Copy (TAttLine &attline) const |
Copy this line attributes to a new TAttLine. | |
Int_t | DistancetoLine (Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2) |
Compute distance from point px,py to a line. | |
virtual Color_t | GetLineColor () const |
Return the line color. | |
virtual Style_t | GetLineStyle () const |
Return the line style. | |
virtual Width_t | GetLineWidth () const |
Return the line width. | |
virtual void | Modify () |
Change current line attributes if necessary. | |
virtual void | ResetAttLine (Option_t *option="") |
Reset this line attributes to default values. | |
virtual void | SaveLineAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1) |
Save line attributes as C++ statement(s) on output stream out. | |
virtual void | SetLineAttributes () |
Invoke the DialogCanvas Line attributes. | |
virtual void | SetLineColor (Color_t lcolor) |
Set the line color. | |
virtual void | SetLineColorAlpha (Color_t lcolor, Float_t lalpha) |
Set a transparent line color. | |
virtual void | SetLineStyle (Style_t lstyle) |
Set the line style. | |
virtual void | SetLineWidth (Width_t lwidth) |
Set the line width. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TAttFill | |
TAttFill () | |
AttFill default constructor. | |
TAttFill (Color_t fcolor, Style_t fstyle) | |
AttFill normal constructor. | |
virtual | ~TAttFill () |
AttFill destructor. | |
void | Copy (TAttFill &attfill) const |
Copy this fill attributes to a new TAttFill. | |
virtual Color_t | GetFillColor () const |
Return the fill area color. | |
virtual Style_t | GetFillStyle () const |
Return the fill area style. | |
virtual Bool_t | IsTransparent () const |
virtual void | Modify () |
Change current fill area attributes if necessary. | |
virtual void | ResetAttFill (Option_t *option="") |
Reset this fill attributes to default values. | |
virtual void | SaveFillAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001) |
Save fill attributes as C++ statement(s) on output stream out. | |
virtual void | SetFillAttributes () |
Invoke the DialogCanvas Fill attributes. | |
virtual void | SetFillColor (Color_t fcolor) |
Set the fill area color. | |
virtual void | SetFillColorAlpha (Color_t fcolor, Float_t falpha) |
Set a transparent fill color. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TAttPad | |
TAttPad () | |
Constructor. | |
virtual | ~TAttPad () |
Destructor. | |
virtual void | Copy (TAttPad &attpad) const |
copy function | |
Float_t | GetAfile () const |
Float_t | GetAstat () const |
Float_t | GetBottomMargin () const |
Int_t | GetFrameBorderMode () const |
Width_t | GetFrameBorderSize () const |
Color_t | GetFrameFillColor () const |
Style_t | GetFrameFillStyle () const |
Color_t | GetFrameLineColor () const |
Style_t | GetFrameLineStyle () const |
Width_t | GetFrameLineWidth () const |
Float_t | GetLeftMargin () const |
Float_t | GetRightMargin () const |
Float_t | GetTopMargin () const |
Float_t | GetXfile () const |
Float_t | GetXstat () const |
Float_t | GetYfile () const |
Float_t | GetYstat () const |
virtual void | ResetAttPad (Option_t *option="") |
Reset pad attributes. | |
virtual void | SetAfile (Float_t afile) |
virtual void | SetAstat (Float_t astat) |
virtual void | SetBottomMargin (Float_t bottommargin) |
Set Pad bottom margin in fraction of the pad height. | |
void | SetFrameBorderMode (Int_t mode=1) |
void | SetFrameBorderSize (Width_t size=1) |
void | SetFrameFillColor (Color_t color=1) |
void | SetFrameFillStyle (Style_t styl=0) |
void | SetFrameLineColor (Color_t color=1) |
void | SetFrameLineStyle (Style_t styl=0) |
void | SetFrameLineWidth (Width_t width=1) |
virtual void | SetLeftMargin (Float_t leftmargin) |
Set Pad left margin in fraction of the pad width. | |
virtual void | SetMargin (Float_t left, Float_t right, Float_t bottom, Float_t top) |
Set all margins. | |
virtual void | SetRightMargin (Float_t rightmargin) |
Set Pad right margin in fraction of the pad width. | |
virtual void | SetTopMargin (Float_t topmargin) |
Set Pad top margin in fraction of the pad height. | |
virtual void | SetXfile (Float_t xfile) |
virtual void | SetXstat (Float_t xstat) |
virtual void | SetYfile (Float_t yfile) |
virtual void | SetYstat (Float_t ystat) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TQObject | |
TQObject () | |
TQObject Constructor. | |
virtual | ~TQObject () |
TQObject Destructor. | |
Bool_t | AreSignalsBlocked () const |
Bool_t | BlockSignals (Bool_t b) |
virtual void | ChangedBy (const char *method) |
void | CollectClassSignalLists (TList &list, TClass *cls) |
Collect class signal lists from class cls and all its base-classes. | |
Bool_t | Connect (const char *signal, const char *receiver_class, void *receiver, const char *slot) |
Non-static method is used to connect from the signal of this object to the receiver slot. | |
virtual void | Connected (const char *) |
virtual void | Destroyed () |
Bool_t | Disconnect (const char *signal=nullptr, void *receiver=nullptr, const char *slot=nullptr) |
Disconnects signal of this object from slot of receiver. | |
virtual void | Disconnected (const char *) |
void | Emit (const char *signal) |
Activate signal without args. | |
template<typename T > | |
void | Emit (const char *signal, const T &arg) |
Activate signal with single parameter. | |
template<typename... T> | |
void | EmitVA (const char *signal_name, Int_t, const T &... params) |
Emit a signal with a varying number of arguments. | |
TList * | GetListOfClassSignals () const |
Returns pointer to list of signals of this class. | |
TList * | GetListOfConnections () const |
TList * | GetListOfSignals () const |
virtual Bool_t | HasConnection (const char *signal_name) const |
Return true if there is any object connected to this signal. | |
virtual void | HighPriority (const char *signal_name, const char *slot_name=nullptr) |
virtual void | LowPriority (const char *signal_name, const char *slot_name=nullptr) |
virtual void | Message (const char *msg) |
virtual Int_t | NumberOfConnections () const |
Return number of connections for this object. | |
virtual Int_t | NumberOfSignals () const |
Return number of signals for this object. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TAttBBox2D | |
virtual | ~TAttBBox2D () |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static void | DrawColorTable () |
Static function to Display Color Table in a pad. | |
static Int_t | GetMaxPickDistance () |
Static function (see also TPad::SetMaxPickDistance) | |
static void | SetMaxPickDistance (Int_t maxPick=5) |
static function to set the maximum Pick Distance fgMaxPickDistance This parameter is used in TPad::Pick to select an object if its DistancetoPrimitive returns a value < fgMaxPickDistance The default value is 5 pixels. | |
Static Public Member Functions inherited from TVirtualPad | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static TVirtualPad *& | Pad () |
Return the current pad for the current thread. | |
Static Public Member Functions inherited from TObject | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static Longptr_t | GetDtorOnly () |
Return destructor only flag. | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. | |
Static Public Member Functions inherited from TAttLine | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TAttFill | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TAttPad | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TQObject | |
static Bool_t | AreAllSignalsBlocked () |
Returns true if all signals are blocked. | |
static Bool_t | BlockAllSignals (Bool_t b) |
Block or unblock all signals. Returns the previous block status. | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static Bool_t | Connect (const char *sender_class, const char *signal, const char *receiver_class, void *receiver, const char *slot) |
This method allows to make a connection from any object of the same class to a single slot. | |
static Bool_t | Connect (TQObject *sender, const char *signal, const char *receiver_class, void *receiver, const char *slot) |
Create connection between sender and receiver. | |
static const char * | DeclFileName () |
static Bool_t | Disconnect (const char *class_name, const char *signal, void *receiver=nullptr, const char *slot=nullptr) |
Disconnects "class signal". | |
static Bool_t | Disconnect (TQObject *sender, const char *signal=nullptr, void *receiver=nullptr, const char *slot=nullptr) |
Disconnects signal in object sender from slot_method in object receiver. | |
Static Public Member Functions inherited from TAttBBox2D | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Protected Member Functions | |
void | DestroyExternalViewer3D () |
Int_t | DistancetoPrimitive (Int_t px, Int_t py) override |
Compute distance from point px,py to a box. | |
void | ExecuteEvent (Int_t event, Int_t px, Int_t py) override |
Execute action corresponding to one event. | |
virtual void | HideToolTip (Int_t event) |
Hide tool tip depending on the event type. | |
void | PaintBorder (Color_t color, Bool_t tops) |
Paint the pad border. | |
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) override |
Paint a frame border with Postscript. | |
void | PaintDate () |
Paint the current date and time if the option Date is set on via gStyle->SetOptDate() Paint the current file name if the option File is set on via gStyle->SetOptFile() | |
void | SavePrimitive (std::ostream &out, Option_t *option="") override |
Save primitives in this pad on the C++ source file out. | |
void | SetBatch (Bool_t batch=kTRUE) override |
Set pad in batch mode. | |
Protected Member Functions inherited from TVirtualPad | |
void * | GetSender () override |
true when resizing the pad | |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). | |
void | MakeZombie () |
Protected Member Functions inherited from TQObject | |
virtual const char * | GetSenderClassName () const |
Protected Attributes | |
Bool_t | fAbsCoord |
Use absolute coordinates. | |
Double_t | fAbsHNDC |
Absolute Height of pad along Y in NDC. | |
Double_t | fAbsPixeltoXk |
Conversion coefficient for absolute pixel to X World. | |
Double_t | fAbsPixeltoYk |
Conversion coefficient for absolute pixel to Y World. | |
Double_t | fAbsWNDC |
Absolute Width of pad along X in NDC. | |
Double_t | fAbsXlowNDC |
Absolute X top left corner of pad in NDC [0,1]. | |
Double_t | fAbsYlowNDC |
Absolute Y top left corner of pad in NDC [0,1]. | |
Double_t | fAspectRatio |
ratio of w/h in case of fixed ratio | |
Short_t | fBorderMode |
Bordermode (-1=down, 0 = no border, 1=up) | |
Short_t | fBorderSize |
pad bordersize in pixels | |
TCanvas * | fCanvas {nullptr} |
! Pointer to mother canvas | |
Int_t | fCGnx |
! Size of the collide grid along x | |
Int_t | fCGny |
! Size of the collide grid along y | |
std::vector< Bool_t > | fCollideGrid |
! Grid used to find empty space when adding a box (Legend) in a pad | |
Bool_t | fCopyGLDevice |
! | |
Int_t | fCrosshair |
Crosshair type (0 if no crosshair requested) | |
Int_t | fCrosshairPos |
Position of crosshair. | |
Bool_t | fEditable |
True if canvas is editable. | |
Bool_t | fEmbeddedGL |
! | |
TList * | fExecs {nullptr} |
List of commands to be executed when a pad event occurs. | |
Bool_t | fFixedAspectRatio |
True if fixed aspect ratio. | |
TFrame * | fFrame {nullptr} |
! Pointer to 2-D frame (if one exists) | |
Int_t | fGLDevice |
! OpenGL off-screen pixmap identifier | |
Bool_t | fGridx |
Set to true if grid along X. | |
Bool_t | fGridy |
Set to true if grid along Y. | |
Double_t | fHNDC |
Height of pad along Y in Normalized Coordinates (NDC) | |
Int_t | fLogx |
(=0 if X linear scale, =1 if log scale) | |
Int_t | fLogy |
(=0 if Y linear scale, =1 if log scale) | |
Int_t | fLogz |
(=0 if Z linear scale, =1 if log scale) | |
Bool_t | fModified |
Set to true when pad is modified. | |
TPad * | fMother {nullptr} |
! pointer to mother of the list | |
TString | fName |
Pad name. | |
Int_t | fNextPaletteColor |
Next automatic color. | |
Int_t | fNumber |
pad number identifier | |
Int_t | fNumPaletteColor |
Number of objects with an automatic color. | |
Int_t | fPadPaint |
Set to 1 while painting the pad. | |
TObject * | fPadPointer {nullptr} |
! free pointer | |
TObject * | fPadView3D {nullptr} |
! 3D View of this TPad | |
Double_t | fPhi |
phi angle to view as lego/surface | |
Double_t | fPixeltoX |
xworld = fPixeltoXk + fPixeltoX*xpixel | |
Double_t | fPixeltoXk |
Conversion coefficient for pixel to X World. | |
Double_t | fPixeltoY |
yworld = fPixeltoYk + fPixeltoY*ypixel | |
Double_t | fPixeltoYk |
Conversion coefficient for pixel to Y World. | |
Int_t | fPixmapID |
! Off-screen pixmap identifier | |
TList * | fPrimitives {nullptr} |
->List of primitives (subpads) | |
Double_t | fTheta |
theta angle to view as lego/surface | |
Int_t | fTickx |
Set to 1 if tick marks along X. | |
Int_t | fTicky |
Set to 1 if tick marks along Y. | |
TString | fTitle |
Pad title. | |
Double_t | fUtoAbsPixelk |
Conversion coefficient for U NDC to absolute pixel. | |
Double_t | fUtoPixel |
xpixel = fUtoPixelk + fUtoPixel*undc | |
Double_t | fUtoPixelk |
Conversion coefficient for U NDC to pixel. | |
Double_t | fUxmax |
Maximum value on the X axis. | |
Double_t | fUxmin |
Minimum value on the X axis. | |
Double_t | fUymax |
Maximum value on the Y axis. | |
Double_t | fUymin |
Minimum value on the Y axis. | |
TView * | fView {nullptr} |
! Pointer to 3-D view (if one exists) | |
TVirtualViewer3D * | fViewer3D {nullptr} |
! Current 3D viewer | |
Double_t | fVtoAbsPixelk |
Conversion coefficient for V NDC to absolute pixel. | |
Double_t | fVtoPixel |
ypixel = fVtoPixelk + fVtoPixel*vndc | |
Double_t | fVtoPixelk |
Conversion coefficient for V NDC to pixel. | |
Double_t | fWNDC |
Width of pad along X in Normalized Coordinates (NDC) | |
Double_t | fX1 |
X of lower X coordinate. | |
Double_t | fX2 |
X of upper X coordinate. | |
Double_t | fXlowNDC |
X bottom left corner of pad in NDC [0,1]. | |
Double_t | fXtoAbsPixelk |
Conversion coefficient for X World to absolute pixel. | |
Double_t | fXtoPixel |
xpixel = fXtoPixelk + fXtoPixel*xworld | |
Double_t | fXtoPixelk |
Conversion coefficient for X World to pixel. | |
Double_t | fXUpNDC |
Double_t | fY1 |
Y of lower Y coordinate. | |
Double_t | fY2 |
Y of upper Y coordinate. | |
Double_t | fYlowNDC |
Y bottom left corner of pad in NDC [0,1]. | |
Double_t | fYtoAbsPixelk |
Conversion coefficient for Y World to absolute pixel. | |
Double_t | fYtoPixel |
ypixel = fYtoPixelk + fYtoPixel*yworld | |
Double_t | fYtoPixelk |
Conversion coefficient for Y World to pixel. | |
Double_t | fYUpNDC |
Protected Attributes inherited from TVirtualPad | |
Bool_t | fResizing |
Protected Attributes inherited from TAttLine | |
Color_t | fLineColor |
Line color. | |
Style_t | fLineStyle |
Line style. | |
Width_t | fLineWidth |
Line width. | |
Protected Attributes inherited from TAttFill | |
Color_t | fFillColor |
Fill area color. | |
Style_t | fFillStyle |
Fill area style. | |
Protected Attributes inherited from TAttPad | |
Float_t | fAfile |
Alignment for the file name. | |
Float_t | fAstat |
Alignment for the statistics. | |
Float_t | fBottomMargin |
BottomMargin. | |
Int_t | fFrameBorderMode |
Pad frame border mode. | |
Width_t | fFrameBorderSize |
Pad frame border size. | |
Color_t | fFrameFillColor |
Pad frame fill color. | |
Style_t | fFrameFillStyle |
Pad frame fill style. | |
Color_t | fFrameLineColor |
Pad frame line color. | |
Style_t | fFrameLineStyle |
Pad frame line style. | |
Width_t | fFrameLineWidth |
Pad frame line width. | |
Float_t | fLeftMargin |
LeftMargin. | |
Float_t | fRightMargin |
RightMargin. | |
Float_t | fTopMargin |
TopMargin. | |
Float_t | fXfile |
X position where to draw the file name. | |
Float_t | fXstat |
X position where to draw the statistics. | |
Float_t | fYfile |
Y position where to draw the file name. | |
Float_t | fYstat |
Y position where to draw the statistics. | |
Protected Attributes inherited from TQObject | |
TList * | fListOfConnections |
list of signals from this object | |
TList * | fListOfSignals |
Bool_t | fSignalsBlocked |
list of connections to this object | |
Static Protected Attributes | |
static Int_t | fgMaxPickDistance = 5 |
Maximum Pick Distance. | |
Static Protected Attributes inherited from TQObject | |
static Bool_t | fgAllSignalsBlocked = kFALSE |
flag used for suppression of signals | |
Private Member Functions | |
TPad (const TPad &pad)=delete | |
Bool_t | Collide (Int_t i, Int_t j, Int_t w, Int_t h) |
Check if a box of size w and h collide some primitives in the pad at position i,j. | |
void | CopyBackgroundPixmap (Int_t x, Int_t y) |
Copy pixmap of this pad as background of the current pad. | |
void | CopyBackgroundPixmaps (TPad *start, TPad *stop, Int_t x, Int_t y) |
Copy pixmaps of pads laying below pad "stop" into pad "stop". | |
void | DrawDist (Rectangle_t aBBox, Rectangle_t bBBox, char mode) |
Draw Arrows to indicated equal distances of Objects with given BBoxes. | |
void | FillCollideGrid (TObject *o) |
Initialise the grid used to find empty space when adding a box (Legend) in a pad. | |
void | FillCollideGridTBox (TObject *o) |
void | FillCollideGridTFrame (TObject *o) |
void | FillCollideGridTGraph (TObject *o) |
void | FillCollideGridTH1 (TObject *o) |
void | LineNotFree (Int_t x1, Int_t x2, Int_t y1, Int_t y2) |
Mark as "not free" the cells along a line. | |
TPad & | operator= (const TPad &rhs)=delete |
Private Attributes | |
TObject * | fTip {nullptr} |
! tool tip associated with box | |
Friends | |
class | TWebCanvas |
Additional Inherited Members | |
Protected Types inherited from TObject | |
enum | { kOnlyPrepStep = (1ULL << ( 3 )) } |
Static Protected Member Functions inherited from TQObject | |
static Int_t | CheckConnectArgs (TQObject *sender, TClass *sender_class, const char *signal, TClass *receiver_class, const char *slot) |
Checking of consistency of sender/receiver methods/arguments. | |
static TString | CompressName (const char *method_name) |
Removes "const" words and blanks from full (with prototype) method name and resolve any typedefs in the method signature. | |
static Bool_t | ConnectToClass (const char *sender_class, const char *signal, TClass *receiver_class, void *receiver, const char *slot) |
This method allows to make connection from any object of the same class to the receiver object. | |
static Bool_t | ConnectToClass (TQObject *sender, const char *signal, TClass *receiver_class, void *receiver, const char *slot) |
Create connection between sender and receiver. | |
#include <TPad.h>
anonymous enum |
|
privatedelete |
TPad::TPad | ( | const char * | name, |
const char * | title, | ||
Double_t | xlow, | ||
Double_t | ylow, | ||
Double_t | xup, | ||
Double_t | yup, | ||
Color_t | color = -1 , |
||
Short_t | bordersize = -1 , |
||
Short_t | bordermode = -2 |
||
) |
Pad constructor.
A pad is a linked list of primitives. A pad is contained in a canvas. It may contain other pads. A pad has attributes. When a pad is created, the attributes defined in the current style are copied to the pad attributes.
[in] | name | pad name |
[in] | title | pad title |
[in] | xlow | [0,1] is the position of the bottom left point of the pad expressed in the mother pad reference system |
[in] | ylow | [0,1] is the Y position of this point. |
[in] | xup | [0,1] is the x position of the top right point of the pad expressed in the mother pad reference system |
[in] | yup | [0,1] is the Y position of this point. |
[in] | color | pad color |
[in] | bordersize | border size in pixels |
[in] | bordermode | border mode
|
|
inlineoverridevirtual |
Implements TVirtualPad.
Implements TVirtualPad.
Implements TVirtualPad.
|
overridevirtual |
Add a new TExec object to the list of Execs.
When an event occurs in the pad (mouse click, etc) the list of C++ commands in the list of Execs are executed via TPad::AutoExec.
When a pad event occurs (mouse move, click, etc) all the commands contained in the fExecs list are executed in the order found in the list.
This facility is activated by default. It can be deactivated by using the canvas "Option" menu.
The following examples of TExec commands are provided in the tutorials: macros exec1.C and exec2.C.
At this point you can use the mouse to click on the contour of the histogram hpx. When the mouse is clicked, the bin number and its contents are printed.
When moving the mouse in the canvas, a second canvas shows the projection along X of the bin corresponding to the Y position of the mouse. The resulting histogram is fitted with a gaussian. A "dynamic" line shows the current bin position in Y. This more elaborated example can be used as a starting point to develop more powerful interactive applications exploiting the C++ interpreter as a development engine.
Implements TVirtualPad.
|
virtual |
|
overridevirtual |
|
overridevirtual |
Build a legend from the graphical objects in the pad.
A simple method to build automatically a TLegend from the primitives in a TPad.
Only those deriving from TAttLine, TAttMarker and TAttFill are added, excluding TPave and TFrame derived classes.
[in] | x1,y1,x2,y2 | The TLegend coordinates |
[in] | title | The legend title. By default it is " " |
[in] | option | The TLegend option |
The caller program owns the returned TLegend.
If the pad contains some TMultiGraph or THStack the individual graphs or histograms in them are added to the TLegend.
If x1
is equal to x2
and y1
is equal to y2
the legend will be automatically placed to avoid overlapping with the existing primitives already displayed. x1
is considered as the width of the legend and y1
the height. By default the legend is automatically placed with width = x1
= x2
= 0.3 and height = y1
= y2
= 0.21.
Implements TVirtualPad.
|
overridevirtual |
Set Current pad.
When a canvas/pad is divided via TPad::Divide, one can directly set the current path to one of the subdivisions. See TPad::Divide for the convention to number sub-pads.
Returns the new current pad, or 0 in case of failure.
For example:
To set the current pad to the bottom right pad, do
Note1: c1.cd() is equivalent to c1.cd(0) and sets the current pad to c1 itself.
Note2: after a statement like c1.cd(6), the global variable gPad points to the current pad. One can use gPad to set attributes of the current pad.
Note3: One can get a pointer to one of the sub-pads of pad with: TPad subpad = (TPad)pad->GetPad(subpadnumber);
Implements TVirtualPad.
|
static |
|
inlinestaticconstexpr |
|
overridevirtual |
Delete all pad primitives.
If the bit kClearAfterCR has been set for this pad, the Clear function will execute only after having pressed a CarriageReturn Set the bit with mypad->SetBit(TPad::kClearAfterCR)
Implements TVirtualPad.
|
overridevirtual |
Clipping routine: Cohen Sutherland algorithm.
- If Clip ==2 the segment is outside the boundary.
[in,out] | x[],y[] | Segment coordinates (2 points) |
[in] | xclipl,yclipb,xclipr,yclipt | Clipping boundary |
Implements TVirtualPad.
|
virtual |
Clipping routine: Cohen Sutherland algorithm.
[in,out] | x[],y[] | Segment coordinates (2 points) |
[in] | xclipl,yclipb,xclipr,yclipt | Clipping boundary |
|
virtual |
Compute the endpoint codes for TPad::Clip.
|
virtual |
Clip polygon using the Sutherland-Hodgman algorithm.
[in] | n | Number of points in the polygon to be clipped |
[in] | x,y | Polygon x[n], y[n] do be clipped vertices |
[in] | xclipl,yclipb,xclipr,yclipt | Clipping boundary |
[out] | nn | Number of points in xc and yc |
[out] | xc,yc | Clipped polygon vertices. The Int_t returned by this function is the number of points in the clipped polygon. These vectors must be allocated by the calling function. A size of 2*n for each is enough. |
Sutherland and Hodgman's polygon-clipping algorithm uses a divide-and-conquer strategy: It solves a series of simple and identical problems that, when combined, solve the overall problem. The simple problem is to clip a polygon against a single infinite clip edge. Four clip edges, each defining one boundary of the clip rectangle, successively clip a polygon against a clip rectangle.
Steps of Sutherland-Hodgman's polygon-clipping algorithm:
The clip boundary determines a visible and invisible region. The edges from vertex i to vertex i+1 can be one of four types:
|
overridevirtual |
Delete all primitives in pad and pad itself.
Pad cannot be used anymore after this call. Emits signal "Closed()".
Implements TVirtualPad.
|
inlinevirtual |
|
overridevirtual |
|
overridevirtual |
Copy the pixmap of the pad to the canvas.
Implements TVirtualPad.
|
overridevirtual |
Copy the sub-pixmaps of the pad to the canvas.
Implements TVirtualPad.
Create a tool tip and return its pointer.
Implements TVirtualPad.
|
inlinestatic |
|
overridevirtual |
Remove TExec name from the list of Execs.
Implements TVirtualPad.
|
overridevirtual |
|
protected |
|
overridevirtual |
Automatic pad generation by division.
Pads are automatically named canvasname_n
where n
is the division number starting from top left pad.
Example if canvasname=c1 , nx=2, ny=3:
Once a pad is divided into sub-pads, one can set the current pad to a subpad with a given division number as illustrated above with TPad::cd(subpad_number).
For example, to set the current pad to c1_4, one can do:
Note1: c1.cd() is equivalent to c1.cd(0) and sets the current pad to c1 itself.
Note2: after a statement like c1.cd(6), the global variable gPad points to the current pad. One can use gPad to set attributes of the current pad.
Note3: in case xmargin <=0 and ymargin <= 0, there is no space between pads. The current pad margins are recomputed to optimize the layout.
Implements TVirtualPad.
|
overridevirtual |
Draw Pad in Current pad (re-parent pad if necessary).
Implements TVirtualPad.
Draw class inheritance tree of the class to which obj belongs.
If a class B inherits from a class A, description of B is drawn on the right side of description of A.
Member functions overridden by B are shown in class A with a blue line crossing-out the corresponding member function.
Implements TVirtualPad.
void TPad::DrawCollideGrid | ( | ) |
|
static |
|
virtual |
Function called to draw a crosshair in the canvas.
Example:
When moving the mouse in the canvas, a crosshair is drawn
|
private |
|
overridevirtual |
Draw an empty pad frame with X and Y axis.
[in] | xmin | X axis lower limit |
[in] | xmax | X axis upper limit |
[in] | ymin | Y axis lower limit |
[in] | ymax | Y axis upper limit |
[in] | title | Pad title.If title is of the form "stringt;stringx;stringy" the pad title is set to stringt, the x axis title to stringx, the y axis title to stringy. |
Implements TVirtualPad.
Execute action corresponding to one event.
This member function is called when a TPad object is clicked.
If the mouse is clicked in one of the 4 corners of the pad (pA,pB,pC,pD) the pad is resized with the rubber rectangle.
If the mouse is clicked inside the pad, the pad is moved.
If the mouse is clicked on the 4 edges (pL,pR,pTop,pBot), the pad is scaled parallel to this edge.
Note that this function duplicates on purpose the functionality already implemented in TBox::ExecuteEvent. If somebody modifies this function, may be similar changes should also be applied to TBox::ExecuteEvent.
Reimplemented from TObject.
Execute action corresponding to one event for a TAxis object (called by TAxis::ExecuteEvent.) This member function is called when an axis is clicked with the locator.
The axis range is set between the position where the mouse is pressed and the position where it is released.
If the mouse position is outside the current axis range when it is released the axis is unzoomed with the corresponding proportions.
Note that the mouse does not need to be in the pad or even canvas when it is released.
Implements TVirtualPad.
|
private |
|
overridevirtual |
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
Return the bounding Box of the Pad.
Implements TAttBBox2D.
|
overridevirtual |
Return the center of the Pad as TPoint in pixels.
Implements TAttBBox2D.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
|
overridevirtual |
Get canvas implementation pointer if any.
Implements TVirtualPad.
Int_t TPad::GetCrosshair | ( | ) | const |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
|
inlineoverridevirtual |
Get height of pad along Y in Normalized Coordinates (NDC)
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
static |
Static function (see also TPad::SetMaxPickDistance)
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Returns name of object.
This default method returns the class name. Classes that give objects a name should override this method.
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
Get a pointer to subpadnumber of this pad.
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
Return lower and upper bounds of the pad in NDC coordinates.
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
|
overridevirtual |
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
Return pad world coordinates range.
Implements TVirtualPad.
|
overridevirtual |
Return pad axis coordinates range.
Implements TVirtualPad.
|
overridevirtual |
|
overridevirtual |
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Returns title of object.
This default method returns the class title (i.e. description). Classes that give objects a title should override this method.
Implements TVirtualPad.
|
inlineoverridevirtual |
Returns the maximum x-coordinate value visible on the pad. If log axis the returned value is in decades.
Implements TVirtualPad.
|
inlineoverridevirtual |
Returns the minimum x-coordinate value visible on the pad. If log axis the returned value is in decades.
Implements TVirtualPad.
|
inlineoverridevirtual |
Returns the maximum y-coordinate value visible on the pad. If log axis the returned value is in decades.
Implements TVirtualPad.
|
inlineoverridevirtual |
Returns the minimum y-coordinate value visible on the pad. If log axis the returned value is in decades.
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
Create/obtain handle to 3D viewer.
Valid types are:
Implements TVirtualPad.
|
overridevirtual |
|
overridevirtual |
|
inlineoverridevirtual |
Get width of pad along X in Normalized Coordinates (NDC)
Implements TVirtualPad.
|
overridevirtual |
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
Return kTRUE if the crosshair has been activated (via SetCrosshair).
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Return hash value for this object.
Note: If this routine is overloaded in a derived class, this derived class should also add
Otherwise, when RecursiveRemove is called (by ~TObject or example) for this type of object, the transversal of THashList and THashTable containers will will have to be done without call Hash (and hence be linear rather than logarithmic complexity). You will also see warnings like
Reimplemented from TObject.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
protectedvirtual |
Increment (i==1) or set (i>1) the number of autocolor in the pad.
Implements TVirtualPad.
|
inlineoverridevirtual |
|
overridevirtual |
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
Get the next autocolor in the pad.
Implements TVirtualPad.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
overrideprotectedvirtual |
Paint a frame border with Postscript.
Implements TVirtualPad.
|
overridevirtual |
Paint box in CurrentPad World coordinates.
Implements TVirtualPad.
|
protected |
|
overridevirtual |
Paint fill area in CurrentPad World coordinates.
Implements TVirtualPad.
|
overridevirtual |
Implements TVirtualPad.
This function paints hatched fill area according to the FillStyle value The convention for the Hatch is the following:
`FillStyle = 3ijk`
|
overridevirtual |
Paint fill area in CurrentPad NDC coordinates.
Implements TVirtualPad.
Paint line in CurrentPad World coordinates.
Implements TVirtualPad.
Paint line in normalized coordinates.
Implements TVirtualPad.
|
overridevirtual |
Traverse pad hierarchy and (re)paint only modified pads.
Implements TVirtualPad.
|
overridevirtual |
Paint polyline in CurrentPad World coordinates.
If option[0] == 'C' no clipping
Implements TVirtualPad.
|
overridevirtual |
Paint polyline in CurrentPad World coordinates.
Implements TVirtualPad.
Paint 3-D polyline in the CurrentPad.
Implements TVirtualPad.
|
overridevirtual |
Paint polyline in CurrentPad NDC coordinates.
Implements TVirtualPad.
|
overridevirtual |
Paint polymarker in CurrentPad World coordinates.
Implements TVirtualPad.
|
overridevirtual |
Paint polymarker in CurrentPad World coordinates.
Implements TVirtualPad.
Paint text in CurrentPad World coordinates.
Implements TVirtualPad.
Paint text in CurrentPad World coordinates.
Implements TVirtualPad.
Paint text in CurrentPad NDC coordinates.
Implements TVirtualPad.
Paint text in CurrentPad NDC coordinates.
Implements TVirtualPad.
Search for an object at pixel position px,py.
Check if point is in this pad.
If yes, check if it is in one of the sub-pads
If found in the pad, compute closest distance of approach to each primitive.
If one distance of approach is found to be within the limit Distancemaximum the corresponding primitive is selected and the routine returns.
Reimplemented in TCanvas.
Implements TVirtualPad.
Implements TVirtualPad.
|
overridevirtual |
Place a box in NDC space.
true
if the box could be placed, false
if not.[in] | o | pointer to the box to be placed |
[in] | w | box width to be placed |
[in] | h | box height to be placed |
[out] | xl | x position of the bottom left corner of the placed box |
[out] | yb | y position of the bottom left corner of the placed box |
[in] | option | l=left, r=right, t=top, b=bottom, w=within margins. Order determines priority for placement. Default is "lb" (prioritises horizontal over vertical) |
Implements TVirtualPad.
|
overridevirtual |
|
overridevirtual |
Save Canvas contents in a file in one of various formats.
ps
: a Postscript file is produced (default). See special cases.Portrait
: Postscript file is produced (Portrait)Landscape
: Postscript file is produced (Landscape)eps
: an Encapsulated Postscript file is producedPreview
: an Encapsulated Postscript file with preview is produced.pdf
: a PDF file is produced NOTE: TMathText will be converted to TLatex; q.e.d., symbols only available in TMathText will not render properly.Title:
: The character string after Title:
becomes a table of content entry (for PDF files).EmbedFonts
: a PDF file with embedded fonts is generated.svg
: a SVG file is producedtex
: a TeX file is producedStandalone
: a standalone TeX file is produced.gif
: a GIF file is producedgif+NN
: an animated GIF file is produced, where NN is delay in 10ms units NOTE: See other variants for looping animation in TASImage::WriteImagexpm
: a XPM file is producedpng
: a PNG file is producedjpg
: a JPEG file is produced. NOTE: JPEG's lossy compression will make all sharp edges fuzzy.tiff
: a TIFF file is producedcxx
: a C++ macro file is producedxml
: a XML filejson
: a JSON fileroot
: a ROOT binary file
filename
= 0 - filename is defined by GetName
and its extension is defined with the option
When Postscript output is selected (ps
, eps
), the canvas is saved to filename.ps
or filename.eps
. The aspect ratio of the canvas is preserved on the Postscript file. When the "ps" option is selected, the Postscript page will be landscape format if the canvas is in landscape format, otherwise portrait format is selected.
The physical size of the Postscript page is the one selected in the current style. This size can be modified via TStyle::SetPaperSize.
Examples:
where TStyle::kA4 and TStyle::kUSLetter are defined in the enum EPaperSize in TStyle.h
An alternative is to call:
The above numbers take into account some margins and are in centimeters.
The "Preview" option allows to generate a preview (in the TIFF format) within the Encapsulated Postscript file. This preview can be used by programs like MSWord to visualize the picture on screen. The "Preview" option relies on the "epstool" command.
Example:
The "EmbedFonts" option allows to embed the fonts used in a PDF file inside that file. This option relies on the "gs" command.
Example:
The "Standalone" option allows to generate a TeX file ready to be processed by tools like pdflatex
.
Example:
Example:
In the previous example replacing "ps" by "pdf" will create a multi-pages PDF file.
Note that the following sequence writes the canvas to "c1.ps" and closes the ps file.:
The TCanvas::Print("file.ps(")
mechanism is very useful, but it can be a little inconvenient to have the action of opening/closing a file being atomic with printing a page. Particularly if pages are being generated in some loop one needs to detect the special cases of first and last page and then munge the argument to Print() accordingly.
The "[" and "]" can be used instead of "(" and ")".
Example:
As before, the same macro is valid for PDF files.
It is possible to print a canvas into an animated GIF file by specifying the file name as "myfile.gif+" or "myfile.gif+NN", where NN*10ms is delay between the subimages' display. If NN is omitted the delay between subimages is zero. Each picture is added in the animation thanks to a loop similar to the following one:
The delay between each frame must be specified in each Print() statement. If the file "myfile.gif" already exists, the new frame are appended at the end of the file. To avoid this, delete it first with gSystem->Unlink(myfile.gif);
If you want the gif file to repeat or loop forever, check TASImage::WriteImage documentation
Implements TVirtualPad.
|
overridevirtual |
This method is equivalent to SaveAs("filename")
. See TPad::SaveAs for details.
Implements TVirtualPad.
Set world coordinate system for the pad.
Emits signal "RangeChanged()", in the slot get the range via GetRange().
Implements TVirtualPad.
Set axis coordinate system for the pad.
The axis coordinate system is a subset of the world coordinate system xmin,ymin is the origin of the current coordinate system, xmax is the end of the X axis, ymax is the end of the Y axis. By default a margin of 10 per cent is left on all sides of the pad Emits signal "RangeAxisChanged()", in the slot get the axis range via GetRangeAxis().
Implements TVirtualPad.
|
virtual |
Emit RecordLatex() signal.
|
virtual |
Emit RecordPave() signal.
|
overridevirtual |
Recursively remove object from a pad and its sub-pads.
Implements TVirtualPad.
|
overridevirtual |
Redraw the frame axis.
Redrawing axis may be necessary in case of superimposed histograms when one or more histograms have a fill color.
Instead of calling this function, it may be more convenient to call directly h1->Draw("sameaxis")
where h1 is the pointer to the first histogram drawn in the pad.
By default, if the pad has the options gridx or/and gridy activated, the grid is not drawn by this function.
If option="g" is specified, this will force the drawing of the grid on top of the picture
To redraw the axis tick marks do:
To redraw the axis grid do:
To redraw the axis tick marks and the axis grid do:
If option="f" is specified, this will force the drawing of the frame around the plot.
Implements TVirtualPad.
|
overridevirtual |
Release current (external) viewer.
Implements TVirtualPad.
|
overridevirtual |
Reset tool tip, i.e.
within time specified in CreateToolTip the tool tip will pop up.
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
Compute pad conversion coefficients.
\[\frac{x-xmin}{xrange} = \frac{px-pxlow}{pxrange}\]
with:
\[ xrange = xmax-xmin \]
\[ pxrange = pxmax-pxmin \]
\[ \Rightarrow px = \frac{pxrange(x-xmin)}{xrange} + pxlow = fXtoPixelk + fXtoPixel \times x \]
\[ \Rightarrow fXtoPixelk = pxlow - pxrange \frac{xmin}{xrange} \]
\[ fXtoPixel = \frac{pxrange}{xrange} \]
where:
\[ pxlow = fAbsXlowNDC \times fCw \]
\[ pxrange = fAbsWNDC \times fCw \]
\[\frac{y-ymin}{yrange} = \frac{py-pylow}{pyrange}\]
with:
\[ yrange = ymax-ymin \]
\[ pyrange = pymax-pymin \]
\[ \Rightarrow py = \frac{pyrange(y-xmin)}{yrange} + pylow = fYtoPixelk + fYtoPixel \times y \]
\[ \Rightarrow fYtoPixelk = pylow - pyrange \frac{ymin}{yrange} \]
\[ fYtoPixel = \frac{pyrange}{yrange} \]
where:
\[ pylow = fAbsYlowNDC \times fCh \]
\[ pyrange = fAbsHNDC \times fCh \]
\[ \Rightarrow x = \frac{xrange(px-pxlow)}{pxrange}+ xmin = fPixeltoXk + fPixeltoX \times px \]
\[ \Rightarrow fPixeltoXk = xmin - pxlow \times\frac{xrange}{pxrange} \]
\[ fPixeltoX = \frac{xrange}{pxrange} \]
\[ \Rightarrow y = \frac{yrange(py-pylow)}{pyrange}+ ymin = fPixeltoYk + fPixeltoY \times py \]
\[ \Rightarrow fPixeltoYk = ymin - pylow \times\frac{yrange}{pyrange} \]
\[ fPixeltoY = \frac{yrange}{pyrange} \]
\[ u = \frac{Log(x) - Log(xmin)}{Log(xmax) - Log(xmin)} = \frac{Log(x/xmin)}{Log(xmax/xmin)} = \frac{px - pxlow}{pxrange} \]
\[ \Rightarrow Log(\frac{x}{xmin}) = u \times Log(\frac{xmax}{xmin}) \]
\[ x = xmin \times e^{(u \times Log(\frac{xmax}{xmin})} \]
Let:
\[ alfa = \frac{Log(\frac{xmax}{xmin})}{fAbsWNDC} \]
\[ x = xmin \times e^{(-alfa \times pxlow)} + e^{(alfa \times px)} \]
\[ x = fPixeltoXk \times e^{(fPixeltoX \times px)} \]
\[ ==> fPixeltoXk = xmin \times e^{(-alfa*pxlow)} \]
\[ fPixeltoX = alfa \]
\[ v = \frac{Log(y) - Log(ymin)}{Log(ymax) - Log(ymin)} = \frac{Log(y/ymin)}{Log(ymax/ymin)} = \frac{py - pylow}{pyrange} \]
Let:
\[ beta = Log(\frac{ymax}{ymin}) \]
\[ Log(\frac{y}{ymin}) = beta \times pylow - beta \times py \]
\[ \frac{y}{ymin} = e^{(beta \times pylow - beta \times py)} \]
\[ y = ymin \times e^{(beta \times pylow)} \times e^{(-beta \times py)}\]
\[ \Rightarrow y = fPixeltoYk \times e^{(fPixeltoY \times py)} \]
\[ fPixeltoYk = ymin \times e^{(beta \times pylow)} \]
\[ fPixeltoY = -beta \]
\[ px = pxlow + u*pxrange \]
\[ = pxlow + Log(x/xmin)/alfa \]
\[ = pxlow -Log(xmin)/alfa + Log(x)/alfa \]
\[ = fXtoPixelk + fXtoPixel*Log(x) \]
\[ \Rightarrow fXtoPixelk = pxlow -Log(xmin)/alfa \]
\[ \Rightarrow fXtoPixel = 1/alfa \]
\[ py = pylow - Log(y/ymin)/beta \]
\[ = fYtoPixelk + fYtoPixel*Log(y) \]
\[ \Rightarrow fYtoPixelk = pylow - Log(ymin)/beta \]
\[ fYtoPixel = 1/beta \]
Implements TVirtualPad.
|
overridevirtual |
Save the pad content in a file.
The file's format used to save the pad is determined by the filename
extension:
filename
is empty, the file produced is padname.ps
filename
starts with a dot, the padname is added in frontfilename
ends with .ps
, a Postscript file is producedfilename
ends with .eps
, an Encapsulated Postscript file is producedfilename
ends with .pdf
, a PDF file is produced NOTE: TMathText will be converted to TLatex; q.e.d., symbols only available in TMathText will not render properly.filename
ends with .svg
, a SVG file is producedfilename
ends with .tex
, a TeX file is producedfilename
ends with .gif
, a GIF file is producedfilename
ends with .gif+NN
, an animated GIF file is produced See comments in TASImage::WriteImage for meaning of NN and other .gif sufix variantsfilename
ends with .xpm
, a XPM file is producedfilename
ends with .png
, a PNG file is producedfilename
ends with .bmp
, a BMP file is producedfilename
ends with .jpg
or .jpeg
a JPEG file is produced NOTE: JPEG's lossy compression will make all sharp edges fuzzy.filename
ends with .tiff
, a TIFF file is producedfilename
ends with .C
, .cxx
,.cpp
or .cc
, a C++ macro file is producedfilename
ends with .root
, a Root file is producedfilename
ends with .xml
, a XML file is producedfilename
ends with .json
, a JSON file is producedoption
is not used.option
is determined by the filename
extension.Implements TVirtualPad.
|
overrideprotectedvirtual |
Set postscript fill area attributes.
Implements TVirtualPad.
|
overridevirtual |
|
overridevirtual |
Set X coordinate of the center of the Pad.
Implements TAttBBox2D.
|
overridevirtual |
Set Y coordinate of the center of the Pad.
Implements TAttBBox2D.
|
overridevirtual |
Set lefthandside of BoundingBox to a value (resize in x direction on left)
Implements TAttBBox2D.
|
overridevirtual |
Set right hand side of BoundingBox to a value (resize in x direction on right)
Implements TAttBBox2D.
|
overridevirtual |
Set top of BoundingBox to a value (resize in y direction on top)
Implements TAttBBox2D.
|
overridevirtual |
Set bottom of BoundingBox to a value (resize in y direction on bottom)
Implements TAttBBox2D.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
Set crosshair active/inactive.
Implements TVirtualPad.
|
overridevirtual |
|
overridevirtual |
|
inlineoverridevirtual |
Set drawing option for object.
This option only affects the drawing style and is stored in the option field of the TObjOptLink supporting a TPad's primitive list (TList). Note that it does not make sense to call object.SetDrawOption(option) before having called object.Draw().
Reimplemented from TObject.
Set pad editable yes/no If a pad is not editable:
Implements TVirtualPad.
|
overridevirtual |
Fix pad aspect ratio to current value if fixed is true.
Implements TVirtualPad.
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
Set Lin/Log scale for X.
Implements TVirtualPad.
|
overridevirtual |
Set Lin/Log scale for Y.
Implements TVirtualPad.
|
overridevirtual |
|
static |
static function to set the maximum Pick Distance fgMaxPickDistance This parameter is used in TPad::Pick to select an object if its DistancetoPrimitive returns a value < fgMaxPickDistance The default value is 5 pixels.
Setting a smaller value will make picking more precise but also more difficult
|
inlineoverridevirtual |
Implements TVirtualPad.
Set canvas range for pad and resize the pad.
If the aspect ratio was fixed before the call it will be un-fixed.
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
|
inlineoverridevirtual |
Implements TVirtualPad.
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
inlineoverridevirtual |
Implements TVirtualPad.
|
overridevirtual |
Set tool tip text associated with this pad.
The delay is in milliseconds (minimum 250). To remove tool tip call method with text = 0.
Implements TVirtualPad.
Set pad vertical (default) or horizontal.
Implements TVirtualPad.
|
overridevirtual |
Set the current TView. Delete previous view if view=0.
Implements TVirtualPad.
|
inlineoverridevirtual |
Reimplemented from TVirtualPad.
|
overridevirtual |
Shows lines to indicate if a TAttBBox2D object is aligned to the center or to another object, shows distance arrows if two objects on screen have the same distance to another object Call from primitive in Execute Event, in ButtonMotion after the new coordinates have been set, to 'stick' once when button is up to delete lines.
modes: t (Top), b (bottom), l (left), r (right), i (inside) in resize modes (t,b,l,r) only size arrows are sticky
in mode, the function gets the point on the element that is clicked to move (i) or resize (all others). The expected values are:
Implements TVirtualPad.
|
overridevirtual |
|
inline |
|
overridevirtual |
|
overridevirtual |
Implements TVirtualPad.
Implements TVirtualPad.
Implements TVirtualPad.
Implements TVirtualPad.
|
overridevirtual |
Loop and sleep until a primitive with name=pname is found in the pad.
If emode is given, the editor is automatically set to emode, ie it is not required to have the editor control bar.
The possible values for emode are:
If emode is specified and it is not valid, "PolyLine" is assumed. If emode is not specified or ="", an attempt is to use pname[1...]
for example if pname="TArc", emode="Arc" will be assumed. When this function is called within a macro, the macro execution is suspended until a primitive corresponding to the arguments is found in the pad.
If CRTL/C is typed in the pad, the function returns 0.
While this function is executing, one can use the mouse, interact with the graphics pads, use the Inspector, Browser, TreeViewer, etc.
Examples:
The following macro waits for 10 primitives of any type to be created.
If ROOT runs in batch mode a call to this method does nothing.
Implements TVirtualPad.
|
virtual |
Deprecated: use TPad::GetViewer3D() instead.
Reimplemented in TButton, TDialogCanvas, and TInspectCanvas.
Implements TVirtualPad.
Implements TVirtualPad.
Implements TVirtualPad.
Implements TVirtualPad.
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |