diff options
author | Christian Strømme <christian.stromme@digia.com> | 2014-02-04 11:30:00 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-14 00:34:25 +0100 |
commit | 539196689e806f8c175bb50343a4dc2cab52e838 (patch) | |
tree | 8ec129220be28e3297f00a8c292b8c85bc35796e /src/plugins/platforms/android/qandroidplatformintegration.cpp | |
parent | 4ce43b565f388c9327cb671887a4730225327006 (diff) |
Android: Add Foreign Window support
Change-Id: Ie41edd3f17214805673311a375191cd93d2378f6
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Diffstat (limited to 'src/plugins/platforms/android/qandroidplatformintegration.cpp')
-rw-r--r-- | src/plugins/platforms/android/qandroidplatformintegration.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
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); |