Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TMathTextRenderer Class Reference

Definition at line 54 of file TMathText.cxx.

Public Member Functions

 TMathTextRenderer (TMathText *parent)
 
mathtext::bounding_box_t bounding_box (const std::wstring string, const unsigned int family=FAMILY_PLAIN)
 
mathtext::bounding_box_t bounding_box (const wchar_t character, float &current_x, const unsigned int family)
 
void filled_rectangle (const mathtext::bounding_box_t &bounding_box_0)
 
float font_size (const unsigned int family=FAMILY_PLAIN) const
 
void point (const float, const float)
 
void rectangle (const mathtext::bounding_box_t &)
 
void reset_font_size (const unsigned int)
 
void set_font_size (const float size)
 
void set_font_size (const float size, const unsigned int family)
 
void set_parameter (const float x, const float y, const float size, const float angle_degree)
 
void text_raw (const float x, const float y, const std::wstring string, const unsigned int family=FAMILY_PLAIN)
 
void text_with_bounding_box (const float, const float, const std::wstring, const unsigned int)
 
void transform_pad (double &xt, double &yt, const float x, const float y) const
 
- Public Member Functions inherited from TText
 TText ()
 
 TText (const TText &text)
 Copy constructor.
 
 TText (Double_t x, Double_t y, const char *text)
 Text normal constructor.
 
 TText (Double_t x, Double_t y, const wchar_t *text)
 Text normal constructor.
 
virtual ~TText ()
 Text default destructor.
 
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.
 
virtual TTextDrawText (Double_t x, Double_t y, const char *text)
 Draw this text with new coordinates.
 
virtual TTextDrawText (Double_t x, Double_t y, const wchar_t *text)
 Draw this text with new coordinates.
 
virtual TTextDrawTextNDC (Double_t x, Double_t y, const char *text)
 Draw this text with new coordinates in NDC.
 
virtual TTextDrawTextNDC (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.
 
virtual Rectangle_t GetBBox ()
 Return the "bounding Box" of the Box.
 
virtual TPoint GetBBoxCenter ()
 Return the point given by Alignment as 'center'.
 
virtual void GetBoundingBox (UInt_t &w, UInt_t &h, Bool_t angle=kFALSE)
 Return text size in pixels.
 
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.
 
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.
 
virtual void GetTextAscentDescent (UInt_t &a, UInt_t &d, const char *text) const
 Return text ascent and descent for string text.
 
virtual void GetTextAscentDescent (UInt_t &a, UInt_t &d, const wchar_t *text) const
 Return text ascent and descent for string text.
 
virtual void GetTextExtent (UInt_t &w, UInt_t &h, const char *text) const
 Return text extent for string text.
 
virtual void GetTextExtent (UInt_t &w, UInt_t &h, const wchar_t *text) const
 Return text extent for string text.
 
const voidGetWcsTitle (void) const
 Returns the text as UNICODE.
 
Double_t GetX () const
 
Double_t GetY () const
 
virtual void ls (Option_t *option="") const
 List this text with its attributes.
 
TTextoperator= (const TText &src)
 Assignment operator.
 
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.
 
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 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)
 Set left hand side of BoundingBox to a value (resize in x direction on left)
 
virtual void SetBBoxX2 (const Int_t x)
 Set right hand side of BoundingBox to a value (resize in x direction on right)
 
virtual void SetBBoxY1 (const Int_t y)
 Set top of BoundingBox to a value (resize in y direction on top)
 
virtual void SetBBoxY2 (const Int_t y)
 Set bottom of BoundingBox to a value (resize in y direction on bottom)
 
virtual void SetMbTitle (const wchar_t *title=L"")
 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)
 
virtual void SetText (Double_t x, Double_t y, const wchar_t *text)
 
virtual void SetX (Double_t x)
 
virtual void SetY (Double_t y)
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor.
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor.
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings ("").
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility.
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects.
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
 
virtual const char * GetName () const
 Returns name of object.
 
virtual const char * GetTitle () const
 Returns title of object.
 
virtual ULong_t Hash () const
 Return hash value for this object.
 
virtual Bool_t IsSortable () const
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator.
 
virtual void SetName (const char *name)
 Set the name of the TNamed.
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title).
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject.
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification.
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 
- Public Member Functions inherited from TAttText
 TAttText ()
 AttText default constructor.
 
 TAttText (Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize)
 AttText normal constructor.
 
virtual ~TAttText ()
 AttText destructor.
 
void Copy (TAttText &atttext) const
 Copy this text attributes to a new TAttText.
 
virtual Short_t GetTextAlign () const
 Return the text alignment.
 
virtual Float_t GetTextAngle () const
 Return the text angle.
 
virtual Color_t GetTextColor () const
 Return the text color.
 
virtual Font_t GetTextFont () const
 Return the text font.
 
virtual Float_t GetTextSize () const
 Return the text size.
 
virtual Float_t GetTextSizePercent (Float_t size)
 Return the text in percent of the pad size.
 
virtual void Modify ()
 Change current text attributes if necessary.
 
virtual void ResetAttText (Option_t *toption="")
 Reset this text attributes to default values.
 
virtual void SaveTextAttributes (std::ostream &out, const char *name, Int_t alidef=12, Float_t angdef=0, Int_t coldef=1, Int_t fondef=61, Float_t sizdef=1)
 Save text attributes as C++ statement(s) on output stream out.
 
virtual void SetTextAlign (Short_t align=11)
 Set the text alignment.
 
virtual void SetTextAngle (Float_t tangle=0)
 Set the text angle.
 
virtual void SetTextAttributes ()
 Invoke the DialogCanvas Text attributes.
 
virtual void SetTextColor (Color_t tcolor=1)
 Set the text color.
 
virtual void SetTextColorAlpha (Color_t tcolor, Float_t talpha)
 Set a transparent marker color.
 
virtual void SetTextFont (Font_t tfont=62)
 Set the text font.
 
virtual void SetTextSize (Float_t tsize=1)
 Set the text size.
 
virtual void SetTextSizePixels (Int_t npixels)
 Set the text size in pixel.
 
- Public Member Functions inherited from TAttBBox2D
virtual ~TAttBBox2D ()
 
- Public Member Functions inherited from TAttFill
 TAttFill ()
 AttFill default constructor.
 
 TAttFill (Color_t fcolor, Style_t fstyle)
 AttFill normal constructor.
 
virtual ~TAttFill ()
 AttFill destructor.
 
void Copy (TAttFill &attfill) const
 Copy this fill attributes to a new TAttFill.
 
virtual Color_t GetFillColor () const
 Return the fill area color.
 
virtual Style_t GetFillStyle () const
 Return the fill area style.
 
virtual Bool_t IsTransparent () const
 
virtual void Modify ()
 Change current fill area attributes if necessary.
 
virtual void ResetAttFill (Option_t *option="")
 Reset this fill attributes to default values.
 
virtual void SaveFillAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001)
 Save fill attributes as C++ statement(s) on output stream out.
 
virtual void SetFillAttributes ()
 Invoke the DialogCanvas Fill attributes.
 
virtual void SetFillColor (Color_t fcolor)
 Set the fill area color.
 
virtual void SetFillColorAlpha (Color_t fcolor, Float_t falpha)
 Set a transparent fill color.
 
virtual void SetFillStyle (Style_t fstyle)
 Set the fill area style.
 

Protected Member Functions

mathtext::affine_transform_t transform_logical_to_pixel (void) const
 
mathtext::affine_transform_t transform_pixel_to_logical (void) const
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 

Private Member Functions

bool is_cyrillic_or_cjk (const wchar_t c) const
 
size_t root_cjk_face_number (const bool serif=false) const
 
size_t root_face_number (const unsigned int family, const bool serif=false) const
 

Private Attributes

float _angle_degree
 
float _current_font_size [mathtext::math_text_renderer_t::NFAMILY]
 
float _font_size
 
float _pad_pixel_transform [6]
 
float _pad_scale
 
float _pad_scale_x
 
float _pad_scale_x_relative
 
float _pad_scale_y
 
float _pad_scale_y_relative
 
TMathText_parent
 
float _x0
 
float _y0
 

Additional Inherited Members

- Public Types inherited from TText
enum  { kTextNDC = BIT(14) }
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) ,
  kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13)
}
 
- Static Public Member Functions inherited from TObject
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = BIT(3) }
 
- Protected Attributes inherited from TText
voidfWcsTitle {nullptr}
 !Used by TMathText
 
Double_t fX {0}
 X position of text (left,center,etc..)
 
Double_t fY {0}
 Y position of text (left,center,etc..)
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Protected Attributes inherited from TAttText
Short_t fTextAlign
 Text alignment.
 
Float_t fTextAngle
 Text angle.
 
Color_t fTextColor
 Text color.
 
Font_t fTextFont
 Text font.
 
Float_t fTextSize
 Text size.
 
- Protected Attributes inherited from TAttFill
Color_t fFillColor
 Fill area color.
 
Style_t fFillStyle
 Fill area style.
 
Inheritance diagram for TMathTextRenderer:
[legend]

Constructor & Destructor Documentation

◆ TMathTextRenderer()

TMathTextRenderer::TMathTextRenderer ( TMathText parent)
inline

Definition at line 114 of file TMathText.cxx.

Member Function Documentation

◆ bounding_box() [1/2]

mathtext::bounding_box_t TMathTextRenderer::bounding_box ( const std::wstring  string,
const unsigned int  family = FAMILY_PLAIN 
)
inline

Definition at line 270 of file TMathText.cxx.

◆ bounding_box() [2/2]

mathtext::bounding_box_t TMathTextRenderer::bounding_box ( const wchar_t  character,
float &  current_x,
const unsigned int  family 
)
inline

Definition at line 226 of file TMathText.cxx.

◆ filled_rectangle()

void TMathTextRenderer::filled_rectangle ( const mathtext::bounding_box_t &  bounding_box_0)
inline

Definition at line 198 of file TMathText.cxx.

◆ font_size()

float TMathTextRenderer::font_size ( const unsigned int  family = FAMILY_PLAIN) const
inline

Definition at line 132 of file TMathText.cxx.

◆ is_cyrillic_or_cjk()

bool TMathTextRenderer::is_cyrillic_or_cjk ( const wchar_t  c) const
inlineprivate

Definition at line 92 of file TMathText.cxx.

◆ point()

void TMathTextRenderer::point ( const float  ,
const float   
)
inline

Definition at line 137 of file TMathText.cxx.

◆ rectangle()

void TMathTextRenderer::rectangle ( const mathtext::bounding_box_t &  )
inline

Definition at line 222 of file TMathText.cxx.

◆ reset_font_size()

void TMathTextRenderer::reset_font_size ( const unsigned int  )
inline

Definition at line 153 of file TMathText.cxx.

◆ root_cjk_face_number()

size_t TMathTextRenderer::root_cjk_face_number ( const bool  serif = false) const
inlineprivate

Definition at line 97 of file TMathText.cxx.

◆ root_face_number()

size_t TMathTextRenderer::root_face_number ( const unsigned int  family,
const bool  serif = false 
) const
inlineprivate

Definition at line 69 of file TMathText.cxx.

◆ set_font_size() [1/2]

void TMathTextRenderer::set_font_size ( const float  size)
inline

Definition at line 146 of file TMathText.cxx.

◆ set_font_size() [2/2]

void TMathTextRenderer::set_font_size ( const float  size,
const unsigned int  family 
)
inline

Definition at line 141 of file TMathText.cxx.

◆ set_parameter()

void TMathTextRenderer::set_parameter ( const float  x,
const float  y,
const float  size,
const float  angle_degree 
)
inline

Definition at line 157 of file TMathText.cxx.

◆ text_raw()

void TMathTextRenderer::text_raw ( const float  x,
const float  y,
const std::wstring  string,
const unsigned int  family = FAMILY_PLAIN 
)
inline

Definition at line 296 of file TMathText.cxx.

◆ text_with_bounding_box()

void TMathTextRenderer::text_with_bounding_box ( const float  ,
const float  ,
const std::wstring  ,
const unsigned int   
)
inline

Definition at line 332 of file TMathText.cxx.

◆ transform_logical_to_pixel()

mathtext::affine_transform_t TMathTextRenderer::transform_logical_to_pixel ( void  ) const
inlineprotected

Definition at line 104 of file TMathText.cxx.

◆ transform_pad()

void TMathTextRenderer::transform_pad ( double xt,
double yt,
const float  x,
const float  y 
) const
inline

Definition at line 187 of file TMathText.cxx.

◆ transform_pixel_to_logical()

mathtext::affine_transform_t TMathTextRenderer::transform_pixel_to_logical ( void  ) const
inlineprotected

Definition at line 109 of file TMathText.cxx.

Member Data Documentation

◆ _angle_degree

float TMathTextRenderer::_angle_degree
private

Definition at line 61 of file TMathText.cxx.

◆ _current_font_size

float TMathTextRenderer::_current_font_size[mathtext::math_text_renderer_t::NFAMILY]
private

Definition at line 68 of file TMathText.cxx.

◆ _font_size

float TMathTextRenderer::_font_size
private

Definition at line 58 of file TMathText.cxx.

◆ _pad_pixel_transform

float TMathTextRenderer::_pad_pixel_transform[6]
private

Definition at line 62 of file TMathText.cxx.

◆ _pad_scale

float TMathTextRenderer::_pad_scale
private

Definition at line 63 of file TMathText.cxx.

◆ _pad_scale_x

float TMathTextRenderer::_pad_scale_x
private

Definition at line 64 of file TMathText.cxx.

◆ _pad_scale_x_relative

float TMathTextRenderer::_pad_scale_x_relative
private

Definition at line 66 of file TMathText.cxx.

◆ _pad_scale_y

float TMathTextRenderer::_pad_scale_y
private

Definition at line 65 of file TMathText.cxx.

◆ _pad_scale_y_relative

float TMathTextRenderer::_pad_scale_y_relative
private

Definition at line 67 of file TMathText.cxx.

◆ _parent

TMathText* TMathTextRenderer::_parent
private

Definition at line 57 of file TMathText.cxx.

◆ _x0

float TMathTextRenderer::_x0
private

Definition at line 59 of file TMathText.cxx.

◆ _y0

float TMathTextRenderer::_y0
private

Definition at line 60 of file TMathText.cxx.

  • graf2d/graf/src/TMathText.cxx