path: root/src/gui/kernel/qoffscreensurface.h
diff options
authorAndy Nichols <>2016-12-06 22:36:30 +0100
committerAndy Nichols <>2016-12-14 15:51:23 +0000
commit9d8db91ada0ab340ae781862f567c9b104e83c63 (patch)
tree9796e5b28a786a35567983c041869682b40b68c7 /src/gui/kernel/qoffscreensurface.h
parentb750a3786f42395f0cddd8ed8f92a2bcfda1b270 (diff)
Android: Enable Adoption of ANativeWindow handle as a QOffscreenSurface
This is done by adding an API to QOffscreenSurface to enable setting a native handle which can represent a native offscreen surface. When using the TexureView it is necessary to render to SurfaceTexture objects which are exposed as offscreen window surfaces. After wraping a SurfaceTexture in a android.view.Surface object and passing it to C++ via the JNI, it is possible to get the needed ANativeWindow* handle required to pass to eglCreateWindowSurface. So by setting this native handle Qt can then render to this "native" offscreen surface. Change-Id: If7fc5ac7ac588fe6c3a6fb883ea7e439d095470f Reviewed-by: Laszlo Agocs <> Reviewed-by: J-P Nurmi <> Reviewed-by: BogDan Vatra <>
Diffstat (limited to 'src/gui/kernel/qoffscreensurface.h')
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gui/kernel/qoffscreensurface.h b/src/gui/kernel/qoffscreensurface.h
index bacc9c851a..35c498c89a 100644
--- a/src/gui/kernel/qoffscreensurface.h
+++ b/src/gui/kernel/qoffscreensurface.h
@@ -79,6 +79,9 @@ public:
QPlatformOffscreenSurface *handle() const;
+ void *nativeHandle() const;
+ void setNativeHandle(void *handle);
void screenChanged(QScreen *screen);