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;
149 QScopedPointer<QSGNodePrivate>
d_ptr;
201 void setRenderOrder(
int order);
204 void setInheritedOpacity(
qreal opacity);
213 int m_render_order = 0;
226 void setIsRectangular(
bool rectHint);
229 void setClipRect(
const QRectF &);
233 uint m_is_rectangular : 1;
234 uint m_reserved : 31;
271 QList<QSGAbstractRenderer *> m_renderers;
281 void setOpacity(
qreal opacity);
284 void setCombinedOpacity(
qreal opacity);
287 bool isSubtreeBlocked()
const override;
291 qreal m_combined_opacity = 1;
308 virtual void visitChildren(
QSGNode *
n);
311#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 Q_DECL_UNUSED_MEMBER
#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)