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 QSGSOFTWARERENDERLISTBUILDER_H
5#define QSGSOFTWARERENDERLISTBUILDER_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/qsgadaptationlayer_p.h>
19
20QT_BEGIN_NAMESPACE
21
22class QSGAbstractSoftwareRenderer;
23
24class QSGSoftwareRenderListBuilder : public QSGNodeVisitorEx
25{
26public:
27 QSGSoftwareRenderListBuilder(QSGAbstractSoftwareRenderer *renderer);
28
29 bool visit(QSGTransformNode *) override;
30 void endVisit(QSGTransformNode *) override;
31 bool visit(QSGClipNode *) override;
32 void endVisit(QSGClipNode *) override;
33 bool visit(QSGGeometryNode *) override;
34 void endVisit(QSGGeometryNode *) override;
35 bool visit(QSGOpacityNode *) override;
36 void endVisit(QSGOpacityNode *) override;
37 bool visit(QSGInternalImageNode *) override;
38 void endVisit(QSGInternalImageNode *) override;
39 bool visit(QSGPainterNode *) override;
40 void endVisit(QSGPainterNode *) override;
41 bool visit(QSGInternalRectangleNode *) override;
42 void endVisit(QSGInternalRectangleNode *) override;
43 bool visit(QSGGlyphNode *) override;
44 void endVisit(QSGGlyphNode *) override;
45 bool visit(QSGRootNode *) override;
46 void endVisit(QSGRootNode *) override;
47#if QT_CONFIG(quick_sprite)
48 bool visit(QSGSpriteNode *) override;
49 void endVisit(QSGSpriteNode *) override;
50#endif
51 bool visit(QSGRenderNode *) override;
52 void endVisit(QSGRenderNode *) override;
53
54private:
55 bool addRenderableNode(QSGNode *node);
56
57 QSGAbstractSoftwareRenderer *m_renderer;
58};
59
60QT_END_NAMESPACE
61
62#endif // QSGSOFTWARERENDERLISTBUILDER_H
63

source code of qtdeclarative/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderlistbuilder_p.h