ROOT  6.06/09
Reference Guide
TBox.h
Go to the documentation of this file.
1 // @(#)root/graf:$Id$
2 // Author: Rene Brun 12/12/94
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_TBox
13 #define ROOT_TBox
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TBox //
19 // //
20 // Box class. //
21 // //
22 //////////////////////////////////////////////////////////////////////////
23 
24 #ifndef ROOT_TObject
25 #include "TObject.h"
26 #endif
27 #ifndef ROOT_TAttLine
28 #include "TAttLine.h"
29 #endif
30 #ifndef ROOT_TAttFill
31 #include "TAttFill.h"
32 #endif
33 #ifndef ROOT_TAttBBox2D
34 #include "TAttBBox2D.h"
35 #endif
36 #ifndef ROOT_TPoint
37 #include "TPoint.h"
38 #endif
39 #ifndef ROOT_GuiTypes
40 #include "GuiTypes.h"
41 #endif
42 
43 
44 class TBox : public TObject, public TAttLine, public TAttFill, public TAttBBox2D {
45 
46 private:
47  TObject *fTip; //!tool tip associated with box
48 
49 protected:
50  Double_t fX1; //X of 1st point
51  Double_t fY1; //Y of 1st point
52  Double_t fX2; //X of 2nd point
53  Double_t fY2; //Y of 2nd point
54  Bool_t fResizing; //!True if box is being resized
55 
56 public:
57  // Private bits, clients can only test but not change them
58  enum {
59  kCannotMove = BIT(12) //if set the box cannot be moved/resized
60  };
61  TBox();
63  TBox(const TBox &box);
64  TBox& operator=(const TBox&);
65  virtual ~TBox();
66  void Copy(TObject &box) const;
67  virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
68  virtual void Draw(Option_t *option="");
69  virtual TBox *DrawBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2);
70  virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
71  Bool_t IsBeingResized() const { return fResizing; }
72  Double_t GetX1() const { return fX1; }
73  Double_t GetX2() const { return fX2; }
74  Double_t GetY1() const { return fY1; }
75  Double_t GetY2() const { return fY2; }
76  virtual void HideToolTip(Int_t event);
77  virtual Int_t IsInside(Double_t x, Double_t y) const;
78  virtual void ls(Option_t *option="") const;
79  virtual void Paint(Option_t *option="");
80  virtual void PaintBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t *option="");
81  virtual void Print(Option_t *option="") const;
82  virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
83  virtual void SetX1(Double_t x1) {fX1=x1;}
84  virtual void SetX2(Double_t x2) {fX2=x2;}
85  virtual void SetY1(Double_t y1) {fY1=y1;}
86  virtual void SetY2(Double_t y2) {fY2=y2;}
87  virtual void SetToolTipText(const char *text, Long_t delayms = 1000);
88  virtual Rectangle_t GetBBox();
89  virtual TPoint GetBBoxCenter();
90  virtual void SetBBoxCenter(const TPoint &p);
91  virtual void SetBBoxCenterX(const Int_t x);
92  virtual void SetBBoxCenterY(const Int_t y);
93  virtual void SetBBoxX1(const Int_t x);
94  virtual void SetBBoxX2(const Int_t x);
95  virtual void SetBBoxY1(const Int_t y);
96  virtual void SetBBoxY2(const Int_t y);
97 
98  ClassDef(TBox,3) //Box class
99 };
100 
101 #endif
102 
void Copy(TObject &box) const
Copy a Box.
Definition: TBox.cxx:111
virtual Rectangle_t GetBBox()
Return the "bounding Box" of the Box.
Definition: TBox.cxx:727
TBox & operator=(const TBox &)
Assignment operator.
Definition: TBox.cxx:92
virtual void SetBBoxCenter(const TPoint &p)
Set center of the Box.
Definition: TBox.cxx:762
virtual TBox * DrawBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Draw this box with new coordinates.
Definition: TBox.cxx:189
ClassDef(TAttBBox2D, 0)
virtual void ls(Option_t *option="") const
List this box with its attributes.
Definition: TBox.cxx:610
const char Option_t
Definition: RtypesCore.h:62
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute action corresponding to one event.
Definition: TBox.cxx:216
virtual void SetBBoxY1(const Int_t y)
Set top of BoundingBox to a value (resize in y direction on top)
Definition: TBox.cxx:837
Create a Box.
Definition: TBox.h:44
virtual void SetToolTipText(const char *text, Long_t delayms=1000)
Set tool tip text associated with this box.
Definition: TBox.cxx:679
Double_t GetX2() const
Definition: TBox.h:73
#define BIT(n)
Definition: Rtypes.h:120
Double_t fY2
Definition: TBox.h:53
virtual TPoint GetBBoxCenter()
Return the center of the Box as TPoint in pixels.
Definition: TBox.cxx:751
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
virtual void SetX1(Double_t x1)
Definition: TBox.h:83
virtual void SetX2(Double_t x2)
Definition: TBox.h:84
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Definition: fillpatterns.C:1
Double_t fY1
Definition: TBox.h:51
virtual void SetBBoxY2(const Int_t y)
Set bottom of BoundingBox to a value (resize in y direction on bottom)
Definition: TBox.cxx:846
static const double x2[5]
Fill Area Attributes class.
Definition: TAttFill.h:32
Double_t x[n]
Definition: legend1.C:17
Bool_t fResizing
Definition: TBox.h:54
virtual void HideToolTip(Int_t event)
Hide tool tip depending on the event type.
Definition: TBox.cxx:591
char * out
Definition: TBase64.cxx:29
virtual void SetBBoxX2(const Int_t x)
Set right hand side of BoundingBox to a value (resize in x direction on right)
Definition: TBox.cxx:829
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save primitive as a C++ statement(s) on output stream out.
Definition: TBox.cxx:659
Definition: TPoint.h:33
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Compute distance from point px,py to a box.
Definition: TBox.cxx:134
virtual ~TBox()
Box destructor.
Definition: TBox.cxx:68
Double_t fX2
Definition: TBox.h:52
Double_t fX1
tool tip associated with box
Definition: TBox.h:50
virtual void SetBBoxCenterX(const Int_t x)
Set X coordinate of the center of the Box.
Definition: TBox.cxx:787
virtual Int_t IsInside(Double_t x, Double_t y) const
Function which returns 1 if point x,y lies inside the box, 0 otherwise.
Definition: TBox.cxx:600
virtual void Print(Option_t *option="") const
Dump this box with its attributes.
Definition: TBox.cxx:645
virtual void PaintBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t *option="")
Draw this box with new coordinates.
Definition: TBox.cxx:627
Bool_t IsBeingResized() const
Definition: TBox.h:71
virtual void SetY2(Double_t y2)
Definition: TBox.h:86
virtual void SetBBoxCenterY(const Int_t y)
Set Y coordinate of the center of the Box.
Definition: TBox.cxx:803
long Long_t
Definition: RtypesCore.h:50
static const double x1[5]
double Double_t
Definition: RtypesCore.h:55
virtual void Paint(Option_t *option="")
Paint this box with its current attributes.
Definition: TBox.cxx:619
TText * text
Double_t y[n]
Definition: legend1.C:17
virtual void SetBBoxX1(const Int_t x)
Set left hand side of BoundingBox to a value (resize in x direction on left)
Definition: TBox.cxx:820
virtual void Draw(Option_t *option="")
Draw this box with its current attributes.
Definition: TBox.cxx:180
Mother of all ROOT objects.
Definition: TObject.h:58
TObject * fTip
Definition: TBox.h:47
Abstract base class for elements drawn in the editor.
Definition: TAttBBox2D.h:23
Double_t GetY1() const
Definition: TBox.h:74
Double_t GetX1() const
Definition: TBox.h:72
Double_t GetY2() const
Definition: TBox.h:75
virtual void SetY1(Double_t y1)
Definition: TBox.h:85
Line Attributes class.
Definition: TAttLine.h:32