7#include <QtCore/qlist.h>
8#include <QtQuick/qsggeometry.h>
9#include <QtGui/QMatrix4x4>
16#define QSG_RUNTIME_DESCRIPTION
51 OwnedByParent = 0x0001,
52 UsePreprocess = 0x0002,
57 OwnsGeometry = 0x00010000,
58 OwnsMaterial = 0x00020000,
59 OwnsOpaqueMaterial = 0x00040000,
62 IsVisitableNode = 0x01000000
64 , InternalReserved = 0x01000000
70 DirtySubtreeBlocked = 0x0080,
72 DirtyNodeAdded = 0x0400,
73 DirtyNodeRemoved = 0x0800,
74 DirtyGeometry = 0x1000,
75 DirtyMaterial = 0x2000,
76 DirtyOpacity = 0x4000,
78 DirtyForceUpdate = 0x8000,
80 DirtyUsePreprocess = UsePreprocess,
82 DirtyPropagationMask = DirtyMatrix
95 void removeChildNode(
QSGNode *node);
96 void removeAllChildNodes();
97 void prependChildNode(
QSGNode *node);
98 void appendChildNode(
QSGNode *node);
101 void reparentChildNodesTo(
QSGNode *newParent);
103 int childCount()
const;
113 void markDirty(DirtyState
bits);
116 virtual bool isSubtreeBlocked()
const;
119 void setFlag(Flag,
bool =
true);
120 void setFlags(
Flags,
bool =
true);
138 QSGNode *m_firstChild =
nullptr;
139 QSGNode *m_lastChild =
nullptr;
140 QSGNode *m_nextSibling =
nullptr;
141 QSGNode *m_previousSibling =
nullptr;
142 int m_subtreeRenderableCount = 0;
180 [[maybe_unused]]
int m_reserved_start_index;
181 [[maybe_unused]]
int m_reserved_end_index;
204 void setRenderOrder(
int order);
207 void setInheritedOpacity(
qreal opacity);
216 int m_render_order = 0;
229 void setIsRectangular(
bool rectHint);
232 void setClipRect(
const QRectF &);
236 uint m_is_rectangular : 1;
237 uint m_reserved : 31;
284 void setOpacity(
qreal opacity);
287 void setCombinedOpacity(
qreal opacity);
290 bool isSubtreeBlocked()
const override;
294 qreal m_combined_opacity = 1;
311 virtual void visitChildren(
QSGNode *
n);
314#ifndef QT_NO_DEBUG_STREAM
The QMatrix4x4 class represents a 4x4 transformation matrix in 3D space.
\inmodule QtCore\reentrant
QSGAbstractRenderer gives access to the scene graph nodes and rendering.
The QSGBasicGeometryNode class serves as a baseclass for geometry based nodes.
const QSGClipNode * clipList() const
Will be set during rendering to contain the clip of the geometry for that rendering pass.
const QSGGeometry * geometry() const
Returns this node's geometry.
QSGGeometry * geometry()
Returns this node's geometry.
void setRendererClipList(const QSGClipNode *c)
void setRendererMatrix(const QMatrix4x4 *m)
const QMatrix4x4 * matrix() const
Will be set during rendering to contain transformation of the geometry for that rendering pass.
The QSGClipNode class implements the clipping functionality in the scene graph.
bool isRectangular() const
Returns if this clip node has a rectangular clip.
QRectF clipRect() const
Returns the clip rect of this node.
The QSGGeometryNode class is used for all rendered content in the scene graph.
qreal inheritedOpacity() const
Set during rendering to specify the inherited opacity for that rendering pass.
QSGMaterial * opaqueMaterial() const
Returns the opaque material of the QSGGeometryNode.
QSGMaterial * material() const
Returns the material of the QSGGeometryNode.
int renderOrder() const
Returns the render order of this geometry node.
The QSGGeometry class provides low-level storage for graphics primitives in the \l{Qt Quick Scene Gra...
The QSGMaterial class encapsulates rendering state for a shader program.
static QString description(const QSGNode *node)
The QSGNodeVisitor class is a helper class for traversing the scene graph.
virtual void enterOpacityNode(QSGOpacityNode *)
virtual void leaveGeometryNode(QSGGeometryNode *)
virtual void enterTransformNode(QSGTransformNode *)
virtual void leaveTransformNode(QSGTransformNode *)
virtual void leaveOpacityNode(QSGOpacityNode *)
virtual void leaveClipNode(QSGClipNode *)
virtual void enterClipNode(QSGClipNode *)
virtual void enterGeometryNode(QSGGeometryNode *)
\group qtquick-scenegraph-nodes \title Qt Quick Scene Graph Node classes
QSGNode * nextSibling() const
Returns the node after this in the parent's list of children.
Flags flags() const
Returns the set of flags for this node.
DirtyStateBit
Used in QSGNode::markDirty() to indicate how the scene graph has changed.
QSGNode * previousSibling() const
Returns the node before this in the parent's list of children.
Flag
The QSGNode::Flag enum describes flags on the QSGNode.
QT_DEPRECATED DirtyState dirtyState() const
QSGNode * lastChild() const
Returns the last child of this node.
NodeType
Can be used to figure out the type of node.
QSGNode * parent() const
Returns the parent node of this node.
QSGNode * firstChild() const
Returns the first child of this node.
NodeType type() const
Returns the type of this node.
QT_DEPRECATED void clearDirty()
virtual void preprocess()
Override this function to do processing on the node before it is rendered.
QScopedPointer< QSGNodePrivate > d_ptr
The QSGOpacityNode class is used to change opacity of nodes.
qreal opacity() const
Returns this opacity node's opacity.
qreal combinedOpacity() const
Returns this node's accumulated opacity.
The renderer class is the abstract baseclass used for rendering the QML scene graph.
The QSGRootNode is the toplevel root of any scene graph.
\macro QT_RESTRICTED_CAST_FROM_ASCII
Combined button and popup list for selecting options.
#define QT_WARNING_DISABLE_GCC(text)
#define Q_DECLARE_FLAGS(Flags, Enum)
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const void * bits
GLfixed GLfixed GLint GLint order
void Q_QUICK_EXPORT qsgnode_set_description(QSGNode *node, const QString &description)
Q_QUICK_EXPORT QDebug operator<<(QDebug, const QSGNode *n)
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)