summaryrefslogtreecommitdiffstats
path: root/src/gui/graphicsview/qgraphicsitem_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/graphicsview/qgraphicsitem_p.h')
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h
index 98e7c13..f5c3505 100644
--- a/src/gui/graphicsview/qgraphicsitem_p.h
+++ b/src/gui/graphicsview/qgraphicsitem_p.h
@@ -139,6 +139,8 @@ public:
dirtyChildren(0),
localCollisionHack(0),
dirtyClipPath(1),
+ emptyClipPath(0),
+ inSetPosHelper(0),
globalStackingOrder(-1),
sceneTransformIndex(-1),
q_ptr(0)
@@ -239,12 +241,22 @@ public:
{
cachedClipPath = path;
dirtyClipPath = 0;
+ emptyClipPath = 0;
}
+ inline void setEmptyCachedClipPath()
+ {
+ emptyClipPath = 1;
+ dirtyClipPath = 0;
+ }
+
+ void setEmptyCachedClipPathRecursively(const QRectF &emptyIfOutsideThisRect = QRectF());
+
inline void invalidateCachedClipPath()
- { dirtyClipPath = 1; }
+ { /*static int count = 0 ;qWarning("%i", ++count);*/ dirtyClipPath = 1; emptyClipPath = 0; }
- void invalidateCachedClipPathRecursively(bool childrenOnly = false);
+ void invalidateCachedClipPathRecursively(bool childrenOnly = false, const QRectF &emptyIfOutsideThisRect = QRectF());
+ void updateCachedClipPathFromSetPosHelper();
inline bool isInvisible() const
{
@@ -288,6 +300,8 @@ public:
quint32 dirtyChildren : 1;
quint32 localCollisionHack : 1;
quint32 dirtyClipPath : 1;
+ quint32 emptyClipPath : 1;
+ quint32 inSetPosHelper : 1;
// Optional stacking order
int globalStackingOrder;