TText*¶
继承 TNamed, TAttText, TAttBBox2D
Base class for several text objects.
See TAttText for a list of text attributes or fonts, and also for a discussion on text speed and font quality.
By default, the text is drawn in the pad coordinates system. One can draw in NDC coordinates [0,1] if the function SetNDC is called for a TText object.
class¶
TText();
TText(Double_t x, Double_t y, const char *text);
TText(Double_t x, Double_t y, const wchar_t *text);
TText(const TText &text);
virtual ~TText();
void Copy(TObject &text) const;
/// Copy this text to text.
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
/// Compute distance from point px,py to a string.
/// The rectangle surrounding this string is evaluated.
/// If the point (px,py) is in the rectangle, the distance is set to zero.
virtual TText *DrawText(Double_t x, Double_t y, const char *text);
/// Draw this text with new coordinates.
virtual TText *DrawText(Double_t x, Double_t y, const wchar_t *text);
/// Draw this text with new coordinates.
virtual TText *DrawTextNDC(Double_t x, Double_t y, const char *text);
/// Draw this text with new coordinates in NDC.
virtual TText *DrawTextNDC(Double_t x, Double_t y, const wchar_t *text);
/// Draw this text with new coordinates in NDC.
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
/// Execute action corresponding to one event.
/// This member function must be implemented to realize the action
/// corresponding to the mouse click on the object in the window
virtual void GetControlBox(Int_t x, Int_t y, Double_t theta,
Int_t cBoxX[4], Int_t cBoxY[4]);
/// Return the text control box. The text position coordinates is (x,y) and
/// the text angle is theta. The control box coordinates are returned in cBoxX
/// and cBoxY.
Double_t GetX() const { return fX; }
virtual void GetBoundingBox(UInt_t &w, UInt_t &h, Bool_t angle = kFALSE);
/// Return text size in pixels. By default the size returned does not take
/// into account the text angle (angle = kFALSE). If angle is set to kTRUE
/// w and h take the angle into account.
virtual void GetTextAscentDescent(UInt_t &a, UInt_t &d, const char *text) const;
/// Return text ascent and descent for string text
/// - in a return total text ascent
/// - in d return text descent
virtual void GetTextAscentDescent(UInt_t &a, UInt_t &d, const wchar_t *text) const;
/// Return text ascent and descent for string text
/// - in a return total text ascent
/// - in d return text descent
virtual void GetTextExtent(UInt_t &w, UInt_t &h, const char *text) const;
/// Return text extent for string text
/// - in w return total text width
/// - in h return text height
virtual void GetTextExtent(UInt_t &w, UInt_t &h, const wchar_t *text) const;
/// Return text extent for string text
/// - in w return total text width
/// - in h return text height
virtual void GetTextAdvance(UInt_t &a, const char *text, const Bool_t kern=kTRUE) const;
/// Return text advance for string text
/// if kern is true (default) kerning is taken into account. If it is false
/// the kerning is not taken into account.
const void * GetWcsTitle(void) const;
/// Returns the text as UNICODE.
Double_t GetY() const { return fY; }
virtual void ls(Option_t *option="") const;
/// List this text with its attributes.
virtual void Paint(Option_t *option="");
/// Paint this text with its current attributes.
virtual void PaintControlBox(Int_t x, Int_t y, Double_t theta);
/// Paint the text control box. (x,y) are the coordinates where the control
/// box should be painted and theta is the angle of the box.
virtual void PaintText(Double_t x, Double_t y, const char *text);
/// Draw this text with new coordinates.
virtual void PaintText(Double_t x, Double_t y, const wchar_t *text);
/// Draw this text with new coordinates.
virtual void PaintTextNDC(Double_t u, Double_t v, const char *text);
/// Draw this text with new coordinates in NDC.
virtual void PaintTextNDC(Double_t u, Double_t v, const wchar_t *text);
/// Draw this text with new coordinates in NDC.
virtual void Print(Option_t *option="") const;
/// Dump this text with its attributes.
virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
/// Save primitive as a C++ statement(s) on output stream out
virtual void SetMbTitle(const wchar_t *title=L""); // *MENU*
/// Change (i.e. set) the title of the TNamed.
virtual void SetNDC(Bool_t isNDC=kTRUE);
/// Set NDC mode on if isNDC = kTRUE, off otherwise
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}
virtual void SetText(Double_t x, Double_t y, const wchar_t *text) {fX=x; fY=y; SetMbTitle(text);}
virtual void SetX(Double_t x) { fX = x; } // *MENU*
virtual void SetY(Double_t y) { fY = y; } // *MENU*
virtual Rectangle_t GetBBox();
/// Return the "bounding Box" of the Box
virtual TPoint GetBBoxCenter();
/// Return the point given by Alignment as 'center'
virtual void SetBBoxCenter(const TPoint &p);
/// Set the point given by Alignment as 'center'
virtual void SetBBoxCenterX(const Int_t x);
/// Set X coordinate of the point given by Alignment as 'center'
virtual void SetBBoxCenterY(const Int_t y);
/// Set Y coordinate of the point given by Alignment as 'center'
virtual void SetBBoxX1(const Int_t x); //Not Implemented
virtual void SetBBoxX2(const Int_t x); //Not Implemented
virtual void SetBBoxY1(const Int_t y); //Not Implemented
virtual void SetBBoxY2(const Int_t y); //Not Implemented
code¶
// By default, the text is drawn in the pad coordinates system. One can draw in NDC coordinates [0,1] if the function SetNDC is called for a TText object.
TText *t = new TText(.5,.5,"Hello World !");
t->SetTextAlign(22);
t->SetTextColor(kRed+2);
t->SetTextFont(43);
t->SetTextSize(40);
t->SetTextAngle(45);
t->Draw();