diff options
Diffstat (limited to 'src/plugins/platforms/minimal')
-rw-r--r-- | src/plugins/platforms/minimal/minimal.pro | 6 | ||||
-rw-r--r-- | src/plugins/platforms/minimal/qminimalbackingstore.cpp (renamed from src/plugins/platforms/minimal/qminimalwindowsurface.cpp) | 30 | ||||
-rw-r--r-- | src/plugins/platforms/minimal/qminimalbackingstore.h (renamed from src/plugins/platforms/minimal/qminimalwindowsurface.h) | 18 | ||||
-rw-r--r-- | src/plugins/platforms/minimal/qminimalintegration.cpp | 37 | ||||
-rw-r--r-- | src/plugins/platforms/minimal/qminimalintegration.h | 10 |
5 files changed, 57 insertions, 44 deletions
diff --git a/src/plugins/platforms/minimal/minimal.pro b/src/plugins/platforms/minimal/minimal.pro index d51b6b2ed0..392d12d19a 100644 --- a/src/plugins/platforms/minimal/minimal.pro +++ b/src/plugins/platforms/minimal/minimal.pro @@ -1,14 +1,14 @@ TARGET = qminimal load(qt_plugin) -QT = core-private gui-private +QT += core-private gui-private platformsupport-private DESTDIR = $$QT.gui.plugins/platforms SOURCES = main.cpp \ qminimalintegration.cpp \ - qminimalwindowsurface.cpp + qminimalbackingstore.cpp HEADERS = qminimalintegration.h \ - qminimalwindowsurface.h + qminimalbackingstore.h target.path += $$[QT_INSTALL_PLUGINS]/platforms INSTALLS += target diff --git a/src/plugins/platforms/minimal/qminimalwindowsurface.cpp b/src/plugins/platforms/minimal/qminimalbackingstore.cpp index 91c68d1d2d..08281405a4 100644 --- a/src/plugins/platforms/minimal/qminimalwindowsurface.cpp +++ b/src/plugins/platforms/minimal/qminimalbackingstore.cpp @@ -40,45 +40,45 @@ ****************************************************************************/ -#include "qminimalwindowsurface.h" +#include "qminimalbackingstore.h" +#include "qscreen.h" #include <QtCore/qdebug.h> -#include <QtGui/private/qapplication_p.h> +#include <private/qguiapplication_p.h> QT_BEGIN_NAMESPACE -QMinimalWindowSurface::QMinimalWindowSurface(QWidget *window) - : QWindowSurface(window) +QMinimalBackingStore::QMinimalBackingStore(QWindow *window) + : QPlatformBackingStore(window) { - //qDebug() << "QMinimalWindowSurface::QMinimalWindowSurface:" << (long)this; + //qDebug() << "QMinimalBackingStore::QMinimalBackingStore:" << (long)this; } -QMinimalWindowSurface::~QMinimalWindowSurface() +QMinimalBackingStore::~QMinimalBackingStore() { } -QPaintDevice *QMinimalWindowSurface::paintDevice() +QPaintDevice *QMinimalBackingStore::paintDevice() { - //qDebug() << "QMinimalWindowSurface::paintDevice"; + //qDebug() << "QMinimalBackingStore::paintDevice"; return &mImage; } -void QMinimalWindowSurface::flush(QWidget *widget, const QRegion ®ion, const QPoint &offset) +void QMinimalBackingStore::flush(QWindow *window, const QRegion ®ion, const QPoint &offset) { - Q_UNUSED(widget); + Q_UNUSED(window); Q_UNUSED(region); Q_UNUSED(offset); static int c = 0; QString filename = QString("output%1.png").arg(c++, 4, 10, QLatin1Char('0')); - qDebug() << "QMinimalWindowSurface::flush() saving contents to" << filename.toLocal8Bit().constData(); + qDebug() << "QMinimalBackingStore::flush() saving contents to" << filename.toLocal8Bit().constData(); mImage.save(filename); } -void QMinimalWindowSurface::resize(const QSize &size) +void QMinimalBackingStore::resize(const QSize &size, const QRegion &) { - //qDebug() << "QMinimalWindowSurface::setGeometry:" << (long)this << rect; - QWindowSurface::resize(size); - QImage::Format format = QApplicationPrivate::platformIntegration()->screens().first()->format(); + //qDebug() << "QMinimalBackingStore::setGeometry:" << (long)this << rect; + QImage::Format format = QGuiApplication::primaryScreen()->handle()->format(); if (mImage.size() != size) mImage = QImage(size, format); } diff --git a/src/plugins/platforms/minimal/qminimalwindowsurface.h b/src/plugins/platforms/minimal/qminimalbackingstore.h index 2c6196a19a..9b61275e9d 100644 --- a/src/plugins/platforms/minimal/qminimalwindowsurface.h +++ b/src/plugins/platforms/minimal/qminimalbackingstore.h @@ -39,24 +39,24 @@ ** ****************************************************************************/ -#ifndef QWINDOWSURFACE_MINIMAL_H -#define QWINDOWSURFACE_MINIMAL_H - -#include <QtGui/private/qwindowsurface_p.h> +#ifndef QBACKINGSTORE_MINIMAL_H +#define QBACKINGSTORE_MINIMAL_H +#include <QtGui/QPlatformBackingStore> #include <QtGui/QPlatformWindow> +#include <QtGui/QImage> QT_BEGIN_NAMESPACE -class QMinimalWindowSurface : public QWindowSurface +class QMinimalBackingStore : public QPlatformBackingStore { public: - QMinimalWindowSurface(QWidget *window); - ~QMinimalWindowSurface(); + QMinimalBackingStore(QWindow *window); + ~QMinimalBackingStore(); QPaintDevice *paintDevice(); - void flush(QWidget *widget, const QRegion ®ion, const QPoint &offset); - void resize(const QSize &size); + void flush(QWindow *window, const QRegion ®ion, const QPoint &offset); + void resize(const QSize &size, const QRegion &staticContents); private: QImage mImage; diff --git a/src/plugins/platforms/minimal/qminimalintegration.cpp b/src/plugins/platforms/minimal/qminimalintegration.cpp index b9ab528b50..2f2da6967a 100644 --- a/src/plugins/platforms/minimal/qminimalintegration.cpp +++ b/src/plugins/platforms/minimal/qminimalintegration.cpp @@ -40,20 +40,34 @@ ****************************************************************************/ #include "qminimalintegration.h" -#include "qminimalwindowsurface.h" +#include "qminimalbackingstore.h" +#ifndef Q_OS_WIN +#include <QtPlatformSupport/private/qgenericunixeventdispatcher_p.h> +#else +#include <QtCore/private/qeventdispatcher_win_p.h> +#endif #include <QtGui/private/qpixmap_raster_p.h> +#include <QtGui/private/qguiapplication_p.h> #include <QtGui/QPlatformWindow> -QMinimalIntegration::QMinimalIntegration() +QT_BEGIN_NAMESPACE + +QMinimalIntegration::QMinimalIntegration() : +#ifdef Q_OS_WIN + m_eventDispatcher(new QEventDispatcherWin32()) +#else + m_eventDispatcher(createUnixEventDispatcher()) +#endif { + QGuiApplicationPrivate::instance()->setEventDispatcher(m_eventDispatcher); QMinimalScreen *mPrimaryScreen = new QMinimalScreen(); mPrimaryScreen->mGeometry = QRect(0, 0, 240, 320); mPrimaryScreen->mDepth = 32; mPrimaryScreen->mFormat = QImage::Format_ARGB32_Premultiplied; - mScreens.append(mPrimaryScreen); + screenAdded(mPrimaryScreen); } bool QMinimalIntegration::hasCapability(QPlatformIntegration::Capability cap) const @@ -64,19 +78,20 @@ bool QMinimalIntegration::hasCapability(QPlatformIntegration::Capability cap) co } } -QPixmapData *QMinimalIntegration::createPixmapData(QPixmapData::PixelType type) const +QPlatformWindow *QMinimalIntegration::createPlatformWindow(QWindow *window) const { - return new QRasterPixmapData(type); + Q_UNUSED(window); + return new QPlatformWindow(window); } -QPlatformWindow *QMinimalIntegration::createPlatformWindow(QWidget *widget, WId winId) const +QPlatformBackingStore *QMinimalIntegration::createPlatformBackingStore(QWindow *window) const { - Q_UNUSED(winId); - return new QPlatformWindow(widget); + return new QMinimalBackingStore(window); } -QWindowSurface *QMinimalIntegration::createWindowSurface(QWidget *widget, WId winId) const +QAbstractEventDispatcher *QMinimalIntegration::guiThreadEventDispatcher() const { - Q_UNUSED(winId); - return new QMinimalWindowSurface(widget); + return m_eventDispatcher; } + +QT_END_NAMESPACE diff --git a/src/plugins/platforms/minimal/qminimalintegration.h b/src/plugins/platforms/minimal/qminimalintegration.h index d1fcc42c68..0835c39ab6 100644 --- a/src/plugins/platforms/minimal/qminimalintegration.h +++ b/src/plugins/platforms/minimal/qminimalintegration.h @@ -71,14 +71,12 @@ public: bool hasCapability(QPlatformIntegration::Capability cap) const; - QPixmapData *createPixmapData(QPixmapData::PixelType type) const; - QPlatformWindow *createPlatformWindow(QWidget *widget, WId winId) const; - QWindowSurface *createWindowSurface(QWidget *widget, WId winId) const; - - QList<QPlatformScreen *> screens() const { return mScreens; } + QPlatformWindow *createPlatformWindow(QWindow *window) const; + QPlatformBackingStore *createPlatformBackingStore(QWindow *window) const; + QAbstractEventDispatcher *guiThreadEventDispatcher() const; private: - QList<QPlatformScreen *> mScreens; + QAbstractEventDispatcher *m_eventDispatcher; }; QT_END_NAMESPACE |