diff options
author | Samuel Rødal <sroedal@trolltech.com> | 2009-06-30 12:23:20 (GMT) |
---|---|---|
committer | Samuel Rødal <sroedal@trolltech.com> | 2009-06-30 12:24:21 (GMT) |
commit | c92b73a19b34ec97262c0959653ac1faf6621de6 (patch) | |
tree | 497c554d8ca37fe6ba13313a4007f6ba1af2eca9 /src/gui/image/qpixmapfilter_p.h | |
parent | a50aa375477c88e688bb919cd1776be9afe4f6c3 (diff) | |
download | Qt-c92b73a19b34ec97262c0959653ac1faf6621de6.zip Qt-c92b73a19b34ec97262c0959653ac1faf6621de6.tar.gz Qt-c92b73a19b34ec97262c0959653ac1faf6621de6.tar.bz2 |
Added QPixmapBlurFilter with GL implementation.
No raster engine based fallback so far... Also, performance is lacking
since the QGLShaderProgram isn't cached.
Diffstat (limited to 'src/gui/image/qpixmapfilter_p.h')
-rw-r--r-- | src/gui/image/qpixmapfilter_p.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/gui/image/qpixmapfilter_p.h b/src/gui/image/qpixmapfilter_p.h index 51292b3..6978f03 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 }; @@ -117,6 +118,30 @@ private: int columns() const; }; +class QPixmapBlurFilterPrivate; + +class Q_GUI_EXPORT QPixmapBlurFilter : public QPixmapFilter +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QPixmapBlurFilter) + +public: + QPixmapBlurFilter(QObject *parent = 0); + ~QPixmapBlurFilter(); + + void setRadius(int radius); + void setQuality(Qt::TransformationMode mode); + + QRectF boundingRectFor(const QRectF &rect) const; + void draw(QPainter *painter, const QPointF &dest, const QPixmap &src, const QRectF &srcRect = QRectF()) const; + +private: + friend class QGLPixmapBlurFilter; + + int radius() const; + Qt::TransformationMode quality() const; +}; + class QPixmapColorizeFilterPrivate; class Q_GUI_EXPORT QPixmapColorizeFilter : public QPixmapFilter |