summaryrefslogtreecommitdiffstats
path: root/src/gui/effects
diff options
context:
space:
mode:
authorSamuel Rødal <sroedal@trolltech.com>2009-10-30 13:26:55 (GMT)
committerSamuel Rødal <sroedal@trolltech.com>2009-11-02 11:57:54 (GMT)
commit2a902676b74d0aa3482e722602879f7a02be1103 (patch)
tree33109034e7b39dd9611c14c34b67936261139fc8 /src/gui/effects
parent70b7f26c3155e83d59cae7b89ed1af3b57797a73 (diff)
downloadQt-2a902676b74d0aa3482e722602879f7a02be1103.zip
Qt-2a902676b74d0aa3482e722602879f7a02be1103.tar.gz
Qt-2a902676b74d0aa3482e722602879f7a02be1103.tar.bz2
Moved Qt::RenderHint back into QGraphicsBlurEffect and added a hint.
Added AnimationHint, which didn't make too much sense in a generic enum, so Qt::RenderHint was moved back into QGraphicsBlurEffect as QGraphicsBlurEffect::BlurHint. Reviewed-by: Gunnar Sletta
Diffstat (limited to 'src/gui/effects')
-rw-r--r--src/gui/effects/qgraphicseffect.cpp37
-rw-r--r--src/gui/effects/qgraphicseffect.h14
2 files changed, 38 insertions, 13 deletions
diff --git a/src/gui/effects/qgraphicseffect.cpp b/src/gui/effects/qgraphicseffect.cpp
index c8e39da..e181b18 100644
--- a/src/gui/effects/qgraphicseffect.cpp
+++ b/src/gui/effects/qgraphicseffect.cpp
@@ -613,6 +613,26 @@ void QGraphicsColorizeEffect::draw(QPainter *painter, QGraphicsEffectSource *sou
*/
/*!
+ \enum QGraphicsBlurEffect::BlurHint
+ \since 4.6
+
+ This enum describes the possible hints that can be used to control how
+ blur effects are applied. The hints might not have an effect in all the
+ paint engines.
+
+ \value QualityHint Indicates that rendering quality is the most important factor,
+ at the potential cost of lower performance.
+
+ \value PerformanceHint Indicates that rendering performance is the most important factor,
+ at the potential cost of lower quality.
+
+ \value AnimationHint Indicates that the blur radius is going to be animated, hinting
+ that the implementation can keep a cache of blurred verisons of the source pixmap.
+ Do not use this hint if the source item is going to be dynamically changing.
+*/
+
+
+/*!
Constructs a new QGraphicsBlurEffect instance.
The \a parent parameter is passed to QGraphicsEffect's constructor.
*/
@@ -620,7 +640,7 @@ QGraphicsBlurEffect::QGraphicsBlurEffect(QObject *parent)
: QGraphicsEffect(*new QGraphicsBlurEffectPrivate, parent)
{
Q_D(QGraphicsBlurEffect);
- d->filter->setBlurHint(Qt::PerformanceHint);
+ d->filter->setBlurHint(QGraphicsBlurEffect::PerformanceHint);
}
/*!
@@ -667,20 +687,19 @@ void QGraphicsBlurEffect::setBlurRadius(qreal radius)
\property QGraphicsBlurEffect::blurHint
\brief the blur hint of the effect.
- Use the Qt::PerformanceHint hint to say that you want a faster blur,
- and the Qt::QualityHint hint to say that you prefer a higher quality blur.
-
- When animating the blur radius it's recommended to use Qt::PerformanceHint.
+ Use the PerformanceHint hint to say that you want a faster blur,
+ the QualityHint hint to say that you prefer a higher quality blur,
+ or the AnimationHint when you want to animate the blur radius.
- By default, the blur hint is Qt::PerformanceHint.
+ By default, the blur hint is PerformanceHint.
*/
-Qt::RenderHint QGraphicsBlurEffect::blurHint() const
+QGraphicsBlurEffect::BlurHint QGraphicsBlurEffect::blurHint() const
{
Q_D(const QGraphicsBlurEffect);
return d->filter->blurHint();
}
-void QGraphicsBlurEffect::setBlurHint(Qt::RenderHint hint)
+void QGraphicsBlurEffect::setBlurHint(QGraphicsBlurEffect::BlurHint hint)
{
Q_D(QGraphicsBlurEffect);
if (d->filter->blurHint() == hint)
@@ -691,7 +710,7 @@ void QGraphicsBlurEffect::setBlurHint(Qt::RenderHint hint)
}
/*!
- \fn void QGraphicsBlurEffect::blurHintChanged(Qt::RenderHint hint)
+ \fn void QGraphicsBlurEffect::blurHintChanged(Qt::BlurHint hint)
This signal is emitted whenever the effect's blur hint changes.
The \a hint parameter holds the effect's new blur hint.
diff --git a/src/gui/effects/qgraphicseffect.h b/src/gui/effects/qgraphicseffect.h
index bf18581..7335a25 100644
--- a/src/gui/effects/qgraphicseffect.h
+++ b/src/gui/effects/qgraphicseffect.h
@@ -183,22 +183,28 @@ class Q_GUI_EXPORT QGraphicsBlurEffect: public QGraphicsEffect
{
Q_OBJECT
Q_PROPERTY(qreal blurRadius READ blurRadius WRITE setBlurRadius NOTIFY blurRadiusChanged)
- Q_PROPERTY(Qt::RenderHint blurHint READ blurHint WRITE setBlurHint NOTIFY blurHintChanged)
+ Q_PROPERTY(BlurHint blurHint READ blurHint WRITE setBlurHint NOTIFY blurHintChanged)
public:
+ enum BlurHint {
+ QualityHint,
+ PerformanceHint,
+ AnimationHint
+ };
+
QGraphicsBlurEffect(QObject *parent = 0);
~QGraphicsBlurEffect();
QRectF boundingRectFor(const QRectF &rect) const;
qreal blurRadius() const;
- Qt::RenderHint blurHint() const;
+ BlurHint blurHint() const;
public Q_SLOTS:
void setBlurRadius(qreal blurRadius);
- void setBlurHint(Qt::RenderHint hint);
+ void setBlurHint(BlurHint hint);
Q_SIGNALS:
void blurRadiusChanged(qreal blurRadius);
- void blurHintChanged(Qt::RenderHint hint);
+ void blurHintChanged(BlurHint hint);
protected:
void draw(QPainter *painter, QGraphicsEffectSource *source);