00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ROOT_TText
00013 #define ROOT_TText
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef ROOT_TAttText
00026 #include "TAttText.h"
00027 #endif
00028
00029 #ifndef ROOT_TNamed
00030 #include "TNamed.h"
00031 #endif
00032
00033
00034 class TText : public TNamed, public TAttText {
00035
00036 protected:
00037 Double_t fX;
00038 Double_t fY;
00039
00040 public:
00041
00042 enum { kTextNDC = BIT(14) };
00043
00044 TText();
00045 TText(Double_t x, Double_t y, const char *text);
00046 TText(const TText &text);
00047 virtual ~TText();
00048 void Copy(TObject &text) const;
00049 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
00050 virtual TText *DrawText(Double_t x, Double_t y, const char *text);
00051 virtual TText *DrawTextNDC(Double_t x, Double_t y, const char *text);
00052 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
00053
00054 virtual void GetControlBox(Int_t x, Int_t y, Double_t theta,
00055 Int_t cBoxX[4], Int_t cBoxY[4]);
00056 Double_t GetX() const { return fX; }
00057 virtual void GetBoundingBox(UInt_t &w, UInt_t &h, Bool_t angle = kFALSE);
00058 virtual void GetTextAscentDescent(UInt_t &a, UInt_t &d, const char *text) const;
00059 virtual void GetTextExtent(UInt_t &w, UInt_t &h, const char *text) const;
00060 virtual void GetTextAdvance(UInt_t &a, const char *text, const Bool_t kern=kTRUE) const;
00061 Double_t GetY() const { return fY; }
00062
00063 virtual void ls(Option_t *option="") const;
00064 virtual void Paint(Option_t *option="");
00065 virtual void PaintControlBox(Int_t x, Int_t y, Double_t theta);
00066 virtual void PaintText(Double_t x, Double_t y, const char *text);
00067 virtual void PaintTextNDC(Double_t u, Double_t v, const char *text);
00068 virtual void Print(Option_t *option="") const;
00069 virtual void SavePrimitive(ostream &out, Option_t *option = "");
00070 virtual void SetNDC(Bool_t isNDC=kTRUE);
00071 virtual void SetText(Double_t x, Double_t y, const char *text) {fX=x; fY=y; SetTitle(text);}
00072 virtual void SetX(Double_t x) { fX = x; }
00073 virtual void SetY(Double_t y) { fY = y; }
00074
00075 ClassDef(TText,2)
00076 };
00077
00078 #endif