forked from qt-creator/qt-creator
QmlDesigner.QmlPuppet: fix for clipping in sub items
We did not clip sub items if clipping was enabled. Task-number: QTCREATORBUG-9604 Change-Id: I75fdabd86193fbfbf397bf3d119a1a33c72cf771 Reviewed-by: Marco Bubke <marco.bubke@digia.com>
This commit is contained in:
@@ -30,6 +30,7 @@
|
|||||||
#include "graphicsobjectnodeinstance.h"
|
#include "graphicsobjectnodeinstance.h"
|
||||||
|
|
||||||
#include <QGraphicsObject>
|
#include <QGraphicsObject>
|
||||||
|
#include <QDeclarativeItem>
|
||||||
#include "private/qgraphicsitem_p.h"
|
#include "private/qgraphicsitem_p.h"
|
||||||
#include <private/qdeclarativemetatype_p.h>
|
#include <private/qdeclarativemetatype_p.h>
|
||||||
|
|
||||||
@@ -302,6 +303,11 @@ void GraphicsObjectNodeInstance::paintRecursively(QGraphicsItem *graphicsItem, Q
|
|||||||
painter->save();
|
painter->save();
|
||||||
painter->setTransform(graphicsItem->itemTransform(graphicsItem->parentItem()), true);
|
painter->setTransform(graphicsItem->itemTransform(graphicsItem->parentItem()), true);
|
||||||
painter->setOpacity(graphicsItem->opacity() * painter->opacity());
|
painter->setOpacity(graphicsItem->opacity() * painter->opacity());
|
||||||
|
|
||||||
|
QDeclarativeItem *declarativeItem = qobject_cast<QDeclarativeItem *>(graphicsItem);
|
||||||
|
if (declarativeItem && declarativeItem->clip())
|
||||||
|
painter->setClipRect(declarativeItem->boundingRect());
|
||||||
|
|
||||||
QStyleOptionGraphicsItem option;
|
QStyleOptionGraphicsItem option;
|
||||||
initOption(graphicsItem, &option, painter->transform());
|
initOption(graphicsItem, &option, painter->transform());
|
||||||
graphicsItem->paint(painter, &option);
|
graphicsItem->paint(painter, &option);
|
||||||
|
Reference in New Issue
Block a user