LibreOffice Module starmath (master) 1
Public Member Functions | Private Attributes | List of all members
SmFontNode Class Referencefinal

Font node. More...

#include <node.hxx>

Inheritance diagram for SmFontNode:
[legend]
Collaboration diagram for SmFontNode:
[legend]

Public Member Functions

 SmFontNode (const SmToken &rNodeToken)
 
void SetSizeParameter (const Fraction &rValue, FontSizeType nType)
 Sets font size to rValue in nType mode. More...
 
const FractionGetSizeParameter () const
 Returns the font size. More...
 
FontSizeType GetSizeType () const
 Returns the font size type. More...
 
virtual void Prepare (const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) override
 Prepare preliminary settings about font and text (e.g. More...
 
virtual void Arrange (OutputDevice &rDev, const SmFormat &rFormat) override
 Prepares the SmRect to render. More...
 
void Accept (SmVisitor *pVisitor) override
 Accept a visitor. More...
 
- Public Member Functions inherited from SmStructureNode
virtual ~SmStructureNode () override
 
virtual bool IsVisible () const override
 Checks node visibility. More...
 
virtual size_t GetNumSubNodes () const override
 Gets the number of subnodes. More...
 
virtual SmNodeGetSubNode (size_t nIndex) override
 Gets the subnode of index nIndex. More...
 
SmNodeGetSubNodeBinMo (size_t nIndex) const
 Gets the subnode of index nIndex, used for operators. More...
 
void ClearSubNodes ()
 Does the cleaning of the subnodes. More...
 
void SetSubNodes (std::unique_ptr< SmNode > pFirst, std::unique_ptr< SmNode > pSecond, std::unique_ptr< SmNode > pThird=nullptr)
 Sets subnodes, used for operators. More...
 
void SetSubNodes (SmNode *pFirst, SmNode *pSecond, SmNode *pThird)
 Sets subnodes. More...
 
void SetSubNodesBinMo (std::unique_ptr< SmNode > pFirst, std::unique_ptr< SmNode > pSecond, std::unique_ptr< SmNode > pThird=nullptr)
 Sets subnodes, used for operators. More...
 
void SetSubNodes (SmNodeArray &&rNodeArray)
 Sets subnodes. More...
 
virtual void GetAccessibleText (OUStringBuffer &rText) const override
 Appends to rText the node text. More...
 
SmNodeArray::iterator begin ()
 Gets the first subnode. More...
 
SmNodeArray::iterator end ()
 Gets the last subnode. More...
 
SmNodeArray::reverse_iterator rbegin ()
 Gets the last subnode. More...
 
SmNodeArray::reverse_iterator rend ()
 Gets the first subnode. More...
 
int IndexOfSubNode (SmNode const *pSubNode)
 Get the index of the child node pSubNode. More...
 
void SetSubNode (size_t nIndex, SmNode *pNode)
 Sets the subnode pNode at nIndex. More...
 
virtual SmNodeGetSubNode (size_t nIndex)=0
 Gets the subnode of index nIndex. More...
 
const SmNodeGetSubNode (size_t nIndex) const
 Gets the subnode of index nIndex. More...
 
- Public Member Functions inherited from SmNode
 SmNode (const SmNode &)=delete
 
SmNodeoperator= (const SmNode &)=delete
 
virtual ~SmNode ()
 
virtual bool IsVisible () const =0
 Checks node visibility. More...
 
virtual size_t GetNumSubNodes () const =0
 Gets the number of subnodes. More...
 
virtual SmNodeGetSubNode (size_t nIndex)=0
 Gets the subnode of index nIndex. More...
 
const SmNodeGetSubNode (size_t nIndex) const
 
virtual const SmNodeGetLeftMost () const
 (this assumes the one with index 0 is always the leftmost subnode for the current node). More...
 
FontChangeMaskFlags ()
 Gets the FontChangeMask flags. More...
 
FontAttributeAttributes ()
 Gets the font attributes. More...
 
bool IsPhantom () const
 Checks if it is a visible node rendered invisible. More...
 
void SetPhantom (bool bIsPhantom)
 Sets the render visibility of a visible node to bIsPhantom. More...
 
void SetColor (const Color &rColor)
 Sets the font color. More...
 
void SetAttribute (FontAttribute nAttrib)
 Sets the font attribute nAttrib. More...
 
void ClearAttribute (FontAttribute nAttrib)
 Clears the font attribute nAttrib. More...
 
const SmFaceGetFont () const
 Gets the font. More...
 
SmFaceGetFont ()
 
void SetFont (const SmFace &rFace)
 Sets the font to rFace. More...
 
void SetFontSize (const Fraction &rRelSize, FontSizeType nType)
 Sets the font size to rRelSize with type nType. More...
 
void SetSize (const Fraction &rScale)
 Sets the font size to rRelSize with type FontSizeType::ABSOLUT. More...
 
virtual void Prepare (const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth)
 Prepare preliminary settings about font and text (e.g. More...
 
void PrepareAttributes ()
 Prepare preliminary font attributes Called on Prepare(...). More...
 
void SetRectHorAlign (RectHorAlign eHorAlign, bool bApplyToSubTree=true)
 Sets the alignment of the text. More...
 
RectHorAlign GetRectHorAlign () const
 Gets the alignment of the text. More...
 
const SmRectGetRect () const
 Parses itself to SmRect. More...
 
void Move (const Point &rVector)
 Moves the rectangle by rVector. More...
 
void MoveTo (const Point &rPoint)
 Moves the rectangle to rPoint, being the top left corner the origin. More...
 
virtual void Arrange (OutputDevice &rDev, const SmFormat &rFormat)=0
 Prepares the SmRect to render. More...
 
virtual void GetAccessibleText (OUStringBuffer &rText) const =0
 Appends to rText the node text. More...
 
sal_Int32 GetAccessibleIndex () const
 Gets the node accessible index. More...
 
void SetAccessibleIndex (sal_Int32 nAccIndex)
 Sets the node accessible index to nAccIndex. More...
 
const SmNodeFindNodeWithAccessibleIndex (sal_Int32 nAccIndex) const
 Finds the node with accessible index nAccIndex. More...
 
sal_uInt16 GetRow () const
 Gets the line in the text where the node is located. More...
 
sal_uInt16 GetColumn () const
 Gets the column of the line in the text where the node is located. More...
 
SmScaleMode GetScaleMode () const
 Gets the scale mode. More...
 
void SetScaleMode (SmScaleMode eMode)
 Sets the scale mode to eMode. More...
 
virtual void AdaptToX (OutputDevice &rDev, sal_uLong nWidth)
 
virtual void AdaptToY (OutputDevice &rDev, sal_uLong nHeight)
 
SmNodeType GetType () const
 Gets the node type. More...
 
const SmTokenGetToken () const
 Gets the token. More...
 
SmTokenGetToken ()
 
const ESelectionGetSelection () const
 Gets node position in input text. More...
 
void SetSelection (ESelection aESelection)
 Gets node position in input text. More...
 
const SmNodeFindTokenAt (sal_uInt16 nRow, sal_uInt16 nCol) const
 Finds the node from the position in the text. More...
 
const SmNodeFindRectClosestTo (const Point &rPoint) const
 Finds the closest rectangle in the screen. More...
 
virtual void Accept (SmVisitor *pVisitor)=0
 Accept a visitor. More...
 
bool IsSelected () const
 Checks if the node is selected. More...
 
void SetSelected (bool Selected)
 Sets the node to Selected. More...
 
const SmStructureNodeGetParent () const
 Gets the parent node of this node. More...
 
SmStructureNodeGetParent ()
 
void SetParent (SmStructureNode *parent)
 Sets the parent node. More...
 
void SetToken (SmToken const &token)
 Sets the token for this node. More...
 
- Public Member Functions inherited from SmRect
 SmRect ()
 
 SmRect (const OutputDevice &rDev, const SmFormat *pFormat, const OUString &rText, sal_uInt16 nBorderWidth)
 
 SmRect (tools::Long nWidth, tools::Long nHeight)
 
sal_uInt16 GetBorderWidth () const
 
void SetItalicSpaces (tools::Long nLeftSpace, tools::Long nRightSpace)
 
void SetWidth (sal_uLong nWidth)
 
void SetLeft (tools::Long nLeft)
 
void SetRight (tools::Long nRight)
 
void SetBottom (tools::Long nBottom)
 
void SetTop (tools::Long nTop)
 
const PointGetTopLeft () const
 
tools::Long GetTop () const
 
tools::Long GetLeft () const
 
tools::Long GetBottom () const
 
tools::Long GetRight () const
 
tools::Long GetCenterY () const
 
tools::Long GetWidth () const
 
tools::Long GetHeight () const
 
tools::Long GetItalicLeftSpace () const
 
tools::Long GetItalicRightSpace () const
 
tools::Long GetHiAttrFence () const
 
tools::Long GetLoAttrFence () const
 
tools::Long GetItalicLeft () const
 
tools::Long GetItalicCenterX () const
 
tools::Long GetItalicRight () const
 
tools::Long GetItalicWidth () const
 
bool HasBaseline () const
 
tools::Long GetBaseline () const
 
tools::Long GetBaselineOffset () const
 
tools::Long GetAlignT () const
 
tools::Long GetAlignM () const
 
tools::Long GetAlignB () const
 
const SizeGetSize () const
 
Size GetItalicSize () const
 
void Move (const Point &rPosition)
 
void MoveTo (const Point &rPosition)
 
bool IsEmpty () const
 
bool HasAlignInfo () const
 
Point AlignTo (const SmRect &rRect, RectPos ePos, RectHorAlign eHor, RectVerAlign eVer) const
 
SmRectExtendBy (const SmRect &rRect, RectCopyMBL eCopyMode)
 
void ExtendBy (const SmRect &rRect, RectCopyMBL eCopyMode, tools::Long nNewAlignM)
 
SmRectExtendBy (const SmRect &rRect, RectCopyMBL eCopyMode, bool bKeepVerAlignParams)
 
tools::Long OrientedDist (const Point &rPoint) const
 
bool IsInsideRect (const Point &rPoint) const
 
bool IsInsideItalicRect (const Point &rPoint) const
 
tools::Rectangle AsRectangle () const
 
SmRect AsGlyphRect () const
 

Private Attributes

FontSizeType meSizeType
 
Fraction maFontSize
 

Additional Inherited Members

- Protected Member Functions inherited from SmStructureNode
 SmStructureNode (SmNodeType eNodeType, const SmToken &rNodeToken, size_t nSize=0)
 
- Protected Member Functions inherited from SmNode
 SmNode (SmNodeType eNodeType, SmToken aNodeToken)
 

Detailed Description

Font node.

Used to change the font of its children.

Definition at line 1931 of file node.hxx.

Constructor & Destructor Documentation

◆ SmFontNode()

SmFontNode::SmFontNode ( const SmToken rNodeToken)
inlineexplicit

Definition at line 1937 of file node.hxx.

References Font.

Member Function Documentation

◆ Accept()

void SmFontNode::Accept ( SmVisitor pVisitor)
overridevirtual

Accept a visitor.

Calls the method for this class on the visitor.

Parameters
pVisitor
Returns

Implements SmNode.

Definition at line 2383 of file node.cxx.

References SmVisitor::Visit().

◆ Arrange()

void SmFontNode::Arrange ( OutputDevice rDev,
const SmFormat rFormat 
)
overridevirtual

◆ GetSizeParameter()

const Fraction & SmFontNode::GetSizeParameter ( ) const
inline

Returns the font size.

Returns
font size.

Definition at line 1956 of file node.hxx.

References maFontSize.

Referenced by SmXMLExport::ExportFont(), SmCloningVisitor::Visit(), and SmNodeToTextVisitor::Visit().

◆ GetSizeType()

FontSizeType SmFontNode::GetSizeType ( ) const
inline

Returns the font size type.

Check FontSizeType for details.

Returns
font size type.

Definition at line 1963 of file node.hxx.

References meSizeType.

Referenced by SmXMLExport::ExportFont(), SmCloningVisitor::Visit(), and SmNodeToTextVisitor::Visit().

◆ Prepare()

void SmFontNode::Prepare ( const SmFormat rFormat,
const SmDocShell rDocShell,
int  nDepth 
)
overridevirtual

Prepare preliminary settings about font and text (e.g.

maFace, meRectHorAlign, mnFlags, mnAttributes, etc.)

Parameters
rFormat
rDocShell
nDepth
Returns

prepare subnodes first

prevent overwrites of this font by 'Arrange' or 'SetFont' calls of other font nodes (those with lower depth in the tree)

Reimplemented from SmNode.

Definition at line 1631 of file node.cxx.

References eType, Face, SmNode::Flags(), FNT_FIXED, FNT_SANS, FNT_SERIF, SmNode::GetFont(), SmFormat::GetFont(), SmNode::GetToken(), SmNode::Prepare(), SmNode::SetFont(), TFIXED, TSANS, and TSERIF.

◆ SetSizeParameter()

void SmFontNode::SetSizeParameter ( const Fraction rValue,
FontSizeType  nType 
)
inline

Sets font size to rValue in nType mode.

Check FontSizeType for details.

Parameters
rValue
nType
Returns

Definition at line 1949 of file node.hxx.

References maFontSize, meSizeType, and nType.

Referenced by SmCloningVisitor::Visit().

Member Data Documentation

◆ maFontSize

Fraction SmFontNode::maFontSize
private

Definition at line 1934 of file node.hxx.

Referenced by Arrange(), GetSizeParameter(), and SetSizeParameter().

◆ meSizeType

FontSizeType SmFontNode::meSizeType
private

Definition at line 1933 of file node.hxx.

Referenced by Arrange(), GetSizeType(), and SetSizeParameter().


The documentation for this class was generated from the following files: