qt5base-lts/tests/auto
Tor Arne Vestbø b5f972361a Introduce QWindow::paintEvent with QPA plumbing
The explicit paint event on QtGui and QPA level allows us to untangle
the expose event, which today has at least 3 different meanings.

It also allows us to follow the platform more closely in its semantics
of when painting can happen. On some platforms a paint can come in
before a window is exposed, e.g. to prepare the first frame. On others
a paint can come in after a window has been de-exposed, to save a
snapshot of the window for use in an application switcher or similar.

The expose keeps its semantics of being a barrier signaling that the
application can now render at will, for example in a threaded render
loop.

There are two compatibility code paths in this patch:

  1. For platform plugins that do not yet report the PaintEvents
     capability, QtGui will synthesize paint events on the platform's
     behalf, based on the existing expose events coming from the platform.

  2. For applications that do not yet implement paintEvent, QtGui will
     send expose events instead, ensuring the same behavior as before.

For now none of the platform plugins deliver paint events natively,
so the first compatibility code path is always active.

Task-numnber: QTBUG-82676
Change-Id: I0fbe0d4cf451d6a1f07f5eab8d376a6c8a53ce8c
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2020-08-26 16:44:53 +02:00
..
cmake CMake: Fix configuration of CMake tests in-build-tree 2020-07-20 18:12:23 +02:00
concurrent QtConcurrent: Introduce runWithPromise() 2020-08-19 12:46:10 +02:00
corelib Fix QFuture::waitForFinished to wait until QFuture is started 2020-08-26 16:37:43 +02:00
dbus Deprecate the static int based API in QMetaType 2020-08-24 00:19:05 +02:00
gui Introduce QWindow::paintEvent with QPA plumbing 2020-08-26 16:44:53 +02:00
guiapplauncher Move QStateMachine from QtCore to QtScxml 2020-08-24 20:10:25 +02:00
installed_cmake
network tst_QNetworkDiskCache: fix setCookieHeader 2020-08-25 09:09:42 +02:00
opengl CMake: Regenerate subdir test projects 2020-07-09 09:38:39 +02:00
other Don't skip QFileDialog retranslatability test on macOS 2020-08-26 03:45:30 +02:00
printsupport QPrinterInfo: Remove deprecated methods 2020-08-25 06:48:28 +02:00
shared QWindowsFontDatabase: Check preferred family names for all fonts 2019-11-29 09:31:21 +01:00
sql QSqlite: Don't crash after binding too many placeholders 2020-08-24 13:50:55 +02:00
testlib Remove QVariant(int type, void *data, ...) constructor 2020-08-15 10:56:29 +02:00
tools Fix warnings in tst_moc 2020-08-23 01:18:13 +02:00
widgets macOS: rename 'macintosh' style to 'macos' 2020-08-26 16:37:43 +02:00
xml Disable deprecation warnings in some tests 2020-07-29 14:33:23 +02:00
.prev_CMakeLists.txt CMake: Regenerate subdir test projects 2020-07-09 09:38:39 +02:00
auto.pro CMake: Get tests/auto/cmake tests working 2020-07-17 09:43:04 +02:00
CMakeLists.txt CMake: Get tests/auto/cmake tests working 2020-07-17 09:43:04 +02:00
network-settings.h Revert "QAbstractSocket: deprecate 'error' member-function" 2020-02-26 23:07:52 +03:00