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
QSGNodeUpdater Class Reference

#include <qsgnodeupdater_p.h>

+ Inheritance diagram for QSGNodeUpdater:
+ Collaboration diagram for QSGNodeUpdater:

Public Member Functions

 QSGNodeUpdater ()
 
virtual ~QSGNodeUpdater ()
 
virtual void updateStates (QSGNode *n)
 
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.
 

Protected Member Functions

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

QDataBuffer< const QMatrix4x4 * > m_combined_matrix_stack
 
QDataBuffer< qrealm_opacity_stack
 
const QSGClipNodem_current_clip
 
int m_force_update
 

Detailed Description

Definition at line 31 of file qsgnodeupdater_p.h.

Constructor & Destructor Documentation

◆ QSGNodeUpdater()

QT_BEGIN_NAMESPACE QSGNodeUpdater::QSGNodeUpdater ( )

Definition at line 12 of file qsgnodeupdater.cpp.

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

+ Here is the call graph for this function:

◆ ~QSGNodeUpdater()

QSGNodeUpdater::~QSGNodeUpdater ( )
virtual

Definition at line 21 of file qsgnodeupdater.cpp.

Member Function Documentation

◆ enterClipNode()

void QSGNodeUpdater::enterClipNode ( QSGClipNode * c)
protected

Definition at line 94 of file qsgnodeupdater.cpp.

References QDataBuffer< Type >::isEmpty(), QDataBuffer< Type >::last(), m_combined_matrix_stack, m_current_clip, and qDebug.

Referenced by visitNode().

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

◆ enterGeometryNode()

void QSGNodeUpdater::enterGeometryNode ( QSGGeometryNode * g)
protected

Definition at line 116 of file qsgnodeupdater.cpp.

References QDataBuffer< Type >::isEmpty(), QDataBuffer< Type >::last(), m_combined_matrix_stack, m_current_clip, m_opacity_stack, and qDebug.

Referenced by visitNode().

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

◆ enterOpacityNode()

void QSGNodeUpdater::enterOpacityNode ( QSGOpacityNode * o)
protected

Definition at line 157 of file qsgnodeupdater.cpp.

References QDataBuffer< Type >::add(), QDataBuffer< Type >::last(), m_opacity_stack, o, and qDebug.

Referenced by visitNode().

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

◆ enterRenderNode()

void QSGNodeUpdater::enterRenderNode ( QSGRenderNode * r)
protected

Definition at line 136 of file qsgnodeupdater.cpp.

References QSGRenderNodePrivate::get(), QDataBuffer< Type >::isEmpty(), QDataBuffer< Type >::last(), m_combined_matrix_stack, m_current_clip, m_opacity_stack, qDebug, and rd.

Referenced by visitNode().

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

◆ enterTransformNode()

void QSGNodeUpdater::enterTransformNode ( QSGTransformNode * t)
protectedvirtual

Definition at line 58 of file qsgnodeupdater.cpp.

References QDataBuffer< Type >::add(), QDataBuffer< Type >::isEmpty(), QDataBuffer< Type >::last(), m_combined_matrix_stack, m_force_update, and qDebug.

Referenced by visitNode().

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

◆ isNodeBlocked()

bool QSGNodeUpdater::isNodeBlocked ( QSGNode * node,
QSGNode * root ) const
virtual

Returns true if node is has something that blocks it in the chain from node to root doing a full state update pass.

This function does not process dirty states, simply does a simple traversion up to the top.

The function assumes that root exists in the parent chain of node.

Definition at line 47 of file qsgnodeupdater.cpp.

References QSGNode::isSubtreeBlocked(), and QSGNode::parent().

Referenced by QSGRenderer::preprocess().

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

◆ leaveClipNode()

void QSGNodeUpdater::leaveClipNode ( QSGClipNode * c)
protected

Definition at line 106 of file qsgnodeupdater.cpp.

References m_current_clip, and qDebug.

Referenced by visitNode().

+ Here is the caller graph for this function:

◆ leaveGeometryNode()

void QSGNodeUpdater::leaveGeometryNode ( QSGGeometryNode * g)
protected

Definition at line 127 of file qsgnodeupdater.cpp.

References Q_UNUSED, and qDebug.

Referenced by visitNode().

+ Here is the caller graph for this function:

◆ leaveOpacityNode()

void QSGNodeUpdater::leaveOpacityNode ( QSGOpacityNode * o)
protected

Definition at line 168 of file qsgnodeupdater.cpp.

References QSGNode::DirtyOpacity, m_force_update, m_opacity_stack, o, QDataBuffer< Type >::pop_back(), and qDebug.

Referenced by visitNode().

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

◆ leaveRenderNode()

void QSGNodeUpdater::leaveRenderNode ( QSGRenderNode * r)
protected

Definition at line 148 of file qsgnodeupdater.cpp.

References Q_UNUSED, and qDebug.

Referenced by visitNode().

+ Here is the caller graph for this function:

◆ leaveTransformNode()

void QSGNodeUpdater::leaveTransformNode ( QSGTransformNode * t)
protectedvirtual

Definition at line 81 of file qsgnodeupdater.cpp.

References m_combined_matrix_stack, QDataBuffer< Type >::pop_back(), and qDebug.

Referenced by visitNode().

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

◆ updateStates()

void QSGNodeUpdater::updateStates ( QSGNode * n)
virtual

Reimplemented in QSGBatchRenderer::Updater.

Definition at line 25 of file qsgnodeupdater.cpp.

References QDataBuffer< Type >::isEmpty(), m_combined_matrix_stack, m_current_clip, m_force_update, m_opacity_stack, Q_ASSERT, QDataBuffer< Type >::size(), and visitNode().

Referenced by QSGRenderer::preprocess().

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

◆ visitChildren()

void QSGNodeUpdater::visitChildren ( QSGNode * n)
protected

Definition at line 179 of file qsgnodeupdater.cpp.

References QSGNode::firstChild(), and visitNode().

Referenced by visitNode().

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

◆ visitNode()

void QSGNodeUpdater::visitNode ( QSGNode * n)
protected

Definition at line 185 of file qsgnodeupdater.cpp.

References QSGNode::ClipNodeType, enterClipNode(), enterGeometryNode(), enterOpacityNode(), enterRenderNode(), enterTransformNode(), QSGNode::GeometryNodeType, leaveClipNode(), leaveGeometryNode(), leaveOpacityNode(), leaveRenderNode(), leaveTransformNode(), m_force_update, o, QSGNode::OpacityNodeType, qDebug, QSGNode::RenderNodeType, QSGNode::TransformNodeType, and visitChildren().

Referenced by updateStates(), and visitChildren().

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

Member Data Documentation

◆ m_combined_matrix_stack

◆ m_current_clip

◆ m_force_update

◆ m_opacity_stack


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