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>.
Loading...
Searching...
No Matches
QSGBatchRenderer::Updater Class Reference

#include <qsgbatchrenderer_p.h>

+ Inheritance diagram for QSGBatchRenderer::Updater:
+ Collaboration diagram for QSGBatchRenderer::Updater:

Public Member Functions

 Updater (Renderer *r)
 
void visitOpacityNode (Node *n)
 
void visitTransformNode (Node *n)
 
void visitGeometryNode (Node *n)
 
void visitClipNode (Node *n)
 
void updateRootTransforms (Node *n)
 
void updateRootTransforms (Node *n, Node *root, const QMatrix4x4 &combined)
 
void updateStates (QSGNode *n) override
 
void visitNode (Node *n)
 
void registerWithParentRoot (QSGNode *subRoot, QSGNode *parentRoot)
 
- Public Member Functions inherited from QSGNodeUpdater
 QSGNodeUpdater ()
 
virtual ~QSGNodeUpdater ()
 
virtual bool isNodeBlocked (QSGNode *n, QSGNode *root) const
 Returns true if node is has something that blocks it in the chain from node to root doing a full state update pass.
 

Additional Inherited Members

- Protected Member Functions inherited from QSGNodeUpdater
virtual void enterTransformNode (QSGTransformNode *)
 
virtual void leaveTransformNode (QSGTransformNode *)
 
void enterClipNode (QSGClipNode *c)
 
void leaveClipNode (QSGClipNode *c)
 
void enterOpacityNode (QSGOpacityNode *o)
 
void leaveOpacityNode (QSGOpacityNode *o)
 
void enterGeometryNode (QSGGeometryNode *)
 
void leaveGeometryNode (QSGGeometryNode *)
 
void enterRenderNode (QSGRenderNode *)
 
void leaveRenderNode (QSGRenderNode *)
 
void visitNode (QSGNode *n)
 
void visitChildren (QSGNode *n)
 
- Protected Attributes inherited from QSGNodeUpdater
QDataBuffer< const QMatrix4x4 * > m_combined_matrix_stack
 
QDataBuffer< qrealm_opacity_stack
 
const QSGClipNodem_current_clip
 
int m_force_update
 

Detailed Description

Definition at line 563 of file qsgbatchrenderer_p.h.

Constructor & Destructor Documentation

◆ Updater()

QSGBatchRenderer::Updater::Updater ( Renderer * r)

Definition at line 352 of file qsgbatchrenderer.cpp.

References QDataBuffer< Type >::add(), and QSGNodeUpdater::m_combined_matrix_stack.

+ Here is the call graph for this function:

Member Function Documentation

◆ registerWithParentRoot()

void QSGBatchRenderer::Updater::registerWithParentRoot ( QSGNode * subRoot,
QSGNode * parentRoot )

◆ updateRootTransforms() [1/2]

void QSGBatchRenderer::Updater::updateRootTransforms ( Node * n)

Referenced by updateRootTransforms(), and visitTransformNode().

+ Here is the caller graph for this function:

◆ updateRootTransforms() [2/2]

void QSGBatchRenderer::Updater::updateRootTransforms ( Node * n,
Node * root,
const QMatrix4x4 & combined )

Definition at line 588 of file qsgbatchrenderer.cpp.

References QSGNode::ClipNodeType, info, it, QSGNode::parent(), Q_ASSERT, QSGBatchRenderer::Node::sgNode, QSGNode::TransformNodeType, QSGBatchRenderer::Node::type(), and updateRootTransforms().

+ Here is the call graph for this function:

◆ updateStates()

void QSGBatchRenderer::Updater::updateStates ( QSGNode * n)
overridevirtual

◆ visitClipNode()

void QSGBatchRenderer::Updater::visitClipNode ( Node * n)

Definition at line 434 of file qsgbatchrenderer.cpp.

References QDataBuffer< Type >::add(), child, QSGBasicGeometryNode::clipList(), QDataBuffer< Type >::last(), QSGNodeUpdater::m_combined_matrix_stack, QSGNodeUpdater::m_current_clip, QSGBatchRenderer::ClipBatchRootInfo::matrix, QDataBuffer< Type >::pop_back(), SHADOWNODE_TRAVERSE, and visitNode().

Referenced by visitNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visitGeometryNode()

void QSGBatchRenderer::Updater::visitGeometryNode ( Node * n)

Definition at line 542 of file qsgbatchrenderer.cpp.

References QSGBatchRenderer::Element::batch, child, info, QSGBatchRenderer::isTranslate(), QDataBuffer< Type >::last(), QSGNodeUpdater::m_combined_matrix_stack, QSGNodeUpdater::m_current_clip, QSGNodeUpdater::m_opacity_stack, QSGBatchRenderer::Element::root, QSGBasicGeometryNode::setRendererMatrix(), SHADOWNODE_TRAVERSE, QSGBatchRenderer::Element::translateOnlyToRoot, and visitNode().

Referenced by visitNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visitNode()

void QSGBatchRenderer::Updater::visitNode ( Node * n)

Definition at line 394 of file qsgbatchrenderer.cpp.

References child, QSGNode::ClipNodeType, QSGNode::DirtyForceUpdate, QSGNode::DirtyNodeAdded, QSGNode::GeometryNodeType, QSGNodeUpdater::m_force_update, QSGNode::OpacityNodeType, Q_FALLTHROUGH, QSGNode::RenderNodeType, SHADOWNODE_TRAVERSE, QSGNode::TransformNodeType, visitClipNode(), visitGeometryNode(), visitNode(), visitOpacityNode(), and visitTransformNode().

Referenced by updateStates(), visitClipNode(), visitGeometryNode(), visitNode(), visitOpacityNode(), and visitTransformNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visitOpacityNode()

void QSGBatchRenderer::Updater::visitOpacityNode ( Node * n)

Definition at line 459 of file qsgbatchrenderer.cpp.

References QDataBuffer< Type >::add(), child, QSGNode::DirtyOpacity, QDataBuffer< Type >::last(), QSGNodeUpdater::m_opacity_stack, QSGOpacityNode::opacity(), QSGBatchRenderer::OPAQUE_LIMIT, QDataBuffer< Type >::pop_back(), QSGOpacityNode::setCombinedOpacity(), SHADOWNODE_TRAVERSE, and visitNode().

Referenced by visitNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visitTransformNode()

void QSGBatchRenderer::Updater::visitTransformNode ( Node * n)

Definition at line 486 of file qsgbatchrenderer.cpp.

References QDataBuffer< Type >::add(), child, QSGNode::DirtyMatrix, info, it, QDataBuffer< Type >::last(), QSGNodeUpdater::m_combined_matrix_stack, QSGNodeUpdater::m_force_update, QDataBuffer< Type >::pop_back(), SHADOWNODE_TRAVERSE, updateRootTransforms(), and visitNode().

Referenced by visitNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

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