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_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QSGNODEUPDATER_P_H
5#define QSGNODEUPDATER_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <private/qtquickglobal_p.h>
19#include <QtGui/private/qdatabuffer_p.h>
20
22
23class QSGNode;
25class QSGClipNode;
26class QSGOpacityNode;
27class QSGGeometryNode;
28class QMatrix4x4;
29class QSGRenderNode;
30
31class Q_QUICK_EXPORT QSGNodeUpdater
32{
33public:
35 virtual ~QSGNodeUpdater();
36
37 virtual void updateStates(QSGNode *n);
38 virtual bool isNodeBlocked(QSGNode *n, QSGNode *root) const;
39
40protected:
41 virtual void enterTransformNode(QSGTransformNode *);
42 virtual void leaveTransformNode(QSGTransformNode *);
43 void enterClipNode(QSGClipNode *c);
44 void leaveClipNode(QSGClipNode *c);
45 void enterOpacityNode(QSGOpacityNode *o);
46 void leaveOpacityNode(QSGOpacityNode *o);
47 void enterGeometryNode(QSGGeometryNode *);
48 void leaveGeometryNode(QSGGeometryNode *);
49 void enterRenderNode(QSGRenderNode *);
50 void leaveRenderNode(QSGRenderNode *);
51
52 void visitNode(QSGNode *n);
53 void visitChildren(QSGNode *n);
54
55
56 QDataBuffer<const QMatrix4x4 *> m_combined_matrix_stack;
57 QDataBuffer<qreal> m_opacity_stack;
59
61};
62
64
65#endif
The QMatrix4x4 class represents a 4x4 transformation matrix in 3D space.
Definition qmatrix4x4.h:25
The QSGClipNode class implements the clipping functionality in the scene graph.
Definition qsgnode.h:221
The QSGGeometryNode class is used for all rendered content in the scene graph.
Definition qsgnode.h:188
QDataBuffer< qreal > m_opacity_stack
const QSGClipNode * m_current_clip
QDataBuffer< const QMatrix4x4 * > m_combined_matrix_stack
\group qtquick-scenegraph-nodes \title Qt Quick Scene Graph Node classes
Definition qsgnode.h:37
The QSGOpacityNode class is used to change opacity of nodes.
Definition qsgnode.h:276
The QSGRenderNode class represents a set of custom rendering commands targeting the graphics API that...
The QSGTransformNode class implements transformations in the scene graph.
Definition qsgnode.h:241
Combined button and popup list for selecting options.
GLfloat n
const GLubyte * c