Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qsgsoftwarerenderlistbuilder.cpp
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
5
14
15#include <QtQuick/qsgsimplerectnode.h>
16#include <QtQuick/qsgsimpletexturenode.h>
17#include <QtQuick/qsgrendernode.h>
18
20
22 : m_renderer(renderer)
23{
24
25}
26
28{
29 return true;
30}
31
33{
34}
35
37{
38 return true;
39}
40
42{
43}
44
46{
47 return addRenderableNode(node);
48}
49
51{
52}
53
55{
56 return true;
57}
58
60{
61}
62
64{
65 return addRenderableNode(node);
66}
67
69{
70}
71
73{
74 return addRenderableNode(node);
75}
76
78{
79}
80
82{
83 return addRenderableNode(node);
84}
85
87{
88}
89
91{
92 return addRenderableNode(node);
93}
94
96{
97}
98
100{
101 return true;
102}
103
105{
106}
107
108#if QT_CONFIG(quick_sprite)
109bool QSGSoftwareRenderListBuilder::visit(QSGSpriteNode *node)
110{
111 return addRenderableNode(node);
112}
113
114void QSGSoftwareRenderListBuilder::endVisit(QSGSpriteNode *)
115{
116
117}
118#endif
119
121{
122 return addRenderableNode(node);
123}
124
126{
127}
128
129bool QSGSoftwareRenderListBuilder::addRenderableNode(QSGNode *node)
130{
131 auto renderableNode = m_renderer->renderableNode(node);
132 if (renderableNode == nullptr) {
133 // Not a node we can render
134 return false;
135 }
136 m_renderer->appendRenderableNode(renderableNode);
137 return true;
138}
139
void appendRenderableNode(QSGSoftwareRenderableNode *node)
QSGSoftwareRenderableNode * renderableNode(QSGNode *node) const
The QSGClipNode class implements the clipping functionality in the scene graph.
Definition qsgnode.h:224
The QSGGeometryNode class is used for all rendered content in the scene graph.
Definition qsgnode.h:191
\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:279
The QSGRenderNode class represents a set of custom rendering commands targeting the graphics API that...
The QSGRootNode is the toplevel root of any scene graph.
Definition qsgnode.h:262
bool visit(QSGTransformNode *) override
void endVisit(QSGTransformNode *) override
QSGSoftwareRenderListBuilder(QSGAbstractSoftwareRenderer *renderer)
The QSGTransformNode class implements transformations in the scene graph.
Definition qsgnode.h:244
Combined button and popup list for selecting options.
QSvgRenderer * renderer
[0]