qt5base-lts/tests/manual
Laszlo Agocs 7c6625b105 Support mixing native child widgets with texture-based ones
Currently QOpenGLWidget and QQuickWidget do not support having native
child widgets inside the same top-level window. In some cases this is
inevitable, f.ex. multimedia may require native windows when used from
widget apps. winId() calls made for various (valid or invalid) reasons
are also problematic.

There are no blockers for supporting this setup, however. By storing
multiple texture lists (one for each subtree where the root is a
native widget), adding the missing markDirtyOnScreen calls, letting
each native widget access the correct texture list (i.e. the one
corresponding to its children) when they are (separately) flushed, and
fixing composeAndFlush() to take the update region and the (native
child) offset into account, it can all be made functional.

The change also fixes the issue of keeping GL-based compositing
enabled even after all render-to-texture widgets in the window become
hidden. Due to the changes of how such widgets are gathered,
composeAndFlush() is not invoked anymore when no such widgets are
discovered for a given native parent. This is great since having
compositing enabled infinitely is an issue for applications like Qt
Creator that implement certain views with QQuickWidgets but cannot
afford the cost of texture uploads in other places (e.g. for the text
editor) on slower machines.

The openglwidget manual test is greatly enhanced to test various
situations (MDI, scroll areas, tab widgets, QOpenGLWidget as native
child, QOpenGLWidget with non-tlw native parent, etc.)

Task-number: QTBUG-48130
Task-number: QTBUG-49172
Change-Id: Iad098359c8bcf749f01c050da0853415e1550eda
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-11-19 13:56:52 +00:00
..
bearerex Update copyright headers 2015-02-11 06:49:51 +00:00
cocoa Clean up qt_on_cocoa manual test. 2015-04-30 05:04:07 +00:00
corelib/tools Update copyright headers 2015-02-11 06:49:51 +00:00
diaglib Update Unicode data & algorithms up to v8.0 2015-11-05 08:25:02 +00:00
dialogs Fix build of the manual dialog test with Qt 4. 2015-03-25 09:51:28 +00:00
filetest Update copyright headers 2015-02-11 06:49:51 +00:00
gestures Update copyright headers 2015-02-11 06:49:51 +00:00
highdpi Add support for "@3x" image loading. 2015-10-16 21:47:25 +00:00
inputmethodhints Update copyright headers 2015-02-11 06:49:51 +00:00
keypadnavigation Update copyright headers 2015-02-11 06:49:51 +00:00
lance Update copyright headers 2015-02-11 06:49:51 +00:00
mkspecs Fixed license headers 2015-02-17 18:46:09 +00:00
network_remote_stresstest Update copyright headers 2015-02-11 06:49:51 +00:00
network_stresstest Update copyright headers 2015-02-11 06:49:51 +00:00
qcursor Update copyright headers 2015-02-11 06:49:51 +00:00
qdesktopservices Update copyright headers 2015-02-11 06:49:51 +00:00
qdesktopwidget Update copyright headers 2015-02-11 06:49:51 +00:00
qgraphicsitem Update copyright headers 2015-02-11 06:49:51 +00:00
qgraphicsitemgroup Update copyright headers 2015-02-11 06:49:51 +00:00
qgraphicslayout/flicker Update copyright headers 2015-02-11 06:49:51 +00:00
qhttpnetworkconnection Update copyright headers 2015-02-11 06:49:51 +00:00
qimagereader Update copyright headers 2015-02-11 06:49:51 +00:00
qlayout Update copyright headers 2015-02-11 06:49:51 +00:00
qlocale Updated BSD licensed file headers 2015-02-15 07:41:17 +00:00
qmetatype Update copyright headers 2015-02-11 06:49:51 +00:00
qmimedatabase Add manual test for QMimeDatabase. 2015-02-25 14:06:20 +00:00
qnetworkaccessmanager/qget Update copyright headers 2015-02-11 06:49:51 +00:00
qnetworkconfiguration Update copyright headers 2015-02-11 06:49:51 +00:00
qnetworkconfigurationmanager Update copyright headers 2015-02-11 06:49:51 +00:00
qnetworkreply Update copyright headers 2015-02-11 06:49:51 +00:00
qopenglcontext Update copyright headers 2015-02-11 06:49:51 +00:00
qopengltextureblitter Add support for TEXTURE_EXTERNAL_OES in the internal texture blitter 2015-10-21 13:32:42 +00:00
qopenglwidget/openglwidget Support mixing native child widgets with texture-based ones 2015-11-19 13:56:52 +00:00
qopenglwindow/multiwindow Fixed license headers 2015-02-17 18:46:09 +00:00
qprintdevice_dump Update copyright headers 2015-02-11 06:49:51 +00:00
qscreen QScreen manual test: don't crash when a QScreen is null 2015-09-24 20:15:35 +00:00
qssloptions Update copyright headers 2015-02-11 06:49:51 +00:00
qsslsocket Update copyright headers 2015-02-11 06:49:51 +00:00
qsysinfo Merge the multiple implementations of getting the local hostname 2015-08-13 16:34:51 +00:00
qtabletevent QTabletEvent manual test: show events/sec and frames/sec, proximity 2015-08-24 07:28:52 +00:00
qtbug-8933 Update copyright headers 2015-02-11 06:49:51 +00:00
qtexteditlist Update copyright headers 2015-02-11 06:49:51 +00:00
qtouchevent Update copyright headers 2015-02-11 06:49:51 +00:00
qwidget_zorder Update copyright headers 2015-02-11 06:49:51 +00:00
repaint Update copyright headers 2015-02-11 06:49:51 +00:00
shortcuts Update copyright headers 2015-02-11 06:49:51 +00:00
socketengine Update copyright headers 2015-02-11 06:49:51 +00:00
textrendering Update copyright headers 2015-02-11 06:49:51 +00:00
touch Manual touch test: Add gestures. 2015-06-06 06:26:39 +00:00
transientwindow Update copyright headers 2015-02-11 06:49:51 +00:00
unc Update copyright headers 2015-02-11 06:49:51 +00:00
widgetgrab Update copyright headers 2015-02-11 06:49:51 +00:00
widgets QHeaderView - fix a logical / visual index mismatch 2015-06-27 07:08:46 +00:00
windowchildgeometry Update copyright headers 2015-02-11 06:49:51 +00:00
windowflags Update copyright headers 2015-02-11 06:49:51 +00:00
windowgeometry Update copyright headers 2015-02-11 06:49:51 +00:00
windowmodality Update copyright headers 2015-02-11 06:49:51 +00:00
windowtransparency Updated BSD licensed file headers 2015-02-15 07:41:17 +00:00
xcb_gl_integration Fixed license headers 2015-02-17 18:46:09 +00:00
xembed-raster Updated BSD licensed file headers 2015-02-15 07:41:17 +00:00
xembed-widgets Updated BSD licensed file headers 2015-02-15 07:41:17 +00:00
manual.pro fix usage of wince scope 2015-06-05 10:29:10 +00:00