JKQTPlotter trunk/v5.0.0
an extensive Qt5+Qt6 Plotter framework (including a feature-richt plotter widget, a speed-optimized, but limited variant and a LaTeX equation renderer!), written fully in C/C++ and without external dependencies
Loading...
Searching...
No Matches
Collaboration diagram for Render-Tree Items for JKQTMathText:

Classes

struct  JKQTMathTextBoxInstructionNode::InstructionProperties
 defines the implementation of an instruction represented by JKQTMathTextModifiedTextPropsInstructionNode More...
 
struct  JKQTMathTextModifiedEnvironmentInstructionNode::InstructionProperties
 defines the implementation of an instruction represented by JKQTMathTextModifiedTextPropsInstructionNode More...
 
struct  JKQTMathTextModifiedTextPropsInstructionNode::InstructionProperties
 defines the implementation of an instruction represented by JKQTMathTextModifiedTextPropsInstructionNode More...
 
struct  JKQTMathTextSimpleInstructionNode::InstructionProperties
 defines the implementation of an instruction represented by JKQTMathTextModifiedTextPropsInstructionNode More...
 
class  JKQTMathTextBlockNode
 subclass representing a {...} block More...
 
class  JKQTMathTextBoxInstructionNode
 subclass representing an instruction node which draws a (possibly colored) box around it's contents i.e. it represents instructions like \fbox{...}, \colorbox{color}{...}, ... More...
 
class  JKQTMathTextBraceNode
 subclass representing a brace node More...
 
class  JKQTMathTextDecoratedNode
 subclass representing a decorated text m (e.g. \vec \hat ...) node More...
 
class  JKQTMathTextDualChildNode
 subclass representing a node in the syntax tree, that has two children More...
 
class  JKQTMathTextEmptyBoxNode
 subclass representing an empty bbox with defined width/height in the syntax tree More...
 
class  JKQTMathTextFracNode
 subclass representing a \frac node More...
 
class  JKQTMathTextHorizontalListNode
 subclass representing a list of nodes in the syntax tree, layed out horizontally More...
 
class  JKQTMathTextInstruction1Node
 subclass representing an instruction node with exactly one argument and possibly additional parameters in the syntax tree This is a base-class without concrete implementations ... Implementations can be found in derived classes! More...
 
class  JKQTMathTextMatrixNode
 subclass representing a \begin{matrix} , \begin{tabular} , \begin{array} , ... node More...
 
class  JKQTMathTextModifiedEnvironmentInstructionNode
 subclass representing an instruction node which modify the current JKQTMathTextEnvironment, in the current block. This implements functions like \bf or \color{COL} More...
 
class  JKQTMathTextModifiedTextPropsInstructionNode
 subclass representing an instruction node which modifies the current font (as defined in JKQTMathTextEnvironment), for it's child node, i.e. it represents instructions like \textbf{...}, \ul{underlinedText}, ... More...
 
class  JKQTMathTextModifyEnvironmentNodeMixIn
 mixin extending a node that does not produce any output, but provides a function modifyEnvironment() that modifies the current JKQTMathTextEnvironment. Deriving classes are used to represent instructions like \bf or \color{...} that alter the text formatting for all further nodes in the current block. More...
 
class  JKQTMathTextMultiChildNode
 subclass representing a node in the syntax tree, that has two children More...
 
class  JKQTMathTextNode
 subclass representing one node in the syntax tree More...
 
class  JKQTMathTextNonDrawingBaseNode
 base class for all derived classes that do not draw anything More...
 
class  JKQTMathTextNoopNode
 subclass representing a node that outputs nothing More...
 
class  JKQTMathTextPhantomNode
 generates whitespace with the size of the contained node More...
 
class  JKQTMathTextSimpleInstructionNode
 subclass representing a simple instruction node which only accepts string arguments, not LaTeX arguments i.e. it represents instructions like \unicode{...}, ... More...
 
class  JKQTMathTextSingleChildNode
 subclass representing a node in the syntax tree, that has one child More...
 
class  JKQTMathTextSqrtNode
 subclass representing a sqrt node More...
 
class  JKQTMathTextSubscriptNode
 subclass representing an subscript node with exactly one argument in the syntax tree More...
 
class  JKQTMathTextSuperscriptNode
 subclass representing an superscript node with exactly one argument in the syntax tree More...
 
class  JKQTMathTextSymbolNode
 subclass representing one symbol (e.g. \alpha , \cdot ...) node in the syntax tree More...
 
class  JKQTMathTextTextBaseNode
 base class for nodes representing text in the syntax tree More...
 
class  JKQTMathTextTextNode
 subclass representing one text node in the syntax tree More...
 
class  JKQTMathTextVerbatimNode
 subclass representing a verbatim (plain-text) node with support for line-breaks in the syntax tree More...
 
class  JKQTMathTextVerticalListNode
 subclass representing a list of nodes in the syntax tree, layed out vertically More...
 
class  JKQTMathTextWhitespaceNode
 subclass representing one whitepsace node in the syntax tree More...
 
struct  JKQTMathTextMatrixNode::LayoutInfo
 describes the layout of the whole node More...
 
struct  JKQTMathTextVerticalListNode::LayoutInfo
 describes the layout of the whole node More...
 
struct  JKQTMathTextVerbatimNode::LayoutInfo
 describes the layout of the whole node More...
 
struct  JKQTMathTextTextNode::LayoutInfo
 describes the layout of the whole node More...
 
struct  JKQTMathTextBraceNode::NodeSize
 defines the size of the node (JKQTMathTextNodeSize) and additional information
More...
 
struct  JKQTMathTextSymbolNode::NodeSize
 return type for getSymbolSize(), extends JKQTMathTextNodeSize with information about x-correction for sub- and superscript More...
 
struct  JKQTMathTextSymbolNode::SymbolFullProps
 properties of the symbol, extends SymbolProps with font... More...
 
struct  JKQTMathTextSymbolNode::SymbolProps
 properties of the symbol More...
 
struct  JKQTMathTextWhitespaceNode::WhitespaceProps
 describes a whitespace More...
 

Functions

JKQTMATHTEXT_LIB_EXPORT QString JKQTMathTextNodeTree2String (JKQTMathTextNode *root)
 converts a node-tree with the given root into a string, representing the node-tree
 
JKQTMATHTEXT_LIB_EXPORT JKQTMathTextNodesimplifyAndTrimJKQTMathTextNode (JKQTMathTextNode *node)
 calls simplifyJKQTMathTextNode(). In addition it tries to clear whitespace at the start and end of the tree
 
JKQTMATHTEXT_LIB_EXPORT JKQTMathTextNodesimplifyJKQTMathTextNode (JKQTMathTextNode *node)
 simplifies the node node and the tree below it. You can put the return value in place of node after the call
 

Detailed Description

This group contains all classes that are used to build a memory-representation of the math to be rendered. They form a tree in memory.

Function Documentation

◆ JKQTMathTextNodeTree2String()

JKQTMATHTEXT_LIB_EXPORT QString JKQTMathTextNodeTree2String ( JKQTMathTextNode root)

converts a node-tree with the given root into a string, representing the node-tree

See also
This method uses JKQTMathText::getTypeName()

Here is an example output for

$x_{1/2}=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$

The output looks like this:

JKQTMathTextModifiedTextPropsInstructionNode(equation)
+--MTHorizontalListNode
|  +--JKQTMathTextTextNode(x)
|  +--MTsubscriptNode
|  |  +--MTHorizontalListNode
|  |  |  +--JKQTMathTextTextNode(1)
|  |  |  +--JKQTMathTextTextNode(/)
|  |  |  +--JKQTMathTextTextNode(2)
|  +--JKQTMathTextSymbolNode(=)
|  +--MTfracNode
|  |  +--MTHorizontalListNode
|  |  |  +--JKQTMathTextSymbolNode(-)
|  |  |  +--JKQTMathTextTextNode(b)
|  |  |  +--JKQTMathTextSymbolNode(pm)
|  |  |  +--MTsqrtNode
|  |  |  |  +--MTHorizontalListNode
|  |  |  |  |  +--JKQTMathTextTextNode(b)
|  |  |  |  |  +--MTsuperscriptNode
|  |  |  |  |  |  +--JKQTMathTextTextNode(2)
|  |  |  |  |  +--JKQTMathTextSymbolNode(-)
|  |  |  |  |  +--JKQTMathTextTextNode(4ac)
|  |  +--JKQTMathTextTextNode(2a)

◆ simplifyAndTrimJKQTMathTextNode()

JKQTMATHTEXT_LIB_EXPORT JKQTMathTextNode * simplifyAndTrimJKQTMathTextNode ( JKQTMathTextNode node)

calls simplifyJKQTMathTextNode(). In addition it tries to clear whitespace at the start and end of the tree

See also
simplifyJKQTMathTextNode()

◆ simplifyJKQTMathTextNode()

JKQTMATHTEXT_LIB_EXPORT JKQTMathTextNode * simplifyJKQTMathTextNode ( JKQTMathTextNode node)

simplifies the node node and the tree below it. You can put the return value in place of node after the call

Basically this takes does the following steps (recursively):