summaryrefslogtreecommitdiffstats
path: root/src/gui/graphicsview/qgraphicseffect.h
diff options
context:
space:
mode:
authorBjørn Erik Nilsen <bjorn.nilsen@nokia.com>2009-08-07 08:21:42 (GMT)
committerBjørn Erik Nilsen <bjorn.nilsen@nokia.com>2009-08-07 08:21:42 (GMT)
commit525f585465029075bace5f68997bea07e64f7725 (patch)
tree522873174e168d18120048783bcc050a3eaecce0 /src/gui/graphicsview/qgraphicseffect.h
parenta0c12d54b8eef537ab8051e48b6d04617a91d170 (diff)
downloadQt-525f585465029075bace5f68997bea07e64f7725.zip
Qt-525f585465029075bace5f68997bea07e64f7725.tar.gz
Qt-525f585465029075bace5f68997bea07e64f7725.tar.bz2
Add ChangeFlags to QGraphicsEffect and pass flags to sourceChanged.
This is way more flexible as it allows for extension in the future. Instead of having several virtual functions, which in most cases when re-implemented have to do exactly the same, we now have one virtual function which takes a ChangedFlags parameter do describe what kind of changes that occurred to the source.
Diffstat (limited to 'src/gui/graphicsview/qgraphicseffect.h')
-rw-r--r--src/gui/graphicsview/qgraphicseffect.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/gui/graphicsview/qgraphicseffect.h b/src/gui/graphicsview/qgraphicseffect.h
index bb79563..d171b1b 100644
--- a/src/gui/graphicsview/qgraphicseffect.h
+++ b/src/gui/graphicsview/qgraphicseffect.h
@@ -94,8 +94,17 @@ class QGraphicsEffectPrivate;
class Q_GUI_EXPORT QGraphicsEffect : public QObject
{
Q_OBJECT
+ Q_FLAGS(ChangeFlags)
Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled)
public:
+ enum ChangeFlag {
+ SourceAttached = 0x1,
+ SourceDetached = 0x2,
+ SourceBoundingRectChanged = 0x4,
+ SourceInvalidated = 0x8
+ };
+ Q_DECLARE_FLAGS(ChangeFlags, ChangeFlag);
+
QGraphicsEffect();
virtual ~QGraphicsEffect();
@@ -114,8 +123,7 @@ public Q_SLOTS:
protected:
QGraphicsEffect(QGraphicsEffectPrivate &d);
virtual void draw(QPainter *painter, QGraphicsEffectSource *source) = 0;
- virtual void sourceChanged();
- virtual void sourceBoundingRectChanged();
+ virtual void sourceChanged(ChangeFlags flags);
void updateBoundingRect();
private: