Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#include <qsginternaltextnode_p.h>
Public Member Functions | |
QSGInternalTextNode (QSGRenderContext *renderContext) | |
Creates an empty QSGInternalTextNode. | |
~QSGInternalTextNode () | |
void | setColor (QColor color) override |
Sets the main color to use when rendering the text to color. | |
QColor | color () const override |
Returns the main color used when rendering the text. | |
void | setTextStyle (TextStyle textStyle) override |
Sets the style of the rendered text to textStyle. | |
TextStyle | textStyle () override |
Returns the style of the rendered text. | |
void | setStyleColor (QColor styleColor) override |
Sets the style color to use when rendering the text to styleColor. | |
QColor | styleColor () const override |
Returns the style color used when rendering the text. | |
void | setLinkColor (QColor linkColor) override |
Sets the color of or hyperlinks to linkColor in the text. | |
QColor | linkColor () const override |
Returns the color of hyperlinks in the text. | |
void | setSelectionColor (QColor selectionColor) override |
Sets the color of the selection background to color when any part of the text is marked as selected. | |
QColor | selectionColor () const override |
Returns the color of the selection background when any part of the text is marked as selected. | |
void | setSelectionTextColor (QColor selectionTextColor) override |
Sets the color of the selection text to selectionTextColor when any part of the text is marked as selected. | |
QColor | selectionTextColor () const override |
Returns the color of the selection text when any part of the text is marked as selected. | |
void | setRenderTypeQuality (int renderTypeQuality) override |
If the \l renderType() in use supports it, set the quality to use when rendering the text. | |
int | renderTypeQuality () const override |
Returns the render type quality of the node. | |
void | setRenderType (RenderType renderType) override |
Sets the type of glyph node in use to renderType. | |
RenderType | renderType () const override |
Returns the type of glyph node used for rendering the text. | |
void | setFiltering (QSGTexture::Filtering filtering) override |
Sets the sampling mode used when scaling images that are part of the displayed text to filtering. | |
QSGTexture::Filtering | filtering () const override |
Returns the sampling mode used when scaling images that are part of the displayed text. | |
void | setViewport (const QRectF &viewport) override |
Sets the bounding rect of the viewport where the text is displayed to viewport. | |
QRectF | viewport () const override |
Returns the current viewport set for this QSGTextNode. | |
void | setCursor (const QRectF &rect, const QColor &color) |
void | clearCursor () |
void | addRectangleNode (const QRectF &rect, const QColor &color) |
virtual void | addDecorationNode (const QRectF &rect, const QColor &color) |
void | addImage (const QRectF &rect, const QImage &image) |
void | clear () override |
Clears the contents of the node, deleting nodes and other data that represents the layouts and documents that have been added to it. | |
QSGGlyphNode * | addGlyphs (const QPointF &position, const QGlyphRun &glyphs, const QColor &color, QQuickText::TextStyle style=QQuickText::Normal, const QColor &styleColor=QColor(), QSGNode *parentNode=0) |
QSGInternalRectangleNode * | cursorNode () const |
QPair< int, int > | renderedLineRange () const |
Public Member Functions inherited from QSGTextNode | |
~QSGTextNode () override | |
void | addTextLayout (QPointF position, QTextLayout *layout, int selectionStart=-1, int selectionCount=-1, int lineStart=0, int lineCount=-1) |
Adds the contents of layout to the text node at position. | |
void | addTextDocument (QPointF position, QTextDocument *document, int selectionStart=-1, int selectionCount=-1) |
Adds the contents of document to the text node at position. | |
Public Member Functions inherited from QSGTransformNode | |
QSGTransformNode () | |
Create a new QSGTransformNode with its matrix set to the identity matrix. | |
~QSGTransformNode () override | |
Deletes this transform node. | |
void | setMatrix (const QMatrix4x4 &matrix) |
Sets this transform node's matrix to matrix. | |
const QMatrix4x4 & | matrix () const |
Returns this transform node's matrix. | |
void | setCombinedMatrix (const QMatrix4x4 &matrix) |
Sets the combined matrix of this matrix to transform. | |
const QMatrix4x4 & | combinedMatrix () const |
Set during rendering to the combination of all parent matrices for that rendering pass. | |
Public Member Functions inherited from QSGNode | |
QSGNode () | |
Constructs a new node. | |
virtual | ~QSGNode () |
Destroys the node. | |
QSGNode * | parent () const |
Returns the parent node of this node. | |
void | removeChildNode (QSGNode *node) |
Removes node from this node's list of children. | |
void | removeAllChildNodes () |
Removes all child nodes from this node's list of children. | |
void | prependChildNode (QSGNode *node) |
Prepends node to this node's the list of children. | |
void | appendChildNode (QSGNode *node) |
Appends node to this node's list of children. | |
void | insertChildNodeBefore (QSGNode *node, QSGNode *before) |
Inserts node to this node's list of children before the node specified with before. | |
void | insertChildNodeAfter (QSGNode *node, QSGNode *after) |
Inserts node to this node's list of children after the node specified with after. | |
void | reparentChildNodesTo (QSGNode *newParent) |
int | childCount () const |
Returns the number of child nodes. | |
QSGNode * | childAtIndex (int i) const |
Returns the child at index i. | |
QSGNode * | firstChild () const |
Returns the first child of this node. | |
QSGNode * | lastChild () const |
Returns the last child of this node. | |
QSGNode * | nextSibling () const |
Returns the node after this in the parent's list of children. | |
QSGNode * | previousSibling () const |
Returns the node before this in the parent's list of children. | |
NodeType | type () const |
Returns the type of this node. | |
QT_DEPRECATED void | clearDirty () |
void | markDirty (DirtyState bits) |
Notifies all connected renderers that the node has dirty bits. | |
QT_DEPRECATED DirtyState | dirtyState () const |
virtual bool | isSubtreeBlocked () const |
Returns whether this node and its subtree is available for use. | |
Flags | flags () const |
Returns the set of flags for this node. | |
void | setFlag (Flag, bool=true) |
Sets the flag f on this node if enabled is true; otherwise clears the flag. | |
void | setFlags (Flags, bool=true) |
Sets the flags f on this node if enabled is true; otherwise clears the flags. | |
virtual void | preprocess () |
Override this function to do processing on the node before it is rendered. | |
Static Public Member Functions | |
static bool | isComplexRichText (QTextDocument *) |
Protected Member Functions | |
void | doAddTextLayout (QPointF position, QTextLayout *textLayout, int selectionStart, int selectionEnd, int lineStart, int lineCount) override |
Virtual function called by addTextLayout(), which converts the contents of layout to scene graph nodes and adds them to the current node at position. | |
void | doAddTextDocument (QPointF position, QTextDocument *textDocument, int selectionStart, int selectionEnd) override |
Virtual function called by addTextDocument(), which converts the contents of document to scene graph nodes and adds them to the current node at position. | |
Protected Member Functions inherited from QSGNode | |
QSGNode (NodeType type) | |
Constructs a new node with the given node type. | |
QSGNode (QSGNodePrivate &dd, NodeType type) | |
Constructs a new node with the given node type. | |
Friends | |
class | QQuickTextEdit |
class | QQuickTextEditPrivate |
Additional Inherited Members | |
Public Types inherited from QSGTextNode | |
enum | TextStyle : quint8 { Normal , Outline , Raised , Sunken } |
This enum type describes styles that can be applied to text rendering. More... | |
enum | RenderType : quint8 { QtRendering , NativeRendering , CurveRendering } |
This enum type describes type of glyph node used for rendering the text. More... | |
Public Types inherited from QSGNode | |
enum | NodeType { BasicNodeType , GeometryNodeType , TransformNodeType , ClipNodeType , OpacityNodeType , RootNodeType , RenderNodeType } |
Can be used to figure out the type of node. More... | |
enum | Flag { OwnedByParent = 0x0001 , UsePreprocess = 0x0002 , OwnsGeometry = 0x00010000 , OwnsMaterial = 0x00020000 , OwnsOpaqueMaterial = 0x00040000 , IsVisitableNode = 0x01000000 } |
The QSGNode::Flag enum describes flags on the QSGNode. More... | |
enum | DirtyStateBit { DirtySubtreeBlocked = 0x0080 , DirtyMatrix = 0x0100 , DirtyNodeAdded = 0x0400 , DirtyNodeRemoved = 0x0800 , DirtyGeometry = 0x1000 , DirtyMaterial = 0x2000 , DirtyOpacity = 0x4000 , DirtyForceUpdate = 0x8000 , DirtyUsePreprocess = UsePreprocess , DirtyPropagationMask } |
Used in QSGNode::markDirty() to indicate how the scene graph has changed. More... | |
Protected Attributes inherited from QSGNode | |
QScopedPointer< QSGNodePrivate > | d_ptr |
Definition at line 42 of file qsginternaltextnode_p.h.
QT_BEGIN_NAMESPACE QSGInternalTextNode::QSGInternalTextNode | ( | QSGRenderContext * | renderContext | ) |
Creates an empty QSGInternalTextNode.
Definition at line 33 of file qsginternaltextnode.cpp.
References QQuickText::CurveRendering, QSGTextNode::CurveRendering, QQuickText::NativeRendering, QSGTextNode::NativeRendering, QQuickText::Normal, QSGTextNode::Normal, QQuickText::Outline, QSGTextNode::Outline, qsgnode_set_description(), QQuickText::QtRendering, QSGTextNode::QtRendering, QQuickText::Raised, QSGTextNode::Raised, QQuickText::Sunken, and QSGTextNode::Sunken.
QSGInternalTextNode::~QSGInternalTextNode | ( | ) |
Definition at line 50 of file qsginternaltextnode.cpp.
References qDeleteAll().
Reimplemented in QSGRhiInternalTextNode.
Definition at line 127 of file qsginternaltextnode.cpp.
References addRectangleNode(), and rect.
Referenced by QQuickTextNodeEngine::addToSceneGraph().
QSGGlyphNode * QSGInternalTextNode::addGlyphs | ( | const QPointF & | position, |
const QGlyphRun & | glyphs, | ||
const QColor & | color, | ||
QQuickText::TextStyle | style = QQuickText::Normal, | ||
const QColor & | styleColor = QColor(), | ||
QSGNode * | parentNode = 0 ) |
Definition at line 55 of file qsginternaltextnode.cpp.
References QSGNode::appendChildNode(), QRawFont::ascent(), QSGContext::createGlyphNode(), font, QSGBasicGeometryNode::geometry(), QRawFontPrivate::get(), QSGGlyphNode::GrayAntialiasing, QSGTextNode::NativeRendering, QQuickText::Normal, QQuickText::Outline, position(), QGlyphRun::rawFont(), QSGGeometryNode::renderOrder(), QSGRenderContext::sceneGraphContext(), QSGGlyphNode::setColor(), QSGGlyphNode::setGlyphs(), QSGGeometry::setIndexDataPattern(), QSGGlyphNode::setStyle(), QSGGlyphNode::setStyleColor(), QSGGeometry::setVertexDataPattern(), QSGGeometry::StaticPattern, styleColor(), and QSGGlyphNode::update().
Referenced by QQuickTextNodeEngine::addToSceneGraph().
Definition at line 137 of file qsginternaltextnode.cpp.
References QList< T >::append(), QSGNode::appendChildNode(), QSGContext::createInternalImageNode(), QSGRenderContext::createTexture(), rect, QSGRenderContext::sceneGraphContext(), QSGInternalImageNode::setFiltering(), QSGInternalImageNode::setInnerTargetRect(), QSGInternalImageNode::setTargetRect(), QSGInternalImageNode::setTexture(), and QSGInternalImageNode::update().
Referenced by QQuickTextNodeEngine::addToSceneGraph(), and QQuickText::updatePaintNode().
Definition at line 132 of file qsginternaltextnode.cpp.
References QSGNode::appendChildNode(), QSGContext::createInternalRectangleNode(), rect, and QSGRenderContext::sceneGraphContext().
Referenced by addDecorationNode(), and QQuickTextNodeEngine::addToSceneGraph().
|
overridevirtual |
Clears the contents of the node, deleting nodes and other data that represents the layouts and documents that have been added to it.
Implements QSGTextNode.
Definition at line 256 of file qsginternaltextnode.cpp.
References QList< T >::clear(), QSGNode::firstChild(), and qDeleteAll().
Referenced by QQuickText::updatePaintNode(), and QQuickTextInput::updatePaintNode().
void QSGInternalTextNode::clearCursor | ( | ) |
Definition at line 119 of file qsginternaltextnode.cpp.
References QSGNode::removeChildNode().
Referenced by QQuickTextInput::updatePaintNode().
|
inlineoverridevirtual |
Returns the main color used when rendering the text.
Implements QSGTextNode.
Definition at line 55 of file qsginternaltextnode_p.h.
|
inline |
Definition at line 160 of file qsginternaltextnode_p.h.
|
overrideprotectedvirtual |
Virtual function called by addTextDocument(), which converts the contents of document to scene graph nodes and adds them to the current node at position.
If selectionStart is >= 0, then this marks the first character in a selected area of selectionCount number of characters. The selection is represented as a background fill with the \l selectionColor() and the selected text is rendered in the \l selectionTextColor().
Implements QSGTextNode.
Definition at line 151 of file qsginternaltextnode.cpp.
References QSet< T >::begin(), QTextDocument::characterCount(), QTextDocument::documentLayout(), engine, QTextFrameFormat::InFlow, it, QQuickTextPrivate::largeTextSizeThreshold, QTextBlock::layout(), QTextLayout::lineForTextPosition(), pos, QTextBlock::position(), position(), Q_ASSERT, rect, QTextDocument::rootFrame(), and QQuickTextNodeEngine::Unselected.
|
overrideprotectedvirtual |
Virtual function called by addTextLayout(), which converts the contents of layout to scene graph nodes and adds them to the current node at position.
If selectionStart is >= 0, then this marks the first character in a selected area of selectionCount number of characters. The selection is represented as a background fill with the \l selectionColor() and the selected text is rendered in the \l selectionTextColor().
For convenience, lineStart and lineCount can be used to select the range of \l QTextLine objects to include from the layout. This can be useful, for instance, when creating elided layouts. If lineCount is < 0, then the the node will include the lines from lineStart to the end of the layout.
Implements QSGTextNode.
Definition at line 198 of file qsginternaltextnode.cpp.
References QRectF::bottom(), engine, i, QRectF::isNull(), line, QTextLayout::lineAt(), QTextLayout::lineCount(), position(), QTextLayout::preeditAreaPosition(), QTextLayout::preeditAreaText(), Q_ASSERT, qCDebug, qMin(), QString::size(), and QRectF::top().
|
inlineoverridevirtual |
Returns the sampling mode used when scaling images that are part of the displayed text.
Implements QSGTextNode.
Definition at line 134 of file qsginternaltextnode_p.h.
|
static |
|
inlineoverridevirtual |
Returns the color of hyperlinks in the text.
Implements QSGTextNode.
Definition at line 85 of file qsginternaltextnode_p.h.
|
inline |
Definition at line 161 of file qsginternaltextnode_p.h.
|
inlineoverridevirtual |
Returns the type of glyph node used for rendering the text.
Implements QSGTextNode.
Definition at line 124 of file qsginternaltextnode_p.h.
|
inlineoverridevirtual |
Returns the render type quality of the node.
See \l setRenderTypeQuality() for details.
Implements QSGTextNode.
Definition at line 114 of file qsginternaltextnode_p.h.
|
inlineoverridevirtual |
Returns the color of the selection background when any part of the text is marked as selected.
Implements QSGTextNode.
Definition at line 95 of file qsginternaltextnode_p.h.
|
inlineoverridevirtual |
Returns the color of the selection text when any part of the text is marked as selected.
Implements QSGTextNode.
Definition at line 105 of file qsginternaltextnode_p.h.
Sets the main color to use when rendering the text to color.
The default is black: QColor(0, 0, 0)
.
Implements QSGTextNode.
Definition at line 50 of file qsginternaltextnode_p.h.
Referenced by QQuickText::updatePaintNode(), and QQuickTextInput::updatePaintNode().
Definition at line 110 of file qsginternaltextnode.cpp.
References QSGNode::appendChildNode(), QSGContext::createInternalRectangleNode(), rect, and QSGRenderContext::sceneGraphContext().
Referenced by QQuickTextInput::updatePaintNode().
|
inlineoverridevirtual |
Sets the sampling mode used when scaling images that are part of the displayed text to filtering.
For smoothly scaled images, use \l{QSGTexture::Linear} here.
The default is \l{QSGTexture::Nearest}.
Implements QSGTextNode.
Definition at line 129 of file qsginternaltextnode_p.h.
Referenced by QQuickTextEditPrivate::createTextNode(), QQuickText::updatePaintNode(), and QQuickTextInput::updatePaintNode().
Sets the color of or hyperlinks to linkColor in the text.
The default is blue: QColor(0, 0, 255)
.
Implements QSGTextNode.
Definition at line 80 of file qsginternaltextnode_p.h.
Referenced by QQuickText::updatePaintNode().
|
inlineoverridevirtual |
Sets the type of glyph node in use to renderType.
The default is \l QtRendering.
Implements QSGTextNode.
Definition at line 119 of file qsginternaltextnode_p.h.
Referenced by QQuickTextEditPrivate::createTextNode(), QQuickText::updatePaintNode(), and QQuickTextInput::updatePaintNode().
|
inlineoverridevirtual |
If the \l renderType() in use supports it, set the quality to use when rendering the text.
When supported, this can be used to trade visual fidelity for execution speed or memory.
When the renderTypeQuality is < 0, the default quality is used.
The renderTypeQuality can be any integer, although limitations imposed by the underlying graphics hardware may be encountered if extreme values are set. The Qt Quick Text element operates with the following predefined values:
\value DefaultRenderTypeQuality -1 (default) \value LowRenderTypeQuality 26 \value NormalRenderTypeQuality 52 \value HighRenderTypeQuality 104 \value VeryHighRenderTypeQuality 208
This value is currently only respected by the QtRendering render type. Setting it changes the resolution of the distance fields used to represent the glyphs. Setting it above normal will cause memory consumption to increase, but reduces filtering artifacts on very large text.
The default is -1.
Implements QSGTextNode.
Definition at line 110 of file qsginternaltextnode_p.h.
Referenced by QQuickText::updatePaintNode().
Sets the color of the selection background to color when any part of the text is marked as selected.
The default is dark blue: QColor(0, 0, 128)
.
Implements QSGTextNode.
Definition at line 90 of file qsginternaltextnode_p.h.
Referenced by QQuickTextInput::updatePaintNode().
Sets the color of the selection text to selectionTextColor when any part of the text is marked as selected.
The default is white: QColor(255, 255, 255)
.
Implements QSGTextNode.
Definition at line 100 of file qsginternaltextnode_p.h.
Referenced by QQuickTextInput::updatePaintNode().
Sets the style color to use when rendering the text to styleColor.
The default is black: QColor(0, 0, 0)
.
Implements QSGTextNode.
Definition at line 70 of file qsginternaltextnode_p.h.
Referenced by QQuickText::updatePaintNode().
Sets the style of the rendered text to textStyle.
The default is Normal
.
Implements QSGTextNode.
Definition at line 60 of file qsginternaltextnode_p.h.
Referenced by QQuickText::updatePaintNode(), and QQuickTextInput::updatePaintNode().
Sets the bounding rect of the viewport where the text is displayed to viewport.
Providing this information makes it possible for the QSGTextNode to optimize which parts of the text layout or document are included in the scene graph.
The default is a default-constructed QRectF. For this viewport, all contents will be included in the graph.
Implements QSGTextNode.
Definition at line 139 of file qsginternaltextnode_p.h.
References viewport().
Referenced by QQuickText::updatePaintNode(), and QQuickTextInput::updatePaintNode().
|
inlineoverridevirtual |
Returns the style color used when rendering the text.
Implements QSGTextNode.
Definition at line 75 of file qsginternaltextnode_p.h.
Referenced by addGlyphs().
|
inlineoverridevirtual |
Returns the style of the rendered text.
Implements QSGTextNode.
Definition at line 65 of file qsginternaltextnode_p.h.
|
inlineoverridevirtual |
Returns the current viewport set for this QSGTextNode.
Implements QSGTextNode.
Definition at line 144 of file qsginternaltextnode_p.h.
|
friend |
Definition at line 193 of file qsginternaltextnode_p.h.
|
friend |
Definition at line 194 of file qsginternaltextnode_p.h.