diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-08-13 10:15:34 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@digia.com> | 2014-08-13 14:26:56 +0300 |
commit | 03a38f4609a69f6a8b3a5ed776f62d0277935709 (patch) | |
tree | b8fa95cd0690d5c727e24bd3c250bb84975b51e4 | |
parent | 7c995a3a200f9ff8979a5e5c2c1126fb63a41ceb (diff) |
Adapt to internal scene graph API changes
The changed visitor API requires a boolean to visit() to indicate
whether a sub-tree should be processed or not.
Change-Id: Iede12fb50d5aad7843af19855d72c18f968b8d55
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
-rw-r--r-- | softwarecontext/renderingvisitor.cpp | 36 | ||||
-rw-r--r-- | softwarecontext/renderingvisitor.h | 18 |
2 files changed, 36 insertions, 18 deletions
diff --git a/softwarecontext/renderingvisitor.cpp b/softwarecontext/renderingvisitor.cpp index fb4d2f4025..dcad6b35ae 100644 --- a/softwarecontext/renderingvisitor.cpp +++ b/softwarecontext/renderingvisitor.cpp @@ -30,10 +30,11 @@ RenderingVisitor::RenderingVisitor(QPainter *painter) } -void RenderingVisitor::visit(QSGTransformNode *node) +bool RenderingVisitor::visit(QSGTransformNode *node) { painter->save(); painter->setTransform(node->matrix().toTransform(), /*combine*/true); + return true; } void RenderingVisitor::endVisit(QSGTransformNode *) @@ -41,10 +42,11 @@ void RenderingVisitor::endVisit(QSGTransformNode *) painter->restore(); } -void RenderingVisitor::visit(QSGClipNode *node) +bool RenderingVisitor::visit(QSGClipNode *node) { painter->save(); painter->setClipRect(node->clipRect(), Qt::IntersectClip); + return true; } void RenderingVisitor::endVisit(QSGClipNode *) @@ -52,20 +54,22 @@ void RenderingVisitor::endVisit(QSGClipNode *) painter->restore(); } -void RenderingVisitor::visit(QSGGeometryNode *node) +bool RenderingVisitor::visit(QSGGeometryNode *node) { -// Q_UNREACHABLE(); + Q_UNREACHABLE(); + return true; } void RenderingVisitor::endVisit(QSGGeometryNode *node) { -// Q_UNREACHABLE(); + Q_UNREACHABLE(); } -void RenderingVisitor::visit(QSGOpacityNode *node) +bool RenderingVisitor::visit(QSGOpacityNode *node) { painter->save(); painter->setOpacity(node->opacity()); + return true; } void RenderingVisitor::endVisit(QSGOpacityNode *node) @@ -73,39 +77,51 @@ void RenderingVisitor::endVisit(QSGOpacityNode *node) painter->restore(); } -void RenderingVisitor::visit(QSGImageNode *node) +bool RenderingVisitor::visit(QSGImageNode *node) { static_cast<ImageNode*>(node)->paint(painter); + return true; } void RenderingVisitor::endVisit(QSGImageNode *) { } -void RenderingVisitor::visit(QSGRectangleNode *node) +bool RenderingVisitor::visit(QSGRectangleNode *node) { static_cast<RectangleNode*>(node)->paint(painter); + return true; } void RenderingVisitor::endVisit(QSGRectangleNode *) { } -void RenderingVisitor::visit(QSGGlyphNode *node) +bool RenderingVisitor::visit(QSGGlyphNode *node) { static_cast<GlyphNode*>(node)->paint(painter); + return true; } void RenderingVisitor::endVisit(QSGGlyphNode *) { } -void RenderingVisitor::visit(QSGNinePatchNode *node) +bool RenderingVisitor::visit(QSGNinePatchNode *node) { static_cast<NinePatchNode*>(node)->paint(painter); + return true; } void RenderingVisitor::endVisit(QSGNinePatchNode *) { +} +bool RenderingVisitor::visit(QSGRootNode *) +{ + return true; +} + +void RenderingVisitor::endVisit(QSGRootNode *) +{ } diff --git a/softwarecontext/renderingvisitor.h b/softwarecontext/renderingvisitor.h index 7e30c85968..397c2053c2 100644 --- a/softwarecontext/renderingvisitor.h +++ b/softwarecontext/renderingvisitor.h @@ -27,22 +27,24 @@ class RenderingVisitor : public QSGNodeVisitorEx public: RenderingVisitor(QPainter *painter); - virtual void visit(QSGTransformNode *node); + virtual bool visit(QSGTransformNode *node); virtual void endVisit(QSGTransformNode *); - virtual void visit(QSGClipNode *node); + virtual bool visit(QSGClipNode *node); virtual void endVisit(QSGClipNode *node); - virtual void visit(QSGGeometryNode *node); + virtual bool visit(QSGGeometryNode *node); virtual void endVisit(QSGGeometryNode *node); - virtual void visit(QSGOpacityNode *node); + virtual bool visit(QSGOpacityNode *node); virtual void endVisit(QSGOpacityNode *node); - virtual void visit(QSGImageNode *node); + virtual bool visit(QSGImageNode *node); virtual void endVisit(QSGImageNode *node); - virtual void visit(QSGRectangleNode *node); + virtual bool visit(QSGRectangleNode *node); virtual void endVisit(QSGRectangleNode *node); - virtual void visit(QSGGlyphNode *node); + virtual bool visit(QSGGlyphNode *node); virtual void endVisit(QSGGlyphNode *node); - virtual void visit(QSGNinePatchNode *node); + virtual bool visit(QSGNinePatchNode *node); virtual void endVisit(QSGNinePatchNode *); + virtual bool visit(QSGRootNode *); + virtual void endVisit(QSGRootNode *); private: QPainter *painter; |