Clip to bounding rect
Bounding rect varies from width/height in some cases, like Rectangle. This restores rectangle clipping behaviour to be the same as QtQuick 1. Task-number: QTBUG-20547 Change-Id: I2b6edc662a0026219d73b52878d2f4c046fef7f0 Reviewed-on: http://codereview.qt.nokia.com/2317 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Martin Jones <martin.jones@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
This commit is contained in:
parent
e57189d3bb
commit
31ebb4bfb0
|
@ -1703,7 +1703,7 @@ void QSGCanvasPrivate::updateDirtyNode(QSGItem *item)
|
|||
|
||||
if (item->clip()) {
|
||||
Q_ASSERT(itemPriv->clipNode == 0);
|
||||
itemPriv->clipNode = new QSGDefaultClipNode(QRectF(0, 0, itemPriv->width, itemPriv->height));
|
||||
itemPriv->clipNode = new QSGDefaultClipNode(item->boundingRect());
|
||||
|
||||
if (child)
|
||||
parent->removeChildNode(child);
|
||||
|
@ -1789,7 +1789,7 @@ void QSGCanvasPrivate::updateDirtyNode(QSGItem *item)
|
|||
}
|
||||
|
||||
if ((dirty & QSGItemPrivate::Size || clipEffectivelyChanged) && itemPriv->clipNode) {
|
||||
itemPriv->clipNode->setRect(QRectF(0, 0, itemPriv->width, itemPriv->height));
|
||||
itemPriv->clipNode->setRect(item->boundingRect());
|
||||
itemPriv->clipNode->update();
|
||||
}
|
||||
|
||||
|
|
|
@ -2227,6 +2227,7 @@ void QSGItem::itemChange(ItemChange change, const ItemChangeData &value)
|
|||
|
||||
/*! \internal */
|
||||
// XXX todo - do we want/need this anymore?
|
||||
// Note that it's now used for varying clip rect
|
||||
QRectF QSGItem::boundingRect() const
|
||||
{
|
||||
Q_D(const QSGItem);
|
||||
|
|
|
@ -256,7 +256,7 @@ public:
|
|||
void setFlag(Flag flag, bool enabled = true);
|
||||
void setFlags(Flags flags);
|
||||
|
||||
QRectF boundingRect() const;
|
||||
virtual QRectF boundingRect() const;
|
||||
|
||||
bool hasActiveFocus() const;
|
||||
bool hasFocus() const;
|
||||
|
|
|
@ -160,7 +160,7 @@ public:
|
|||
qreal radius() const;
|
||||
void setRadius(qreal radius);
|
||||
|
||||
QRectF boundingRect() const;
|
||||
virtual QRectF boundingRect() const;
|
||||
|
||||
Q_SIGNALS:
|
||||
void colorChanged();
|
||||
|
|
Loading…
Reference in New Issue