Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TMathText.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/graf:$Id: TMathText.h 20882 2007-11-19 11:31:26Z rdm $
0002 // Author: Yue Shi Lai   12/12/09
0003 
0004 /*************************************************************************
0005  * Copyright (C) 2009, Yue Shi Lai.                                      *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 #ifndef ROOT_TMathText
0012 #define ROOT_TMathText
0013 
0014 #include "TText.h"
0015 #include "TAttFill.h"
0016 
0017 class TMathTextRenderer;
0018 
0019 class TMathText : public TText, public TAttFill {
0020 protected:
0021 
0022    friend class TMathTextRenderer;
0023 
0024    TMathTextRenderer *fRenderer{nullptr}; //!TMathText Painter
0025    TMathText &operator=(const TMathText &);
0026 
0027    void Render(const Double_t x, const Double_t y,
0028                const Double_t size, const Double_t angle,
0029                const Char_t *t, const Int_t length);
0030    void GetSize(Double_t &x0, Double_t &y0,
0031                 Double_t &x1, Double_t &y1,
0032                 const Double_t size, const Double_t angle,
0033                 const Char_t *t, const Int_t length);
0034    void GetAlignPoint(Double_t &x0, Double_t &y0,
0035                       const Double_t size, const Double_t angle,
0036                       const Char_t *t, const Int_t length,
0037                       const Short_t align);
0038 public:
0039    enum {
0040       kTextNDC = BIT(14)
0041    };
0042    TMathText();
0043    TMathText(Double_t x, Double_t y, const char *text);
0044    TMathText(const TMathText &text);
0045    ~TMathText() override;
0046    void Copy(TObject &text) const override;
0047    TMathText *DrawMathText(Double_t x, Double_t y, const char *text);
0048    void GetBoundingBox(UInt_t &w, UInt_t &h, Bool_t angle = kFALSE) override;
0049    Double_t GetXsize();
0050    Double_t GetYsize();
0051    void Paint(Option_t *option = "") override;
0052    virtual void PaintMathText(Double_t x, Double_t y, Double_t angle, Double_t size, const char *text);
0053    void SavePrimitive(std::ostream &out, Option_t *option = "") override;
0054 
0055    ClassDefOverride(TMathText,2) //TeX mathematical formula
0056 };
0057 
0058 #endif