Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QSGInternalTextNode Class Reference

#include <qsginternaltextnode_p.h>

Inheritance diagram for QSGInternalTextNode:
Collaboration diagram for QSGInternalTextNode:

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.
bool containsUnscalableGlyphs () const
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 setDevicePixelRatio (qreal dpr)
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.
QSGGlyphNodeaddGlyphs (const QPointF &position, const QGlyphRun &glyphs, const QColor &color, QQuickText::TextStyle style=QQuickText::Normal, const QColor &styleColor=QColor(), QSGNode *parentNode=0)
QSGInternalRectangleNodecursorNode () const
std::pair< 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 QMatrix4x4matrix () const
 Returns this transform node's matrix.
void setCombinedMatrix (const QMatrix4x4 &matrix)
 Sets the combined matrix of this matrix to transform.
const QMatrix4x4combinedMatrix () 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.
QSGNodeparent () 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.
QSGNodechildAtIndex (int i) const
 Returns the child at index i.
QSGNodefirstChild () const
 Returns the first child of this node.
QSGNodelastChild () const
 Returns the last child of this node.
QSGNodenextSibling () const
 Returns the node after this in the parent's list of children.
QSGNodepreviousSibling () 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< QSGNodePrivated_ptr

Detailed Description

Definition at line 43 of file qsginternaltextnode_p.h.

Constructor & Destructor Documentation

◆ QSGInternalTextNode()

QT_BEGIN_NAMESPACE QSGInternalTextNode::QSGInternalTextNode ( QSGRenderContext * renderContext)

Creates an empty QSGInternalTextNode.

Definition at line 32 of file qsginternaltextnode.cpp.

◆ ~QSGInternalTextNode()

QSGInternalTextNode::~QSGInternalTextNode ( )

Definition at line 49 of file qsginternaltextnode.cpp.

Member Function Documentation

◆ addDecorationNode()

void QSGInternalTextNode::addDecorationNode ( const QRectF & rect,
const QColor & color )
virtual

Reimplemented in QSGRhiInternalTextNode.

Definition at line 129 of file qsginternaltextnode.cpp.

◆ addGlyphs()

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 54 of file qsginternaltextnode.cpp.

◆ addImage()

void QSGInternalTextNode::addImage ( const QRectF & rect,
const QImage & image )

Definition at line 139 of file qsginternaltextnode.cpp.

◆ addRectangleNode()

void QSGInternalTextNode::addRectangleNode ( const QRectF & rect,
const QColor & color )

Definition at line 134 of file qsginternaltextnode.cpp.

◆ clear()

void QSGInternalTextNode::clear ( )
overridevirtual

Clears the contents of the node, deleting nodes and other data that represents the layouts and documents that have been added to it.

See also
addTextLayout(), addTextDocument()

Implements QSGTextNode.

Definition at line 260 of file qsginternaltextnode.cpp.

◆ clearCursor()

void QSGInternalTextNode::clearCursor ( )

Definition at line 121 of file qsginternaltextnode.cpp.

◆ color()

QColor QSGInternalTextNode::color ( ) const
inlineoverridevirtual

Returns the main color used when rendering the text.

Implements QSGTextNode.

Definition at line 56 of file qsginternaltextnode_p.h.

◆ containsUnscalableGlyphs()

bool QSGInternalTextNode::containsUnscalableGlyphs ( ) const
inline

Definition at line 130 of file qsginternaltextnode_p.h.

◆ cursorNode()

QSGInternalRectangleNode * QSGInternalTextNode::cursorNode ( ) const
inline

Definition at line 171 of file qsginternaltextnode_p.h.

◆ doAddTextDocument()

void QSGInternalTextNode::doAddTextDocument ( QPointF position,
QTextDocument * document,
int selectionStart,
int selectionCount )
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().

See also
clear(), addTextDocument()

Implements QSGTextNode.

Definition at line 153 of file qsginternaltextnode.cpp.

◆ doAddTextLayout()

void QSGInternalTextNode::doAddTextLayout ( QPointF position,
QTextLayout * layout,
int selectionStart,
int selectionCount,
int lineStart,
int lineCount )
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.

See also
clear(), addTextLayout()

Implements QSGTextNode.

Definition at line 201 of file qsginternaltextnode.cpp.

◆ filtering()

QSGTexture::Filtering QSGInternalTextNode::filtering ( ) const
inlineoverridevirtual

Returns the sampling mode used when scaling images that are part of the displayed text.

See also
setFiltering()

Implements QSGTextNode.

Definition at line 140 of file qsginternaltextnode_p.h.

◆ isComplexRichText()

bool QSGInternalTextNode::isComplexRichText ( QTextDocument * )
static

◆ linkColor()

QColor QSGInternalTextNode::linkColor ( ) const
inlineoverridevirtual

Returns the color of hyperlinks in the text.

Implements QSGTextNode.

Definition at line 86 of file qsginternaltextnode_p.h.

◆ renderedLineRange()

std::pair< int, int > QSGInternalTextNode::renderedLineRange ( ) const
inline

Definition at line 172 of file qsginternaltextnode_p.h.

◆ renderType()

RenderType QSGInternalTextNode::renderType ( ) const
inlineoverridevirtual

Returns the type of glyph node used for rendering the text.

Implements QSGTextNode.

Definition at line 125 of file qsginternaltextnode_p.h.

◆ renderTypeQuality()

int QSGInternalTextNode::renderTypeQuality ( ) const
inlineoverridevirtual

Returns the render type quality of the node.

See \l setRenderTypeQuality() for details.

Implements QSGTextNode.

Definition at line 115 of file qsginternaltextnode_p.h.

◆ selectionColor()

QColor QSGInternalTextNode::selectionColor ( ) const
inlineoverridevirtual

Returns the color of the selection background when any part of the text is marked as selected.

Implements QSGTextNode.

Definition at line 96 of file qsginternaltextnode_p.h.

◆ selectionTextColor()

QColor QSGInternalTextNode::selectionTextColor ( ) const
inlineoverridevirtual

Returns the color of the selection text when any part of the text is marked as selected.

Implements QSGTextNode.

Definition at line 106 of file qsginternaltextnode_p.h.

◆ setColor()

void QSGInternalTextNode::setColor ( QColor color)
inlineoverridevirtual

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 51 of file qsginternaltextnode_p.h.

◆ setCursor()

void QSGInternalTextNode::setCursor ( const QRectF & rect,
const QColor & color )

Definition at line 112 of file qsginternaltextnode.cpp.

◆ setDevicePixelRatio()

void QSGInternalTextNode::setDevicePixelRatio ( qreal dpr)
inline

Definition at line 155 of file qsginternaltextnode_p.h.

◆ setFiltering()

void QSGInternalTextNode::setFiltering ( QSGTexture::Filtering filtering)
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}.

See also
filtering()

Implements QSGTextNode.

Definition at line 135 of file qsginternaltextnode_p.h.

◆ setLinkColor()

void QSGInternalTextNode::setLinkColor ( QColor linkColor)
inlineoverridevirtual

Sets the color of or hyperlinks to linkColor in the text.

The default is blue: QColor(0, 0, 255).

Implements QSGTextNode.

Definition at line 81 of file qsginternaltextnode_p.h.

◆ setRenderType()

void QSGInternalTextNode::setRenderType ( RenderType renderType)
inlineoverridevirtual

Sets the type of glyph node in use to renderType.

The default is \l QtRendering.

Implements QSGTextNode.

Definition at line 120 of file qsginternaltextnode_p.h.

◆ setRenderTypeQuality()

void QSGInternalTextNode::setRenderTypeQuality ( int renderTypeQuality)
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 111 of file qsginternaltextnode_p.h.

◆ setSelectionColor()

void QSGInternalTextNode::setSelectionColor ( QColor color)
inlineoverridevirtual

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 91 of file qsginternaltextnode_p.h.

◆ setSelectionTextColor()

void QSGInternalTextNode::setSelectionTextColor ( QColor selectionTextColor)
inlineoverridevirtual

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 101 of file qsginternaltextnode_p.h.

◆ setStyleColor()

void QSGInternalTextNode::setStyleColor ( QColor styleColor)
inlineoverridevirtual

Sets the style color to use when rendering the text to styleColor.

The default is black: QColor(0, 0, 0).

See also
setTextStyle()

Implements QSGTextNode.

Definition at line 71 of file qsginternaltextnode_p.h.

◆ setTextStyle()

void QSGInternalTextNode::setTextStyle ( TextStyle textStyle)
inlineoverridevirtual

Sets the style of the rendered text to textStyle.

The default is Normal.

See also
setStyleColor()

Implements QSGTextNode.

Definition at line 61 of file qsginternaltextnode_p.h.

◆ setViewport()

void QSGInternalTextNode::setViewport ( const QRectF & viewport)
inlineoverridevirtual

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 145 of file qsginternaltextnode_p.h.

◆ styleColor()

QColor QSGInternalTextNode::styleColor ( ) const
inlineoverridevirtual

Returns the style color used when rendering the text.

See also
textStyle()

Implements QSGTextNode.

Definition at line 76 of file qsginternaltextnode_p.h.

◆ textStyle()

TextStyle QSGInternalTextNode::textStyle ( )
inlineoverridevirtual

Returns the style of the rendered text.

See also
styleColor()

Implements QSGTextNode.

Definition at line 66 of file qsginternaltextnode_p.h.

◆ viewport()

QRectF QSGInternalTextNode::viewport ( ) const
inlineoverridevirtual

Returns the current viewport set for this QSGTextNode.

Implements QSGTextNode.

Definition at line 150 of file qsginternaltextnode_p.h.

◆ QQuickTextEdit

friend class QQuickTextEdit
friend

Definition at line 206 of file qsginternaltextnode_p.h.

◆ QQuickTextEditPrivate

friend class QQuickTextEditPrivate
friend

Definition at line 207 of file qsginternaltextnode_p.h.


The documentation for this class was generated from the following files: