diff options
author | Bjørn Erik Nilsen <bjorn.nilsen@nokia.com> | 2009-07-29 03:54:43 (GMT) |
---|---|---|
committer | Bjørn Erik Nilsen <bjorn.nilsen@nokia.com> | 2009-07-29 06:43:37 (GMT) |
commit | 8ec8c7f97efc1e5ae6fc5deae4b4d7aeb0a93f31 (patch) | |
tree | 7d4b2324f8009ceede39b329eadb0cc567d88faf | |
parent | 8334e6f6590d801971a3ec9fe64ff087c750c26a (diff) | |
download | Qt-8ec8c7f97efc1e5ae6fc5deae4b4d7aeb0a93f31.zip Qt-8ec8c7f97efc1e5ae6fc5deae4b4d7aeb0a93f31.tar.gz Qt-8ec8c7f97efc1e5ae6fc5deae4b4d7aeb0a93f31.tar.bz2 |
Notify sub-classes of QGraphicsEffect whenever the source changes.
-rw-r--r-- | src/gui/graphicsview/qgraphicseffect.cpp | 9 | ||||
-rw-r--r-- | src/gui/graphicsview/qgraphicseffect.h | 2 | ||||
-rw-r--r-- | src/gui/graphicsview/qgraphicseffect_p.h | 1 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/gui/graphicsview/qgraphicseffect.cpp b/src/gui/graphicsview/qgraphicseffect.cpp index 6bf28ac..f3f7f22 100644 --- a/src/gui/graphicsview/qgraphicseffect.cpp +++ b/src/gui/graphicsview/qgraphicseffect.cpp @@ -187,6 +187,12 @@ bool QGraphicsEffect::isEnabled() const return d->isEnabled; } +QGraphicsEffectSource *QGraphicsEffect::source() const +{ + Q_D(const QGraphicsEffect); + return d->source; +} + void QGraphicsEffect::updateBoundingRect() { Q_D(QGraphicsEffect); @@ -194,6 +200,9 @@ void QGraphicsEffect::updateBoundingRect() d->source->update(); } +void QGraphicsEffect::sourceChanged(QGraphicsEffectSource *) +{} + QGraphicsGrayscaleEffect::QGraphicsGrayscaleEffect() : QGraphicsEffect(*new QGraphicsGrayscaleEffectPrivate) {} diff --git a/src/gui/graphicsview/qgraphicseffect.h b/src/gui/graphicsview/qgraphicseffect.h index 9deada1..1db8b6e 100644 --- a/src/gui/graphicsview/qgraphicseffect.h +++ b/src/gui/graphicsview/qgraphicseffect.h @@ -105,6 +105,7 @@ public: bool hasSourcePixmap() const; virtual QRectF boundingRectFor(const QRectF &rect) const; bool isEnabled() const; + QGraphicsEffectSource *source() const; public Q_SLOTS: void setEnabled(bool enable); @@ -112,6 +113,7 @@ public Q_SLOTS: protected: QGraphicsEffect(QGraphicsEffectPrivate &d); virtual void draw(QPainter *painter, QGraphicsEffectSource *source) = 0; + virtual void sourceChanged(QGraphicsEffectSource *newSource); void updateBoundingRect(); private: diff --git a/src/gui/graphicsview/qgraphicseffect_p.h b/src/gui/graphicsview/qgraphicseffect_p.h index 63da37b..7ebfe07 100644 --- a/src/gui/graphicsview/qgraphicseffect_p.h +++ b/src/gui/graphicsview/qgraphicseffect_p.h @@ -92,6 +92,7 @@ public: delete source; } source = newSource; + q_func()->sourceChanged(newSource); } QRectF boundingRect; QPixmap sourcePixmap; |