summaryrefslogtreecommitdiffstats
path: root/src/gui/image/qpixmapfilter_p.h
diff options
context:
space:
mode:
authorSamuel Rødal <sroedal@trolltech.com>2009-06-30 12:23:20 (GMT)
committerSamuel Rødal <sroedal@trolltech.com>2009-06-30 12:24:21 (GMT)
commitc92b73a19b34ec97262c0959653ac1faf6621de6 (patch)
tree497c554d8ca37fe6ba13313a4007f6ba1af2eca9 /src/gui/image/qpixmapfilter_p.h
parenta50aa375477c88e688bb919cd1776be9afe4f6c3 (diff)
downloadQt-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.h25
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