summaryrefslogtreecommitdiffstats
path: root/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
diff options
context:
space:
mode:
authorAnders Bakken <anders.bakken@nokia.com>2009-07-28 21:30:27 (GMT)
committerAnders Bakken <anders.bakken@nokia.com>2009-07-28 22:00:45 (GMT)
commit77fc1ccec09e23de6fc6fedd368cef8111745711 (patch)
treecb6a982932a79892b6d0dadb05c2e1dba1854e17 /src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
parentc0f85469a76a25fff6951b634b67cfbcd0507b93 (diff)
downloadQt-77fc1ccec09e23de6fc6fedd368cef8111745711.zip
Qt-77fc1ccec09e23de6fc6fedd368cef8111745711.tar.gz
Qt-77fc1ccec09e23de6fc6fedd368cef8111745711.tar.bz2
Refactor QDirectFBPaintDevice
Make the engine a member in QDirectFBPaintDevice instead of one in QDirectFBPixmapData and one in QDirectFBWindowSurface. Don't use the default screen for the dfbpaintdevices. Pass one explicitly. Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
Diffstat (limited to 'src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h')
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h b/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
index 248a15b..a6f9265 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
@@ -51,7 +51,8 @@ QT_BEGIN_HEADER
QT_MODULE(Gui)
// Inherited by both window surface and pixmap
- class QDirectFBPaintDevice : public QCustomRasterPaintDevice
+class QDirectFBPaintEngine;
+class QDirectFBPaintDevice : public QCustomRasterPaintDevice
{
public:
~QDirectFBPaintDevice();
@@ -68,13 +69,10 @@ public:
QSize size() const;
int metric(QPaintDevice::PaintDeviceMetric metric) const;
DFBSurfaceLockFlags lockFlags() const { return lock; }
-protected:
- // Shouldn't create QDirectFBPaintDevice by itself but only sub-class it:
- QDirectFBPaintDevice(QDirectFBScreen *scr = QDirectFBScreen::instance())
- : QCustomRasterPaintDevice(0), dfbSurface(0), lockedImage(0), screen(scr),
- lock(DFBSurfaceLockFlags(0)), mem(0)
- {}
+ QPaintEngine *paintEngine() const;
+protected:
+ QDirectFBPaintDevice(QDirectFBScreen *scr);
inline int dotsPerMeterX() const
{
return (screen->deviceWidth() * 1000) / screen->physicalWidth();
@@ -90,9 +88,10 @@ protected:
int bpl;
DFBSurfaceLockFlags lock;
uchar *mem;
+ QDirectFBPaintEngine *engine;
private:
- Q_DISABLE_COPY(QDirectFBPaintDevice)
- };
+ Q_DISABLE_COPY(QDirectFBPaintDevice);
+};
QT_END_HEADER