diff options
author | Anders Bakken <anders.bakken@nokia.com> | 2009-07-28 21:30:27 (GMT) |
---|---|---|
committer | Anders Bakken <anders.bakken@nokia.com> | 2009-07-28 22:00:45 (GMT) |
commit | 77fc1ccec09e23de6fc6fedd368cef8111745711 (patch) | |
tree | cb6a982932a79892b6d0dadb05c2e1dba1854e17 /src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h | |
parent | c0f85469a76a25fff6951b634b67cfbcd0507b93 (diff) | |
download | Qt-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.h | 17 |
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 |