JKQTMathText: added JKATMathTextNode::getSize()-Variant with struct return value

This commit is contained in:
jkriege2 2022-08-07 17:48:05 +02:00
parent 715aa4e7d9
commit f7ad259aeb
2 changed files with 15 additions and 0 deletions

View File

@ -361,3 +361,10 @@ void JKQTMathTextMultiChildNode::setDrawBoxes(bool draw)
}
}
JKQTMathTextNodeSize JKQTMathTextNode::getSize(QPainter &painter, JKQTMathTextEnvironment currentEv, const JKQTMathTextNodeSize *prevNodeSize)
{
JKQTMathTextNodeSize s;
getSize(painter, currentEv, s.width, s.baselineHeight, s.overallHeight, s.strikeoutPos, prevNodeSize);
return s;
}

View File

@ -52,6 +52,14 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathTextNode {
*
*/
void getSize(QPainter& painter, JKQTMathTextEnvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos, const JKQTMathTextNodeSize* prevNodeSize=nullptr);
/** \brief determine the size of the node, calls getSizeInternal() implementation of the actual type \see getSizeInternal()
*
* \param painter painter to use for determining the size
* \param currentEv current environment object
* \param[in] prevNodeSize optional parameter, describing the size of the previous node (on the left). This may be used for layout of some nodes (e.g. sub/super to move correctly next to large parantheses ...)
*
*/
JKQTMathTextNodeSize getSize(QPainter& painter, JKQTMathTextEnvironment currentEv, const JKQTMathTextNodeSize* prevNodeSize=nullptr);
/** \brief calculates the x-size-difference between the given (probably) italic (width externally calculated: \a width_potentiallyitalic, \a ev_potentiallyitalic) and the non-italic version of \a child */
double getNonItalicXCorretion(QPainter &painter, double width_potentiallyitalic, const JKQTMathTextEnvironment &ev_potentiallyitalic, JKQTMathTextNode* child) const;
/** \brief draw the contents at the designated position