summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/directfb/qdirectfbinput.cpp13
-rw-r--r--src/plugins/platforms/directfb/qdirectfbinput.h4
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindow.cpp157
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindow.h73
-rw-r--r--src/plugins/platforms/directfb/qplatformintegration_directfb.cpp11
-rw-r--r--src/plugins/platforms/directfb/qplatformintegration_directfb.h3
-rw-r--r--src/plugins/platforms/directfb/qwindowsurface_directfb.cpp114
-rw-r--r--src/plugins/platforms/directfb/qwindowsurface_directfb.h15
-rw-r--r--src/plugins/platforms/minimal/minimal.pro2
-rw-r--r--src/plugins/platforms/minimal/qplatformintegration_minimal.cpp14
-rw-r--r--src/plugins/platforms/minimal/qplatformintegration_minimal.h3
11 files changed, 276 insertions, 133 deletions
diff --git a/src/plugins/platforms/directfb/qdirectfbinput.cpp b/src/plugins/platforms/directfb/qdirectfbinput.cpp
index 74a38a4..90c3348 100644
--- a/src/plugins/platforms/directfb/qdirectfbinput.cpp
+++ b/src/plugins/platforms/directfb/qdirectfbinput.cpp
@@ -78,16 +78,13 @@ void QDirectFbInput::addWindow(DFBWindowID id, QWidget *tlw)
window->AttachEventBuffer(window,eventBuffer);
}
-void QDirectFbInput::removeWindow(QWidget *tlw)
+void QDirectFbInput::removeWindow(WId wId)
{
- DFBWindowID id = tlwMap.key(tlw,0);
- if (id) {
- IDirectFBWindow *window;
- dfbDisplayLayer->GetWindow(dfbDisplayLayer,id, &window);
+ IDirectFBWindow *window;
+ dfbDisplayLayer->GetWindow(dfbDisplayLayer,wId, &window);
- window->DetachEventBuffer(window,eventBuffer);
- tlwMap.remove(id);
- }
+ window->DetachEventBuffer(window,eventBuffer);
+ tlwMap.remove(wId);
}
void QDirectFbInput::handleEvents()
diff --git a/src/plugins/platforms/directfb/qdirectfbinput.h b/src/plugins/platforms/directfb/qdirectfbinput.h
index 31aa082..016e7f1 100644
--- a/src/plugins/platforms/directfb/qdirectfbinput.h
+++ b/src/plugins/platforms/directfb/qdirectfbinput.h
@@ -9,6 +9,8 @@
#include <QPoint>
#include <QEvent>
+#include <QtGui/qwindowdefs.h>
+
#include <directfb.h>
class InputSocketWaiter : public QThread
@@ -35,7 +37,7 @@ class QDirectFbInput : public QObject
public:
static QDirectFbInput *instance();
void addWindow(DFBWindowID id, QWidget *tlw);
- void removeWindow(QWidget *tlw);
+ void removeWindow(WId wId);
public slots:
void handleEvents();
diff --git a/src/plugins/platforms/directfb/qdirectfbwindow.cpp b/src/plugins/platforms/directfb/qdirectfbwindow.cpp
new file mode 100644
index 0000000..d88953e
--- /dev/null
+++ b/src/plugins/platforms/directfb/qdirectfbwindow.cpp
@@ -0,0 +1,157 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtOpenVG module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "qdirectfbwindow.h"
+#include "qdirectfbinput.h"
+
+#include <QWidget>
+
+#include <directfb.h>
+
+QDirectFbWindow::QDirectFbWindow(QWidget *tlw)
+ : QPlatformWindow(tlw)
+{
+ IDirectFBDisplayLayer *layer = QDirectFbConvenience::dfbDisplayLayer();
+ DFBDisplayLayerConfig layerConfig;
+ layer->GetConfiguration(layer,&layerConfig);
+
+ DFBWindowDescription description;
+ memset(&description,0,sizeof(DFBWindowDescription));
+ description.flags = DFBWindowDescriptionFlags(DWDESC_WIDTH|DWDESC_HEIGHT|DWDESC_POSX|DWDESC_POSY|DWDESC_SURFACE_CAPS
+#if DIRECTFB_MINOR_VERSION >= 1
+ |DWDESC_OPTIONS
+#endif
+ |DWDESC_CAPS);
+ description.width = tlw->rect().width();
+ description.height = tlw->rect().height();
+ description.posx = tlw->rect().x();
+ description.posy = tlw->rect().y();
+
+ if (layerConfig.surface_caps & DSCAPS_PREMULTIPLIED)
+ description.surface_caps = DSCAPS_PREMULTIPLIED;
+ description.pixelformat = layerConfig.pixelformat;
+
+#if DIRECTFB_MINOR_VERSION >= 1
+ description.options = DFBWindowOptions(DWOP_ALPHACHANNEL);
+#endif
+ description.caps = DFBWindowCapabilities(DWCAPS_DOUBLEBUFFER|DWCAPS_ALPHACHANNEL);
+ description.surface_caps = DSCAPS_PREMULTIPLIED;
+
+ DFBResult result = layer->CreateWindow(layer,&description,&m_dfbWindow);
+ if (result != DFB_OK) {
+ DirectFBError("QDirectFbGraphicsSystemScreen: failed to create window",result);
+ }
+
+ m_dfbWindow->SetOpacity(m_dfbWindow,0xff);
+
+ DFBWindowID id;
+ m_dfbWindow->GetID(m_dfbWindow, &id);
+ QDirectFbInput::instance()->addWindow(id,tlw);
+}
+
+QDirectFbWindow::~QDirectFbWindow()
+{
+ QDirectFbInput::instance()->removeWindow(winId());
+ m_dfbWindow->Destroy(m_dfbWindow);
+}
+
+void QDirectFbWindow::setGeometry(const QRect &rect)
+{
+ QPlatformWindow::setGeometry(rect);
+ m_dfbWindow->SetBounds(m_dfbWindow, rect.x(),rect.y(),
+ rect.width(), rect.height());
+
+}
+
+void QDirectFbWindow::setOpacity(qreal level)
+{
+ const quint8 windowOpacity = quint8(level * 0xff);
+ m_dfbWindow->SetOpacity(m_dfbWindow,windowOpacity);
+}
+
+void QDirectFbWindow::setVisible(bool visible)
+{
+ if (visible) {
+ int x = geometry().x();
+ int y = geometry().y();
+ m_dfbWindow->MoveTo(m_dfbWindow,x,y);
+ } else {
+ IDirectFBDisplayLayer *displayLayer;
+ QDirectFbConvenience::dfbInterface()->GetDisplayLayer(QDirectFbConvenience::dfbInterface(),DLID_PRIMARY,&displayLayer);
+
+ DFBDisplayLayerConfig config;
+ displayLayer->GetConfiguration(displayLayer,&config);
+ m_dfbWindow->MoveTo(m_dfbWindow,config.width+1,config.height + 1);
+ }
+}
+
+Qt::WindowFlags QDirectFbWindow::setWindowFlags(Qt::WindowFlags flags)
+{
+ switch (flags & Qt::WindowType_Mask) {
+ case Qt::ToolTip: {
+ DFBWindowOptions options;
+ m_dfbWindow->GetOptions(m_dfbWindow,&options);
+ options = DFBWindowOptions(options | DWOP_GHOST);
+ m_dfbWindow->SetOptions(m_dfbWindow,options);
+ break; }
+ default:
+ break;
+ }
+
+ m_dfbWindow->SetStackingClass(m_dfbWindow, flags & Qt::WindowStaysOnTopHint ? DWSC_UPPER : DWSC_MIDDLE);
+ return flags;
+}
+
+void QDirectFbWindow::raise()
+{
+ m_dfbWindow->RaiseToTop(m_dfbWindow);
+}
+
+void QDirectFbWindow::lower()
+{
+ m_dfbWindow->LowerToBottom(m_dfbWindow);
+}
+
+WId QDirectFbWindow::winId() const
+{
+ DFBWindowID id;
+ m_dfbWindow->GetID(m_dfbWindow, &id);
+ return WId(id);
+}
diff --git a/src/plugins/platforms/directfb/qdirectfbwindow.h b/src/plugins/platforms/directfb/qdirectfbwindow.h
new file mode 100644
index 0000000..d5fd408
--- /dev/null
+++ b/src/plugins/platforms/directfb/qdirectfbwindow.h
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtOpenVG module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QDIRECTFBWINDOW_H
+#define QDIRECTFBWINDOW_H
+
+#include <QPlatformWindow>
+
+#include "qdirectfbconvenience.h"
+
+QT_BEGIN_NAMESPACE
+
+class QDirectFbWindow : public QPlatformWindow
+{
+public:
+ QDirectFbWindow(QWidget *tlw);
+ ~QDirectFbWindow();
+
+ void setGeometry(const QRect &rect);
+ void setOpacity(qreal level);
+
+ void setVisible(bool visible);
+
+ Qt::WindowFlags setWindowFlags(Qt::WindowFlags flags);
+ void raise();
+ void lower();
+ WId winId() const;
+
+private:
+ IDirectFBWindow *m_dfbWindow;
+};
+
+QT_END_NAMESPACE
+
+#endif // QDIRECTFBWINDOW_H
diff --git a/src/plugins/platforms/directfb/qplatformintegration_directfb.cpp b/src/plugins/platforms/directfb/qplatformintegration_directfb.cpp
index c70bb64..5f428ef 100644
--- a/src/plugins/platforms/directfb/qplatformintegration_directfb.cpp
+++ b/src/plugins/platforms/directfb/qplatformintegration_directfb.cpp
@@ -44,6 +44,7 @@
#include "qblitter_directfb.h"
#include "qdirectfbconvenience.h"
#include "qdirectfbcursor.h"
+#include "qdirectfbwindow.h"
#include <private/qwindowsurface_raster_p.h>
#include <private/qpixmap_raster_p.h>
@@ -105,9 +106,15 @@ QPixmapData *QDirectFbIntegration::createPixmapData(QPixmapData::PixelType type)
return new QBlittablePixmapData(type);
}
-QWindowSurface *QDirectFbIntegration::createWindowSurface(QWidget *widget) const
+QPlatformWindow *QDirectFbIntegration::createPlatformWindow(QWidget *widget, WId winId) const
{
- return new QDirectFbWindowSurface (widget);
+ Q_UNUSED(winId);
+ return new QDirectFbWindow(widget);
+}
+
+QWindowSurface *QDirectFbIntegration::createWindowSurfaceForWindow(QWidget *widget, WId winId) const
+{
+ return new QDirectFbWindowSurface(widget,winId);
}
QBlittable *QDirectFbIntegration::createBlittable(const QSize &size) const
diff --git a/src/plugins/platforms/directfb/qplatformintegration_directfb.h b/src/plugins/platforms/directfb/qplatformintegration_directfb.h
index f74a81d..a8489c0 100644
--- a/src/plugins/platforms/directfb/qplatformintegration_directfb.h
+++ b/src/plugins/platforms/directfb/qplatformintegration_directfb.h
@@ -82,7 +82,8 @@ public:
QDirectFbIntegration();
QPixmapData *createPixmapData(QPixmapData::PixelType type) const;
- QWindowSurface *createWindowSurface(QWidget *widget) const;
+ QPlatformWindow *createPlatformWindow(QWidget *widget, WId winId = 0) const;
+ QWindowSurface *createWindowSurfaceForWindow(QWidget *widget, WId winId) const;
QBlittable *createBlittable(const QSize &size) const;
QList<QPlatformScreen *> screens() const { return mScreens; }
diff --git a/src/plugins/platforms/directfb/qwindowsurface_directfb.cpp b/src/plugins/platforms/directfb/qwindowsurface_directfb.cpp
index afe34b7..e978cae 100644
--- a/src/plugins/platforms/directfb/qwindowsurface_directfb.cpp
+++ b/src/plugins/platforms/directfb/qwindowsurface_directfb.cpp
@@ -49,49 +49,19 @@
QT_BEGIN_NAMESPACE
-QDirectFbWindowSurface::QDirectFbWindowSurface(QWidget *window)
- : QWindowSurface(window), m_pixmap(0), m_pmdata(0),
- m_dfbWindow(0), m_dfbSurface(0)
+QDirectFbWindowSurface::QDirectFbWindowSurface(QWidget *window, WId wId)
+ : QWindowSurface(window), m_pixmap(0), m_pmdata(0), m_dfbSurface(0)
{
- window->setWindowSurface(this);
IDirectFBDisplayLayer *layer = QDirectFbConvenience::dfbDisplayLayer();
- DFBDisplayLayerConfig layerConfig;
- layer->GetConfiguration(layer,&layerConfig);
-
- DFBWindowDescription description;
- memset(&description,0,sizeof(DFBWindowDescription));
- description.flags = DFBWindowDescriptionFlags(DWDESC_WIDTH|DWDESC_HEIGHT|DWDESC_POSX|DWDESC_POSY|DWDESC_SURFACE_CAPS
-#if DIRECTFB_MINOR_VERSION >= 1
- |DWDESC_OPTIONS
-#endif
- |DWDESC_CAPS);
- description.width = window->rect().width();
- description.height = window->rect().height();
- description.posx = window->rect().x();
- description.posy = window->rect().y();
-
- if (layerConfig.surface_caps & DSCAPS_PREMULTIPLIED)
- description.surface_caps = DSCAPS_PREMULTIPLIED;
- description.pixelformat = layerConfig.pixelformat;
-
-#if DIRECTFB_MINOR_VERSION >= 1
- description.options = DFBWindowOptions(DWOP_ALPHACHANNEL);
-#endif
- description.caps = DFBWindowCapabilities(DWCAPS_DOUBLEBUFFER|DWCAPS_ALPHACHANNEL);
- description.surface_caps = DSCAPS_PREMULTIPLIED;
-
- DFBResult result = layer->CreateWindow(layer,&description,&m_dfbWindow);
- if (result != DFB_OK) {
- DirectFBError("QDirectFbGraphicsSystemScreen: failed to create window",result);
- }
- DFBWindowID id;
- m_dfbWindow->GetID(m_dfbWindow, &id);
- QDirectFbInput::instance()->addWindow(id,window);
+ DFBWindowID id(wId);
+ IDirectFBWindow *dfbWindow;
- m_dfbWindow->GetSurface(m_dfbWindow,&m_dfbSurface);
+ layer->GetWindow(layer,id,&dfbWindow);
+ dfbWindow->GetSurface(dfbWindow,&m_dfbSurface);
+//WRONGSIZE
QDirectFbBlitter *blitter = new QDirectFbBlitter(window->rect().size(), m_dfbSurface);
m_pmdata = new QBlittablePixmapData(QPixmapData::PixmapType);
m_pmdata->setBlittable(blitter);
@@ -100,8 +70,7 @@ QDirectFbWindowSurface::QDirectFbWindowSurface(QWidget *window)
QDirectFbWindowSurface::~QDirectFbWindowSurface()
{
- QDirectFbInput::instance()->removeWindow(this->window());
- m_dfbWindow->Destroy(m_dfbWindow);
+
}
QPaintDevice *QDirectFbWindowSurface::paintDevice()
@@ -111,11 +80,9 @@ QPaintDevice *QDirectFbWindowSurface::paintDevice()
void QDirectFbWindowSurface::flush(QWidget *widget, const QRegion &region, const QPoint &offset)
{
+ Q_UNUSED(widget);
m_pmdata->blittable()->unlock();
- const quint8 windowOpacity = quint8(widget->windowOpacity() * 0xff);
- m_dfbWindow->SetOpacity(m_dfbWindow,windowOpacity);
-
QVector<QRect> rects = region.rects();
for (int i = 0 ; i < rects.size(); i++) {
const QRect rect = rects.at(i);
@@ -124,17 +91,13 @@ void QDirectFbWindowSurface::flush(QWidget *widget, const QRegion &region, const
}
}
-void QDirectFbWindowSurface::setGeometry(const QRect &rect)
+void QDirectFbWindowSurface::resize(const QSize &size)
{
- m_pmdata->blittable()->unlock();
-
- QWindowSurface::setGeometry(rect);
- m_dfbWindow->SetBounds(m_dfbWindow, rect.x(),rect.y(),
- rect.width(), rect.height());
+ QWindowSurface::resize(size);
//Have to add 1 ref ass it will be removed by deleting the old blitter in setBlittable
m_dfbSurface->AddRef(m_dfbSurface);
- QDirectFbBlitter *blitter = new QDirectFbBlitter(rect.size(),m_dfbSurface);
+ QDirectFbBlitter *blitter = new QDirectFbBlitter(size,m_dfbSurface);
m_pmdata->setBlittable(blitter);
}
@@ -175,57 +138,4 @@ void QDirectFbWindowSurface::endPaint(const QRegion &region)
Q_UNUSED(region);
}
-void QDirectFbWindowSurface::setVisible(bool visible)
-{
- m_pmdata->blittable()->unlock();
-
- if (visible) {
- int x = this->geometry().x();
- int y = this->geometry().y();
- m_dfbWindow->MoveTo(m_dfbWindow,x,y);
- } else {
- IDirectFBDisplayLayer *displayLayer;
- QDirectFbConvenience::dfbInterface()->GetDisplayLayer(QDirectFbConvenience::dfbInterface(),DLID_PRIMARY,&displayLayer);
-
- DFBDisplayLayerConfig config;
- displayLayer->GetConfiguration(displayLayer,&config);
- m_dfbWindow->MoveTo(m_dfbWindow,config.width+1,config.height + 1);
- }
-}
-
-Qt::WindowFlags QDirectFbWindowSurface::setWindowFlags(Qt::WindowFlags flags)
-{
- switch (flags & Qt::WindowType_Mask) {
- case Qt::ToolTip: {
- DFBWindowOptions options;
- m_dfbWindow->GetOptions(m_dfbWindow,&options);
- options = DFBWindowOptions(options | DWOP_GHOST);
- m_dfbWindow->SetOptions(m_dfbWindow,options);
- break; }
- default:
- break;
- }
-
- m_dfbWindow->SetStackingClass(m_dfbWindow, flags & Qt::WindowStaysOnTopHint ? DWSC_UPPER : DWSC_MIDDLE);
- return flags;
-}
-
-void QDirectFbWindowSurface::raise()
-{
- m_dfbWindow->RaiseToTop(m_dfbWindow);
-}
-
-void QDirectFbWindowSurface::lower()
-{
- m_dfbWindow->LowerToBottom(m_dfbWindow);
-}
-
-WId QDirectFbWindowSurface::winId() const
-{
- DFBWindowID id;
- m_dfbWindow->GetID(m_dfbWindow, &id);
- return WId(id);
-}
-
-
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/directfb/qwindowsurface_directfb.h b/src/plugins/platforms/directfb/qwindowsurface_directfb.h
index 2f31513..d48f534 100644
--- a/src/plugins/platforms/directfb/qwindowsurface_directfb.h
+++ b/src/plugins/platforms/directfb/qwindowsurface_directfb.h
@@ -49,37 +49,26 @@
QT_BEGIN_NAMESPACE
-class QDirectFbGraphicsSystemScreen;
-
class QDirectFbWindowSurface : public QWindowSurface
{
public:
- QDirectFbWindowSurface(QWidget *window);
+ QDirectFbWindowSurface(QWidget *window, WId wid);
~QDirectFbWindowSurface();
QPaintDevice *paintDevice();
void flush(QWidget *widget, const QRegion &region, const QPoint &offset);
- void setGeometry(const QRect &rect);
+ void resize (const QSize &size);
bool scroll(const QRegion &area, int dx, int dy);
void beginPaint(const QRegion &region);
void endPaint(const QRegion &region);
- void setVisible(bool visible);
- Qt::WindowFlags setWindowFlags(Qt::WindowFlags type);
-
- void raise();
- void lower();
-
- WId winId() const;
-
private:
void lockSurfaceToImage();
QPixmap *m_pixmap;
QBlittablePixmapData *m_pmdata;
- IDirectFBWindow *m_dfbWindow;
IDirectFBSurface *m_dfbSurface;
};
diff --git a/src/plugins/platforms/minimal/minimal.pro b/src/plugins/platforms/minimal/minimal.pro
index 567b551..6c97f07 100644
--- a/src/plugins/platforms/minimal/minimal.pro
+++ b/src/plugins/platforms/minimal/minimal.pro
@@ -1,4 +1,4 @@
-TARGET = qminimalgraphicssystem
+TARGET = qminimal
include(../../qpluginbase.pri)
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/platforms
diff --git a/src/plugins/platforms/minimal/qplatformintegration_minimal.cpp b/src/plugins/platforms/minimal/qplatformintegration_minimal.cpp
index 2f03127..404ffbc 100644
--- a/src/plugins/platforms/minimal/qplatformintegration_minimal.cpp
+++ b/src/plugins/platforms/minimal/qplatformintegration_minimal.cpp
@@ -20,9 +20,15 @@ QPixmapData *QMinimalIntegration::createPixmapData(QPixmapData::PixelType type)
{
return new QRasterPixmapData(type);
}
-void QMinimalIntegration::createWindowAndSurface(QPlatformWindow**window, QWindowSurface**surface, QWidget *widget, WId winId) const
+
+QPlatformWindow *QMinimalIntegration::createPlatformWindow(QWidget *widget, WId winId) const
+{
+ Q_UNUSED(winId);
+ return new QPlatformWindow(widget);
+}
+
+QWindowSurface *QMinimalIntegration::createWindowSurfaceForWindow(QWidget *widget, WId winId) const
{
- qDebug() << "createWindow";
- *surface = new QMinimalWindowSurface(widget);
- *window = new QPlatformWindow(widget);
+ Q_UNUSED(winId);
+ return new QMinimalWindowSurface(widget);
}
diff --git a/src/plugins/platforms/minimal/qplatformintegration_minimal.h b/src/plugins/platforms/minimal/qplatformintegration_minimal.h
index 127c573..2e8a8cf 100644
--- a/src/plugins/platforms/minimal/qplatformintegration_minimal.h
+++ b/src/plugins/platforms/minimal/qplatformintegration_minimal.h
@@ -72,7 +72,8 @@ public:
QMinimalIntegration();
QPixmapData *createPixmapData(QPixmapData::PixelType type) const;
- void createWindowAndSurface(QPlatformWindow**window, QWindowSurface**surface, QWidget *widget, WId winId) const;
+ QPlatformWindow *createPlatformWindow(QWidget *widget, WId winId) const;
+ QWindowSurface *createWindowSurfaceForWindow(QWidget *widget, WId winId) const;
QList<QPlatformScreen *> screens() const { return mScreens; }