diff options
author | Samuel Rødal <samuel.rodal@digia.com> | 2012-10-31 12:32:31 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-11-02 12:17:27 +0100 |
commit | 300534fc214f2547a63594ce0891e9a54c8f33ca (patch) | |
tree | 5ebb0d425a84b61e789b4dcadde62d08c4d0b6aa /src/gui/kernel | |
parent | 6be78c0712aa4290fed9cf985a52a74869ee85f0 (diff) |
Added MultipleWindows platform capability.
Several platform plugins, like eglfs, kms, etc don't support multiple
windows as there's no system compositor, they're rendering directly to
a single back buffer. By adding a platform capability we'll be able to
provide better error reporting when an application tries to create
multiple QWindows on a single-window platform. Also, QML apps can use
this capability to figure out whether they should create a QWindow for
dialogs / popups / menus, or whether to just create items in the same
scene, that are shown on top of the rest of the content.
Change-Id: I15b8d21ee2bc4568e9d705dbf32f872c2c25742b
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Diffstat (limited to 'src/gui/kernel')
-rw-r--r-- | src/gui/kernel/qplatformintegration.cpp | 4 | ||||
-rw-r--r-- | src/gui/kernel/qplatformintegration.h | 11 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/gui/kernel/qplatformintegration.cpp b/src/gui/kernel/qplatformintegration.cpp index cf55c59bab..5259ed9164 100644 --- a/src/gui/kernel/qplatformintegration.cpp +++ b/src/gui/kernel/qplatformintegration.cpp @@ -195,6 +195,10 @@ QPlatformServices *QPlatformIntegration::services() const \value BufferQueueingOpenGL The OpenGL implementation on the platform will queue up buffers when swapBuffers() is called and block only when its buffer pipeline is full, rather than block immediately. + + \value MultipleWindows The platform supports multiple QWindows, i.e. does some kind + of compositing either client or server side. Some platforms might only support a + single fullscreen window. */ diff --git a/src/gui/kernel/qplatformintegration.h b/src/gui/kernel/qplatformintegration.h index 7e8888407c..b4c8ebff5a 100644 --- a/src/gui/kernel/qplatformintegration.h +++ b/src/gui/kernel/qplatformintegration.h @@ -83,11 +83,12 @@ class Q_GUI_EXPORT QPlatformIntegration public: enum Capability { ThreadedPixmaps = 1, - OpenGL = 2, - ThreadedOpenGL = 3, - SharedGraphicsCache = 4, - BufferQueueingOpenGL = 5, - WindowMasks = 6 + OpenGL, + ThreadedOpenGL, + SharedGraphicsCache, + BufferQueueingOpenGL, + WindowMasks, + MultipleWindows }; virtual ~QPlatformIntegration() { } |