Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TMathText.h
Go to the documentation of this file.
1 // @(#)root/graf:$Id: TMathText.h 20882 2007-11-19 11:31:26Z rdm $
2 // Author: Yue Shi Lai 12/12/09
3 
4 /*************************************************************************
5  * Copyright (C) 2009, Yue Shi Lai. *
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 #ifndef ROOT_TMathText
12 #define ROOT_TMathText
13 
14 #include "TText.h"
15 #include "TAttFill.h"
16 
17 class TMathTextRenderer;
18 
19 class TMathText : public TText, public TAttFill {
20 protected:
21  void *fRenderer; //!TMathText Painter
22  TMathText &operator=(const TMathText &);
23 
24  void Render(const Double_t x, const Double_t y,
25  const Double_t size, const Double_t angle,
26  const Char_t *t, const Int_t length);
27  void GetSize(Double_t &x0, Double_t &y0,
28  Double_t &x1, Double_t &y1,
29  const Double_t size, const Double_t angle,
30  const Char_t *t, const Int_t length);
31  void GetAlignPoint(Double_t &x0, Double_t &y0,
32  const Double_t size, const Double_t angle,
33  const Char_t *t, const Int_t length,
34  const Short_t align);
35 public:
36  enum {
37  kTextNDC = BIT(14)
38  };
39  TMathText(void);
40  TMathText(
41  Double_t x, Double_t y, const char *text);
42  TMathText(const TMathText &text);
43  virtual ~TMathText(void);
44  void Copy(TObject &text) const;
45  TMathText *DrawMathText(
46  Double_t x, Double_t y, const char *text);
47  void GetBoundingBox(
48  UInt_t &w, UInt_t &h, Bool_t angle = kFALSE);
49  Double_t GetXsize(void);
50  Double_t GetYsize(void);
51  virtual void Paint(Option_t *option = "");
52  virtual void PaintMathText(
53  Double_t x, Double_t y, Double_t angle, Double_t size,
54  const char *text);
55  virtual void SavePrimitive(
56  std::ostream &out, Option_t *option = "");
57  friend class TMathTextRenderer;
58 
59  ClassDef(TMathText,2) //TeX mathematical formula
60 };
61 
62 #endif