summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp16
-rw-r--r--src/gui/graphicsview/qgraphicsitem.h2
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h2
-rw-r--r--src/gui/graphicsview/qgraphicsscene_p.h2
-rw-r--r--src/gui/graphicsview/qgraphicsscenebsptreeindex.cpp4
5 files changed, 14 insertions, 12 deletions
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index b9b4180..5fa1748 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -2284,6 +2284,7 @@ void QGraphicsItem::setGraphicsEffect(QGraphicsEffect *effect)
}
/*!
+ \internal
\since 4.6
Returns the effective bounding rect of the item.
If the item has no effect, this is the same as the item's bounding rect.
@@ -2292,14 +2293,14 @@ void QGraphicsItem::setGraphicsEffect(QGraphicsEffect *effect)
\sa boundingRect()
*/
-QRectF QGraphicsItem::effectiveBoundingRect() const
+QRectF QGraphicsItemPrivate::effectiveBoundingRect() const
{
- QGraphicsEffect *effect = d_ptr->graphicsEffect;
- QRectF brect = effect && effect->isEnabled() ? effect->boundingRect() : boundingRect();
- if (d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren)
+ QGraphicsEffect *effect = graphicsEffect;
+ QRectF brect = effect && effect->isEnabled() ? effect->boundingRect() : q_ptr->boundingRect();
+ if (ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren)
return brect;
- const QGraphicsItem *effectParent = d_ptr->parent;
+ const QGraphicsItem *effectParent = parent;
while (effectParent) {
effect = effectParent->d_ptr->graphicsEffect;
if (effect && effect->isEnabled())
@@ -2313,6 +2314,7 @@ QRectF QGraphicsItem::effectiveBoundingRect() const
}
/*!
+ \internal
\since 4.6
Returns the effective bounding rect of this item in scene coordinates,
by combining sceneTransform() with boundingRect(), taking into account
@@ -2322,12 +2324,12 @@ QRectF QGraphicsItem::effectiveBoundingRect() const
\sa effectiveBoundingRect(), sceneBoundingRect()
*/
-QRectF QGraphicsItem::sceneEffectiveBoundingRect() const
+QRectF QGraphicsItemPrivate::sceneEffectiveBoundingRect() const
{
// Find translate-only offset
// COMBINE
QPointF offset;
- const QGraphicsItem *parentItem = this;
+ const QGraphicsItem *parentItem = q_ptr;
const QGraphicsItemPrivate *itemd;
do {
itemd = parentItem->d_ptr;
diff --git a/src/gui/graphicsview/qgraphicsitem.h b/src/gui/graphicsview/qgraphicsitem.h
index b4c7ed8..216053d 100644
--- a/src/gui/graphicsview/qgraphicsitem.h
+++ b/src/gui/graphicsview/qgraphicsitem.h
@@ -213,8 +213,6 @@ public:
// Effect
QGraphicsEffect *graphicsEffect() const;
void setGraphicsEffect(QGraphicsEffect *effect);
- QRectF effectiveBoundingRect() const;
- QRectF sceneEffectiveBoundingRect() const;
Qt::MouseButtons acceptedMouseButtons() const;
void setAcceptedMouseButtons(Qt::MouseButtons buttons);
diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h
index a7b48fc..a798a3b 100644
--- a/src/gui/graphicsview/qgraphicsitem_p.h
+++ b/src/gui/graphicsview/qgraphicsitem_p.h
@@ -222,6 +222,8 @@ public:
void childrenBoundingRectHelper(QTransform *x, QRectF *rect);
void initStyleOption(QStyleOptionGraphicsItem *option, const QTransform &worldTransform,
const QRegion &exposedRegion, bool allItems = false) const;
+ QRectF effectiveBoundingRect() const;
+ QRectF sceneEffectiveBoundingRect() const;
virtual void resolveFont(uint inheritedMask)
{
diff --git a/src/gui/graphicsview/qgraphicsscene_p.h b/src/gui/graphicsview/qgraphicsscene_p.h
index a405f31..119d9de 100644
--- a/src/gui/graphicsview/qgraphicsscene_p.h
+++ b/src/gui/graphicsview/qgraphicsscene_p.h
@@ -298,7 +298,7 @@ static inline QRectF adjustedItemBoundingRect(const QGraphicsItem *item)
static inline QRectF adjustedItemEffectiveBoundingRect(const QGraphicsItem *item)
{
Q_ASSERT(item);
- QRectF boundingRect(item->effectiveBoundingRect());
+ QRectF boundingRect(QGraphicsItemPrivate::get(item)->effectiveBoundingRect());
_q_adjustRect(&boundingRect);
return boundingRect;
}
diff --git a/src/gui/graphicsview/qgraphicsscenebsptreeindex.cpp b/src/gui/graphicsview/qgraphicsscenebsptreeindex.cpp
index 2d2ce02..1f5d106 100644
--- a/src/gui/graphicsview/qgraphicsscenebsptreeindex.cpp
+++ b/src/gui/graphicsview/qgraphicsscenebsptreeindex.cpp
@@ -172,7 +172,7 @@ void QGraphicsSceneBspTreeIndexPrivate::_q_updateIndex()
if (item->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren)
continue;
- bsp.insertItem(item, item->sceneEffectiveBoundingRect());
+ bsp.insertItem(item, item->d_ptr->sceneEffectiveBoundingRect());
}
}
unindexedItems.clear();
@@ -352,7 +352,7 @@ void QGraphicsSceneBspTreeIndexPrivate::removeItem(QGraphicsItem *item, bool rec
purgePending = true;
removedItems << item;
} else if (!(item->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren)) {
- bsp.removeItem(item, item->sceneEffectiveBoundingRect());
+ bsp.removeItem(item, item->d_ptr->sceneEffectiveBoundingRect());
}
} else {
unindexedItems.removeOne(item);