qt5base-lts/src
Andrew Knight 807ec8ea48 winrt: Refactor platform plugin for XAML support
By using XAML as the platform compositor, many benefits are possible:
 - Better input context handling for tablets
 - Better multiple window support (including non-fullscreen windows)
 - Support for transparent windows and window opacity
 - Integration with native platform controls
 - Simpler orientation handling on Windows Phone with built-in transitions

This patch applies only the minimal parts to make XAML mode work just as
the raw D3D mode. It does this by:
 - Moving all OpenGL parts into QWinRTEGLContext. This will allow us to
   have non-OpenGL windows later (e.g. Direct2D raster surfaces).
 - Moving more window-specific parts into QWinRTWindow. Each window creates
   a SwapChainPanel which can then be used for ANGLE (or Direct2D) content.
 - Moving non screen-specific parts into QWinRTIntegration.
 - Having QWinRTScreen create the base XAML element Canvas.
 - Running certain calls on the UI thread where necessary.

The following code parts were removed:
 - The UIAutomationCore code in QWinRTInputContext, as this is incompatible
   with XAML automation.
 - The D3D Trim and device blacklist, as these have been fixed in ANGLE.
 - Core dispatcher processing in QEventDispatcherWinRT. Now there is only
   one native event dispatcher; it is always running and never needs to be
   pumped.

Future commits should address:
 - Maintaining the window stack list and visibility using the XAML Canvas.
 - Allowing for windows (e.g. popups) to be sized and positioned instead
   of fullscreen.
 - Using the XAML automation API to improve the platform input context.

[ChangeLog][QPA][winrt] Windows Store apps are now composited inside a
XAML container, allowing for tighter integration with the native UI layer.

Change-Id: I285c6dea657c5dab2fda2b1bd8e8e5dd15882c72
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-08-13 16:12:37 +00:00
..
3rdparty ANGLE: Use pixel sizes in the XAML swap chain 2015-08-13 16:12:10 +00:00
android Android: Add support for EnterKey 2015-08-11 13:14:26 +00:00
angle ANGLE: Use pixel sizes in the XAML swap chain 2015-08-13 16:12:10 +00:00
concurrent Doc: Qt Concurrent: Link to essential usage information 2015-04-07 14:38:29 +00:00
corelib winrt: Refactor platform plugin for XAML support 2015-08-13 16:12:37 +00:00
dbus Merge "Merge remote-tracking branch 'origin/5.5' into dev" into refs/staging/dev 2015-08-09 07:06:52 +00:00
gui Remove type punning from QRgba64. 2015-08-11 11:01:27 +00:00
network QNetworkReplyImpl: remove unused declarations 2015-08-11 09:40:47 +00:00
opengl Merge remote-tracking branch 'origin/5.5' into dev 2015-08-06 10:54:01 +02:00
openglextensions Fix typo when resolving EGL extension. 2015-04-23 11:54:36 +00:00
platformheaders Merge remote-tracking branch 'origin/5.5' into dev 2015-08-06 10:54:01 +02:00
platformsupport OSX: Add initial FreeType support 2015-08-11 09:40:30 +00:00
plugins winrt: Refactor platform plugin for XAML support 2015-08-13 16:12:37 +00:00
printsupport Merge remote-tracking branch 'origin/5.5' into dev 2015-08-06 10:54:01 +02:00
sql QtSql: Use Q_NULLPTR instead of 0 in all public headers 2015-07-08 12:32:16 +00:00
testlib Merge remote-tracking branch 'origin/5.5' into dev 2015-08-06 10:54:01 +02:00
tools Merge "Merge remote-tracking branch 'origin/5.5' into dev" into refs/staging/dev 2015-08-09 07:06:52 +00:00
widgets Merge "Merge remote-tracking branch 'origin/5.5' into dev" into refs/staging/dev 2015-08-09 07:06:52 +00:00
winmain winrtmain: Start in XAML mode 2015-08-13 16:12:18 +00:00
xml QXmlSimpleReader: mark some types as primitive 2015-07-09 05:48:36 +00:00
src.pro Merge remote-tracking branch 'origin/5.5' into dev 2015-07-01 11:05:26 +02:00