TText.h

Go to the documentation of this file.
00001 // @(#)root/graf:$Id: TText.h 33120 2010-04-21 14:29:04Z couet $
00002 // Author: Nicolas Brun   12/12/94
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef ROOT_TText
00013 #define ROOT_TText
00014 
00015 
00016 //////////////////////////////////////////////////////////////////////////
00017 //                                                                      //
00018 // TText                                                                //
00019 //                                                                      //
00020 // Text.                                                                //
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;           // X position of text (left,center,etc..)
00038    Double_t     fY;           // Y position of text (left,center,etc..)
00039 
00040 public:
00041    // TText status bits
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);} // *MENU* *ARGS={x=>fX,y=>fY,text=>fTitle}
00072    virtual void     SetX(Double_t x) { fX = x; } // *MENU*
00073    virtual void     SetY(Double_t y) { fY = y; } // *MENU*
00074 
00075    ClassDef(TText,2)  //Text
00076 };
00077 
00078 #endif

Generated on Tue Jul 5 14:14:11 2011 for ROOT_528-00b_version by  doxygen 1.5.1