LibreOffice Module starmath (master) 1
|
Super- and subscript node. More...
#include <node.hxx>
Public Member Functions | |
SmSubSupNode (const SmToken &rNodeToken) | |
const SmNode * | GetBody () const |
Returns the node with the data of what has to be superindex or subindex. More... | |
SmNode * | GetBody () |
bool | IsUseLimits () const |
Checks if it is going to be used for a limit. More... | |
void | SetUseLimits (bool bVal) |
Sets if it is going to be used for a limit to bVal. More... | |
const SmNode * | GetSubSup (SmSubSup eSubSup) const |
Gets the node with the data of what has to be superindex or subindex. More... | |
SmNode * | GetSubSup (SmSubSup eSubSup) |
void | SetBody (SmNode *pBody) |
Sets the node with the data of what has to be superindex or subindex. More... | |
void | SetSubSup (SmSubSup eSubSup, SmNode *pScript) |
Sets the node with the data of what has to be superindex or subindex. 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 SmNode * | GetSubNode (size_t nIndex) override |
Gets the subnode of index nIndex. More... | |
SmNode * | GetSubNodeBinMo (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 SmNode * | GetSubNode (size_t nIndex)=0 |
Gets the subnode of index nIndex. More... | |
const SmNode * | GetSubNode (size_t nIndex) const |
Gets the subnode of index nIndex. More... | |
Public Member Functions inherited from SmNode | |
SmNode (const SmNode &)=delete | |
SmNode & | operator= (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 SmNode * | GetSubNode (size_t nIndex)=0 |
Gets the subnode of index nIndex. More... | |
const SmNode * | GetSubNode (size_t nIndex) const |
virtual const SmNode * | GetLeftMost () const |
(this assumes the one with index 0 is always the leftmost subnode for the current node). More... | |
FontChangeMask & | Flags () |
Gets the FontChangeMask flags. More... | |
FontAttribute & | Attributes () |
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 SmFace & | GetFont () const |
Gets the font. More... | |
SmFace & | GetFont () |
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 SmRect & | GetRect () 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 SmNode * | FindNodeWithAccessibleIndex (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 SmToken & | GetToken () const |
Gets the token. More... | |
SmToken & | GetToken () |
const ESelection & | GetSelection () const |
Gets node position in input text. More... | |
void | SetSelection (ESelection aESelection) |
Gets node position in input text. More... | |
const SmNode * | FindTokenAt (sal_uInt16 nRow, sal_uInt16 nCol) const |
Finds the node from the position in the text. More... | |
const SmNode * | FindRectClosestTo (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 SmStructureNode * | GetParent () const |
Gets the parent node of this node. More... | |
SmStructureNode * | GetParent () |
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 Point & | GetTopLeft () 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 Size & | GetSize () 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 |
SmRect & | ExtendBy (const SmRect &rRect, RectCopyMBL eCopyMode) |
void | ExtendBy (const SmRect &rRect, RectCopyMBL eCopyMode, tools::Long nNewAlignM) |
SmRect & | ExtendBy (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 | |
bool | mbUseLimits |
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) | |
Super- and subscript node.
Used for creating super- and subscripts for commands such as: "^", "_", "lsup", "lsub", "csup" and "csub". Example: "A^2" which looks like:
This node is also used for creating limits on SmOperNode, when "FROM" and "TO" commands are used with "INT", "SUM" or similar.
Children of this node can be enumerated using the SmSubSup enum. Please note that children may be NULL, except for the body. It is recommended that you access children using GetBody() and GetSubSup().
|
inlineexplicit |
|
overridevirtual |
Accept a visitor.
Calls the method for this class on the visitor.
pVisitor |
Implements SmNode.
Definition at line 2403 of file node.cxx.
References SmVisitor::Visit().
|
overridevirtual |
Prepares the SmRect to render.
rDev | |
rFormat |
be sure that CSUB, CSUP are handled before the other cases!
Implements SmNode.
Definition at line 1152 of file node.cxx.
References Point::AdjustY(), SmRect::AlignTo(), SmNode::Arrange(), Baseline, Bottom, Center, CSUB, CSUP, DIS_LOWERLIMIT, DIS_SUBSCRIPT, DIS_SUPERSCRIPT, DIS_UPPERLIMIT, SmRect::ExtendBy(), SmRect::GetAlignB(), SmRect::GetAlignT(), SmFormat::GetBaseSize(), GetBody(), SmFormat::GetDistance(), SmNode::GetFont(), vcl::Font::GetFontSize(), GetFontSize(), SmRect::GetHeight(), SmStructureNode::GetNumSubNodes(), SmNode::GetRect(), SmFormat::GetRelSize(), GetSubSup(), SmNode::GetToken(), Height, Size::Height(), i, SmFormat::IsTextmode(), Left, Limit, LSUB, LSUP, SmNode::MoveTo(), nIndex, Right, RSUB, RSUP, SmNode::SetSize(), SIZ_INDEX, SIZ_LIMITS, SmFromTo(), SUBSUP_NUM_ENTRIES, This, Top, and Point::Y().
|
inline |
Definition at line 1572 of file node.hxx.
References SmStructureNode::GetSubNode().
|
inline |
Returns the node with the data of what has to be superindex or subindex.
Definition at line 1571 of file node.hxx.
References GetBody().
Referenced by Arrange(), GetBody(), SmOoxmlExport::HandleOperator(), SmRtfExport::HandleOperator(), SmOoxmlExport::HandleSubSupScriptInternal(), SmRtfExport::HandleSubSupScriptInternal(), SmCaretPosGraphBuildingVisitor::Visit(), and SmNodeToTextVisitor::Visit().
Definition at line 1597 of file node.hxx.
References SmStructureNode::GetSubNode().
Gets the node with the data of what has to be superindex or subindex.
The position to check is given by eSubSup.
eSubSup |
Definition at line 1595 of file node.hxx.
References GetSubSup().
Referenced by Arrange(), GetSubSup(), SmOoxmlExport::HandleOperator(), SmRtfExport::HandleOperator(), SmWordExportBase::HandleSubSupScript(), SmOoxmlExport::HandleSubSupScriptInternal(), SmRtfExport::HandleSubSupScriptInternal(), SmCursor::InsertSubSup(), SmNodeToTextVisitor::Visit(), and SmCaretPosGraphBuildingVisitor::Visit().
|
inline |
Checks if it is going to be used for a limit.
Example lim from { x toward 0 } { {sin x}over x } = 1
Definition at line 1579 of file node.hxx.
References mbUseLimits.
Referenced by SmNodeToTextVisitor::Visit(), and SmCloningVisitor::Visit().
|
inline |
Sets the node with the data of what has to be superindex or subindex.
pScript |
Definition at line 1603 of file node.hxx.
References SmStructureNode::SetSubNode().
Referenced by SmCursor::InsertSubSup().
Sets the node with the data of what has to be superindex or subindex.
The position to check is given by eSubSup.
eSubSup | |
pScript |
Definition at line 1611 of file node.hxx.
References SmStructureNode::SetSubNode().
Referenced by SmCursor::InsertSubSup().
|
inline |
Sets if it is going to be used for a limit to bVal.
bVal |
Definition at line 1586 of file node.hxx.
References mbUseLimits.
Referenced by SmCloningVisitor::Visit().
|
private |
Definition at line 1560 of file node.hxx.
Referenced by IsUseLimits(), and SetUseLimits().