diff options
author | Rhys Weatherley <rhys.weatherley@nokia.com> | 2009-07-23 13:53:06 +1000 |
---|---|---|
committer | Rhys Weatherley <rhys.weatherley@nokia.com> | 2009-07-23 13:53:06 +1000 |
commit | 787f2252077434581101df64d0f0d576c26b7ce8 (patch) | |
tree | e0ff51ac86c3df457648f6857c4e8a54566140c2 /src/gui/image/qpixmapfilter_p.h | |
parent | e0c84298b2d4ed0b8b564dd491e5687296b75ebc (diff) |
Add QPixmapBlurFilter for non-convolution blur effects.
Reviewed-by: trustme
Diffstat (limited to 'src/gui/image/qpixmapfilter_p.h')
-rw-r--r-- | src/gui/image/qpixmapfilter_p.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/gui/image/qpixmapfilter_p.h b/src/gui/image/qpixmapfilter_p.h index 51292b3d61..ca27cbfcd7 100644 --- a/src/gui/image/qpixmapfilter_p.h +++ b/src/gui/image/qpixmapfilter_p.h @@ -78,6 +78,7 @@ public: ConvolutionFilter, ColorizeFilter, DropShadowFilter, + BlurFilter, UserFilter = 1024 }; @@ -158,6 +159,33 @@ public: inline void setOffset(qreal dx, qreal dy) { setOffset(QPointF(dx, dy)); } }; +class QPixmapBlurFilterPrivate; + +class Q_GUI_EXPORT QPixmapBlurFilter : public QPixmapFilter +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QPixmapBlurFilter) + +public: + QPixmapBlurFilter(QObject *parent = 0); + ~QPixmapBlurFilter(); + + enum BlurQuality + { + Fast, + High + }; + + BlurQuality blurQuality() const; + void setBlurQuality(BlurQuality blurQuality); + + qreal blurRadius() const; + void setBlurRadius(qreal blurRadius); + + QRectF boundingRectFor(const QRectF &rect) const; + void draw(QPainter *painter, const QPointF &dest, const QPixmap &src, const QRectF &srcRect = QRectF()) const; +}; + QT_END_NAMESPACE QT_END_HEADER |