summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qoffscreensurface.h
diff options
context:
space:
mode:
authorAssam Boudjelthia <assam.boudjelthia@qt.io>2020-08-25 11:32:58 +0300
committerAssam Boudjelthia <assam.boudjelthia@qt.io>2020-08-27 23:35:16 +0300
commitfc4a73aa544bf03d881ddb7e2eb8ebd47d7da7b8 (patch)
tree6e0a334fa3b9535541d546ecffc890cbb4307a6a /src/gui/kernel/qoffscreensurface.h
parent15db957585828af7a83896963fade95c3ddcc7e3 (diff)
Add QOffScreenSurface platform API abstraction
This follows the work done in 6ff79478a44fce12ca18832a56db4a370a9ff417. The API is available by including qoffscreensurface.h, scoped in the QPlatformInterface namespace. The namespace exposes platform specific type-safe interfaces that provide: a) Factory functions for adopting native contexts, e.g. QAndroidPlatformOffscreenSurface::fromNative(ANativeWindow); b) Access to underlying native handles, e.g. surface->platformInterface<QAndroidPlatformOffscreenSurface>() ->nativeSurface() Fixes: QTBUG-85874 Change-Id: I29c459866e0355a52320d5d473e8b147e050acb3 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/gui/kernel/qoffscreensurface.h')
-rw-r--r--src/gui/kernel/qoffscreensurface.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gui/kernel/qoffscreensurface.h b/src/gui/kernel/qoffscreensurface.h
index 1a3c476244..fe8db44633 100644
--- a/src/gui/kernel/qoffscreensurface.h
+++ b/src/gui/kernel/qoffscreensurface.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtGui module of the Qt Toolkit.
@@ -79,8 +79,8 @@ public:
QPlatformOffscreenSurface *handle() const;
- void *nativeHandle() const;
- void setNativeHandle(void *handle);
+ template <typename T>
+ T *platformInterface() const;
Q_SIGNALS:
void screenChanged(QScreen *screen);
@@ -97,4 +97,6 @@ private:
QT_END_NAMESPACE
+#include <QtGui/qoffscreensurface_platform.h>
+
#endif // QOFFSCREENSURFACE_H