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
|
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 JKQTMathTextNode * | simplifyAndTrimJKQTMathTextNode (JKQTMathTextNode *node) |
calls simplifyJKQTMathTextNode(). In addition it tries to clear whitespace at the start and end of the tree | |
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 | |
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.
JKQTMATHTEXT_LIB_EXPORT QString JKQTMathTextNodeTree2String | ( | JKQTMathTextNode * | root | ) |
converts a node-tree with the given root into a string, representing the node-tree
Here is an example output for
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)
JKQTMATHTEXT_LIB_EXPORT JKQTMathTextNode * simplifyAndTrimJKQTMathTextNode | ( | JKQTMathTextNode * | node | ) |
calls simplifyJKQTMathTextNode(). In addition it tries to clear whitespace at the start and end of the tree
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):