From 539196689e806f8c175bb50343a4dc2cab52e838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Str=C3=B8mme?= Date: Tue, 4 Feb 2014 11:30:00 +0100 Subject: Android: Add Foreign Window support Change-Id: Ie41edd3f17214805673311a375191cd93d2378f6 Reviewed-by: BogDan Vatra --- src/plugins/platforms/android/qandroidplatformintegration.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/plugins/platforms/android/qandroidplatformintegration.cpp') diff --git a/src/plugins/platforms/android/qandroidplatformintegration.cpp b/src/plugins/platforms/android/qandroidplatformintegration.cpp index 3dc8632374..5848e94aca 100644 --- a/src/plugins/platforms/android/qandroidplatformintegration.cpp +++ b/src/plugins/platforms/android/qandroidplatformintegration.cpp @@ -64,6 +64,7 @@ #include "qandroidplatformscreen.h" #include "qandroidplatformtheme.h" #include "qandroidsystemlocale.h" +#include "qandroidplatformforeignwindow.h" QT_BEGIN_NAMESPACE @@ -148,6 +149,7 @@ bool QAndroidPlatformIntegration::hasCapability(Capability cap) const case ApplicationState: return true; case NativeWidgets: return true; case OpenGL: return true; + case ForeignWindows: return true; case ThreadedOpenGL: if (needsWorkaround()) return false; @@ -174,7 +176,9 @@ QPlatformOpenGLContext *QAndroidPlatformIntegration::createPlatformOpenGLContext QPlatformWindow *QAndroidPlatformIntegration::createPlatformWindow(QWindow *window) const { - if (window->surfaceType() == QSurface::RasterSurface) + if (window->type() == Qt::ForeignWindow) + return new QAndroidPlatformForeignWindow(window); + else if (window->surfaceType() == QSurface::RasterSurface) return new QAndroidPlatformRasterWindow(window); else return new QAndroidPlatformOpenGLWindow(window, m_eglDisplay); -- cgit v1.2.3