Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenodeupdater_p.h |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||
---|---|---|---|---|---|---|---|---|
1 | - | |||||||
2 | - | |||||||
3 | - | |||||||
4 | - | |||||||
5 | - | |||||||
6 | - | |||||||
7 | class QSGSoftwareRenderableNodeUpdater : public QSGNodeVisitorEx | - | ||||||
8 | { | - | ||||||
9 | public: | - | ||||||
10 | QSGSoftwareRenderableNodeUpdater(QSGAbstractSoftwareRenderer *renderer); | - | ||||||
11 | virtual ~QSGSoftwareRenderableNodeUpdater(); | - | ||||||
12 | - | |||||||
13 | bool visit(QSGTransformNode *) override; | - | ||||||
14 | void endVisit(QSGTransformNode *) override; | - | ||||||
15 | bool visit(QSGClipNode *) override; | - | ||||||
16 | void endVisit(QSGClipNode *) override; | - | ||||||
17 | bool visit(QSGGeometryNode *) override; | - | ||||||
18 | void endVisit(QSGGeometryNode *) override; | - | ||||||
19 | bool visit(QSGOpacityNode *) override; | - | ||||||
20 | void endVisit(QSGOpacityNode *) override; | - | ||||||
21 | bool visit(QSGInternalImageNode *) override; | - | ||||||
22 | void endVisit(QSGInternalImageNode *) override; | - | ||||||
23 | bool visit(QSGPainterNode *) override; | - | ||||||
24 | void endVisit(QSGPainterNode *) override; | - | ||||||
25 | bool visit(QSGInternalRectangleNode *) override; | - | ||||||
26 | void endVisit(QSGInternalRectangleNode *) override; | - | ||||||
27 | bool visit(QSGGlyphNode *) override; | - | ||||||
28 | void endVisit(QSGGlyphNode *) override; | - | ||||||
29 | bool visit(QSGRootNode *) override; | - | ||||||
30 | void endVisit(QSGRootNode *) override; | - | ||||||
31 | - | |||||||
32 | bool visit(QSGSpriteNode *) override; | - | ||||||
33 | void endVisit(QSGSpriteNode *) override; | - | ||||||
34 | - | |||||||
35 | bool visit(QSGRenderNode *) override; | - | ||||||
36 | void endVisit(QSGRenderNode *) override; | - | ||||||
37 | - | |||||||
38 | void updateNodes(QSGNode *node, bool isNodeRemoved = false); | - | ||||||
39 | - | |||||||
40 | private: | - | ||||||
41 | struct NodeState { | - | ||||||
42 | float opacity; | - | ||||||
43 | QRegion clip; | - | ||||||
44 | bool hasClip; | - | ||||||
45 | QTransform transform; | - | ||||||
46 | QSGNode *parent; | - | ||||||
47 | }; | - | ||||||
48 | - | |||||||
49 | NodeState currentState(QSGNode *node) const; | - | ||||||
50 | - | |||||||
51 | template<class NODE> | - | ||||||
52 | bool updateRenderableNode(QSGSoftwareRenderableNode::NodeType type, NODE *node); | - | ||||||
53 | - | |||||||
54 | QSGAbstractSoftwareRenderer *m_renderer; | - | ||||||
55 | QStack<float> m_opacityState; | - | ||||||
56 | QStack<QRegion> m_clipState; | - | ||||||
57 | bool m_hasClip; | - | ||||||
58 | QStack<QTransform> m_transformState; | - | ||||||
59 | QHash<QSGNode*,NodeState> m_stateMap; | - | ||||||
60 | }; | - | ||||||
61 | - | |||||||
62 | template<class NODE> | - | ||||||
63 | bool QSGSoftwareRenderableNodeUpdater::updateRenderableNode(QSGSoftwareRenderableNode::NodeType type, NODE *node) | - | ||||||
64 | { | - | ||||||
65 | - | |||||||
66 | auto renderableNode = m_renderer->renderableNode(node); | - | ||||||
67 | if (renderableNode == nullptr
| 0-8 | ||||||
68 | renderableNode = new QSGSoftwareRenderableNode(type, node); | - | ||||||
69 | m_renderer->addNodeMapping(node, renderableNode); | - | ||||||
70 | } executed 8 times by 1 test: end of block Executed by:
| 8 | ||||||
71 | - | |||||||
72 | - | |||||||
73 | renderableNode->setTransform(m_transformState.top()); | - | ||||||
74 | renderableNode->setOpacity(m_opacityState.top()); | - | ||||||
75 | renderableNode->setClipRegion(m_clipState.top(), m_hasClip); | - | ||||||
76 | - | |||||||
77 | renderableNode->update(); | - | ||||||
78 | m_stateMap[node] = currentState(node); | - | ||||||
79 | - | |||||||
80 | return executed 8 times by 1 test: true;return true; Executed by:
executed 8 times by 1 test: return true; Executed by:
| 8 | ||||||
81 | } | - | ||||||
82 | - | |||||||
83 | - | |||||||
Switch to Source code | Preprocessed file |