diff options
author | Kim Motoyoshi Kalland <kim.kalland@nokia.com> | 2012-01-18 18:15:49 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-05 13:42:45 +0100 |
commit | cd0c9ae4ccc43503b6d8fb93bc87092cfa328adc (patch) | |
tree | fda80b215987e62e68c5c312d48d6f432093a787 /src/quick | |
parent | 92b1f9981d225ecee28da1f0a88fb3046000cb5e (diff) |
Added QQuickItem::clipRect().
Change-Id: I0f468dfea6f4ee3bdf8836dcdb15817584c55736
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
Diffstat (limited to 'src/quick')
-rw-r--r-- | src/quick/items/qquickcanvas.cpp | 4 | ||||
-rw-r--r-- | src/quick/items/qquickitem.cpp | 11 | ||||
-rw-r--r-- | src/quick/items/qquickitem.h | 1 | ||||
-rw-r--r-- | src/quick/items/qquickrectangle.cpp | 5 | ||||
-rw-r--r-- | src/quick/items/qquickrectangle_p.h | 1 |
5 files changed, 18 insertions, 4 deletions
diff --git a/src/quick/items/qquickcanvas.cpp b/src/quick/items/qquickcanvas.cpp index 92a422a56d..85c520b577 100644 --- a/src/quick/items/qquickcanvas.cpp +++ b/src/quick/items/qquickcanvas.cpp @@ -1679,7 +1679,7 @@ void QQuickCanvasPrivate::updateDirtyNode(QQuickItem *item) if (item->clip()) { Q_ASSERT(itemPriv->clipNode() == 0); - itemPriv->extra.value().clipNode = new QQuickDefaultClipNode(item->boundingRect()); + itemPriv->extra.value().clipNode = new QQuickDefaultClipNode(item->clipRect()); itemPriv->clipNode()->update(); if (child) @@ -1771,7 +1771,7 @@ void QQuickCanvasPrivate::updateDirtyNode(QQuickItem *item) } if ((dirty & QQuickItemPrivate::Size) && itemPriv->clipNode()) { - itemPriv->clipNode()->setRect(item->boundingRect()); + itemPriv->clipNode()->setRect(item->clipRect()); itemPriv->clipNode()->update(); } diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index 77808a61d9..1af4c31d75 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -3649,13 +3649,20 @@ void QQuickItem::updateInputMethod(Qt::InputMethodQueries queries) /*! \internal */ // XXX todo - do we want/need this anymore? -// Note that it's now used for varying clip rect QRectF QQuickItem::boundingRect() const { Q_D(const QQuickItem); return QRectF(0, 0, d->width, d->height); } +/*! \internal */ +QRectF QQuickItem::clipRect() const +{ + Q_D(const QQuickItem); + return QRectF(0, 0, d->width, d->height); +} + + QQuickItem::TransformOrigin QQuickItem::transformOrigin() const { Q_D(const QQuickItem); @@ -5832,7 +5839,7 @@ void QQuickItemLayer::updateGeometry() { QQuickItem *l = m_effect ? (QQuickItem *) m_effect : (QQuickItem *) m_effectSource; Q_ASSERT(l); - QRectF bounds = m_item->boundingRect(); + QRectF bounds = m_item->clipRect(); l->setWidth(bounds.width()); l->setHeight(bounds.height()); l->setX(bounds.x() + m_item->x()); diff --git a/src/quick/items/qquickitem.h b/src/quick/items/qquickitem.h index c44192bd3a..f14d60b028 100644 --- a/src/quick/items/qquickitem.h +++ b/src/quick/items/qquickitem.h @@ -266,6 +266,7 @@ public: void setFlags(Flags flags); virtual QRectF boundingRect() const; + virtual QRectF clipRect() const; bool hasActiveFocus() const; bool hasFocus() const; diff --git a/src/quick/items/qquickrectangle.cpp b/src/quick/items/qquickrectangle.cpp index 062df127b3..13c101d8a2 100644 --- a/src/quick/items/qquickrectangle.cpp +++ b/src/quick/items/qquickrectangle.cpp @@ -553,4 +553,9 @@ QRectF QQuickRectangle::boundingRect() const d->width + 2 * d->penMargin, d->height + 2 * d->penMargin); } +QRectF QQuickRectangle::clipRect() const +{ + return QQuickRectangle::boundingRect(); +} + QT_END_NAMESPACE diff --git a/src/quick/items/qquickrectangle_p.h b/src/quick/items/qquickrectangle_p.h index eec2b56fd3..52aa9e81f9 100644 --- a/src/quick/items/qquickrectangle_p.h +++ b/src/quick/items/qquickrectangle_p.h @@ -159,6 +159,7 @@ public: void setRadius(qreal radius); virtual QRectF boundingRect() const; + virtual QRectF clipRect() const; Q_SIGNALS: void colorChanged(); |