diff options
author | Jørgen Lind <jorgen.lind@nokia.com> | 2010-03-29 08:06:52 (GMT) |
---|---|---|
committer | Jørgen Lind <jorgen.lind@nokia.com> | 2010-03-29 08:06:52 (GMT) |
commit | a5e1442d8960d3a9f363a8101d02e6fae804b6f8 (patch) | |
tree | e4ccac01df0d33b79dfd06e3f335766e25a34831 /src/gui/painting/qblittable_p.h | |
parent | 9e12625b31e1d95f023fe67deb50e8bf97903994 (diff) | |
download | Qt-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.h | 48 |
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 |