summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxintegration.cpp
diff options
context:
space:
mode:
authorFabian Bumberger <fbumberger@rim.com>2013-09-02 15:49:51 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-18 11:28:26 +0200
commitaed9a8d49b7470de6809c3bf747b14c7150d7ae6 (patch)
treefb566c75ccccf7623170629b61c0ac760c295d98 /src/plugins/platforms/qnx/qqnxintegration.cpp
parente39d629ebe9044b505ac35eaae3ab9c214d452a2 (diff)
Split QQnxWindow into QQnxEglWindow and QQnxRasterWindow
Change-Id: I2fb4096ccca54fa6631aa16c9b8d1308b0a6b918 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxintegration.cpp')
-rw-r--r--src/plugins/platforms/qnx/qqnxintegration.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/plugins/platforms/qnx/qqnxintegration.cpp b/src/plugins/platforms/qnx/qqnxintegration.cpp
index fa9961ccce..bd627fef0b 100644
--- a/src/plugins/platforms/qnx/qqnxintegration.cpp
+++ b/src/plugins/platforms/qnx/qqnxintegration.cpp
@@ -53,6 +53,11 @@
#include "qqnxabstractvirtualkeyboard.h"
#include "qqnxservices.h"
+#include "qqnxrasterwindow.h"
+#if !defined(QT_NO_OPENGL)
+#include "qqnxeglwindow.h"
+#endif
+
#if defined(Q_OS_BLACKBERRY)
#include "qqnxbpseventfilter.h"
#include "qqnxnavigatorbps.h"
@@ -331,7 +336,18 @@ bool QQnxIntegration::hasCapability(QPlatformIntegration::Capability cap) const
QPlatformWindow *QQnxIntegration::createPlatformWindow(QWindow *window) const
{
qIntegrationDebug() << Q_FUNC_INFO;
- return new QQnxWindow(window, m_screenContext);
+ QSurface::SurfaceType surfaceType = window->surfaceType();
+ switch (surfaceType) {
+ case QSurface::RasterSurface:
+ return new QQnxRasterWindow(window, m_screenContext);
+#if !defined(QT_NO_OPENGL)
+ case QSurface::OpenGLSurface:
+ return new QQnxEglWindow(window, m_screenContext);
+#endif
+ default:
+ qFatal("QQnxWindow: unsupported window API");
+ }
+ return 0;
}
QPlatformBackingStore *QQnxIntegration::createPlatformBackingStore(QWindow *window) const