summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qblittable_p.h
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2010-03-29 08:06:52 (GMT)
committerJørgen Lind <jorgen.lind@nokia.com>2010-03-29 08:06:52 (GMT)
commita5e1442d8960d3a9f363a8101d02e6fae804b6f8 (patch)
treee4ccac01df0d33b79dfd06e3f335766e25a34831 /src/gui/painting/qblittable_p.h
parent9e12625b31e1d95f023fe67deb50e8bf97903994 (diff)
downloadQt-a5e1442d8960d3a9f363a8101d02e6fae804b6f8.zip
Qt-a5e1442d8960d3a9f363a8101d02e6fae804b6f8.tar.gz
Qt-a5e1442d8960d3a9f363a8101d02e6fae804b6f8.tar.bz2
Make sure the blitter api works with Raster GS(x11 and win) and QWS
Diffstat (limited to 'src/gui/painting/qblittable_p.h')
-rw-r--r--src/gui/painting/qblittable_p.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/gui/painting/qblittable_p.h b/src/gui/painting/qblittable_p.h
new file mode 100644
index 0000000..98caab7d
--- /dev/null
+++ b/src/gui/painting/qblittable_p.h
@@ -0,0 +1,48 @@
+#ifndef QBLITTABLE_P_H
+#define QBLITTABLE_P_H
+
+#include <QtCore/qsize.h>
+
+#ifndef QT_NO_BLITTABLE
+QT_BEGIN_NAMESPACE
+
+class QImage;
+class QBlittablePrivate;
+
+class Q_GUI_EXPORT QBlittable
+{
+ Q_DECLARE_PRIVATE(QBlittable);
+public:
+ enum Capability {
+
+ SolidRectCapability = 0x0001,
+ SourcePixmapCapability = 0x0002,
+ SourceOverPixmapCapability = 0x0004,
+ SourceOverScaledPixmapCapability = 0x0008,
+
+ // Internal ones
+ OutlineCapability = 0x0001000,
+ };
+ Q_DECLARE_FLAGS (Capabilities, Capability);
+
+ QBlittable(const QSize &size, Capabilities caps);
+ virtual ~QBlittable();
+
+ Capabilities capabilities() const;
+ QSize size() const;
+
+ virtual void fillRect(const QRectF &rect, const QColor &color) = 0;
+ virtual void drawPixmap(const QRectF &rect, const QPixmap &pixmap, const QRectF &subrect) = 0;
+
+ QImage *lock();
+ void unlock();
+
+protected:
+ virtual QImage *doLock() = 0;
+ virtual void doUnlock() = 0;
+ QBlittablePrivate *d_ptr;
+};
+
+QT_END_NAMESPACE
+#endif //QT_NO_BLITTABLE
+#endif //QBLITTABLE_P_H