diff options
author | Anton Kreuzkamp <anton.kreuzkamp@kdab.com> | 2018-01-18 17:11:54 +0100 |
---|---|---|
committer | Anton Kreuzkamp <anton.kreuzkamp@kdab.com> | 2018-03-07 12:00:20 +0000 |
commit | ce831a4b69a6738fc0bea9b28bbe3e421f5c38a9 (patch) | |
tree | ff7c5b96c5cdfb16dc86a20215cd13225fbdcb56 | |
parent | 7d1866473946229b249cdf06320978f95b036120 (diff) |
Export QSoftwareRenderableNode
+ add some (private) API to make some more data about the rendering
available to GammaRay.
Change-Id: I059f09e663fa9541ec2b0f002b1a0253dd5ea7df
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
3 files changed, 9 insertions, 1 deletions
diff --git a/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp b/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp index d715d900ba..2e5fdbbe6b 100644 --- a/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp +++ b/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp @@ -77,6 +77,11 @@ QSGSoftwareRenderableNode *QSGAbstractSoftwareRenderer::renderableNode(QSGNode * return m_nodes.value(node, nullptr); } +const QLinkedList<QSGSoftwareRenderableNode*> &QSGAbstractSoftwareRenderer::renderableNodes() const +{ + return m_renderableNodes; +} + void QSGAbstractSoftwareRenderer::addNodeMapping(QSGNode *node, QSGSoftwareRenderableNode *renderableNode) { m_nodes.insert(node, renderableNode); diff --git a/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer_p.h b/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer_p.h index f6594d931a..99204ef25e 100644 --- a/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer_p.h +++ b/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer_p.h @@ -88,6 +88,7 @@ protected: QRect backgroundRect(); // only known after calling optimizeRenderList() bool isOpaque() const { return m_isOpaque; } + const QLinkedList<QSGSoftwareRenderableNode*> &renderableNodes() const; private: void nodeAdded(QSGNode *node); diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode_p.h b/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode_p.h index 8fc87db179..b20d0a1828 100644 --- a/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode_p.h +++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode_p.h @@ -72,7 +72,7 @@ class QSGSoftwareNinePatchNode; class QSGSoftwareSpriteNode; class QSGRenderNode; -class QSGSoftwareRenderableNode +class Q_QUICK_PRIVATE_EXPORT QSGSoftwareRenderableNode { public: enum NodeType { @@ -104,6 +104,7 @@ public: bool isOpaque() const { return m_isOpaque; } bool isDirty() const { return m_isDirty; } bool isDirtyRegionEmpty() const; + QSGNode *handle() const { return m_handle.node; } void setTransform(const QTransform &transform); void setClipRegion(const QRegion &clipRegion, bool hasClipRegion = true); @@ -123,6 +124,7 @@ public: private: union RenderableNodeHandle { + QSGNode *node; QSGSimpleRectNode *simpleRectNode; QSGSimpleTextureNode *simpleTextureNode; QSGSoftwareInternalImageNode *imageNode; |