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
qsgopenvgnodevisitor.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 QSGOPENVGNODEVISITOR_H
5#define QSGOPENVGNODEVISITOR_H
6
7#include <private/qsgadaptationlayer_p.h>
8#include <QtCore/QStack>
9
10#include "qopenvgmatrix.h"
11
12#include <VG/openvg.h>
13
15
18{
19public:
21
22 bool visit(QSGTransformNode *) override;
23 void endVisit(QSGTransformNode *) override;
24 bool visit(QSGClipNode *) override;
25 void endVisit(QSGClipNode *) override;
26 bool visit(QSGGeometryNode *) override;
27 void endVisit(QSGGeometryNode *) override;
28 bool visit(QSGOpacityNode *) override;
29 void endVisit(QSGOpacityNode *) override;
30 bool visit(QSGInternalImageNode *) override;
31 void endVisit(QSGInternalImageNode *) override;
32 bool visit(QSGPainterNode *) override;
33 void endVisit(QSGPainterNode *) override;
34 bool visit(QSGInternalRectangleNode *) override;
35 void endVisit(QSGInternalRectangleNode *) override;
36 bool visit(QSGGlyphNode *) override;
37 void endVisit(QSGGlyphNode *) override;
38 bool visit(QSGRootNode *) override;
39 void endVisit(QSGRootNode *) override;
40#if QT_CONFIG(quick_sprite)
41 bool visit(QSGSpriteNode *) override;
42 void endVisit(QSGSpriteNode *) override;
43#endif
44 bool visit(QSGRenderNode *) override;
45 void endVisit(QSGRenderNode *) override;
46
47private:
48 VGPath generateClipPath(const QRectF &rect) const;
49 void renderRenderableNode(QSGOpenVGRenderable *node);
50
51 QStack<QOpenVGMatrix> m_transformStack;
52 QStack<float> m_opacityState;
53 QStack<VGPath> m_clipStack;
54};
55
57
58#endif // QSGOPENVGNODEVISITOR_H
\inmodule QtCore\reentrant
Definition qrect.h:484
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
The QSGOpacityNode class is used to change opacity of nodes.
Definition qsgnode.h:276
void endVisit(QSGTransformNode *) override
bool visit(QSGTransformNode *) override
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:259
The QSGTransformNode class implements transformations in the scene graph.
Definition qsgnode.h:241
rect
[4]
Combined button and popup list for selecting options.