![]() |
Qt 6.x
The Qt SDK
|
The QSGClipNode class implements the clipping functionality in the scene graph. More...
#include <qsgnode.h>
Public Member Functions | |
QSGClipNode () | |
Creates a new QSGClipNode without a geometry. | |
~QSGClipNode () override | |
Deletes this QSGClipNode. | |
void | setIsRectangular (bool rectHint) |
Sets whether this clip node has a rectangular clip to rectHint. | |
bool | isRectangular () const |
Returns if this clip node has a rectangular clip. | |
void | setClipRect (const QRectF &) |
Sets the clip rect of this clip node to rect. | |
QRectF | clipRect () const |
Returns the clip rect of this node. | |
![]() | |
~QSGBasicGeometryNode () override | |
Deletes this QSGBasicGeometryNode. | |
void | setGeometry (QSGGeometry *geometry) |
Sets the geometry of this node to geometry. | |
const QSGGeometry * | geometry () const |
Returns this node's geometry. | |
QSGGeometry * | geometry () |
Returns this node's geometry. | |
const QMatrix4x4 * | matrix () const |
Will be set during rendering to contain transformation of the geometry for that rendering pass. | |
const QSGClipNode * | clipList () const |
Will be set during rendering to contain the clip of the geometry for that rendering pass. | |
void | setRendererMatrix (const QMatrix4x4 *m) |
void | setRendererClipList (const QSGClipNode *c) |
![]() | |
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. | |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
QSGBasicGeometryNode (NodeType type) | |
Creates a new basic geometry node of type type. | |
QSGBasicGeometryNode (QSGBasicGeometryNodePrivate &dd, NodeType type) | |
![]() | |
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. | |
![]() | |
QScopedPointer< QSGNodePrivate > | d_ptr |
The QSGClipNode class implements the clipping functionality in the scene graph.
\inmodule QtQuick
Clipping applies to the node's subtree and can be nested. Multiple clip nodes will be accumulated by intersecting all their geometries. The accumulation happens as part of the rendering.
Clip nodes must have a geometry before they can be added to the scene graph.
Clipping is usually implemented by using the stencil buffer.
QSGClipNode::QSGClipNode | ( | ) |
Creates a new QSGClipNode without a geometry.
The clip node must have a geometry before it can be added to the scene graph.
Definition at line 1037 of file qsgnode.cpp.
References Q_UNUSED.
|
override |
Deletes this QSGClipNode.
If the flag QSGNode::OwnsGeometry is set, the geometry will also be deleted.
Definition at line 1053 of file qsgnode.cpp.
|
inline |
Returns the clip rect of this node.
Definition at line 233 of file qsgnode.h.
Referenced by QSGOpenVGNodeVisitor::visit(), and QSGSoftwareRenderableNodeUpdater::visit().
|
inline |
Sets the clip rect of this clip node to rect.
When a rectangular clip is set in combination with setIsRectangular the renderer may in some cases use a more optimal clip method.
Definition at line 1099 of file qsgnode.cpp.
References rect.
Referenced by QGeoTiledMapRootNode::setClipRect(), QQuickWindowPrivate::updateDirtyNode(), and QQuickTextArea::updatePaintNode().
void QSGClipNode::setIsRectangular | ( | bool | rectHint | ) |
Sets whether this clip node has a rectangular clip to rectHint.
This is an optimization hint which means that the renderer can use scissoring instead of stencil, which is significantly faster.
When this hint is set and it is applicable, the clip region will be generated from clipRect() rather than geometry().
By default this property is false
.
Definition at line 1079 of file qsgnode.cpp.
Referenced by QQuickDefaultClipNode::QQuickDefaultClipNode(), and QQuickDefaultClipNode::setRadius().