summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2019-09-04 14:33:40 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2019-09-16 09:41:23 +0200
commit93f2f33a49f6c96a4f94f344edf03164ed944d02 (patch)
tree9a799be282e6c0d6544d9f8c872073f83e6c0475
parent7e8705f6632428a8d9a937ab5fe087999347b3dd (diff)
parentf255b1e8e297e7e1363921580007145cff574e0d (diff)
Merge "Merge remote-tracking branch 'origin/dev' into wip/qt6"wip/qt6
-rw-r--r--.qmake.conf1
-rwxr-xr-xbin/syncqt.pl18
-rw-r--r--config.tests/arch/arch.pro1
-rw-r--r--config.tests/arch/arch_host.pro1
-rw-r--r--config.tests/arch/write_info.pri14
-rw-r--r--config_help.txt10
-rw-r--r--configure.json2
-rw-r--r--configure.pri53
-rw-r--r--doc/src/images/macmainwindow.pngbin39579 -> 0 bytes
-rw-r--r--examples/corelib/threads/doc/src/mandelbrot.qdoc4
-rw-r--r--examples/corelib/threads/mandelbrot/mandelbrotwidget.cpp2
-rw-r--r--examples/widgets/animation/easing/window.cpp7
-rw-r--r--examples/widgets/animation/stickman/animation.cpp18
-rw-r--r--examples/widgets/animation/stickman/animation.h4
-rw-r--r--examples/widgets/animation/stickman/graphicsview.cpp12
-rw-r--r--examples/widgets/animation/stickman/graphicsview.h12
-rw-r--r--examples/widgets/animation/stickman/lifecycle.cpp19
-rw-r--r--examples/widgets/animation/stickman/lifecycle.h11
-rw-r--r--examples/widgets/animation/stickman/node.h4
-rw-r--r--examples/widgets/animation/stickman/rectbutton.cpp7
-rw-r--r--examples/widgets/animation/stickman/rectbutton.h8
-rw-r--r--examples/widgets/animation/stickman/stickman.cpp29
-rw-r--r--examples/widgets/animation/stickman/stickman.h13
-rw-r--r--examples/widgets/animation/sub-attaq/animationmanager.cpp17
-rw-r--r--examples/widgets/animation/sub-attaq/animationmanager.h10
-rw-r--r--examples/widgets/animation/sub-attaq/boat.cpp19
-rw-r--r--examples/widgets/animation/sub-attaq/boat.h7
-rw-r--r--examples/widgets/animation/sub-attaq/boat_p.h20
-rw-r--r--examples/widgets/animation/sub-attaq/bomb.cpp19
-rw-r--r--examples/widgets/animation/sub-attaq/bomb.h6
-rw-r--r--examples/widgets/animation/sub-attaq/graphicsscene.cpp73
-rw-r--r--examples/widgets/animation/sub-attaq/graphicsscene.h21
-rw-r--r--examples/widgets/animation/sub-attaq/mainwindow.cpp7
-rw-r--r--examples/widgets/animation/sub-attaq/mainwindow.h8
-rw-r--r--examples/widgets/animation/sub-attaq/pixmapitem.cpp5
-rw-r--r--examples/widgets/animation/sub-attaq/pixmapitem.h8
-rw-r--r--examples/widgets/animation/sub-attaq/progressitem.cpp7
-rw-r--r--examples/widgets/animation/sub-attaq/progressitem.h8
-rw-r--r--examples/widgets/animation/sub-attaq/qanimationstate.cpp4
-rw-r--r--examples/widgets/animation/sub-attaq/qanimationstate.h10
-rw-r--r--examples/widgets/animation/sub-attaq/states.cpp28
-rw-r--r--examples/widgets/animation/sub-attaq/states.h24
-rw-r--r--examples/widgets/animation/sub-attaq/submarine.cpp26
-rw-r--r--examples/widgets/animation/sub-attaq/submarine.h11
-rw-r--r--examples/widgets/animation/sub-attaq/submarine_p.h9
-rw-r--r--examples/widgets/animation/sub-attaq/textinformationitem.cpp9
-rw-r--r--examples/widgets/animation/sub-attaq/textinformationitem.h6
-rw-r--r--examples/widgets/animation/sub-attaq/torpedo.cpp23
-rw-r--r--examples/widgets/animation/sub-attaq/torpedo.h6
-rw-r--r--examples/widgets/graphicsview/boxes/scene.cpp4
-rw-r--r--examples/widgets/graphicsview/chip/view.cpp2
-rw-r--r--examples/widgets/graphicsview/elasticnodes/graphwidget.cpp2
-rw-r--r--examples/widgets/itemviews/dirview/main.cpp8
-rw-r--r--examples/widgets/painting/affine/xform.cpp2
-rw-r--r--examples/widgets/tools/codecs/encodingdialog.cpp2
-rw-r--r--examples/widgets/tools/i18n/languagechooser.cpp10
-rw-r--r--examples/widgets/widgets/mousebuttons/buttontester.cpp11
-rw-r--r--mkspecs/android-clang/qmake.conf123
-rw-r--r--mkspecs/android-g++/qmake.conf35
-rw-r--r--mkspecs/android-g++/qplatformdefs.h177
-rw-r--r--mkspecs/common/android-base-head.conf72
-rw-r--r--mkspecs/common/android-base-tail.conf90
-rw-r--r--mkspecs/common/msvc-desktop.conf2
-rw-r--r--mkspecs/features/android/android.prf43
-rw-r--r--mkspecs/features/android/android_deployment_settings.prf37
-rw-r--r--mkspecs/features/android/default_pre.prf77
-rw-r--r--mkspecs/features/android/resolve_config.prf10
-rw-r--r--mkspecs/features/create_cmake.prf107
-rw-r--r--mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in51
-rw-r--r--mkspecs/features/data/cmake/Qt5ImportPlugin.cpp.in2
-rw-r--r--mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in95
-rw-r--r--mkspecs/features/exclusive_builds_post.prf2
-rw-r--r--mkspecs/features/mac/default_post.prf13
-rw-r--r--mkspecs/features/qmake_use.prf6
-rw-r--r--mkspecs/features/qml_module.prf17
-rw-r--r--mkspecs/features/qt_android_deps.prf6
-rw-r--r--mkspecs/features/qt_build_config.prf4
-rw-r--r--mkspecs/features/qt_configure.prf9
-rw-r--r--mkspecs/features/qt_functions.prf3
-rw-r--r--mkspecs/features/qt_helper_lib.prf33
-rw-r--r--mkspecs/features/qt_module.prf2
-rw-r--r--mkspecs/features/qt_module_pris.prf27
-rw-r--r--mkspecs/wasm-emscripten/qmake.conf5
-rw-r--r--mkspecs/win32-clang-msvc/qmake.conf7
-rw-r--r--qmake/Makefile.unix13
-rw-r--r--qmake/Makefile.win323
-rw-r--r--qmake/doc/src/qmake-manual.qdoc10
-rw-r--r--qmake/generators/makefile.cpp29
-rw-r--r--qmake/generators/makefile.h1
-rw-r--r--qmake/generators/makefiledeps.cpp183
-rw-r--r--qmake/generators/makefiledeps.h27
-rw-r--r--qmake/generators/metamakefile.cpp39
-rw-r--r--qmake/generators/projectgenerator.cpp2
-rw-r--r--qmake/generators/unix/unixmake.cpp7
-rw-r--r--qmake/generators/unix/unixmake2.cpp38
-rw-r--r--qmake/generators/win32/mingw_make.cpp6
-rw-r--r--qmake/generators/win32/msbuild_objectmodel.cpp15
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp22
-rw-r--r--qmake/generators/win32/winmakefile.cpp19
-rw-r--r--qmake/generators/win32/winmakefile.h3
-rw-r--r--qmake/generators/xmloutput.cpp10
-rw-r--r--qmake/qmake.pro8
-rw-r--r--src/3rdparty/forkfd/forkfd.c186
-rw-r--r--src/3rdparty/forkfd/forkfd.h5
-rw-r--r--src/3rdparty/forkfd/forkfd_atomic.h39
-rw-r--r--src/3rdparty/forkfd/forkfd_c11.h64
-rw-r--r--src/3rdparty/forkfd/forkfd_freebsd.c101
-rw-r--r--src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties2
-rw-r--r--src/3rdparty/sqlite.pri6
-rw-r--r--src/3rdparty/xcb/README35
-rw-r--r--src/3rdparty/xcb/include/xcb/fixup-xinput-h.patch15
-rw-r--r--src/3rdparty/xcb/include/xcb/randr.h5075
-rw-r--r--src/3rdparty/xcb/include/xcb/render.h4513
-rw-r--r--src/3rdparty/xcb/include/xcb/shape.h1103
-rw-r--r--src/3rdparty/xcb/include/xcb/shm.h738
-rw-r--r--src/3rdparty/xcb/include/xcb/sync.h2216
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_atom.h18
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_aux.h214
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_bitops.h212
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_event.h90
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_icccm.h1049
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_image.h630
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_keysyms.h71
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_pixel.h171
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_renderutil.h150
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_util.h8
-rw-r--r--src/3rdparty/xcb/include/xcb/xfixes.h2816
-rw-r--r--src/3rdparty/xcb/include/xcb/xinerama.h811
-rw-r--r--src/3rdparty/xcb/include/xcb/xinput.h4
-rw-r--r--src/3rdparty/xcb/include/xcb/xkb.h12085
-rw-r--r--src/3rdparty/xcb/libxcb/fix_compiler_warning_on_32bit_systems.patch15
-rw-r--r--src/3rdparty/xcb/libxcb/fixup-xinput-c.patch19
-rw-r--r--src/3rdparty/xcb/libxcb/randr.c5640
-rw-r--r--src/3rdparty/xcb/libxcb/render.c5295
-rw-r--r--src/3rdparty/xcb/libxcb/shape.c1102
-rw-r--r--src/3rdparty/xcb/libxcb/shm.c724
-rw-r--r--src/3rdparty/xcb/libxcb/sync.c2258
-rw-r--r--src/3rdparty/xcb/libxcb/xfixes.c3274
-rw-r--r--src/3rdparty/xcb/libxcb/xinerama.c703
-rw-r--r--src/3rdparty/xcb/libxcb/xinput.c6
-rw-r--r--src/3rdparty/xcb/libxcb/xkb.c15959
-rw-r--r--src/3rdparty/xcb/qt_attribution.json24
-rw-r--r--src/3rdparty/xcb/sysinclude/render.h1
-rw-r--r--src/3rdparty/xcb/sysinclude/xcb.h1
-rw-r--r--src/3rdparty/xcb/sysinclude/xcbext.h1
-rw-r--r--src/3rdparty/xcb/sysinclude/xproto.h1
-rw-r--r--src/3rdparty/xcb/xcb-util-image/xcb_image.c1011
-rw-r--r--src/3rdparty/xcb/xcb-util-keysyms/keysyms.c498
-rw-r--r--src/3rdparty/xcb/xcb-util-renderutil/util.c255
-rw-r--r--src/3rdparty/xcb/xcb-util-wm/icccm.c845
-rw-r--r--src/3rdparty/xcb/xcb-util/atoms.c76
-rw-r--r--src/3rdparty/xcb/xcb-util/event.c257
-rw-r--r--src/3rdparty/xcb/xcb-util/xcb_aux.c374
-rw-r--r--src/android/jar/jar.pro1
-rw-r--r--src/android/java/java.pro2
-rw-r--r--src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java77
-rw-r--r--src/android/templates/AndroidManifest.xml5
-rw-r--r--src/android/templates/build.gradle2
-rw-r--r--src/android/templates/res/values/libs.xml9
-rw-r--r--src/android/templates/templates.pro2
-rw-r--r--src/concurrent/qtconcurrentreducekernel.h12
-rw-r--r--src/corelib/Qt5CoreMacros.cmake32
-rw-r--r--src/corelib/animation/qpropertyanimation.cpp3
-rw-r--r--src/corelib/animation/qvariantanimation.cpp5
-rw-r--r--src/corelib/codecs/qicucodec.cpp2
-rw-r--r--src/corelib/codecs/qtextcodec.cpp29
-rw-r--r--src/corelib/configure.json38
-rw-r--r--src/corelib/corelib.pro1
-rw-r--r--src/corelib/doc/snippets/cmake-macros/examples.cmake11
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_io_qurl.cpp4
-rw-r--r--src/corelib/doc/src/cmake-macros.qdoc69
-rw-r--r--src/corelib/global/qconfig-bootstrapped.h4
-rw-r--r--src/corelib/global/qglobal.cpp55
-rw-r--r--src/corelib/global/qglobal.h12
-rw-r--r--src/corelib/global/qglobalstatic.h3
-rw-r--r--src/corelib/global/qhooks.cpp2
-rw-r--r--src/corelib/global/qlibraryinfo.cpp4
-rw-r--r--src/corelib/global/qlogging.cpp5
-rw-r--r--src/corelib/global/qnamespace.h10
-rw-r--r--src/corelib/global/qnamespace.qdoc22
-rw-r--r--src/corelib/global/qoperatingsystemversion.cpp8
-rw-r--r--src/corelib/global/qoperatingsystemversion.h1
-rw-r--r--src/corelib/global/qsystemdetection.h14
-rw-r--r--src/corelib/io/forkfd_qt.cpp29
-rw-r--r--src/corelib/io/qfileinfo.cpp64
-rw-r--r--src/corelib/io/qfileinfo.h2
-rw-r--r--src/corelib/io/qfileselector.cpp6
-rw-r--r--src/corelib/io/qfilesystemwatcher_win.cpp13
-rw-r--r--src/corelib/io/qloggingregistry.cpp7
-rw-r--r--src/corelib/io/qprocess_unix.cpp3
-rw-r--r--src/corelib/io/qresource.cpp26
-rw-r--r--src/corelib/io/qsettings.cpp41
-rw-r--r--src/corelib/itemmodels/qabstractitemmodel.cpp15
-rw-r--r--src/corelib/kernel/qcore_mac.cpp3
-rw-r--r--src/corelib/kernel/qcore_mac_p.h12
-rw-r--r--src/corelib/kernel/qcore_unix.cpp4
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp29
-rw-r--r--src/corelib/kernel/qcoreapplication_win.cpp3
-rw-r--r--src/corelib/kernel/qeventdispatcher_win.cpp67
-rw-r--r--src/corelib/kernel/qeventdispatcher_win_p.h2
-rw-r--r--src/corelib/kernel/qmetaobject.cpp47
-rw-r--r--src/corelib/kernel/qmetaobject_p.h8
-rw-r--r--src/corelib/kernel/qmetatype.cpp2
-rw-r--r--src/corelib/kernel/qmetatype.h9
-rw-r--r--src/corelib/kernel/qmetatype_p.h2
-rw-r--r--src/corelib/kernel/qobject.cpp154
-rw-r--r--src/corelib/kernel/qobject_p.h50
-rw-r--r--src/corelib/kernel/qvariant.cpp8
-rw-r--r--src/corelib/kernel/qvariant.h8
-rw-r--r--src/corelib/plugin/qlibrary_unix.cpp21
-rw-r--r--src/corelib/serialization/qcborvalue.cpp16
-rw-r--r--src/corelib/serialization/qcborvalue.h3
-rw-r--r--src/corelib/serialization/qcborvalue_p.h56
-rw-r--r--src/corelib/serialization/qdatastream.cpp1
-rw-r--r--src/corelib/serialization/qjsonvalue.h4
-rw-r--r--src/corelib/text/qchar.cpp1
-rw-r--r--src/corelib/text/qchar.h1
-rw-r--r--src/corelib/text/qlocale.cpp578
-rw-r--r--src/corelib/text/qlocale.h21
-rw-r--r--src/corelib/text/qlocale_data_p.h3158
-rw-r--r--src/corelib/text/qlocale_p.h30
-rw-r--r--src/corelib/text/qlocale_win.cpp8
-rw-r--r--src/corelib/text/qregexp.cpp5
-rw-r--r--src/corelib/text/qstring.h12
-rw-r--r--src/corelib/text/qstringbuilder.h2
-rw-r--r--src/corelib/text/qstringliteral.h7
-rw-r--r--src/corelib/text/qstringview.h7
-rw-r--r--src/corelib/thread/qfutureinterface.cpp5
-rw-r--r--src/corelib/thread/qfutureinterface.h13
-rw-r--r--src/corelib/thread/qlocking_p.h119
-rw-r--r--src/corelib/thread/qreadwritelock.h28
-rw-r--r--src/corelib/thread/qthread_unix.cpp23
-rw-r--r--src/corelib/thread/qthread_win.cpp2
-rw-r--r--src/corelib/thread/thread.pri1
-rw-r--r--src/corelib/time/qcalendar.cpp1090
-rw-r--r--src/corelib/time/qcalendar.h193
-rw-r--r--src/corelib/time/qcalendarbackend_p.h144
-rw-r--r--src/corelib/time/qcalendarmath_p.h77
-rw-r--r--src/corelib/time/qdatetime.cpp731
-rw-r--r--src/corelib/time/qdatetime.h35
-rw-r--r--src/corelib/time/qdatetime_p.h18
-rw-r--r--src/corelib/time/qdatetimeparser.cpp174
-rw-r--r--src/corelib/time/qdatetimeparser_p.h11
-rw-r--r--src/corelib/time/qgregoriancalendar.cpp175
-rw-r--r--src/corelib/time/qgregoriancalendar_p.h90
-rw-r--r--src/corelib/time/qhijricalendar.cpp125
-rw-r--r--src/corelib/time/qhijricalendar_data_p.h1146
-rw-r--r--src/corelib/time/qhijricalendar_p.h83
-rw-r--r--src/corelib/time/qislamiccivilcalendar.cpp125
-rw-r--r--src/corelib/time/qislamiccivilcalendar_p.h76
-rw-r--r--src/corelib/time/qjalalicalendar.cpp212
-rw-r--r--src/corelib/time/qjalalicalendar_data_p.h893
-rw-r--r--src/corelib/time/qjalalicalendar_p.h86
-rw-r--r--src/corelib/time/qjuliancalendar.cpp128
-rw-r--r--src/corelib/time/qjuliancalendar_p.h (renamed from src/widgets/util/qscroller_mac.mm)54
-rw-r--r--src/corelib/time/qmilankoviccalendar.cpp141
-rw-r--r--src/corelib/time/qmilankoviccalendar_p.h74
-rw-r--r--src/corelib/time/qromancalendar.cpp105
-rw-r--r--src/corelib/time/qromancalendar_data_p.h2646
-rw-r--r--src/corelib/time/qromancalendar_p.h79
-rw-r--r--src/corelib/time/time.pri41
-rw-r--r--src/corelib/tools/qbitarray.cpp20
-rw-r--r--src/corelib/tools/qcryptographichash.cpp8
-rw-r--r--src/corelib/tools/qeasingcurve.h3
-rw-r--r--src/corelib/tools/qlinkedlist.h7
-rw-r--r--src/corelib/tools/qlist.h11
-rw-r--r--src/corelib/tools/qpoint.cpp23
-rw-r--r--src/corelib/tools/qpoint.h4
-rw-r--r--src/corelib/tools/qset.h7
-rw-r--r--src/corelib/tools/qset.qdoc3
-rw-r--r--src/corelib/tools/qsize.cpp18
-rw-r--r--src/corelib/tools/qsize.h11
-rw-r--r--src/corelib/tools/qtimeline.h4
-rw-r--r--src/corelib/tools/qvarlengtharray.h7
-rw-r--r--src/corelib/tools/qvector.h7
-rw-r--r--src/corelib/tools/tools.pri14
-rw-r--r--src/dbus/qdbus_symbols.cpp3
-rw-r--r--src/dbus/qdbusconnection.cpp13
-rw-r--r--src/dbus/qdbusextratypes.cpp8
-rw-r--r--src/dbus/qdbusextratypes.h3
-rw-r--r--src/dbus/qdbusintegrator.cpp7
-rw-r--r--src/dbus/qdbuspendingcall.cpp15
-rw-r--r--src/dbus/qdbuspendingreply.cpp4
-rw-r--r--src/dbus/qdbusserver.cpp4
-rw-r--r--src/gui/configure.json91
-rw-r--r--src/gui/doc/qtgui.qdocconf3
-rw-r--r--src/gui/doc/src/includes/qt-colors.qdocinc86
-rw-r--r--src/gui/doc/src/includes/svg-colors.qdocinc594
-rw-r--r--src/gui/doc/src/richtext.qdoc69
-rw-r--r--src/gui/image/image.pri19
-rw-r--r--src/gui/image/qimage.cpp17
-rw-r--r--src/gui/image/qimage.h1
-rw-r--r--src/gui/image/qimage_conversions.cpp222
-rw-r--r--src/gui/image/qimage_p.h1
-rw-r--r--src/gui/image/qimage_ssse3.cpp7
-rw-r--r--src/gui/image/qpixmap_win.cpp3
-rw-r--r--src/gui/image/qpnghandler.cpp2
-rw-r--r--src/gui/kernel/qevent.cpp56
-rw-r--r--src/gui/kernel/qguiapplication.cpp44
-rw-r--r--src/gui/kernel/qguiapplication.h3
-rw-r--r--src/gui/kernel/qguiapplication_p.h1
-rw-r--r--src/gui/kernel/qguivariant.cpp1
-rw-r--r--src/gui/kernel/qhighdpiscaling.cpp337
-rw-r--r--src/gui/kernel/qhighdpiscaling_p.h43
-rw-r--r--src/gui/kernel/qopenglcontext.cpp3
-rw-r--r--src/gui/kernel/qplatformintegration.cpp3
-rw-r--r--src/gui/kernel/qplatformintegration.h3
-rw-r--r--src/gui/kernel/qplatformscreen.cpp22
-rw-r--r--src/gui/kernel/qplatformscreen.h3
-rw-r--r--src/gui/kernel/qscreen.cpp13
-rw-r--r--src/gui/kernel/qsurface.cpp6
-rw-r--r--src/gui/kernel/qsurfaceformat.cpp12
-rw-r--r--src/gui/kernel/qtouchdevice.cpp32
-rw-r--r--src/gui/kernel/qwindowsysteminterface.cpp4
-rw-r--r--src/gui/opengl/qopenglprogrambinarycache.cpp3
-rw-r--r--src/gui/opengl/qopengltextureuploader.cpp18
-rw-r--r--src/gui/painting/painting.pri42
-rw-r--r--src/gui/painting/qbezier.cpp34
-rw-r--r--src/gui/painting/qbezier_p.h40
-rw-r--r--src/gui/painting/qcolor.cpp81
-rw-r--r--src/gui/painting/qcolor.h187
-rw-r--r--src/gui/painting/qcolorspace.cpp74
-rw-r--r--src/gui/painting/qcolorspace.h16
-rw-r--r--src/gui/painting/qcolorspace_p.h15
-rw-r--r--src/gui/painting/qcolortransform.h1
-rw-r--r--src/gui/painting/qcompositionfunctions.cpp24
-rw-r--r--src/gui/painting/qdrawhelper.cpp30
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp35
-rw-r--r--src/gui/painting/qpainterpath.cpp21
-rw-r--r--src/gui/painting/qstroker_p.h2
-rw-r--r--src/gui/platform/wasm/qwasmlocalfileaccess.cpp37
-rw-r--r--src/gui/platform/wasm/qwasmlocalfileaccess_p.h2
-rw-r--r--src/gui/rhi/qrhi.cpp214
-rw-r--r--src/gui/rhi/qrhi_p.h7
-rw-r--r--src/gui/rhi/qrhi_p_p.h4
-rw-r--r--src/gui/rhi/qrhid3d11.cpp205
-rw-r--r--src/gui/rhi/qrhid3d11_p_p.h12
-rw-r--r--src/gui/rhi/qrhigles2.cpp179
-rw-r--r--src/gui/rhi/qrhigles2_p_p.h25
-rw-r--r--src/gui/rhi/qrhimetal.mm15
-rw-r--r--src/gui/rhi/qrhimetal_p_p.h4
-rw-r--r--src/gui/rhi/qrhinull.cpp15
-rw-r--r--src/gui/rhi/qrhinull_p_p.h4
-rw-r--r--src/gui/rhi/qrhiprofiler.cpp9
-rw-r--r--src/gui/rhi/qrhivulkan.cpp532
-rw-r--r--src/gui/rhi/qrhivulkan_p.h5
-rw-r--r--src/gui/rhi/qrhivulkan_p_p.h57
-rw-r--r--src/gui/rhi/qshader.cpp12
-rw-r--r--src/gui/rhi/qshaderdescription.cpp18
-rw-r--r--src/gui/text/AGLFN_LICENSE.txt26
-rw-r--r--src/gui/text/qcssparser.cpp22
-rw-r--r--src/gui/text/qcssparser_p.h3
-rw-r--r--src/gui/text/qfont.cpp8
-rw-r--r--src/gui/text/qfont_p.h10
-rw-r--r--src/gui/text/qfontengine.cpp25
-rw-r--r--src/gui/text/qfontengine_p.h23
-rw-r--r--src/gui/text/qfontmetrics.cpp27
-rw-r--r--src/gui/text/qfontmetrics.h4
-rw-r--r--src/gui/text/qt_attribution.json17
-rw-r--r--src/gui/text/qtextdocument.cpp80
-rw-r--r--src/gui/text/qtextdocument_p.cpp3
-rw-r--r--src/gui/text/qtextdocumentfragment.cpp35
-rw-r--r--src/gui/text/qtextdocumentlayout.cpp931
-rw-r--r--src/gui/text/qtextformat.cpp279
-rw-r--r--src/gui/text/qtextformat.h110
-rw-r--r--src/gui/text/qtexthtmlparser.cpp43
-rw-r--r--src/gui/text/qtexthtmlparser_p.h9
-rw-r--r--src/gui/text/qtextlayout.h4
-rw-r--r--src/network/access/access.pri6
-rw-r--r--src/network/access/http2/hpack.cpp5
-rw-r--r--src/network/access/http2/hpack_p.h1
-rw-r--r--src/network/access/http2/http2frames.cpp4
-rw-r--r--src/network/access/http2/http2protocol.cpp116
-rw-r--r--src/network/access/http2/http2protocol_p.h62
-rw-r--r--src/network/access/qhttp2configuration.cpp312
-rw-r--r--src/network/access/qhttp2configuration.h100
-rw-r--r--src/network/access/qhttp2protocolhandler.cpp45
-rw-r--r--src/network/access/qhttp2protocolhandler_p.h25
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp11
-rw-r--r--src/network/access/qhttpnetworkconnection_p.h8
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp6
-rw-r--r--src/network/access/qhttpthreaddelegate.cpp4
-rw-r--r--src/network/access/qhttpthreaddelegate_p.h3
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp5
-rw-r--r--src/network/access/qnetworkaccessmanager.h2
-rw-r--r--src/network/access/qnetworkreplyhttpimpl.cpp64
-rw-r--r--src/network/access/qnetworkreplyhttpimpl_p.h2
-rw-r--r--src/network/access/qnetworkrequest.cpp71
-rw-r--r--src/network/access/qnetworkrequest.h5
-rw-r--r--src/network/bearer/qbearerengine.cpp4
-rw-r--r--src/network/bearer/qnetworkconfigmanager_p.cpp69
-rw-r--r--src/network/kernel/qhostinfo.cpp166
-rw-r--r--src/network/kernel/qhostinfo_p.h65
-rw-r--r--src/network/kernel/qnetconmonitor_win.cpp10
-rw-r--r--src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp41
-rw-r--r--src/platformsupport/fontdatabases/freetype/qfontengine_ft_p.h20
-rw-r--r--src/platformsupport/glxconvenience/qglxconvenience.cpp4
-rw-r--r--src/platformsupport/kmsconvenience/qkmsdevice.cpp31
-rw-r--r--src/platformsupport/kmsconvenience/qkmsdevice_p.h1
-rw-r--r--src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuregistrarproxy_p.h16
-rw-r--r--src/platformsupport/themes/genericunix/dbustray/qxdgnotificationproxy_p.h20
-rw-r--r--src/plugins/bearer/android/jar/jar.pro2
-rw-r--r--src/plugins/bearer/connman/qconnmanengine.cpp45
-rw-r--r--src/plugins/bearer/connman/qconnmanservice_linux.cpp9
-rw-r--r--src/plugins/bearer/linux_common/qofonoservice_linux.cpp15
-rw-r--r--src/plugins/imageformats/jpeg/qjpeghandler.cpp29
-rw-r--r--src/plugins/platforms/android/androidjnimain.cpp6
-rw-r--r--src/plugins/platforms/android/androidjnimenu.cpp12
-rw-r--r--src/plugins/platforms/android/qandroidplatformmenu.cpp43
-rw-r--r--src/plugins/platforms/android/qandroidplatformmenu.h5
-rw-r--r--src/plugins/platforms/android/qandroidplatformmenubar.cpp34
-rw-r--r--src/plugins/platforms/android/qandroidplatformmenubar.h6
-rw-r--r--src/plugins/platforms/android/qandroidplatformscreen.cpp8
-rw-r--r--src/plugins/platforms/android/qandroidplatformscreen.h2
-rw-r--r--src/plugins/platforms/cocoa/qcocoabackingstore.mm2
-rw-r--r--src/plugins/platforms/cocoa/qcocoaglcontext.mm11
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.h2
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.mm13
-rw-r--r--src/plugins/platforms/cocoa/qcocoamenuloader.mm48
-rw-r--r--src/plugins/platforms/cocoa/qcocoanativeinterface.mm3
-rw-r--r--src/plugins/platforms/cocoa/qcocoascreen.h1
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.h1
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm69
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindowmanager.mm3
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfsintegration.cpp1
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfswindow.cpp9
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfswindow_p.h1
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp3
-rw-r--r--src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp2
-rw-r--r--src/plugins/platforms/offscreen/qoffscreencommon.cpp3
-rw-r--r--src/plugins/platforms/qnx/qqnxscreeneventhandler.cpp2
-rw-r--r--src/plugins/platforms/vnc/qvncclient.cpp13
-rw-r--r--src/plugins/platforms/wasm/qwasmintegration.cpp1
-rw-r--r--src/plugins/platforms/windows/qwindowsglcontext.cpp11
-rw-r--r--src/plugins/platforms/windows/qwindowsscreen.cpp9
-rw-r--r--src/plugins/platforms/windows/qwindowsscreen.h2
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.cpp11
-rw-r--r--src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp12
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.cpp26
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.h8
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_basic.cpp21
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_basic.h6
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_xi2.cpp6
-rw-r--r--src/plugins/platforms/xcb/qxcbkeyboard.cpp25
-rw-r--r--src/plugins/platforms/xcb/qxcbkeyboard.h20
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.cpp17
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.h3
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.cpp28
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.h2
-rw-r--r--src/plugins/platforms/xcb/xcb-static/xcb-static.pro80
-rw-r--r--src/plugins/platforms/xcb/xcb.pro2
-rw-r--r--src/plugins/platforms/xcb/xcb_qpa_lib.pro30
-rw-r--r--src/plugins/printsupport/cups/qppdprintdevice.cpp2
-rw-r--r--src/plugins/styles/mac/qmacstyle_mac.mm5
-rw-r--r--src/plugins/styles/windowsvista/qwindowsvistastyle.cpp8
-rw-r--r--src/plugins/styles/windowsvista/qwindowsxpstyle.cpp32
-rw-r--r--src/printsupport/dialogs/qpagesetupdialog.cpp2
-rw-r--r--src/printsupport/dialogs/qprintdialog_unix.cpp5
-rw-r--r--src/testlib/doc/snippets/code/doc_src_qsignalspy.cpp48
-rw-r--r--src/testlib/doc/src/qttestlib-manual.qdoc5
-rw-r--r--src/testlib/qsignalspy.h71
-rw-r--r--src/testlib/qsignalspy.qdoc22
-rw-r--r--src/testlib/qtest.h32
-rw-r--r--src/testlib/qtestcase.h2
-rw-r--r--src/tools/androiddeployqt/main.cpp1143
-rw-r--r--src/tools/androidtestrunner/main.cpp4
-rw-r--r--src/tools/bootstrap/bootstrap.pro3
-rw-r--r--src/tools/qlalr/lalr.cpp10
-rw-r--r--src/widgets/configure.json7
-rw-r--r--src/widgets/dialogs/qfiledialog.cpp49
-rw-r--r--src/widgets/dialogs/qfiledialog.h1
-rw-r--r--src/widgets/dialogs/qfileinfogatherer.cpp117
-rw-r--r--src/widgets/dialogs/qfileinfogatherer_p.h20
-rw-r--r--src/widgets/dialogs/qfilesystemmodel.cpp103
-rw-r--r--src/widgets/dialogs/qfilesystemmodel.h17
-rw-r--r--src/widgets/dialogs/qwizard.cpp12
-rw-r--r--src/widgets/dialogs/qwizard_win.cpp36
-rw-r--r--src/widgets/dialogs/qwizard_win_p.h16
-rw-r--r--src/widgets/doc/snippets/code/doc_src_styles.cpp5
-rw-r--r--src/widgets/doc/snippets/code/src_gui_dialogs_qfiledialog.cpp11
-rw-r--r--src/widgets/doc/snippets/macmainwindow.mm290
-rw-r--r--src/widgets/graphicsview/graphicsview.pri7
-rw-r--r--src/widgets/graphicsview/qgraphicsitem.cpp15
-rw-r--r--src/widgets/graphicsview/qgraphicsitem.h6
-rw-r--r--src/widgets/graphicsview/qgraphicsproxywidget.cpp12
-rw-r--r--src/widgets/graphicsview/qgraphicsscene.cpp15
-rw-r--r--src/widgets/graphicsview/qgraphicsview.cpp12
-rw-r--r--src/widgets/graphicsview/qgraphicsview_p.h22
-rw-r--r--src/widgets/graphicsview/qgraphicswidget.cpp16
-rw-r--r--src/widgets/graphicsview/qgraphicswidget_p.cpp7
-rw-r--r--src/widgets/itemviews/qabstractitemview.cpp3
-rw-r--r--src/widgets/itemviews/qheaderview.cpp2
-rw-r--r--src/widgets/itemviews/qtableview.cpp8
-rw-r--r--src/widgets/itemviews/qtreeview.cpp34
-rw-r--r--src/widgets/kernel/kernel.pri4
-rw-r--r--src/widgets/kernel/qapplication.cpp4
-rw-r--r--src/widgets/kernel/qapplication_p.h47
-rw-r--r--src/widgets/kernel/qdesktopwidget.cpp2
-rw-r--r--src/widgets/kernel/qdesktopwidget_p.h2
-rw-r--r--src/widgets/kernel/qgesturemanager.cpp10
-rw-r--r--src/widgets/kernel/qshortcut.cpp2
-rw-r--r--src/widgets/kernel/qtooltip.cpp45
-rw-r--r--src/widgets/kernel/qwhatsthis.cpp16
-rw-r--r--src/widgets/kernel/qwidget.cpp778
-rw-r--r--src/widgets/kernel/qwidget.h4
-rw-r--r--src/widgets/kernel/qwidget_p.h269
-rw-r--r--src/widgets/kernel/qwidgetbackingstore_p.h310
-rw-r--r--src/widgets/kernel/qwidgetrepaintmanager.cpp (renamed from src/widgets/kernel/qwidgetbackingstore.cpp)1259
-rw-r--r--src/widgets/kernel/qwidgetrepaintmanager_p.h153
-rw-r--r--src/widgets/kernel/qwidgetwindow.cpp8
-rw-r--r--src/widgets/styles/qcommonstyle.cpp115
-rw-r--r--src/widgets/styles/qfusionstyle.cpp45
-rw-r--r--src/widgets/styles/qpixmapstyle.cpp8
-rw-r--r--src/widgets/styles/qstylehelper.cpp43
-rw-r--r--src/widgets/styles/qstylehelper_p.h9
-rw-r--r--src/widgets/styles/qstyleoption.cpp5
-rw-r--r--src/widgets/styles/qstyleoption.h46
-rw-r--r--src/widgets/styles/qstylesheetstyle.cpp7
-rw-r--r--src/widgets/styles/qwindowsstyle.cpp14
-rw-r--r--src/widgets/util/qcompleter.h2
-rw-r--r--src/widgets/util/qflickgesture.cpp15
-rw-r--r--src/widgets/util/qscrollerproperties.cpp7
-rw-r--r--src/widgets/util/qsystemtrayicon.cpp11
-rw-r--r--src/widgets/util/util.pri4
-rw-r--r--src/widgets/widgets/qabstractscrollarea.cpp143
-rw-r--r--src/widgets/widgets/qabstractscrollarea_p.h9
-rw-r--r--src/widgets/widgets/qabstractslider.cpp9
-rw-r--r--src/widgets/widgets/qabstractspinbox.cpp2
-rw-r--r--src/widgets/widgets/qcalendarwidget.cpp396
-rw-r--r--src/widgets/widgets/qcalendarwidget.h5
-rw-r--r--src/widgets/widgets/qcombobox.cpp11
-rw-r--r--src/widgets/widgets/qdatetimeedit.cpp66
-rw-r--r--src/widgets/widgets/qdatetimeedit.h4
-rw-r--r--src/widgets/widgets/qdatetimeedit_p.h20
-rw-r--r--src/widgets/widgets/qdockarealayout.cpp43
-rw-r--r--src/widgets/widgets/qdockwidget.cpp29
-rw-r--r--src/widgets/widgets/qmaccocoaviewcontainer_mac.mm26
-rw-r--r--src/widgets/widgets/qmdiarea.cpp15
-rw-r--r--src/widgets/widgets/qmdisubwindow.cpp43
-rw-r--r--src/widgets/widgets/qplaintextedit.cpp3
-rw-r--r--src/widgets/widgets/qpushbutton.cpp32
-rw-r--r--src/widgets/widgets/qpushbutton_p.h3
-rw-r--r--src/widgets/widgets/qrubberband.cpp13
-rw-r--r--src/widgets/widgets/qsizegrip.cpp34
-rw-r--r--src/widgets/widgets/qstatusbar.cpp41
-rw-r--r--src/widgets/widgets/qtabbar.cpp24
-rw-r--r--src/widgets/widgets/qtabbar_p.h6
-rw-r--r--src/widgets/widgets/qtextedit.cpp3
-rw-r--r--src/widgets/widgets/qtoolbar.cpp7
-rw-r--r--src/widgets/widgets/qwidgetlinecontrol.cpp5
-rw-r--r--src/widgets/widgets/qwidgetlinecontrol_p.h24
-rw-r--r--src/widgets/widgets/qwidgetresizehandler.cpp15
-rw-r--r--sync.profile3
-rw-r--r--tests/auto/bic/data/QtConcurrent.5.13.0.linux-gcc-amd64.txt5029
-rw-r--r--tests/auto/bic/data/QtCore.5.13.0.linux-gcc-amd64.txt4977
-rw-r--r--tests/auto/bic/data/QtDBus.5.13.0.linux-gcc-amd64.txt5316
-rw-r--r--tests/auto/bic/data/QtGui.5.13.0.linux-gcc-amd64.txt8792
-rw-r--r--tests/auto/bic/data/QtNetwork.5.13.0.linux-gcc-amd64.txt5884
-rw-r--r--tests/auto/bic/data/QtOpenGL.5.13.0.linux-gcc-amd64.txt19811
-rw-r--r--tests/auto/bic/data/QtPrintSupport.5.13.0.linux-gcc-amd64.txt20062
-rw-r--r--tests/auto/bic/data/QtSql.5.13.0.linux-gcc-amd64.txt5404
-rw-r--r--tests/auto/bic/data/QtTest.5.13.0.linux-gcc-amd64.txt5074
-rw-r--r--tests/auto/bic/data/QtWidgets.5.13.0.linux-gcc-amd64.txt19561
-rw-r--r--tests/auto/bic/data/QtXml.5.13.0.linux-gcc-amd64.txt5417
-rw-r--r--tests/auto/cmake/CMakeLists.txt2
-rw-r--r--tests/auto/cmake/cmake.pro7
-rw-r--r--tests/auto/cmake/mockplugins/mock1plugin/mock1plugin.json1
-rw-r--r--tests/auto/cmake/mockplugins/mock1plugin/mock1plugin.pro9
-rw-r--r--tests/auto/cmake/mockplugins/mock1plugin/qmock1plugin.cpp10
-rw-r--r--tests/auto/cmake/mockplugins/mock1plugin/qmock1plugin.h70
-rw-r--r--tests/auto/cmake/mockplugins/mock2plugin/mock2plugin.json1
-rw-r--r--tests/auto/cmake/mockplugins/mock2plugin/mock2plugin.pro10
-rw-r--r--tests/auto/cmake/mockplugins/mock2plugin/qmock2plugin.cpp10
-rw-r--r--tests/auto/cmake/mockplugins/mock2plugin/qmock2plugin.h70
-rw-r--r--tests/auto/cmake/mockplugins/mock3plugin/mock3plugin.json1
-rw-r--r--tests/auto/cmake/mockplugins/mock3plugin/mock3plugin.pro10
-rw-r--r--tests/auto/cmake/mockplugins/mock3plugin/qmock3plugin.cpp10
-rw-r--r--tests/auto/cmake/mockplugins/mock3plugin/qmock3plugin.h70
-rw-r--r--tests/auto/cmake/mockplugins/mock4plugin/mock4plugin.json1
-rw-r--r--tests/auto/cmake/mockplugins/mock4plugin/mock4plugin.pro10
-rw-r--r--tests/auto/cmake/mockplugins/mock4plugin/qmock4plugin.cpp10
-rw-r--r--tests/auto/cmake/mockplugins/mock4plugin/qmock4plugin.h70
-rw-r--r--tests/auto/cmake/mockplugins/mock5plugin/mock5plugin.json1
-rw-r--r--tests/auto/cmake/mockplugins/mock5plugin/mock5plugin.pro10
-rw-r--r--tests/auto/cmake/mockplugins/mock5plugin/qmock5plugin.cpp10
-rw-r--r--tests/auto/cmake/mockplugins/mock5plugin/qmock5plugin.h70
-rw-r--r--tests/auto/cmake/mockplugins/mock6plugin/mock6plugin.json1
-rw-r--r--tests/auto/cmake/mockplugins/mock6plugin/mock6plugin.pro9
-rw-r--r--tests/auto/cmake/mockplugins/mock6plugin/qmock6plugin.cpp10
-rw-r--r--tests/auto/cmake/mockplugins/mock6plugin/qmock6plugin.h70
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins.pro36
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins1/fake.cpp34
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins1/mockplugins1.pro10
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins1/qmockplugin.h72
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins2/fake.cpp34
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins2/mockplugins2.pro4
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins3/fake.cpp34
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins3/mockplugins3.pro11
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins3/qmockauxplugin.h72
-rw-r--r--tests/auto/cmake/test_QTBUG-63422/CMakeLists.txt3
-rw-r--r--tests/auto/cmake/test_import_plugins/CMakeLists.txt111
-rw-r--r--tests/auto/cmake/test_import_plugins/check.cpp.in8
-rw-r--r--tests/auto/cmake/test_import_plugins/main.cpp101
-rw-r--r--tests/auto/cmake/test_interface/CMakeLists.txt3
-rw-r--r--tests/auto/cmake/test_moc_macro_target/CMakeLists.txt4
-rw-r--r--tests/auto/corelib/animation/qpauseanimation/BLACKLIST8
-rw-r--r--tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp191
-rw-r--r--tests/auto/corelib/io/qfilesystemwatcher/BLACKLIST4
-rw-r--r--tests/auto/corelib/io/qprocess/BLACKLIST1
-rw-r--r--tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp2
-rw-r--r--tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp83
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp30
-rw-r--r--tests/auto/corelib/kernel/qelapsedtimer/BLACKLIST3
-rw-r--r--tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp14
-rw-r--r--tests/auto/corelib/kernel/qsocketnotifier/BLACKLIST3
-rw-r--r--tests/auto/corelib/kernel/qtimer/BLACKLIST9
-rw-r--r--tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp27
-rw-r--r--tests/auto/corelib/serialization/qtextstream/BLACKLIST3
-rw-r--r--tests/auto/corelib/text/qlatin1string/tst_qlatin1string.cpp8
-rw-r--r--tests/auto/corelib/text/qstringview/tst_qstringview.cpp12
-rw-r--r--tests/auto/corelib/thread/qsemaphore/BLACKLIST3
-rw-r--r--tests/auto/corelib/thread/qthread/BLACKLIST4
-rw-r--r--tests/auto/corelib/thread/qthreadpool/BLACKLIST7
-rw-r--r--tests/auto/corelib/time/qcalendar/qcalendar.pro5
-rw-r--r--tests/auto/corelib/time/qcalendar/tst_qcalendar.cpp236
-rw-r--r--tests/auto/corelib/time/time.pro1
-rw-r--r--tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp57
-rw-r--r--tests/auto/corelib/tools/qlinkedlist/qlinkedlist.pro2
-rw-r--r--tests/auto/corelib/tools/qlinkedlist/tst_qlinkedlist.cpp28
-rw-r--r--tests/auto/corelib/tools/qlist/qlist.pro2
-rw-r--r--tests/auto/corelib/tools/qlist/tst_qlist.cpp28
-rw-r--r--tests/auto/corelib/tools/qpoint/tst_qpoint.cpp7
-rw-r--r--tests/auto/corelib/tools/qpointf/tst_qpointf.cpp7
-rw-r--r--tests/auto/corelib/tools/qset/qset.pro2
-rw-r--r--tests/auto/corelib/tools/qset/tst_qset.cpp28
-rw-r--r--tests/auto/corelib/tools/qsize/tst_qsize.cpp44
-rw-r--r--tests/auto/corelib/tools/qsizef/tst_qsizef.cpp44
-rw-r--r--tests/auto/corelib/tools/qtimeline/BLACKLIST4
-rw-r--r--tests/auto/corelib/tools/qvarlengtharray/qvarlengtharray.pro2
-rw-r--r--tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp29
-rw-r--r--tests/auto/corelib/tools/qvector/qvector.pro2
-rw-r--r--tests/auto/corelib/tools/qvector/tst_qvector.cpp28
-rw-r--r--tests/auto/gui/image/qimage/tst_qimage.cpp24
-rw-r--r--tests/auto/gui/image/qimagereader/tst_qimagereader.cpp9
-rw-r--r--tests/auto/gui/image/qpixmap/tst_qpixmap.cpp13
-rw-r--r--tests/auto/gui/kernel/kernel.pro3
-rw-r--r--tests/auto/gui/kernel/noqteventloop/tst_noqteventloop.cpp36
-rw-r--r--tests/auto/gui/kernel/qguitimer/BLACKLIST8
-rw-r--r--tests/auto/gui/kernel/qhighdpiscaling/qhighdpiscaling.pro6
-rw-r--r--tests/auto/gui/kernel/qhighdpiscaling/tst_qhighdpiscaling.cpp95
-rw-r--r--tests/auto/gui/kernel/qwindow/BLACKLIST15
-rw-r--r--tests/auto/gui/painting/qcolor/tst_qcolor.cpp249
-rw-r--r--tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp23
-rw-r--r--tests/auto/gui/painting/qpainter/tst_qpainter.cpp6
-rw-r--r--tests/auto/gui/painting/qpainterpath/BLACKLIST2
-rw-r--r--tests/auto/gui/painting/qregion/tst_qregion.cpp24
-rw-r--r--tests/auto/gui/text/qcssparser/tst_qcssparser.cpp29
-rw-r--r--tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp41
-rw-r--r--tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp148
-rw-r--r--tests/auto/gui/text/qtexttable/tst_qtexttable.cpp108
-rw-r--r--tests/auto/network/access/http2/http2srv.cpp10
-rw-r--r--tests/auto/network/access/http2/http2srv.h12
-rw-r--r--tests/auto/network/access/http2/tst_http2.cpp154
-rw-r--r--tests/auto/network/access/qabstractnetworkcache/BLACKLIST2
-rw-r--r--tests/auto/network/access/qftp/BLACKLIST9
-rw-r--r--tests/auto/network/access/qnetworkreply/BLACKLIST191
-rw-r--r--tests/auto/network/access/spdy/BLACKLIST3
-rw-r--r--tests/auto/network/kernel/qdnslookup/BLACKLIST12
-rw-r--r--tests/auto/network/socket/qsocks5socketengine/BLACKLIST3
-rw-r--r--tests/auto/network/socket/qtcpserver/BLACKLIST14
-rw-r--r--tests/auto/network/socket/qtcpsocket/BLACKLIST3
-rw-r--r--tests/auto/network/socket/qudpsocket/BLACKLIST6
-rw-r--r--tests/auto/network/ssl/qsslkey/BLACKLIST17
-rw-r--r--tests/auto/network/ssl/qsslsocket/BLACKLIST4
-rw-r--r--tests/auto/opengl/qgl/tst_qgl.cpp7
-rw-r--r--tests/auto/opengl/qglthreads/tst_qglthreads.cpp3
-rw-r--r--tests/auto/other/lancelot/paintcommands.cpp11
-rw-r--r--tests/auto/other/lancelot/tst_lancelot.cpp13
-rw-r--r--tests/auto/other/networkselftest/BLACKLIST3
-rw-r--r--tests/auto/other/qabstractitemmodelutils/dynamictreemodel.cpp2
-rw-r--r--tests/auto/other/qfocusevent/BLACKLIST3
-rw-r--r--tests/auto/other/qnetworkaccessmanager_and_qprogressdialog/BLACKLIST3
-rw-r--r--tests/auto/other/toolsupport/tst_toolsupport.cpp6
-rw-r--r--tests/auto/testlib/initmain/initmain.pro5
-rw-r--r--tests/auto/testlib/initmain/tst_initmain.cpp56
-rw-r--r--tests/auto/testlib/qsignalspy/tst_qsignalspy.cpp52
-rw-r--r--tests/auto/testlib/testlib.pro1
-rw-r--r--tests/auto/tools/qmake/testcompiler.cpp25
-rw-r--r--tests/auto/tools/qmake/testcompiler.h10
-rw-r--r--tests/auto/tools/qmake/testdata/conflicting_targets/conflicting_targets.pro5
-rw-r--r--tests/auto/tools/qmake/testdata/conflicting_targets/main.cpp4
-rw-r--r--tests/auto/tools/qmake/testdata/windows_resources/inter.inc1
-rw-r--r--tests/auto/tools/qmake/testdata/windows_resources/main.cpp1
-rw-r--r--tests/auto/tools/qmake/testdata/windows_resources/version.inc28
-rw-r--r--tests/auto/tools/qmake/testdata/windows_resources/windows_resources.pro4
-rw-r--r--tests/auto/tools/qmake/testdata/windows_resources/windows_resources.rc2
-rw-r--r--tests/auto/tools/qmake/tst_qmake.cpp150
-rw-r--r--tests/auto/widgets/dialogs/qfilesystemmodel/BLACKLIST11
-rw-r--r--tests/auto/widgets/dialogs/qmessagebox/BLACKLIST6
-rw-r--r--tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp19
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp11
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp3
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST2
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp744
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsview/BLACKLIST12
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp2
-rw-r--r--tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp3
-rw-r--r--tests/auto/widgets/itemviews/qheaderview/BLACKLIST1
-rw-r--r--tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp9
-rw-r--r--tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp26
-rw-r--r--tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp41
-rw-r--r--tests/auto/widgets/kernel/qapplication/BLACKLIST3
-rw-r--r--tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp2
-rw-r--r--tests/auto/widgets/kernel/qformlayout/qformlayout.pro2
-rw-r--r--tests/auto/widgets/kernel/qformlayout/tst_qformlayout.cpp13
-rw-r--r--tests/auto/widgets/kernel/qwidget/BLACKLIST10
-rw-r--r--tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp18
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/button.pngbin1785 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/combobox.pngbin1808 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/lineedit.pngbin953 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/mdi.pngbin3092 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/menu.pngbin1139 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/radiobutton.pngbin1498 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/slider.pngbin1074 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/spinbox.pngbin1299 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/vista/button.pngbin722 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/vista/combobox.pngbin809 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/vista/lineedit.pngbin530 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/vista/menu.pngbin646 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/vista/radiobutton.pngbin844 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/vista/slider.pngbin575 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/vista/spinbox.pngbin583 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/qstyle.pro5
-rw-r--r--tests/auto/widgets/styles/qstyle/testdata.qrc19
-rw-r--r--tests/auto/widgets/styles/qstyle/tst_qstyle.cpp127
-rw-r--r--tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp6
-rw-r--r--tests/auto/widgets/widgets/qframe/tst_qframe.cpp4
-rw-r--r--tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp3
-rw-r--r--tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp2
-rw-r--r--tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp3
-rw-r--r--tests/benchmarks/corelib/kernel/qobject/main.cpp47
-rw-r--r--tests/benchmarks/corelib/time/qdate/tst_bench_qdate.cpp170
-rw-r--r--tests/benchmarks/corelib/time/qdatetime/main.cpp291
-rw-r--r--tests/benchmarks/gui/image/qimageconversion/tst_qimageconversion.cpp22
-rw-r--r--tests/benchmarks/gui/image/qimagereader/qimagereader.pro2
-rw-r--r--tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp17
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp5
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp12
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp5
-rw-r--r--tests/manual/diaglib/textdump.cpp3
-rw-r--r--tests/manual/highdpi/highdpi.pro1
-rw-r--r--tests/manual/highdpi/main.cpp89
-rw-r--r--tests/manual/lance/main.cpp13
-rw-r--r--tests/manual/manual.pro1
-rw-r--r--tests/manual/qtexttableborders/main.cpp39
-rw-r--r--tests/manual/qtexttableborders/qtexttableborders.pro10
-rw-r--r--tests/manual/qtexttableborders/resources.qrc6
-rw-r--r--tests/manual/qtexttableborders/table-border-test-header.html129
-rw-r--r--tests/manual/qtexttableborders/table-border-test.html171
-rw-r--r--tests/manual/qtexttableborders/widget.cpp125
-rw-r--r--tests/manual/qtexttableborders/widget.h56
-rw-r--r--tests/manual/qtexttableborders/widget.ui79
-rw-r--r--tests/manual/rhi/shared/examplefw.h3
-rw-r--r--tests/manual/rhi/triquadcube/triquadcube.cpp5
-rw-r--r--tests/manual/textrendering/glyphshaping/main.cpp2
-rwxr-xr-xutil/locale_database/cldr2qlocalexml.py15
-rw-r--r--util/locale_database/localexml.py104
-rwxr-xr-xutil/locale_database/qlocalexml2cpp.py122
768 files changed, 130247 insertions, 82418 deletions
diff --git a/.qmake.conf b/.qmake.conf
index dfdd8e2c96..de7af300dc 100644
--- a/.qmake.conf
+++ b/.qmake.conf
@@ -2,7 +2,6 @@ load(qt_build_config)
CONFIG += warning_clean
DEFINES += QT_NO_JAVA_STYLE_ITERATORS
-DEFINES += QT_NO_LINKED_LIST
QT_SOURCE_TREE = $$PWD
QT_BUILD_TREE = $$shadowed($$PWD)
diff --git a/bin/syncqt.pl b/bin/syncqt.pl
index 8226edfb76..1258994f93 100755
--- a/bin/syncqt.pl
+++ b/bin/syncqt.pl
@@ -79,9 +79,6 @@ normalizePath(\$out_basedir);
our $build_basedir;
our $basedir;
-# Make sure we use Windows line endings for chomp and friends on Windows.
-$INPUT_RECORD_SEPARATOR = "\r\n" if ($^O eq "msys");
-
# will be defined based on the modules sync.profile
our (%modules, %moduleheaders, @allmoduleheadersprivate, %classnames, %deprecatedheaders);
our (@qpa_headers, @private_headers);
@@ -182,10 +179,10 @@ sub shouldMasterInclude {
my ($iheader) = @_;
return 0 if (basename($iheader) =~ /_/);
return 0 if (basename($iheader) =~ /qconfig/);
+ local $/ = "\x0a";
if (open(F, "<$iheader")) {
while (<F>) {
- chomp;
- chop if /\r$/;
+ s/\x0d?\x0a//;
return 0 if (/^\#pragma qt_no_master_include$/);
}
close(F);
@@ -215,11 +212,11 @@ sub classNames {
my $ihdrbase = basename($iheader);
my $parsable = "";
+ local $/ = "\x0a";
if(open(F, "<$iheader")) {
while(<F>) {
+ s/\x0d?\x0a//;
my $line = $_;
- chomp $line;
- chop $line if ($line =~ /\r$/);
if($line =~ /^\#/) {
$$clean = 0 if ($line =~ m/^#pragma qt_sync_skip_header_check/);
return @ret if($line =~ m/^#pragma qt_sync_stop_processing/);
@@ -231,6 +228,7 @@ sub classNames {
$line .= ";" if($line =~ m/^Q_[A-Z_0-9]*\(.*\)[\r\n]*$/); #qt macro
$line .= ";" if($line =~ m/^QT_(BEGIN|END)_HEADER[\r\n]*$/); #qt macro
$line .= ";" if($line =~ m/^QT_(BEGIN|END)_NAMESPACE(_[A-Z]+)*[\r\n]*$/); #qt macro
+ $line .= ";" if($line =~ m/^QT_DEPRECATED_X\(.*\)[\r\n]*$/); #qt macro
$line .= ";" if($line =~ m/^QT_MODULE\(.*\)[\r\n]*$/); # QT_MODULE macro
$line .= ";" if($line =~ m/^QT_WARNING_(PUSH|POP|DISABLE_\w+\(.*\))[\r\n]*$/); # qt macros
$$requires = $1 if ($line =~ m/^QT_REQUIRE_CONFIG\((.*)\);[\r\n]*$/);
@@ -336,6 +334,7 @@ sub check_header {
$header_skip_qt_begin_namespace_test = 1 if ($ignore_for_qt_begin_namespace_check{$header});
}
+ local $/ = "\x0a";
open(F, "<$iheader") or return;
my $qt_begin_namespace_found = 0;
my $qt_end_namespace_found = 0;
@@ -344,7 +343,7 @@ sub check_header {
my $stop_processing = 0;
my $we_mean_it = 0;
while ($line = <F>) {
- chomp $line;
+ $line =~ s/\x0d?\x0a//;
my $output_line = 1;
if ($line =~ /^ *\# *pragma (qt_no_included_check|qt_sync_stop_processing)/) {
$stop_processing = 1;
@@ -965,9 +964,10 @@ foreach my $lib (@modules_to_sync) {
#push @files, "$out_basedir/include/Qt/$t" if(-e "$out_basedir/include/Qt/$t");
foreach my $file (@files) {
my $remove_file = 0;
+ local $/ = "\x0a";
if(open(F, "<$file")) {
while(my $line = <F>) {
- chomp $line;
+ $line =~ s/\x0d?\x0a//;
if($line =~ /^\#include \"([^\"]*)\"$/) {
my $include = $1;
$include = $subdir . "/" . $include unless(substr($include, 0, 1) eq "/");
diff --git a/config.tests/arch/arch.pro b/config.tests/arch/arch.pro
index 45a7eb33af..c607898b71 100644
--- a/config.tests/arch/arch.pro
+++ b/config.tests/arch/arch.pro
@@ -1 +1,2 @@
SOURCES = arch.cpp
+include(write_info.pri)
diff --git a/config.tests/arch/arch_host.pro b/config.tests/arch/arch_host.pro
index cefdbc77ef..ea0d1fa572 100644
--- a/config.tests/arch/arch_host.pro
+++ b/config.tests/arch/arch_host.pro
@@ -1,2 +1,3 @@
option(host_build)
SOURCES = arch.cpp
+include(write_info.pri)
diff --git a/config.tests/arch/write_info.pri b/config.tests/arch/write_info.pri
new file mode 100644
index 0000000000..666b9e5cbb
--- /dev/null
+++ b/config.tests/arch/write_info.pri
@@ -0,0 +1,14 @@
+targetinfofile = $$basename(_PRO_FILE_)
+targetinfofile ~= s/pro$/target.txt/
+
+win32 {
+ ext = .exe
+} else:wasm {
+ equals(WASM_OBJECT_FILES, 1): \
+ ext = .o
+ else: \
+ ext = .wasm
+}
+
+content = $${file_prefix}$${TARGET}$${ext}
+write_file($$OUT_PWD/$$targetinfofile, content)
diff --git a/config_help.txt b/config_help.txt
index 3f31fd351f..87413155ce 100644
--- a/config_help.txt
+++ b/config_help.txt
@@ -203,9 +203,8 @@ Build environment:
-android-ndk-platform Set Android platform
-android-ndk-host .... Set Android NDK host (linux-x86, linux-x86_64, etc.)
[$ANDROID_NDK_HOST]
- -android-arch ........ Set Android architecture (armeabi, armeabi-v7a,
- arm64-v8a, x86, x86_64)
- -android-toolchain-version ... Set Android toolchain version
+ -android-abis ....... Comma separated Android abis, default is:
+ armeabi-v7a,arm64-v8a,x86,x86_64
-android-style-assets Automatically extract style assets from the device at
run time. This option makes the Android style behave
correctly, but also makes the Android platform plugin
@@ -297,8 +296,7 @@ Gui, printing, widget options:
-gbm ............... Enable backends for GBM [auto] (Linux only)
-kms ............... Enable backends for KMS [auto] (Linux only)
-linuxfb ........... Enable Linux Framebuffer support [auto] (Linux only)
- -xcb ............... Enable X11 support. Select used xcb-* libraries [system/qt/no]
- (-qt-xcb still uses system version of libxcb itself)
+ -xcb ............... Enable X11 support [auto] (Linux only)
Input backends:
-libudev............ Enable udev support [auto]
@@ -307,7 +305,7 @@ Gui, printing, widget options:
-libinput .......... Enable libinput support [auto]
-mtdev ............. Enable mtdev support [auto]
-tslib ............. Enable tslib support [auto]
- -xcb-xinput ........ Enable XInput2 support [auto]
+ -bundled-xcb-xinput Use bundled XInput2 support [auto]
-xkbcommon ......... Enable key mapping support [auto]
Image formats:
diff --git a/configure.json b/configure.json
index 6a7b5924cd..5fc35a1658 100644
--- a/configure.json
+++ b/configure.json
@@ -51,11 +51,11 @@
"translationdir": "string",
"android-arch": "string",
+ "android-abis": "string",
"android-ndk": "string",
"android-ndk-host": "string",
"android-ndk-platform": "string",
"android-sdk": "string",
- "android-toolchain-version": "string",
"android-style-assets": "boolean",
"appstore-compliant": "boolean",
diff --git a/configure.pri b/configure.pri
index 7b8dee0953..ecd46b8e38 100644
--- a/configure.pri
+++ b/configure.pri
@@ -286,37 +286,13 @@ defineTest(qtConfTest_architecture) {
!qtConfTest_compile($${1}): \
error("Could not determine $$eval($${1}.label). See config.log for details.")
- host = $$eval($${1}.host)
- isEmpty(host): host = false
- file_prefix =
- exts = -
- $$host {
- equals(QMAKE_HOST.os, Windows): \
- exts = .exe
- } else {
- win32 {
- exts = .exe
- } else:android {
- file_prefix = lib
- exts = .so
- } else:wasm {
- exts = .wasm .o
- }
- }
-
test = $$eval($${1}.test)
output = $$eval($${1}.output)
test_out_dir = $$OUT_PWD/$$basename(QMAKE_CONFIG_TESTS_DIR)/$$test
- test_out_file =
- for(ext, exts) {
- equals(ext, -): ext =
- f = $$test_out_dir/$$file_prefix$$output$$ext
- exists($$f) {
- test_out_file = $$f
- break()
- }
- }
- isEmpty(test_out_file): \
+ test_out_file = $$test_out_dir/$$cat($$test_out_dir/$${output}.target.txt)
+ exists($$test_out_file): \
+ content = $$cat($$test_out_file, blob)
+ else: \
error("$$eval($${1}.label) detection binary not found.")
content = $$cat($$test_out_file, blob)
@@ -597,14 +573,7 @@ defineTest(qtConfOutput_prepareOptions) {
qtConfFatalError("Cannot find Android NDK." \
"Please use -android-ndk option to specify one.")
- ndk_tc_ver = $$eval(config.input.android-toolchain-version)
- isEmpty(ndk_tc_ver): \
- ndk_tc_ver = 4.9
- !exists($$ndk_root/toolchains/arm-linux-androideabi-$$ndk_tc_ver/prebuilt/*): \
- qtConfFatalError("Cannot detect Android NDK toolchain." \
- "Please use -android-toolchain-version to specify it.")
-
- ndk_tc_pfx = $$ndk_root/toolchains/arm-linux-androideabi-$$ndk_tc_ver/prebuilt
+ ndk_tc_pfx = $$ndk_root/toolchains/llvm/prebuilt
ndk_host = $$eval(config.input.android-ndk-host)
isEmpty(ndk_host): \
ndk_host = $$getenv(ANDROID_NDK_HOST)
@@ -642,10 +611,11 @@ defineTest(qtConfOutput_prepareOptions) {
qtConfFatalError("Specified Android NDK host is invalid.")
}
- target_arch = $$eval(config.input.android-arch)
- isEmpty(target_arch): \
- target_arch = armeabi-v7a
-
+ android_abis = $$eval(config.input.android-abis)
+ isEmpty(android_abis): \
+ android_abis = $$eval(config.input.android-arch)
+ isEmpty(android_abis): \
+ android_abis = armeabi-v7a,arm64-v8a,x86,x86_64
platform = $$eval(config.input.android-ndk-platform)
isEmpty(platform): \
platform = android-21
@@ -655,8 +625,7 @@ defineTest(qtConfOutput_prepareOptions) {
"DEFAULT_ANDROID_NDK_ROOT = $$val_escape(ndk_root)" \
"DEFAULT_ANDROID_PLATFORM = $$platform" \
"DEFAULT_ANDROID_NDK_HOST = $$ndk_host" \
- "DEFAULT_ANDROID_TARGET_ARCH = $$target_arch" \
- "DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION = $$ndk_tc_ver"
+ "DEFAULT_ANDROID_ABIS = $$split(android_abis, ',')"
}
export($${currentConfig}.output.devicePro)
diff --git a/doc/src/images/macmainwindow.png b/doc/src/images/macmainwindow.png
deleted file mode 100644
index 84eb11ca5e..0000000000
--- a/doc/src/images/macmainwindow.png
+++ /dev/null
Binary files differ
diff --git a/examples/corelib/threads/doc/src/mandelbrot.qdoc b/examples/corelib/threads/doc/src/mandelbrot.qdoc
index 274874632e..9e3fdc1dfe 100644
--- a/examples/corelib/threads/doc/src/mandelbrot.qdoc
+++ b/examples/corelib/threads/doc/src/mandelbrot.qdoc
@@ -304,8 +304,8 @@
\snippet threads/mandelbrot/mandelbrotwidget.cpp 12
The wheel event handler is reimplemented to make the mouse wheel
- control the zoom level. QWheelEvent::delta() returns the angle of
- the wheel mouse movement, in eights of a degree. For most mice,
+ control the zoom level. QWheelEvent::angleDelta() returns the angle
+ of the wheel mouse movement, in eighths of a degree. For most mice,
one wheel step corresponds to 15 degrees. We find out how many
mouse steps we have and determine the resulting zoom factor.
For example, if we have two wheel steps in the positive direction
diff --git a/examples/corelib/threads/mandelbrot/mandelbrotwidget.cpp b/examples/corelib/threads/mandelbrot/mandelbrotwidget.cpp
index 71d0abb09f..822791533b 100644
--- a/examples/corelib/threads/mandelbrot/mandelbrotwidget.cpp
+++ b/examples/corelib/threads/mandelbrot/mandelbrotwidget.cpp
@@ -176,7 +176,7 @@ void MandelbrotWidget::keyPressEvent(QKeyEvent *event)
//! [12]
void MandelbrotWidget::wheelEvent(QWheelEvent *event)
{
- int numDegrees = event->delta() / 8;
+ int numDegrees = event->angleDelta().y() / 8;
double numSteps = numDegrees / 15.0f;
zoom(pow(ZoomInFactor, numSteps));
}
diff --git a/examples/widgets/animation/easing/window.cpp b/examples/widgets/animation/easing/window.cpp
index aa12147388..d1d6348361 100644
--- a/examples/widgets/animation/easing/window.cpp
+++ b/examples/widgets/animation/easing/window.cpp
@@ -55,11 +55,10 @@ Window::Window(QWidget *parent)
m_iconSize(64, 64)
{
m_ui.setupUi(this);
- QButtonGroup *buttonGroup = findChild<QButtonGroup *>(); // ### workaround for uic in 4.4
m_ui.easingCurvePicker->setIconSize(m_iconSize);
m_ui.easingCurvePicker->setMinimumHeight(m_iconSize.height() + 50);
- buttonGroup->setId(m_ui.lineRadio, 0);
- buttonGroup->setId(m_ui.circleRadio, 1);
+ m_ui.buttonGroup->setId(m_ui.lineRadio, 0);
+ m_ui.buttonGroup->setId(m_ui.circleRadio, 1);
QEasingCurve dummy;
m_ui.periodSpinBox->setValue(dummy.period());
@@ -68,7 +67,7 @@ Window::Window(QWidget *parent)
connect(m_ui.easingCurvePicker, &QListWidget::currentRowChanged,
this, &Window::curveChanged);
- connect(buttonGroup, QOverload<int>::of(&QButtonGroup::buttonClicked),
+ connect(m_ui.buttonGroup, QOverload<int>::of(&QButtonGroup::buttonClicked),
this, &Window::pathChanged);
connect(m_ui.periodSpinBox, QOverload<double>::of(&QDoubleSpinBox::valueChanged),
this, &Window::periodChanged);
diff --git a/examples/widgets/animation/stickman/animation.cpp b/examples/widgets/animation/stickman/animation.cpp
index 5c2d1682af..73d79adc84 100644
--- a/examples/widgets/animation/stickman/animation.cpp
+++ b/examples/widgets/animation/stickman/animation.cpp
@@ -50,16 +50,13 @@
#include "animation.h"
-#include <QPointF>
-#include <QVector>
#include <QIODevice>
#include <QDataStream>
class Frame
{
public:
- Frame() {
- }
+ Frame() = default;
int nodeCount() const
{
@@ -85,9 +82,8 @@ private:
QVector<QPointF> m_nodePositions;
};
-Animation::Animation()
+Animation::Animation() : m_currentFrame(0)
{
- m_currentFrame = 0;
m_frames.append(new Frame);
}
@@ -103,6 +99,8 @@ void Animation::setTotalFrames(int totalFrames)
while (totalFrames < m_frames.size())
delete m_frames.takeLast();
+
+ setCurrentFrame(m_currentFrame);
}
int Animation::totalFrames() const
@@ -112,7 +110,7 @@ int Animation::totalFrames() const
void Animation::setCurrentFrame(int currentFrame)
{
- m_currentFrame = qMax(qMin(currentFrame, totalFrames()-1), 0);
+ m_currentFrame = qBound(0, currentFrame, totalFrames() - 1);
}
int Animation::currentFrame() const
@@ -177,18 +175,16 @@ void Animation::load(QIODevice *device)
int frameCount;
stream >> frameCount;
- for (int i=0; i<frameCount; ++i) {
-
+ for (int i = 0; i < frameCount; ++i) {
int nodeCount;
stream >> nodeCount;
Frame *frame = new Frame;
frame->setNodeCount(nodeCount);
- for (int j=0; j<nodeCount; ++j) {
+ for (int j = 0; j < nodeCount; ++j) {
QPointF pos;
stream >> pos;
-
frame->setNodePos(j, pos);
}
diff --git a/examples/widgets/animation/stickman/animation.h b/examples/widgets/animation/stickman/animation.h
index e57847aeaa..5cc1133ac0 100644
--- a/examples/widgets/animation/stickman/animation.h
+++ b/examples/widgets/animation/stickman/animation.h
@@ -52,8 +52,8 @@
#define ANIMATION_H
#include <QPointF>
-#include <QList>
#include <QString>
+#include <QVector>
class Frame;
QT_BEGIN_NAMESPACE
@@ -85,7 +85,7 @@ public:
private:
QString m_name;
- QList<Frame *> m_frames;
+ QVector<Frame *> m_frames;
int m_currentFrame;
};
diff --git a/examples/widgets/animation/stickman/graphicsview.cpp b/examples/widgets/animation/stickman/graphicsview.cpp
index 7058e15345..0f5800cff3 100644
--- a/examples/widgets/animation/stickman/graphicsview.cpp
+++ b/examples/widgets/animation/stickman/graphicsview.cpp
@@ -51,13 +51,8 @@
#include "graphicsview.h"
#include "stickman.h"
-#include <QtGui/QKeyEvent>
-#include <QtWidgets/QGraphicsScene>
-#include <QtWidgets/QGraphicsView>
-
-GraphicsView::GraphicsView(QWidget *parent)
- : QGraphicsView(parent), m_editor(nullptr)
-{}
+#include <QKeyEvent>
+#include <QGraphicsScene>
void GraphicsView::keyPressEvent(QKeyEvent *e)
{
@@ -66,7 +61,8 @@ void GraphicsView::keyPressEvent(QKeyEvent *e)
emit keyPressed(Qt::Key(e->key()));
}
-void GraphicsView::resizeEvent(QResizeEvent *)
+void GraphicsView::resizeEvent(QResizeEvent *e)
{
fitInView(scene()->sceneRect());
+ QGraphicsView::resizeEvent(e);
}
diff --git a/examples/widgets/animation/stickman/graphicsview.h b/examples/widgets/animation/stickman/graphicsview.h
index 361fee219d..29f4c6237e 100644
--- a/examples/widgets/animation/stickman/graphicsview.h
+++ b/examples/widgets/animation/stickman/graphicsview.h
@@ -51,24 +51,20 @@
#ifndef GRAPHICSVIEW_H
#define GRAPHICSVIEW_H
-#include <QtWidgets/QGraphicsView>
+#include <QGraphicsView>
-class MainWindow;
class GraphicsView: public QGraphicsView
{
Q_OBJECT
public:
- GraphicsView(QWidget *parent = nullptr);
+ using QGraphicsView::QGraphicsView;
protected:
- void resizeEvent(QResizeEvent *event) override;
- void keyPressEvent(QKeyEvent *) override;
+ void resizeEvent(QResizeEvent *e) override;
+ void keyPressEvent(QKeyEvent *e) override;
signals:
void keyPressed(int key);
-
-private:
- MainWindow *m_editor;
};
#endif
diff --git a/examples/widgets/animation/stickman/lifecycle.cpp b/examples/widgets/animation/stickman/lifecycle.cpp
index 046e3f4cd1..5ad284c590 100644
--- a/examples/widgets/animation/stickman/lifecycle.cpp
+++ b/examples/widgets/animation/stickman/lifecycle.cpp
@@ -54,8 +54,15 @@
#include "animation.h"
#include "graphicsview.h"
-#include <QtCore>
-#include <QtWidgets>
+#include <QEventTransition>
+#include <QFile>
+#include <QParallelAnimationGroup>
+#include <QPropertyAnimation>
+#include <QRandomGenerator>
+#include <QSignalTransition>
+#include <QState>
+#include <QStateMachine>
+#include <QTimer>
class KeyPressTransition: public QSignalTransition
{
@@ -107,7 +114,7 @@ LifeCycle::LifeCycle(StickMan *stickMan, GraphicsView *keyReceiver)
// Create animation group to be used for all transitions
m_animationGroup = new QParallelAnimationGroup();
const int stickManNodeCount = m_stickMan->nodeCount();
- for (int i=0; i<stickManNodeCount; ++i) {
+ for (int i = 0; i < stickManNodeCount; ++i) {
QPropertyAnimation *pa = new QPropertyAnimation(m_stickMan->node(i), "pos");
m_animationGroup->addAnimation(pa);
}
@@ -175,7 +182,7 @@ void LifeCycle::addActivity(const QString &fileName, Qt::Key key, QObject *sende
QState *state = makeState(m_alive, fileName);
m_alive->addTransition(new KeyPressTransition(m_keyReceiver, key, state));
- if (sender || signal)
+ if (sender && signal)
m_alive->addTransition(sender, signal, state);
}
@@ -192,13 +199,13 @@ QState *LifeCycle::makeState(QState *parentState, const QString &animationFileNa
const int frameCount = animation.totalFrames();
QState *previousState = nullptr;
- for (int i=0; i<frameCount; ++i) {
+ for (int i = 0; i < frameCount; ++i) {
animation.setCurrentFrame(i);
//! [1]
QState *frameState = new QState(topLevel);
const int nodeCount = animation.nodeCount();
- for (int j=0; j<nodeCount; ++j)
+ for (int j = 0; j < nodeCount; ++j)
frameState->assignProperty(m_stickMan->node(j), "pos", animation.nodePos(j));
//! [1]
diff --git a/examples/widgets/animation/stickman/lifecycle.h b/examples/widgets/animation/stickman/lifecycle.h
index e3f9876676..21ab99276d 100644
--- a/examples/widgets/animation/stickman/lifecycle.h
+++ b/examples/widgets/animation/stickman/lifecycle.h
@@ -53,16 +53,16 @@
#include <Qt>
-class StickMan;
QT_BEGIN_NAMESPACE
-class QStateMachine;
-class QAnimationGroup;
-class QState;
class QAbstractState;
class QAbstractTransition;
+class QAnimationGroup;
class QObject;
+class QState;
+class QStateMachine;
QT_END_NAMESPACE
class GraphicsView;
+class StickMan;
class LifeCycle
{
public:
@@ -70,7 +70,8 @@ public:
~LifeCycle();
void setDeathAnimation(const QString &fileName);
- void addActivity(const QString &fileName, Qt::Key key, QObject *sender = NULL, const char *signal = NULL);
+ void addActivity(const QString &fileName, Qt::Key key,
+ QObject *sender = nullptr, const char *signal = nullptr);
void start();
diff --git a/examples/widgets/animation/stickman/node.h b/examples/widgets/animation/stickman/node.h
index 679999b7e8..2b393c60c1 100644
--- a/examples/widgets/animation/stickman/node.h
+++ b/examples/widgets/animation/stickman/node.h
@@ -51,13 +51,13 @@
#ifndef NODE_H
#define NODE_H
-#include <QGraphicsItem>
+#include <QGraphicsObject>
class Node: public QGraphicsObject
{
Q_OBJECT
public:
- explicit Node(const QPointF &pos, QGraphicsItem *parent = 0);
+ explicit Node(const QPointF &pos, QGraphicsItem *parent = nullptr);
~Node();
QRectF boundingRect() const override;
diff --git a/examples/widgets/animation/stickman/rectbutton.cpp b/examples/widgets/animation/stickman/rectbutton.cpp
index 7eea94ae6f..5174d0aeaf 100644
--- a/examples/widgets/animation/stickman/rectbutton.cpp
+++ b/examples/widgets/animation/stickman/rectbutton.cpp
@@ -51,12 +51,7 @@
#include "rectbutton.h"
#include <QPainter>
-RectButton::RectButton(QString buttonText) : m_ButtonText(buttonText)
-{
-}
-
-
-RectButton::~RectButton()
+RectButton::RectButton(const QString &buttonText) : m_ButtonText(buttonText)
{
}
diff --git a/examples/widgets/animation/stickman/rectbutton.h b/examples/widgets/animation/stickman/rectbutton.h
index ab47bad0f7..ee6cd3f530 100644
--- a/examples/widgets/animation/stickman/rectbutton.h
+++ b/examples/widgets/animation/stickman/rectbutton.h
@@ -57,19 +57,19 @@ class RectButton : public QGraphicsObject
{
Q_OBJECT
public:
- RectButton(QString buttonText);
- ~RectButton();
+ RectButton(const QString &buttonText);
QRectF boundingRect() const override;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
protected:
- QString m_ButtonText;
-
void mousePressEvent (QGraphicsSceneMouseEvent *event) override;
signals:
void clicked();
+
+private:
+ QString m_ButtonText;
};
#endif // RECTBUTTON_H
diff --git a/examples/widgets/animation/stickman/stickman.cpp b/examples/widgets/animation/stickman/stickman.cpp
index 5725f64eec..3f373b6b52 100644
--- a/examples/widgets/animation/stickman/stickman.cpp
+++ b/examples/widgets/animation/stickman/stickman.cpp
@@ -52,10 +52,9 @@
#include "node.h"
#include <QPainter>
-#include <QTimer>
-#include <qmath.h>
+#include <QtMath>
-static const qreal Coords[NodeCount * 2] = {
+static constexpr qreal Coords[NodeCount * 2] = {
0.0, -150.0, // head, #0
0.0, -100.0, // body pentagon, top->bottom, left->right, #1 - 5
@@ -81,7 +80,7 @@ static const qreal Coords[NodeCount * 2] = {
};
-static const int Bones[BoneCount * 2] = {
+static constexpr int Bones[BoneCount * 2] = {
0, 1, // neck
1, 2, // body
@@ -117,19 +116,13 @@ static const int Bones[BoneCount * 2] = {
StickMan::StickMan()
{
- m_sticks = true;
- m_isDead = false;
- m_pixmap = QPixmap("images/head.png");
- m_penColor = Qt::white;
- m_fillColor = Qt::black;
-
// Set up start position of limbs
- for (int i=0; i<NodeCount; ++i) {
+ for (int i = 0; i < NodeCount; ++i) {
m_nodes[i] = new Node(QPointF(Coords[i * 2], Coords[i * 2 + 1]), this);
connect(m_nodes[i], &Node::positionChanged, this, &StickMan::childPositionChanged);
}
- for (int i=0; i<BoneCount; ++i) {
+ for (int i = 0; i < BoneCount; ++i) {
int n1 = Bones[i * 2];
int n2 = Bones[i * 2 + 1];
@@ -137,16 +130,12 @@ StickMan::StickMan()
Node *node2 = m_nodes[n2];
QPointF dist = node1->pos() - node2->pos();
- m_perfectBoneLengths[i] = sqrt(pow(dist.x(),2) + pow(dist.y(),2));
+ m_perfectBoneLengths[i] = sqrt(pow(dist.x(), 2) + pow(dist.y(), 2));
}
startTimer(10);
}
-StickMan::~StickMan()
-{
-}
-
void StickMan::childPositionChanged()
{
prepareGeometryChange();
@@ -155,7 +144,7 @@ void StickMan::childPositionChanged()
void StickMan::setDrawSticks(bool on)
{
m_sticks = on;
- for (int i=0;i<nodeCount();++i) {
+ for (int i = 0; i < nodeCount(); ++i) {
Node *node = m_nodes[i];
node->setVisible(on);
}
@@ -188,7 +177,7 @@ void StickMan::stabilize()
{
static const qreal threshold = 0.001;
- for (int i=0; i<BoneCount; ++i) {
+ for (int i = 0; i < BoneCount; ++i) {
int n1 = Bones[i * 2];
int n2 = Bones[i * 2 + 1];
@@ -236,7 +225,7 @@ void StickMan::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidge
stabilize();
if (m_sticks) {
painter->setPen(Qt::white);
- for (int i=0; i<BoneCount; ++i) {
+ for (int i = 0; i < BoneCount; ++i) {
int n1 = Bones[i * 2];
int n2 = Bones[i * 2 + 1];
diff --git a/examples/widgets/animation/stickman/stickman.h b/examples/widgets/animation/stickman/stickman.h
index f2311a0358..63c02abc8f 100644
--- a/examples/widgets/animation/stickman/stickman.h
+++ b/examples/widgets/animation/stickman/stickman.h
@@ -57,8 +57,6 @@ static const int NodeCount = 16;
static const int BoneCount = 24;
class Node;
-QT_BEGIN_NAMESPACE
-QT_END_NAMESPACE
class StickMan: public QGraphicsObject
{
Q_OBJECT
@@ -67,7 +65,6 @@ class StickMan: public QGraphicsObject
Q_PROPERTY(bool isDead WRITE setIsDead READ isDead)
public:
StickMan();
- ~StickMan();
QRectF boundingRect() const override;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
@@ -101,13 +98,11 @@ private:
Node *m_nodes[NodeCount];
qreal m_perfectBoneLengths[BoneCount];
- uint m_sticks : 1;
- uint m_isDead : 1;
- uint m_reserved : 30;
+ bool m_sticks = true;
+ bool m_isDead = false;
- QPixmap m_pixmap;
- QColor m_penColor;
- QColor m_fillColor;
+ QColor m_penColor = Qt::white;
+ QColor m_fillColor = Qt::black;
};
#endif // STICKMAN_H
diff --git a/examples/widgets/animation/sub-attaq/animationmanager.cpp b/examples/widgets/animation/sub-attaq/animationmanager.cpp
index a611641613..261cbd1e1c 100644
--- a/examples/widgets/animation/sub-attaq/animationmanager.cpp
+++ b/examples/widgets/animation/sub-attaq/animationmanager.cpp
@@ -51,22 +51,13 @@
//Own
#include "animationmanager.h"
-//Qt
-#include <QtCore/QAbstractAnimation>
-#include <QtCore/QDebug>
-
-// the universe's only animation manager
-AnimationManager *AnimationManager::instance = nullptr;
-
-AnimationManager::AnimationManager()
-{
-}
+#include <QAbstractAnimation>
AnimationManager *AnimationManager::self()
{
- if (!instance)
- instance = new AnimationManager;
- return instance;
+ // the universe's only animation manager
+ static AnimationManager s_instance;
+ return &s_instance;
}
void AnimationManager::registerAnimation(QAbstractAnimation *anim)
diff --git a/examples/widgets/animation/sub-attaq/animationmanager.h b/examples/widgets/animation/sub-attaq/animationmanager.h
index 9365fa1f1e..5ddea66e80 100644
--- a/examples/widgets/animation/sub-attaq/animationmanager.h
+++ b/examples/widgets/animation/sub-attaq/animationmanager.h
@@ -51,7 +51,7 @@
#ifndef ANIMATIONMANAGER_H
#define ANIMATIONMANAGER_H
-#include <QtCore/QObject>
+#include <QObject>
QT_BEGIN_NAMESPACE
class QAbstractAnimation;
@@ -59,9 +59,10 @@ QT_END_NAMESPACE
class AnimationManager : public QObject
{
-Q_OBJECT
+ Q_OBJECT
+ AnimationManager() = default;
+ ~AnimationManager() = default;
public:
- AnimationManager();
void registerAnimation(QAbstractAnimation *anim);
void unregisterAnimation(QAbstractAnimation *anim);
void unregisterAllAnimations();
@@ -75,8 +76,7 @@ private slots:
void unregisterAnimation_helper(QObject *obj);
private:
- static AnimationManager *instance;
- QList<QAbstractAnimation *> animations;
+ QVector<QAbstractAnimation *> animations;
};
#endif // ANIMATIONMANAGER_H
diff --git a/examples/widgets/animation/sub-attaq/boat.cpp b/examples/widgets/animation/sub-attaq/boat.cpp
index 9037d54878..d5fa314b60 100644
--- a/examples/widgets/animation/sub-attaq/boat.cpp
+++ b/examples/widgets/animation/sub-attaq/boat.cpp
@@ -52,18 +52,17 @@
#include "boat.h"
#include "boat_p.h"
#include "bomb.h"
-#include "pixmapitem.h"
#include "graphicsscene.h"
#include "animationmanager.h"
#include "qanimationstate.h"
//Qt
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QHistoryState>
-#include <QtCore/QFinalState>
-#include <QtCore/QState>
-#include <QtCore/QSequentialAnimationGroup>
+#include <QFinalState>
+#include <QHistoryState>
+#include <QPropertyAnimation>
+#include <QSequentialAnimationGroup>
+#include <QState>
+#include <QStateMachine>
static QAbstractAnimation *setupDestroyAnimation(Boat *boat)
{
@@ -181,7 +180,7 @@ Boat::Boat()
launchStateLeft->addTransition(historyState);
launchStateRight->addTransition(historyState);
- QFinalState *final = new QFinalState(machine);
+ QFinalState *finalState = new QFinalState(machine);
//This state play the destroyed animation
QAnimationState *destroyedState = new QAnimationState(machine);
@@ -191,10 +190,10 @@ Boat::Boat()
moving->addTransition(this, &Boat::boatDestroyed, destroyedState);
//Transition to final state when the destroyed animation is finished
- destroyedState->addTransition(destroyedState, &QAnimationState::animationFinished, final);
+ destroyedState->addTransition(destroyedState, &QAnimationState::animationFinished, finalState);
//The machine has finished to be executed, then the boat is dead
- connect(machine,&QState::finished, this, &Boat::boatExecutionFinished);
+ connect(machine, &QState::finished, this, &Boat::boatExecutionFinished);
}
diff --git a/examples/widgets/animation/sub-attaq/boat.h b/examples/widgets/animation/sub-attaq/boat.h
index a75e2b1474..22f2f0f7c1 100644
--- a/examples/widgets/animation/sub-attaq/boat.h
+++ b/examples/widgets/animation/sub-attaq/boat.h
@@ -48,12 +48,11 @@
**
****************************************************************************/
-#ifndef __BOAT__H__
-#define __BOAT__H__
+#ifndef BOAT_H
+#define BOAT_H
#include "pixmapitem.h"
-class Bomb;
QT_BEGIN_NAMESPACE
class QVariantAnimation;
class QAbstractAnimation;
@@ -101,4 +100,4 @@ private:
QStateMachine *machine;
};
-#endif //__BOAT__H__
+#endif // BOAT_H
diff --git a/examples/widgets/animation/sub-attaq/boat_p.h b/examples/widgets/animation/sub-attaq/boat_p.h
index 8ebfeb27f5..bb1a783392 100644
--- a/examples/widgets/animation/sub-attaq/boat_p.h
+++ b/examples/widgets/animation/sub-attaq/boat_p.h
@@ -67,7 +67,9 @@
#include "graphicsscene.h"
// Qt
-#include <QtWidgets/QKeyEventTransition>
+#include <QGraphicsRotation>
+#include <QKeyEventTransition>
+#include <QState>
static const int MAX_BOMB = 5;
@@ -88,7 +90,7 @@ protected:
return (boat->currentSpeed() == 1);
}
private:
- Boat * boat;
+ Boat *boat;
};
//These transtion test if we have to move the boat (i.e current speed was 0 or another value)
@@ -118,7 +120,7 @@ protected:
boat->updateBoatMovement();
}
private:
- Boat * boat;
+ Boat *boat;
int key;
};
@@ -139,7 +141,7 @@ protected:
return (boat->bombsLaunched() < MAX_BOMB);
}
private:
- Boat * boat;
+ Boat *boat;
};
//This state is describing when the boat is moving right
@@ -157,7 +159,7 @@ protected:
boat->updateBoatMovement();
}
private:
- Boat * boat;
+ Boat *boat;
};
//This state is describing when the boat is moving left
@@ -175,7 +177,7 @@ protected:
boat->updateBoatMovement();
}
private:
- Boat * boat;
+ Boat *boat;
};
//This state is describing when the boat is in a stand by position
@@ -194,7 +196,7 @@ protected:
boat->updateBoatMovement();
}
private:
- Boat * boat;
+ Boat *boat;
};
//This state is describing the launch of the torpedo on the right
@@ -216,7 +218,7 @@ protected:
boat->setBombsLaunched(boat->bombsLaunched() + 1);
}
private:
- Boat * boat;
+ Boat *boat;
};
//This state is describing the launch of the torpedo on the left
@@ -238,7 +240,7 @@ protected:
boat->setBombsLaunched(boat->bombsLaunched() + 1);
}
private:
- Boat * boat;
+ Boat *boat;
};
#endif // BOAT_P_H
diff --git a/examples/widgets/animation/sub-attaq/bomb.cpp b/examples/widgets/animation/sub-attaq/bomb.cpp
index 2b865137dd..0b9c365662 100644
--- a/examples/widgets/animation/sub-attaq/bomb.cpp
+++ b/examples/widgets/animation/sub-attaq/bomb.cpp
@@ -51,15 +51,14 @@
//Own
#include "bomb.h"
#include "submarine.h"
-#include "pixmapitem.h"
#include "animationmanager.h"
#include "qanimationstate.h"
//Qt
-#include <QtCore/QSequentialAnimationGroup>
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
+#include <QFinalState>
+#include <QPropertyAnimation>
+#include <QSequentialAnimationGroup>
+#include <QStateMachine>
Bomb::Bomb() : PixmapItem(QString("bomb"), GraphicsScene::Big)
{
@@ -83,7 +82,7 @@ void Bomb::launch(Bomb::Direction direction)
anim->setEndValue(QPointF(x() + delta*2,scene()->height()));
anim->setDuration(y()/2*60);
launchAnimation->addAnimation(anim);
- connect(anim,&QVariantAnimation::valueChanged,this,&Bomb::onAnimationLaunchValueChanged);
+ connect(anim, &QVariantAnimation::valueChanged, this, &Bomb::onAnimationLaunchValueChanged);
connect(this, &Bomb::bombExploded, launchAnimation, &QAbstractAnimation::stop);
//We setup the state machine of the bomb
QStateMachine *machine = new QStateMachine(this);
@@ -93,18 +92,18 @@ void Bomb::launch(Bomb::Direction direction)
launched->setAnimation(launchAnimation);
//End
- QFinalState *final = new QFinalState(machine);
+ QFinalState *finalState = new QFinalState(machine);
machine->setInitialState(launched);
//### Add a nice animation when the bomb is destroyed
- launched->addTransition(this, &Bomb::bombExploded,final);
+ launched->addTransition(this, &Bomb::bombExploded, finalState);
//If the animation is finished, then we move to the final state
- launched->addTransition(launched, &QAnimationState::animationFinished, final);
+ launched->addTransition(launched, &QAnimationState::animationFinished, finalState);
//The machine has finished to be executed, then the boat is dead
- connect(machine,&QState::finished,this, &Bomb::bombExecutionFinished);
+ connect(machine,&QState::finished, this, &Bomb::bombExecutionFinished);
machine->start();
diff --git a/examples/widgets/animation/sub-attaq/bomb.h b/examples/widgets/animation/sub-attaq/bomb.h
index 8e893f81e3..9ae54b4d81 100644
--- a/examples/widgets/animation/sub-attaq/bomb.h
+++ b/examples/widgets/animation/sub-attaq/bomb.h
@@ -48,8 +48,8 @@
**
****************************************************************************/
-#ifndef __BOMB__H__
-#define __BOMB__H__
+#ifndef BOMB_H
+#define BOMB_H
#include "pixmapitem.h"
@@ -73,4 +73,4 @@ private slots:
void onAnimationLaunchValueChanged(const QVariant &);
};
-#endif //__BOMB__H__
+#endif // BOMB_H
diff --git a/examples/widgets/animation/sub-attaq/graphicsscene.cpp b/examples/widgets/animation/sub-attaq/graphicsscene.cpp
index 8f0dfc1357..c7e2d269c8 100644
--- a/examples/widgets/animation/sub-attaq/graphicsscene.cpp
+++ b/examples/widgets/animation/sub-attaq/graphicsscene.cpp
@@ -55,38 +55,33 @@
#include "submarine.h"
#include "torpedo.h"
#include "bomb.h"
-#include "pixmapitem.h"
#include "animationmanager.h"
#include "qanimationstate.h"
#include "progressitem.h"
#include "textinformationitem.h"
//Qt
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QSequentialAnimationGroup>
-#include <QtCore/QParallelAnimationGroup>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
-#include <QtCore/QPauseAnimation>
-#include <QtWidgets/QAction>
-#include <QtCore/QDir>
-#include <QtWidgets/QApplication>
-#include <QtWidgets/QMessageBox>
-#include <QtWidgets/QGraphicsView>
-#include <QtWidgets/QGraphicsSceneMouseEvent>
-#include <QtCore/QXmlStreamReader>
-
-GraphicsScene::GraphicsScene(int x, int y, int width, int height, Mode mode)
- : QGraphicsScene(x , y, width, height), mode(mode), boat(new Boat)
+#include <QAction>
+#include <QApplication>
+#include <QFile>
+#include <QFinalState>
+#include <QParallelAnimationGroup>
+#include <QPropertyAnimation>
+#include <QSequentialAnimationGroup>
+#include <QStateMachine>
+#include <QXmlStreamReader>
+
+GraphicsScene::GraphicsScene(int x, int y, int width, int height, Mode mode, QObject *parent)
+ : QGraphicsScene(x, y, width, height, parent), mode(mode), boat(new Boat)
{
- PixmapItem *backgroundItem = new PixmapItem(QString("background"),mode);
+ PixmapItem *backgroundItem = new PixmapItem(QStringLiteral("background"), mode);
backgroundItem->setZValue(1);
backgroundItem->setPos(0,0);
addItem(backgroundItem);
- PixmapItem *surfaceItem = new PixmapItem(QString("surface"),mode);
+ PixmapItem *surfaceItem = new PixmapItem(QStringLiteral("surface"), mode);
surfaceItem->setZValue(3);
- surfaceItem->setPos(0,sealLevel() - surfaceItem->boundingRect().height()/2);
+ surfaceItem->setPos(0, sealLevel() - surfaceItem->boundingRect().height() / 2);
addItem(surfaceItem);
//The item that display score and level
@@ -137,8 +132,8 @@ qreal GraphicsScene::sealLevel() const
void GraphicsScene::setupScene(QAction *newAction, QAction *quitAction)
{
- static const int nLetters = 10;
- static struct {
+ static constexpr int nLetters = 10;
+ static constexpr struct {
char const *pix;
qreal initX, initY;
qreal destX, destY;
@@ -154,8 +149,8 @@ void GraphicsScene::setupScene(QAction *newAction, QAction *quitAction)
{"q", 200, 2000, 510, 250 },
{"excl", 0, 2000, 570, 220 } };
- QSequentialAnimationGroup * lettersGroupMoving = new QSequentialAnimationGroup(this);
- QParallelAnimationGroup * lettersGroupFading = new QParallelAnimationGroup(this);
+ QSequentialAnimationGroup *lettersGroupMoving = new QSequentialAnimationGroup(this);
+ QParallelAnimationGroup *lettersGroupFading = new QParallelAnimationGroup(this);
for (int i = 0; i < nLetters; ++i) {
PixmapItem *logo = new PixmapItem(QLatin1String(":/logo-") + logoData[i].pix, this);
@@ -180,7 +175,7 @@ void GraphicsScene::setupScene(QAction *newAction, QAction *quitAction)
PlayState *gameState = new PlayState(this, machine);
//Final state
- QFinalState *final = new QFinalState(machine);
+ QFinalState *finalState = new QFinalState(machine);
//Animation when the player enter in the game
QAnimationState *lettersMovingState = new QAnimationState(machine);
@@ -198,8 +193,8 @@ void GraphicsScene::setupScene(QAction *newAction, QAction *quitAction)
gameState->addTransition(newAction, &QAction::triggered, gameState);
//Wanna quit, then connect to CTRL+Q
- gameState->addTransition(quitAction, &QAction::triggered, final);
- lettersMovingState->addTransition(quitAction, &QAction::triggered, final);
+ gameState->addTransition(quitAction, &QAction::triggered, finalState);
+ lettersMovingState->addTransition(quitAction, &QAction::triggered, finalState);
//Welcome screen is the initial state
machine->setInitialState(lettersMovingState);
@@ -213,21 +208,24 @@ void GraphicsScene::setupScene(QAction *newAction, QAction *quitAction)
void GraphicsScene::addItem(Bomb *bomb)
{
bombs.insert(bomb);
- connect(bomb,&Bomb::bombExecutionFinished,this, &GraphicsScene::onBombExecutionFinished);
+ connect(bomb, &Bomb::bombExecutionFinished,
+ this, &GraphicsScene::onBombExecutionFinished);
QGraphicsScene::addItem(bomb);
}
void GraphicsScene::addItem(Torpedo *torpedo)
{
torpedos.insert(torpedo);
- connect(torpedo,&Torpedo::torpedoExecutionFinished,this, &GraphicsScene::onTorpedoExecutionFinished);
+ connect(torpedo, &Torpedo::torpedoExecutionFinished,
+ this, &GraphicsScene::onTorpedoExecutionFinished);
QGraphicsScene::addItem(torpedo);
}
void GraphicsScene::addItem(SubMarine *submarine)
{
submarines.insert(submarine);
- connect(submarine,&SubMarine::subMarineExecutionFinished,this, &GraphicsScene::onSubMarineExecutionFinished);
+ connect(submarine, &SubMarine::subMarineExecutionFinished,
+ this, &GraphicsScene::onSubMarineExecutionFinished);
QGraphicsScene::addItem(submarine);
}
@@ -239,15 +237,18 @@ void GraphicsScene::addItem(QGraphicsItem *item)
void GraphicsScene::onBombExecutionFinished()
{
Bomb *bomb = qobject_cast<Bomb *>(sender());
+ if (!bomb)
+ return;
bombs.remove(bomb);
bomb->deleteLater();
- if (boat)
- boat->setBombsLaunched(boat->bombsLaunched() - 1);
+ boat->setBombsLaunched(boat->bombsLaunched() - 1);
}
void GraphicsScene::onTorpedoExecutionFinished()
{
Torpedo *torpedo = qobject_cast<Torpedo *>(sender());
+ if (!torpedo)
+ return;
torpedos.remove(torpedo);
torpedo->deleteLater();
}
@@ -255,6 +256,8 @@ void GraphicsScene::onTorpedoExecutionFinished()
void GraphicsScene::onSubMarineExecutionFinished()
{
SubMarine *submarine = qobject_cast<SubMarine *>(sender());
+ if (!submarine)
+ return;
submarines.remove(submarine);
if (submarines.count() == 0)
emit allSubMarineDestroyed(submarine->points());
@@ -266,16 +269,22 @@ void GraphicsScene::onSubMarineExecutionFinished()
void GraphicsScene::clearScene()
{
for (SubMarine *sub : qAsConst(submarines)) {
+ // make sure to not go into onSubMarineExecutionFinished
+ sub->disconnect(this);
sub->destroy();
sub->deleteLater();
}
for (Torpedo *torpedo : qAsConst(torpedos)) {
+ // make sure to not go into onTorpedoExecutionFinished
+ torpedo->disconnect(this);
torpedo->destroy();
torpedo->deleteLater();
}
for (Bomb *bomb : qAsConst(bombs)) {
+ // make sure to not go into onBombExecutionFinished
+ bomb->disconnect(this);
bomb->destroy();
bomb->deleteLater();
}
diff --git a/examples/widgets/animation/sub-attaq/graphicsscene.h b/examples/widgets/animation/sub-attaq/graphicsscene.h
index 86c3414bbb..dd3719bc10 100644
--- a/examples/widgets/animation/sub-attaq/graphicsscene.h
+++ b/examples/widgets/animation/sub-attaq/graphicsscene.h
@@ -48,13 +48,12 @@
**
****************************************************************************/
-#ifndef __GRAPHICSSCENE__H__
-#define __GRAPHICSSCENE__H__
+#ifndef GRAPHICSSCENE_H
+#define GRAPHICSSCENE_H
//Qt
-#include <QtWidgets/QGraphicsScene>
-#include <QtCore/QSet>
-#include <QtCore/QState>
+#include <QGraphicsScene>
+#include <QSet>
class Boat;
@@ -78,18 +77,18 @@ public:
};
struct SubmarineDescription {
- int type;
- int points;
+ int type = 0;
+ int points = 0;
QString name;
};
struct LevelDescription {
- int id;
+ int id = 0;
QString name;
- QList<QPair<int,int> > submarines;
+ QVector<QPair<int, int>> submarines;
};
- GraphicsScene(int x, int y, int width, int height, Mode mode = Big);
+ GraphicsScene(int x, int y, int width, int height, Mode mode, QObject *parent = nullptr);
qreal sealLevel() const;
void setupScene(QAction *newAction, QAction *quitAction);
void addItem(Bomb *bomb);
@@ -127,5 +126,5 @@ private:
friend class UpdateScoreTransition;
};
-#endif //__GRAPHICSSCENE__H__
+#endif // GRAPHICSSCENE_H
diff --git a/examples/widgets/animation/sub-attaq/mainwindow.cpp b/examples/widgets/animation/sub-attaq/mainwindow.cpp
index a4bb15b383..8f545ecebd 100644
--- a/examples/widgets/animation/sub-attaq/mainwindow.cpp
+++ b/examples/widgets/animation/sub-attaq/mainwindow.cpp
@@ -56,11 +56,10 @@
#include <QGraphicsView>
#include <QApplication>
#include <QMenu>
-#include <QMenuBar>
#include <QLayout>
#ifndef QT_NO_OPENGL
-# include <QtOpenGL/QtOpenGL>
+# include <QtOpenGL>
#endif
MainWindow::MainWindow(QWidget *parent)
@@ -74,10 +73,10 @@ MainWindow::MainWindow(QWidget *parent)
quitAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Q));
if (QApplication::arguments().contains("-fullscreen")) {
- scene = new GraphicsScene(0, 0, 750, 400, GraphicsScene::Small);
+ scene = new GraphicsScene(0, 0, 750, 400, GraphicsScene::Small, this);
setWindowState(Qt::WindowFullScreen);
} else {
- scene = new GraphicsScene(0, 0, 880, 630);
+ scene = new GraphicsScene(0, 0, 880, 630, GraphicsScene::Big, this);
layout()->setSizeConstraint(QLayout::SetFixedSize);
}
diff --git a/examples/widgets/animation/sub-attaq/mainwindow.h b/examples/widgets/animation/sub-attaq/mainwindow.h
index c4fb9d324d..660acfaa0a 100644
--- a/examples/widgets/animation/sub-attaq/mainwindow.h
+++ b/examples/widgets/animation/sub-attaq/mainwindow.h
@@ -48,11 +48,11 @@
**
****************************************************************************/
-#ifndef __MAINWINDOW__H__
-#define __MAINWINDOW__H__
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
//Qt
-#include <QtWidgets/QMainWindow>
+#include <QMainWindow>
class GraphicsScene;
QT_BEGIN_NAMESPACE
class QGraphicsView;
@@ -69,4 +69,4 @@ private:
QGraphicsView *view;
};
-#endif //__MAINWINDOW__H__
+#endif // MAINWINDOW_H
diff --git a/examples/widgets/animation/sub-attaq/pixmapitem.cpp b/examples/widgets/animation/sub-attaq/pixmapitem.cpp
index 9475d5c3f8..a8581d881a 100644
--- a/examples/widgets/animation/sub-attaq/pixmapitem.cpp
+++ b/examples/widgets/animation/sub-attaq/pixmapitem.cpp
@@ -54,7 +54,7 @@
//Qt
#include <QPainter>
-PixmapItem::PixmapItem(const QString &fileName,GraphicsScene::Mode mode, QGraphicsItem * parent)
+PixmapItem::PixmapItem(const QString &fileName, GraphicsScene::Mode mode, QGraphicsItem *parent)
: QGraphicsObject(parent)
{
if (mode == GraphicsScene::Big)
@@ -63,7 +63,8 @@ PixmapItem::PixmapItem(const QString &fileName,GraphicsScene::Mode mode, QGraphi
pix = QPixmap(QStringLiteral(":/small/") + fileName);
}
-PixmapItem::PixmapItem(const QString &fileName, QGraphicsScene *scene) : QGraphicsObject(), pix(fileName)
+PixmapItem::PixmapItem(const QString &fileName, QGraphicsScene *scene)
+ : QGraphicsObject(), pix(fileName)
{
scene->addItem(this);
}
diff --git a/examples/widgets/animation/sub-attaq/pixmapitem.h b/examples/widgets/animation/sub-attaq/pixmapitem.h
index ec5c01857f..45e2ca806f 100644
--- a/examples/widgets/animation/sub-attaq/pixmapitem.h
+++ b/examples/widgets/animation/sub-attaq/pixmapitem.h
@@ -48,14 +48,14 @@
**
****************************************************************************/
-#ifndef __PIXMAPITEM__H__
-#define __PIXMAPITEM__H__
+#ifndef PIXMAPITEM_H
+#define PIXMAPITEM_H
//Own
#include "graphicsscene.h"
//Qt
-#include <QtWidgets/QGraphicsObject>
+#include <QGraphicsObject>
class PixmapItem : public QGraphicsObject
{
@@ -69,4 +69,4 @@ private:
QPixmap pix;
};
-#endif //__PIXMAPITEM__H__
+#endif // PIXMAPITEM_H
diff --git a/examples/widgets/animation/sub-attaq/progressitem.cpp b/examples/widgets/animation/sub-attaq/progressitem.cpp
index 8b6b367710..350dbb7bbd 100644
--- a/examples/widgets/animation/sub-attaq/progressitem.cpp
+++ b/examples/widgets/animation/sub-attaq/progressitem.cpp
@@ -49,10 +49,11 @@
****************************************************************************/
#include "progressitem.h"
-#include "pixmapitem.h"
-ProgressItem::ProgressItem (QGraphicsItem * parent)
- : QGraphicsTextItem(parent), currentLevel(1), currentScore(0)
+#include <QFont>
+
+ProgressItem::ProgressItem(QGraphicsItem *parent)
+ : QGraphicsTextItem(parent)
{
setFont(QFont("Comic Sans MS"));
setPos(parentItem()->boundingRect().topRight() - QPointF(180, -5));
diff --git a/examples/widgets/animation/sub-attaq/progressitem.h b/examples/widgets/animation/sub-attaq/progressitem.h
index 23f5407978..f76b168151 100644
--- a/examples/widgets/animation/sub-attaq/progressitem.h
+++ b/examples/widgets/animation/sub-attaq/progressitem.h
@@ -52,19 +52,19 @@
#define PROGRESSITEM_H
//Qt
-#include <QtWidgets/QGraphicsTextItem>
+#include <QGraphicsTextItem>
class ProgressItem : public QGraphicsTextItem
{
public:
- ProgressItem(QGraphicsItem * parent = 0);
+ ProgressItem(QGraphicsItem *parent = nullptr);
void setLevel(int level);
void setScore(int score);
private:
void updateProgress();
- int currentLevel;
- int currentScore;
+ int currentLevel = 1;
+ int currentScore = 0;
};
#endif // PROGRESSITEM_H
diff --git a/examples/widgets/animation/sub-attaq/qanimationstate.cpp b/examples/widgets/animation/sub-attaq/qanimationstate.cpp
index ce99f9080d..6da085561b 100644
--- a/examples/widgets/animation/sub-attaq/qanimationstate.cpp
+++ b/examples/widgets/animation/sub-attaq/qanimationstate.cpp
@@ -50,7 +50,7 @@
#include "qanimationstate.h"
-#include <QtCore/qstate.h>
+#include <QAbstractAnimation>
QT_BEGIN_NAMESPACE
@@ -106,7 +106,7 @@ void QAnimationState::setAnimation(QAbstractAnimation *animation)
return;
//Disconnect from the previous animation if exist
- if(m_animation)
+ if (m_animation)
disconnect(m_animation, &QAbstractAnimation::finished, this, &QAnimationState::animationFinished);
m_animation = animation;
diff --git a/examples/widgets/animation/sub-attaq/qanimationstate.h b/examples/widgets/animation/sub-attaq/qanimationstate.h
index 063b119058..24759851ba 100644
--- a/examples/widgets/animation/sub-attaq/qanimationstate.h
+++ b/examples/widgets/animation/sub-attaq/qanimationstate.h
@@ -51,13 +51,7 @@
#ifndef QANIMATIONSTATE_H
#define QANIMATIONSTATE_H
-#ifndef QT_STATEMACHINE_SOLUTION
-# include <QtCore/qstate.h>
-# include <QtCore/qabstractanimation.h>
-#else
-# include "qstate.h"
-# include "qabstractanimation.h"
-#endif
+#include <QState>
QT_BEGIN_NAMESPACE
@@ -67,7 +61,7 @@ class QAnimationState : public QState
{
Q_OBJECT
public:
- QAnimationState(QState *parent = 0);
+ QAnimationState(QState *parent = nullptr);
~QAnimationState();
void setAnimation(QAbstractAnimation *animation);
diff --git a/examples/widgets/animation/sub-attaq/states.cpp b/examples/widgets/animation/sub-attaq/states.cpp
index cda10ccdaf..c7e2738aad 100644
--- a/examples/widgets/animation/sub-attaq/states.cpp
+++ b/examples/widgets/animation/sub-attaq/states.cpp
@@ -59,12 +59,12 @@
#include "textinformationitem.h"
//Qt
-#include <QtWidgets/QMessageBox>
-#include <QtWidgets/QGraphicsView>
-#include <QtCore/QStateMachine>
-#include <QtWidgets/QKeyEventTransition>
-#include <QtCore/QFinalState>
-#include <QtCore/QRandomGenerator>
+#include <QFinalState>
+#include <QGraphicsView>
+#include <QKeyEventTransition>
+#include <QMessageBox>
+#include <QRandomGenerator>
+#include <QStateMachine>
PlayState::PlayState(GraphicsScene *scene, QState *parent)
: QState(parent), scene(scene), machine(nullptr),
@@ -146,7 +146,7 @@ void PlayState::onEntry(QEvent *)
machine->setInitialState(levelState);
//Final state
- QFinalState *final = new QFinalState(machine);
+ QFinalState *finalState = new QFinalState(machine);
//This transition is triggered when the player press space after completing a level
CustomSpaceTransition *spaceTransition = new CustomSpaceTransition(scene->views().at(0), this, QEvent::KeyPress, Qt::Key_Space);
@@ -154,7 +154,7 @@ void PlayState::onEntry(QEvent *)
winState->addTransition(spaceTransition);
//We lost we should reach the final state
- lostState->addTransition(lostState, &QState::finished, final);
+ lostState->addTransition(lostState, &QState::finished, finalState);
machine->start();
}
@@ -181,11 +181,9 @@ void LevelState::initializeLevel()
scene->progressItem->setScore(game->score);
scene->progressItem->setLevel(game->currentLevel + 1);
- GraphicsScene::LevelDescription currentLevelDescription = scene->levelsData.value(game->currentLevel);
+ const GraphicsScene::LevelDescription currentLevelDescription = scene->levelsData.value(game->currentLevel);
+ for (const QPair<int,int> &subContent : currentLevelDescription.submarines) {
- for (int i = 0; i < currentLevelDescription.submarines.size(); ++i ) {
-
- QPair<int,int> subContent = currentLevelDescription.submarines.at(i);
GraphicsScene::SubmarineDescription submarineDesc = scene->submarinesData.at(subContent.first);
for (int j = 0; j < subContent.second; ++j ) {
@@ -202,9 +200,10 @@ void LevelState::initializeLevel()
}
/** Pause State */
-PauseState::PauseState(GraphicsScene *scene, QState *parent) : QState(parent),scene(scene)
+PauseState::PauseState(GraphicsScene *scene, QState *parent) : QState(parent), scene(scene)
{
}
+
void PauseState::onEntry(QEvent *)
{
AnimationManager::self()->pauseAll();
@@ -324,8 +323,7 @@ bool WinTransition::eventTest(QEvent *event)
/** Space transition */
CustomSpaceTransition::CustomSpaceTransition(QWidget *widget, PlayState *game, QEvent::Type type, int key)
- : QKeyEventTransition(widget, type, key),
- game(game)
+ : QKeyEventTransition(widget, type, key), game(game)
{
}
diff --git a/examples/widgets/animation/sub-attaq/states.h b/examples/widgets/animation/sub-attaq/states.h
index cd68e319c2..b3651e1c82 100644
--- a/examples/widgets/animation/sub-attaq/states.h
+++ b/examples/widgets/animation/sub-attaq/states.h
@@ -52,15 +52,11 @@
#define STATES_H
//Qt
-#include <QtCore/QState>
-#include <QtCore/QSignalTransition>
-#include <QtCore/QPropertyAnimation>
-#include <QtWidgets/QKeyEventTransition>
-#include <QtCore/QSet>
+#include <QKeyEventTransition>
+#include <QSignalTransition>
+#include <QState>
class GraphicsScene;
-class Boat;
-class SubMarine;
QT_BEGIN_NAMESPACE
class QStateMachine;
QT_END_NAMESPACE
@@ -68,7 +64,7 @@ QT_END_NAMESPACE
class PlayState : public QState
{
public:
- explicit PlayState(GraphicsScene *scene, QState *parent = 0);
+ explicit PlayState(GraphicsScene *scene, QState *parent = nullptr);
~PlayState();
protected:
@@ -92,7 +88,7 @@ private :
class LevelState : public QState
{
public:
- LevelState(GraphicsScene *scene, PlayState *game, QState *parent = 0);
+ LevelState(GraphicsScene *scene, PlayState *game, QState *parent = nullptr);
protected:
void onEntry(QEvent *) override;
private :
@@ -104,7 +100,7 @@ private :
class PauseState : public QState
{
public:
- explicit PauseState(GraphicsScene *scene, QState *parent = 0);
+ explicit PauseState(GraphicsScene *scene, QState *parent = nullptr);
protected:
void onEntry(QEvent *) override;
@@ -116,7 +112,7 @@ private :
class LostState : public QState
{
public:
- LostState(GraphicsScene *scene, PlayState *game, QState *parent = 0);
+ LostState(GraphicsScene *scene, PlayState *game, QState *parent = nullptr);
protected:
void onEntry(QEvent *) override;
@@ -129,7 +125,7 @@ private :
class WinState : public QState
{
public:
- WinState(GraphicsScene *scene, PlayState *game, QState *parent = 0);
+ WinState(GraphicsScene *scene, PlayState *game, QState *parent = nullptr);
protected:
void onEntry(QEvent *) override;
@@ -154,7 +150,7 @@ public:
protected:
bool eventTest(QEvent *event) override;
private:
- PlayState * game;
+ PlayState *game;
GraphicsScene *scene;
};
@@ -166,7 +162,7 @@ public:
protected:
bool eventTest(QEvent *event) override;
private:
- PlayState * game;
+ PlayState *game;
GraphicsScene *scene;
};
diff --git a/examples/widgets/animation/sub-attaq/submarine.cpp b/examples/widgets/animation/sub-attaq/submarine.cpp
index 775e75ceed..a4ca376045 100644
--- a/examples/widgets/animation/sub-attaq/submarine.cpp
+++ b/examples/widgets/animation/sub-attaq/submarine.cpp
@@ -52,15 +52,14 @@
#include "submarine.h"
#include "submarine_p.h"
#include "torpedo.h"
-#include "pixmapitem.h"
#include "graphicsscene.h"
#include "animationmanager.h"
#include "qanimationstate.h"
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
-#include <QtCore/QSequentialAnimationGroup>
+#include <QFinalState>
+#include <QPropertyAnimation>
+#include <QStateMachine>
+#include <QSequentialAnimationGroup>
static QAbstractAnimation *setupDestroyAnimation(SubMarine *sub)
{
@@ -86,9 +85,8 @@ SubMarine::SubMarine(int type, const QString &name, int points) : PixmapItem(QSt
graphicsRotation = new QGraphicsRotation(this);
graphicsRotation->setAxis(Qt::YAxis);
- graphicsRotation->setOrigin(QVector3D(size().width()/2, size().height()/2, 0));
- QList<QGraphicsTransform *> r;
- r.append(graphicsRotation);
+ graphicsRotation->setOrigin(QVector3D(size().width() / 2, size().height() / 2, 0));
+ QList<QGraphicsTransform *> r({graphicsRotation});
setTransformations(r);
//We setup the state machine of the submarine
@@ -112,7 +110,7 @@ SubMarine::SubMarine(int type, const QString &name, int points) : PixmapItem(QSt
machine->setInitialState(moving);
//End
- QFinalState *final = new QFinalState(machine);
+ QFinalState *finalState = new QFinalState(machine);
//If the moving animation is finished we move to the return state
movement->addTransition(movement, &QAnimationState::animationFinished, rotation);
@@ -128,7 +126,7 @@ SubMarine::SubMarine(int type, const QString &name, int points) : PixmapItem(QSt
moving->addTransition(this, &SubMarine::subMarineDestroyed, destroyedState);
//Transition to final state when the destroyed animation is finished
- destroyedState->addTransition(destroyedState, &QAnimationState::animationFinished, final);
+ destroyedState->addTransition(destroyedState, &QAnimationState::animationFinished, finalState);
//The machine has finished to be executed, then the submarine is dead
connect(machine,&QState::finished,this, &SubMarine::subMarineExecutionFinished);
@@ -145,9 +143,8 @@ void SubMarine::setCurrentDirection(SubMarine::Movement direction)
{
if (this->direction == direction)
return;
- if (direction == SubMarine::Right && this->direction == SubMarine::None) {
+ if (direction == SubMarine::Right && this->direction == SubMarine::None)
graphicsRotation->setAngle(180);
- }
this->direction = direction;
}
@@ -158,9 +155,8 @@ enum SubMarine::Movement SubMarine::currentDirection() const
void SubMarine::setCurrentSpeed(int speed)
{
- if (speed < 0 || speed > 3) {
+ if (speed < 0 || speed > 3)
qWarning("SubMarine::setCurrentSpeed : The speed is invalid");
- }
this->speed = speed;
emit subMarineStateChanged();
}
@@ -172,7 +168,7 @@ int SubMarine::currentSpeed() const
void SubMarine::launchTorpedo(int speed)
{
- Torpedo * torp = new Torpedo();
+ Torpedo *torp = new Torpedo;
GraphicsScene *scene = static_cast<GraphicsScene *>(this->scene());
scene->addItem(torp);
torp->setPos(pos());
diff --git a/examples/widgets/animation/sub-attaq/submarine.h b/examples/widgets/animation/sub-attaq/submarine.h
index d145c9cbee..256683ec70 100644
--- a/examples/widgets/animation/sub-attaq/submarine.h
+++ b/examples/widgets/animation/sub-attaq/submarine.h
@@ -48,15 +48,12 @@
**
****************************************************************************/
-#ifndef __SUBMARINE__H__
-#define __SUBMARINE__H__
-
-//Qt
-#include <QtWidgets/QGraphicsTransform>
+#ifndef SUBMARINE_H
+#define SUBMARINE_H
#include "pixmapitem.h"
-class Torpedo;
+#include <QGraphicsRotation>
class SubMarine : public PixmapItem
{
@@ -99,4 +96,4 @@ private:
QGraphicsRotation *graphicsRotation;
};
-#endif //__SUBMARINE__H__
+#endif // SUBMARINE_H
diff --git a/examples/widgets/animation/sub-attaq/submarine_p.h b/examples/widgets/animation/sub-attaq/submarine_p.h
index 1c2cb7ceac..36807dade3 100644
--- a/examples/widgets/animation/sub-attaq/submarine_p.h
+++ b/examples/widgets/animation/sub-attaq/submarine_p.h
@@ -68,16 +68,15 @@
#include "qanimationstate.h"
//Qt
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QRandomGenerator>
-#include <QtWidgets/QGraphicsScene>
+#include <QPropertyAnimation>
+#include <QRandomGenerator>
//This state is describing when the boat is moving right
class MovementState : public QAnimationState
{
Q_OBJECT
public:
- explicit MovementState(SubMarine *submarine, QState *parent = 0) : QAnimationState(parent)
+ explicit MovementState(SubMarine *submarine, QState *parent = nullptr) : QAnimationState(parent)
{
movementAnimation = new QPropertyAnimation(submarine, "pos");
connect(movementAnimation, &QPropertyAnimation::valueChanged,
@@ -117,7 +116,7 @@ private:
class ReturnState : public QAnimationState
{
public:
- explicit ReturnState(SubMarine *submarine, QState *parent = 0) : QAnimationState(parent)
+ explicit ReturnState(SubMarine *submarine, QState *parent = nullptr) : QAnimationState(parent)
{
returnAnimation = new QPropertyAnimation(submarine->rotation(), "angle");
returnAnimation->setDuration(500);
diff --git a/examples/widgets/animation/sub-attaq/textinformationitem.cpp b/examples/widgets/animation/sub-attaq/textinformationitem.cpp
index 16f787125d..4d4934f63d 100644
--- a/examples/widgets/animation/sub-attaq/textinformationitem.cpp
+++ b/examples/widgets/animation/sub-attaq/textinformationitem.cpp
@@ -50,14 +50,15 @@
#include "textinformationitem.h"
#include "pixmapitem.h"
-TextInformationItem::TextInformationItem (QGraphicsItem * parent)
+TextInformationItem::TextInformationItem (QGraphicsItem *parent)
: QGraphicsTextItem(parent)
{
setFont(QFont("Comic Sans MS", 15));
}
-#include <QDebug>
-void TextInformationItem::setMessage(const QString& text)
+
+void TextInformationItem::setMessage(const QString &text)
{
setHtml(text);
- setPos(parentItem()->boundingRect().center().x() - boundingRect().size().width()/2 , parentItem()->boundingRect().center().y());
+ setPos(parentItem()->boundingRect().center().x() - boundingRect().size().width() / 2,
+ parentItem()->boundingRect().center().y());
}
diff --git a/examples/widgets/animation/sub-attaq/textinformationitem.h b/examples/widgets/animation/sub-attaq/textinformationitem.h
index aa6f913e48..0a0b618460 100644
--- a/examples/widgets/animation/sub-attaq/textinformationitem.h
+++ b/examples/widgets/animation/sub-attaq/textinformationitem.h
@@ -52,13 +52,13 @@
#define TEXTINFORMATIONITEM_H
//Qt
-#include <QtWidgets/QGraphicsTextItem>
+#include <QGraphicsTextItem>
class TextInformationItem : public QGraphicsTextItem
{
public:
- TextInformationItem(QGraphicsItem * parent = 0);
- void setMessage(const QString& text);
+ TextInformationItem(QGraphicsItem *parent = nullptr);
+ void setMessage(const QString &text);
};
#endif // TEXTINFORMATIONITEM_H
diff --git a/examples/widgets/animation/sub-attaq/torpedo.cpp b/examples/widgets/animation/sub-attaq/torpedo.cpp
index 92a3833452..7395aa39ac 100644
--- a/examples/widgets/animation/sub-attaq/torpedo.cpp
+++ b/examples/widgets/animation/sub-attaq/torpedo.cpp
@@ -50,15 +50,14 @@
//Own
#include "torpedo.h"
-#include "pixmapitem.h"
#include "boat.h"
#include "graphicsscene.h"
#include "animationmanager.h"
#include "qanimationstate.h"
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
+#include <QPropertyAnimation>
+#include <QStateMachine>
+#include <QFinalState>
Torpedo::Torpedo() : PixmapItem(QString::fromLatin1("torpedo"),GraphicsScene::Big),
currentSpeed(0)
@@ -70,11 +69,11 @@ void Torpedo::launch()
{
QPropertyAnimation *launchAnimation = new QPropertyAnimation(this, "pos");
AnimationManager::self()->registerAnimation(launchAnimation);
- launchAnimation->setEndValue(QPointF(x(),qobject_cast<GraphicsScene *>(scene())->sealLevel() - 15));
+ launchAnimation->setEndValue(QPointF(x(), qobject_cast<GraphicsScene *>(scene())->sealLevel() - 15));
launchAnimation->setEasingCurve(QEasingCurve::InQuad);
- launchAnimation->setDuration(y()/currentSpeed*10);
- connect(launchAnimation,&QVariantAnimation::valueChanged,this,&Torpedo::onAnimationLaunchValueChanged);
- connect(this,&Torpedo::torpedoExploded, launchAnimation, &QAbstractAnimation::stop);
+ launchAnimation->setDuration(y() / currentSpeed * 10);
+ connect(launchAnimation, &QVariantAnimation::valueChanged, this, &Torpedo::onAnimationLaunchValueChanged);
+ connect(this, &Torpedo::torpedoExploded, launchAnimation, &QAbstractAnimation::stop);
//We setup the state machine of the torpedo
QStateMachine *machine = new QStateMachine(this);
@@ -84,18 +83,18 @@ void Torpedo::launch()
launched->setAnimation(launchAnimation);
//End
- QFinalState *final = new QFinalState(machine);
+ QFinalState *finalState = new QFinalState(machine);
machine->setInitialState(launched);
//### Add a nice animation when the torpedo is destroyed
- launched->addTransition(this, &Torpedo::torpedoExploded,final);
+ launched->addTransition(this, &Torpedo::torpedoExploded, finalState);
//If the animation is finished, then we move to the final state
- launched->addTransition(launched, &QAnimationState::animationFinished, final);
+ launched->addTransition(launched, &QAnimationState::animationFinished, finalState);
//The machine has finished to be executed, then the boat is dead
- connect(machine,&QState::finished,this, &Torpedo::torpedoExecutionFinished);
+ connect(machine, &QState::finished, this, &Torpedo::torpedoExecutionFinished);
machine->start();
}
diff --git a/examples/widgets/animation/sub-attaq/torpedo.h b/examples/widgets/animation/sub-attaq/torpedo.h
index bd04bd79aa..7ac853d4e9 100644
--- a/examples/widgets/animation/sub-attaq/torpedo.h
+++ b/examples/widgets/animation/sub-attaq/torpedo.h
@@ -48,8 +48,8 @@
**
****************************************************************************/
-#ifndef __TORPEDO__H__
-#define __TORPEDO__H__
+#ifndef TORPEDO_H
+#define TORPEDO_H
#include "pixmapitem.h"
@@ -73,4 +73,4 @@ private:
int currentSpeed;
};
-#endif //__TORPEDO__H__
+#endif // TORPEDO_H
diff --git a/examples/widgets/graphicsview/boxes/scene.cpp b/examples/widgets/graphicsview/boxes/scene.cpp
index d51124aed7..a9995efa27 100644
--- a/examples/widgets/graphicsview/boxes/scene.cpp
+++ b/examples/widgets/graphicsview/boxes/scene.cpp
@@ -128,10 +128,6 @@ void ColorEdit::mousePressEvent(QMouseEvent *event)
QColor color(m_color);
QColorDialog dialog(color, 0);
dialog.setOption(QColorDialog::ShowAlphaChannel, true);
-// The ifdef block is a workaround for the beta, TODO: remove when bug 238525 is fixed
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- dialog.setOption(QColorDialog::DontUseNativeDialog, true);
-#endif
dialog.move(280, 120);
if (dialog.exec() == QDialog::Rejected)
return;
diff --git a/examples/widgets/graphicsview/chip/view.cpp b/examples/widgets/graphicsview/chip/view.cpp
index 9676c13ff7..7d5fd699a4 100644
--- a/examples/widgets/graphicsview/chip/view.cpp
+++ b/examples/widgets/graphicsview/chip/view.cpp
@@ -68,7 +68,7 @@
void GraphicsView::wheelEvent(QWheelEvent *e)
{
if (e->modifiers() & Qt::ControlModifier) {
- if (e->delta() > 0)
+ if (e->angleDelta().y() > 0)
view->zoomIn(6);
else
view->zoomOut(6);
diff --git a/examples/widgets/graphicsview/elasticnodes/graphwidget.cpp b/examples/widgets/graphicsview/elasticnodes/graphwidget.cpp
index 6b817b2a21..9341d77f8d 100644
--- a/examples/widgets/graphicsview/elasticnodes/graphwidget.cpp
+++ b/examples/widgets/graphicsview/elasticnodes/graphwidget.cpp
@@ -190,7 +190,7 @@ void GraphWidget::timerEvent(QTimerEvent *event)
//! [5]
void GraphWidget::wheelEvent(QWheelEvent *event)
{
- scaleView(pow((double)2, -event->delta() / 240.0));
+ scaleView(pow((double)2, -event->angleDelta().y() / 240.0));
}
//! [5]
#endif
diff --git a/examples/widgets/itemviews/dirview/main.cpp b/examples/widgets/itemviews/dirview/main.cpp
index eefea657f6..9fecffda40 100644
--- a/examples/widgets/itemviews/dirview/main.cpp
+++ b/examples/widgets/itemviews/dirview/main.cpp
@@ -65,8 +65,10 @@ int main(int argc, char *argv[])
parser.setApplicationDescription("Qt Dir View Example");
parser.addHelpOption();
parser.addVersionOption();
- QCommandLineOption dontUseCustomDirectoryIconsOption("c", "Set QFileIconProvider::DontUseCustomDirectoryIcons");
+ QCommandLineOption dontUseCustomDirectoryIconsOption("c", "Set QFileSystemModel::DontUseCustomDirectoryIcons");
parser.addOption(dontUseCustomDirectoryIconsOption);
+ QCommandLineOption dontWatchOption("w", "Set QFileSystemModel::DontWatch");
+ parser.addOption(dontWatchOption);
parser.addPositionalArgument("directory", "The directory to start in.");
parser.process(app);
const QString rootPath = parser.positionalArguments().isEmpty()
@@ -75,7 +77,9 @@ int main(int argc, char *argv[])
QFileSystemModel model;
model.setRootPath("");
if (parser.isSet(dontUseCustomDirectoryIconsOption))
- model.iconProvider()->setOptions(QFileIconProvider::DontUseCustomDirectoryIcons);
+ model.setOption(QFileSystemModel::DontUseCustomDirectoryIcons);
+ if (parser.isSet(dontWatchOption))
+ model.setOption(QFileSystemModel::DontWatchForChanges);
QTreeView tree;
tree.setModel(&model);
if (!rootPath.isEmpty()) {
diff --git a/examples/widgets/painting/affine/xform.cpp b/examples/widgets/painting/affine/xform.cpp
index 482e0f3268..50acf0f814 100644
--- a/examples/widgets/painting/affine/xform.cpp
+++ b/examples/widgets/painting/affine/xform.cpp
@@ -260,7 +260,7 @@ void XFormView::timerEvent(QTimerEvent *e)
#if QT_CONFIG(wheelevent)
void XFormView::wheelEvent(QWheelEvent *e)
{
- m_scale += e->delta() / qreal(600);
+ m_scale += e->angleDelta().y() / qreal(600);
m_scale = qMax(qreal(0.1), qMin(qreal(4), m_scale));
emit scaleChanged(int(m_scale*1000));
}
diff --git a/examples/widgets/tools/codecs/encodingdialog.cpp b/examples/widgets/tools/codecs/encodingdialog.cpp
index ca4b56db9e..aa57d47dc7 100644
--- a/examples/widgets/tools/codecs/encodingdialog.cpp
+++ b/examples/widgets/tools/codecs/encodingdialog.cpp
@@ -248,7 +248,7 @@ static const char *encodingToolTips[]
{
QT_TRANSLATE_NOOP("EncodingDialog", "Unicode points for use with any encoding (C++, Python)"),
QT_TRANSLATE_NOOP("EncodingDialog", "QString::fromUtf8()"),
- QT_TRANSLATE_NOOP("EncodingDialog", "QStringViewLiteral(), wchar_t on Windows"),
+ QT_TRANSLATE_NOOP("EncodingDialog", "wchar_t on Windows, char16_t everywhere"),
QT_TRANSLATE_NOOP("EncodingDialog", "wchar_t on Unix (Ucs4)"),
QT_TRANSLATE_NOOP("EncodingDialog", "QLatin1String")
};
diff --git a/examples/widgets/tools/i18n/languagechooser.cpp b/examples/widgets/tools/i18n/languagechooser.cpp
index 963165ff81..e61e4432e4 100644
--- a/examples/widgets/tools/i18n/languagechooser.cpp
+++ b/examples/widgets/tools/i18n/languagechooser.cpp
@@ -53,12 +53,6 @@
#include "languagechooser.h"
#include "mainwindow.h"
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-QT_BEGIN_NAMESPACE
-extern void qt_mac_set_menubar_merge(bool merge);
-QT_END_NAMESPACE
-#endif
-
LanguageChooser::LanguageChooser(const QString& defaultLang, QWidget *parent)
: QDialog(parent, Qt::WindowStaysOnTopHint)
{
@@ -95,10 +89,6 @@ LanguageChooser::LanguageChooser(const QString& defaultLang, QWidget *parent)
mainLayout->addWidget(buttonBox);
setLayout(mainLayout);
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- qt_mac_set_menubar_merge(false);
-#endif
-
setWindowTitle("I18N");
}
diff --git a/examples/widgets/widgets/mousebuttons/buttontester.cpp b/examples/widgets/widgets/mousebuttons/buttontester.cpp
index 6653221698..88dbbeda45 100644
--- a/examples/widgets/widgets/mousebuttons/buttontester.cpp
+++ b/examples/widgets/widgets/mousebuttons/buttontester.cpp
@@ -93,15 +93,16 @@ void ButtonTester::mouseDoubleClickEvent(QMouseEvent *e)
void ButtonTester::wheelEvent (QWheelEvent *e)
{
QString result;
- if (e->delta() > 0) {
-
- if (e->orientation() == Qt::Vertical) {
+ const bool vertical = qAbs(e->angleDelta().y()) >= qAbs(e->angleDelta().x());
+ const int delta = vertical ? e->angleDelta().y() : e->angleDelta().x();
+ if (delta > 0) {
+ if (vertical) {
result = "Mouse Wheel Event: UP";
} else {
result = "Mouse Wheel Event: LEFT";
}
- } else if (e->delta() < 0) {
- if (e->orientation() == Qt::Vertical) {
+ } else if (delta < 0) {
+ if (vertical) {
result = "Mouse Wheel Event: DOWN";
} else {
result = "Mouse Wheel Event: RIGHT";
diff --git a/mkspecs/android-clang/qmake.conf b/mkspecs/android-clang/qmake.conf
index 8569c08348..81609c3962 100644
--- a/mkspecs/android-clang/qmake.conf
+++ b/mkspecs/android-clang/qmake.conf
@@ -8,43 +8,108 @@ CONFIG += android_install unversioned_soname unversioned_libname
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/clang.conf)
-include(../common/android-base-head.conf)
-NDK_LLVM_PATH = $$NDK_ROOT/toolchains/llvm/prebuilt/$$NDK_HOST
-QMAKE_CC = $$NDK_LLVM_PATH/bin/clang
-QMAKE_CXX = $$NDK_LLVM_PATH/bin/clang++
+load(device_config)
-equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
- QMAKE_CFLAGS += -target armv7-none-linux-androideabi
-else: equals(ANDROID_TARGET_ARCH, armeabi): \
- QMAKE_CFLAGS += -target armv5te-none-linux-androideabi
-else: equals(ANDROID_TARGET_ARCH, arm64-v8a): \
- QMAKE_CFLAGS += -target aarch64-none-linux-android
-else: equals(ANDROID_TARGET_ARCH, x86): \
- QMAKE_CFLAGS += -target i686-none-linux-android -mstackrealign
-else: equals(ANDROID_TARGET_ARCH, x86_64): \
- QMAKE_CFLAGS += -target x86_64-none-linux-android
+# In early configure setup; nothing useful to be done here.
+isEmpty(DEFAULT_ANDROID_NDK_ROOT): return()
-QMAKE_CFLAGS += -gcc-toolchain $$NDK_TOOLCHAIN_PATH -fno-limit-debug-info
+NDK_ROOT = $$(ANDROID_NDK_ROOT)
+isEmpty(NDK_ROOT): NDK_ROOT = $$DEFAULT_ANDROID_NDK_ROOT
-QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++
-equals(ANDROID_TARGET_ARCH, armeabi-v7a): QMAKE_LINK += -Wl,--exclude-libs,libunwind.a
+!exists($$NDK_ROOT): error("You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK.")
-QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$NDK_ROOT/sysroot \
- -isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX \
- -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++/include \
- -isystem $$NDK_ROOT/sources/android/support/include \
- -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include
+NDK_HOST = $$(ANDROID_NDK_HOST)
+isEmpty(NDK_HOST): NDK_HOST = $$DEFAULT_ANDROID_NDK_HOST
-ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$$ANDROID_TARGET_ARCH
+ANDROID_PLATFORM = $$(ANDROID_NDK_PLATFORM)
+isEmpty(ANDROID_PLATFORM): ANDROID_PLATFORM = $$DEFAULT_ANDROID_PLATFORM
-ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++_shared.so
+ANDROID_SDK_ROOT = $$(ANDROID_SDK_ROOT)
+isEmpty(ANDROID_SDK_ROOT): ANDROID_SDK_ROOT = $$DEFAULT_ANDROID_SDK_ROOT
+
+ANDROID_SDK_BUILD_TOOLS_REVISION = $$(ANDROID_BUILD_TOOLS_REVISION)
+isEmpty(ANDROID_SDK_BUILD_TOOLS_REVISION) {
+ SDK_BUILD_TOOLS_REVISIONS = $$files($$ANDROID_SDK_ROOT/build-tools/*)
+ for (REVISION, SDK_BUILD_TOOLS_REVISIONS) {
+ BASENAME = $$basename(REVISION)
+ greaterThan(BASENAME, $$ANDROID_SDK_BUILD_TOOLS_REVISION): ANDROID_SDK_BUILD_TOOLS_REVISION = $$BASENAME
+ }
+}
+
+ALL_ANDROID_ABIS = $$(ALL_ANDROID_ABIS)
+isEmpty(ALL_ANDROID_ABIS): ALL_ANDROID_ABIS = $$DEFAULT_ANDROID_ABIS
+isEmpty(ALL_ANDROID_ABIS): ALL_ANDROID_ABIS = arm64-v8a armeabi-v7a x86_64 x86
+
+CONFIG += $$ANDROID_PLATFORM
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE}
+QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+NDK_LLVM_PATH = $$NDK_ROOT/toolchains/llvm/prebuilt/$$NDK_HOST
+QMAKE_CC = $$NDK_LLVM_PATH/bin/clang
+QMAKE_CXX = $$NDK_LLVM_PATH/bin/clang++
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_OBJCOPY = $$NDK_LLVM_PATH/bin/llvm-objcopy
+QMAKE_AR = $$NDK_LLVM_PATH/bin/llvm-ar cqs
+QMAKE_OBJCOPY = $$NDK_LLVM_PATH/bin/llvm-objcopy
+QMAKE_NM = $$NDK_LLVM_PATH/bin/llvm-nm -P
+
+QMAKE_CFLAGS_OPTIMIZE = -Oz
+QMAKE_CFLAGS_OPTIMIZE_FULL = -Oz
+
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF =
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+QMAKE_CFLAGS_HIDESYMS = -fvisibility=hidden
+QMAKE_CFLAGS_NEON = -mfpu=neon
+
+QMAKE_LFLAGS_APP = -Wl,--no-undefined -Wl,-z,noexecstack -shared
+QMAKE_LFLAGS_SHLIB = -Wl,--no-undefined -Wl,-z,noexecstack -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_NOUNDEF = -Wl,--no-undefined
+QMAKE_LFLAGS_RPATH = -Wl,-rpath=
+QMAKE_LFLAGS_RPATHLINK = -Wl,-rpath-link=
+
+QMAKE_LIBS_X11 =
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_OPENGL =
+QMAKE_INCDIR_POST =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
ANDROID_USE_LLVM = true
-exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so): \
- ANDROID_CXX_STL_LIBS = -lc++
-else: \
- ANDROID_CXX_STL_LIBS = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so.$$replace(ANDROID_PLATFORM, "android-", "")
+armeabi-v7a.sdk = armeabi-v7a
+armeabi-v7a.target = armeabi-v7a
+armeabi-v7a.dir_affix = armeabi-v7a
+armeabi-v7a.CONFIG = armeabi-v7a
+armeabi-v7a.deployment_identifier = armeabi-v7a
+
+arm64-v8a.sdk = arm64-v8a
+arm64-v8a.target = arm64-v8a
+arm64-v8a.dir_affix = arm64-v8a
+arm64-v8a.CONFIG = arm64-v8a
+arm64-v8a.deployment_identifier = arm64-v8a
+
+x86.sdk = x86
+x86.target = x86
+x86.dir_affix = x86
+x86.CONFIG = x86
+x86.deployment_identifier = x86
+
+x86_64.sdk = x86_64
+x86_64.target = x86_64
+x86_64.dir_affix = x86_64
+x86_64.CONFIG = x86_64
+x86_64.deployment_identifier = x86_64
-include(../common/android-base-tail.conf)
+load(qt_config)
diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf
deleted file mode 100644
index 0cb3558f96..0000000000
--- a/mkspecs/android-g++/qmake.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-# qmake configuration for building with android-g++
-MAKEFILE_GENERATOR = UNIX
-QMAKE_PLATFORM = android
-QMAKE_COMPILER = gcc
-
-CONFIG += android_install unversioned_soname unversioned_libname plugin_with_soname android_deployment_settings
-
-include(../common/linux.conf)
-include(../common/gcc-base-unix.conf)
-include(../common/android-base-head.conf)
-
-QMAKE_CC = $${CROSS_COMPILE}gcc
-QMAKE_CXX = $${CROSS_COMPILE}g++
-QMAKE_LINK = $$QMAKE_CXX
-
-ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_TOOLCHAIN_VERSION/libs/$$ANDROID_TARGET_ARCH
-ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libgnustl_shared.so
-ANDROID_CXX_STL_LIBS = -lgnustl_shared -lgcc
-ANDROID_USE_LLVM = false
-
-exists($$NDK_ROOT/sysroot/usr/include): \
- QMAKE_CFLAGS += --sysroot=$$NDK_ROOT/sysroot \
- -isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX
-else: QMAKE_CFLAGS += --sysroot=$$ANDROID_PLATFORM_ROOT_PATH
-
-QMAKE_CFLAGS += -isystem $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_TOOLCHAIN_VERSION/include \
- -isystem $$ANDROID_SOURCES_CXX_STL_LIBDIR/include
-
-equals(ANDROID_TARGET_ARCH, armeabi)|equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
- LIBGCC_PATH_FULL = $$system("$$QMAKE_CXX -mthumb-interwork -print-libgcc-file-name")
-else: \
- LIBGCC_PATH_FULL = $$system("$$QMAKE_CXX -print-libgcc-file-name")
-ANDROID_SOURCES_CXX_STL_LIBDIR += $$dirname(LIBGCC_PATH_FULL)
-
-include(../common/android-base-tail.conf)
diff --git a/mkspecs/android-g++/qplatformdefs.h b/mkspecs/android-g++/qplatformdefs.h
deleted file mode 100644
index 0b92709dd5..0000000000
--- a/mkspecs/android-g++/qplatformdefs.h
+++ /dev/null
@@ -1,177 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the qmake spec of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QPLATFORMDEFS_H
-#define QPLATFORMDEFS_H
-
-// Get Qt defines/settings
-
-#include "qglobal.h"
-
-// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
-
-// 1) need to reset default environment if _BSD_SOURCE is defined
-// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
-// 3) it seems older glibc need this to include the X/Open stuff
-
-#include <unistd.h>
-
-// We are hot - unistd.h should have turned on the specific APIs we requested
-
-#include <features.h>
-#include <pthread.h>
-#include <dirent.h>
-#include <fcntl.h>
-#include <grp.h>
-#include <pwd.h>
-#include <signal.h>
-#include <dlfcn.h>
-
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <sys/ipc.h>
-#include <sys/time.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-#endif
-
-#ifdef QT_LARGEFILE_SUPPORT
-#define QT_STATBUF struct stat64
-#define QT_STATBUF4TSTAT struct stat64
-#define QT_STAT ::stat64
-#define QT_FSTAT ::fstat64
-#define QT_LSTAT ::lstat64
-#define QT_OPEN ::open64
-#define QT_TRUNCATE ::truncate64
-#define QT_FTRUNCATE ::ftruncate64
-#define QT_LSEEK ::lseek64
-#else
-#define QT_STATBUF struct stat
-#define QT_STATBUF4TSTAT struct stat
-#define QT_STAT ::stat
-#define QT_FSTAT ::fstat
-#define QT_LSTAT ::lstat
-#define QT_OPEN ::open
-#define QT_TRUNCATE ::truncate
-#define QT_FTRUNCATE ::ftruncate
-#define QT_LSEEK ::lseek
-#endif
-
-#ifdef QT_LARGEFILE_SUPPORT
-#define QT_FOPEN ::fopen64
-#define QT_FSEEK ::fseeko64
-#define QT_FTELL ::ftello64
-#define QT_FGETPOS ::fgetpos64
-#define QT_FSETPOS ::fsetpos64
-#define QT_MMAP ::mmap64
-#define QT_FPOS_T fpos64_t
-#define QT_OFF_T off64_t
-#else
-#define QT_FOPEN ::fopen
-#define QT_FSEEK ::fseek
-#define QT_FTELL ::ftell
-#define QT_FGETPOS ::fgetpos
-#define QT_FSETPOS ::fsetpos
-#define QT_MMAP ::mmap
-#define QT_FPOS_T fpos_t
-#define QT_OFF_T long
-#endif
-
-#define QT_STAT_REG S_IFREG
-#define QT_STAT_DIR S_IFDIR
-#define QT_STAT_MASK S_IFMT
-#define QT_STAT_LNK S_IFLNK
-#define QT_SOCKET_CONNECT ::connect
-#define QT_SOCKET_BIND ::bind
-#define QT_FILENO fileno
-#define QT_CLOSE ::close
-#define QT_READ ::read
-#define QT_WRITE ::write
-#define QT_ACCESS ::access
-#define QT_GETCWD ::getcwd
-#define QT_CHDIR ::chdir
-#define QT_MKDIR ::mkdir
-#define QT_RMDIR ::rmdir
-#define QT_OPEN_LARGEFILE O_LARGEFILE
-#define QT_OPEN_RDONLY O_RDONLY
-#define QT_OPEN_WRONLY O_WRONLY
-#define QT_OPEN_RDWR O_RDWR
-#define QT_OPEN_CREAT O_CREAT
-#define QT_OPEN_TRUNC O_TRUNC
-#define QT_OPEN_APPEND O_APPEND
-#define QT_OPEN_EXCL O_EXCL
-
-// Directory iteration
-#define QT_DIR DIR
-
-#define QT_OPENDIR ::opendir
-#define QT_CLOSEDIR ::closedir
-
-#if defined(QT_LARGEFILE_SUPPORT) \
- && defined(QT_USE_XOPEN_LFS_EXTENSIONS) \
- && !defined(QT_NO_READDIR64)
-#define QT_DIRENT struct dirent64
-#define QT_READDIR ::readdir64
-#define QT_READDIR_R ::readdir64_r
-#else
-#define QT_DIRENT struct dirent
-#define QT_READDIR ::readdir
-#define QT_READDIR_R ::readdir_r
-#endif
-
-#define QT_SOCKET_CONNECT ::connect
-#define QT_SOCKET_BIND ::bind
-
-
-#define QT_SIGNAL_RETTYPE void
-#define QT_SIGNAL_ARGS int
-#define QT_SIGNAL_IGNORE SIG_IGN
-
-#define QT_SOCKLEN_T socklen_t
-
-#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
-#define QT_SNPRINTF ::snprintf
-#define QT_VSNPRINTF ::vsnprintf
-#endif
-
-#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/common/android-base-head.conf b/mkspecs/common/android-base-head.conf
deleted file mode 100644
index ba90ad5f17..0000000000
--- a/mkspecs/common/android-base-head.conf
+++ /dev/null
@@ -1,72 +0,0 @@
-load(device_config)
-
-# In early configure setup; nothing useful to be done here.
-isEmpty(DEFAULT_ANDROID_NDK_ROOT): return()
-
-NDK_ROOT = $$(ANDROID_NDK_ROOT)
-isEmpty(NDK_ROOT): NDK_ROOT = $$DEFAULT_ANDROID_NDK_ROOT
-
-NDK_HOST = $$(ANDROID_NDK_HOST)
-isEmpty(NDK_HOST): NDK_HOST = $$DEFAULT_ANDROID_NDK_HOST
-
-ANDROID_PLATFORM = $$(ANDROID_NDK_PLATFORM)
-isEmpty(ANDROID_PLATFORM): ANDROID_PLATFORM = $$DEFAULT_ANDROID_PLATFORM
-
-ANDROID_TARGET_ARCH = $$(ANDROID_TARGET_ARCH)
-isEmpty(ANDROID_TARGET_ARCH): ANDROID_TARGET_ARCH = $$DEFAULT_ANDROID_TARGET_ARCH
-
-NDK_TOOLCHAIN_PREFIX = $$(ANDROID_NDK_TOOLCHAIN_PREFIX)
-isEmpty(NDK_TOOLCHAIN_PREFIX) {
- equals(ANDROID_TARGET_ARCH, x86): NDK_TOOLCHAIN_PREFIX = x86
- else: equals(ANDROID_TARGET_ARCH, x86_64): NDK_TOOLCHAIN_PREFIX = x86_64
- else: equals(ANDROID_TARGET_ARCH, arm64-v8a): NDK_TOOLCHAIN_PREFIX = aarch64-linux-android
- else: NDK_TOOLCHAIN_PREFIX = arm-linux-androideabi
-}
-
-NDK_TOOLS_PREFIX = $$(ANDROID_NDK_TOOLS_PREFIX)
-isEmpty(NDK_TOOLS_PREFIX) {
- equals(ANDROID_TARGET_ARCH, x86): NDK_TOOLS_PREFIX = i686-linux-android
- else: equals(ANDROID_TARGET_ARCH, x86_64): NDK_TOOLS_PREFIX = x86_64-linux-android
- else: equals(ANDROID_TARGET_ARCH, arm64-v8a): NDK_TOOLS_PREFIX = aarch64-linux-android
- else: NDK_TOOLS_PREFIX = arm-linux-androideabi
-}
-
-NDK_TOOLCHAIN_VERSION = $$(ANDROID_NDK_TOOLCHAIN_VERSION)
-isEmpty(NDK_TOOLCHAIN_VERSION): NDK_TOOLCHAIN_VERSION = $$DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION
-
-equals(ANDROID_TARGET_ARCH, x86): ANDROID_ARCHITECTURE = x86
-else: equals(ANDROID_TARGET_ARCH, x86_64): ANDROID_ARCHITECTURE = x86_64
-else: equals(ANDROID_TARGET_ARCH, arm64-v8a): ANDROID_ARCHITECTURE = arm64
-else: ANDROID_ARCHITECTURE = arm
-
-!equals(NDK_TOOLCHAIN_VERSION, 4.4.3): ANDROID_CXXSTL_SUFFIX = -$$NDK_TOOLCHAIN_VERSION
-
-NDK_TOOLCHAIN = $$NDK_TOOLCHAIN_PREFIX-$$NDK_TOOLCHAIN_VERSION
-NDK_TOOLCHAIN_PATH = $$NDK_ROOT/toolchains/$$NDK_TOOLCHAIN/prebuilt/$$NDK_HOST
-
-
-ANDROID_SDK_ROOT = $$(ANDROID_SDK_ROOT)
-isEmpty(ANDROID_SDK_ROOT): ANDROID_SDK_ROOT = $$DEFAULT_ANDROID_SDK_ROOT
-
-ANDROID_SDK_BUILD_TOOLS_REVISION = $$(ANDROID_BUILD_TOOLS_REVISION)
-isEmpty(ANDROID_SDK_BUILD_TOOLS_REVISION) {
- SDK_BUILD_TOOLS_REVISIONS = $$files($$ANDROID_SDK_ROOT/build-tools/*)
- for (REVISION, SDK_BUILD_TOOLS_REVISIONS) {
- BASENAME = $$basename(REVISION)
- greaterThan(BASENAME, $$ANDROID_SDK_BUILD_TOOLS_REVISION): ANDROID_SDK_BUILD_TOOLS_REVISION = $$BASENAME
- }
-}
-
-CONFIG += $$ANDROID_PLATFORM
-QMAKE_CFLAGS = -D__ANDROID_API__=$$replace(ANDROID_PLATFORM, "android-", "")
-
-ANDROID_PLATFORM_ROOT_PATH = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$ANDROID_ARCHITECTURE/
-
-CROSS_COMPILE = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-
-
-QMAKE_PCH_OUTPUT_EXT = .gch
-
-QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
-QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE}
-QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
-QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
diff --git a/mkspecs/common/android-base-tail.conf b/mkspecs/common/android-base-tail.conf
deleted file mode 100644
index edc255d08e..0000000000
--- a/mkspecs/common/android-base-tail.conf
+++ /dev/null
@@ -1,90 +0,0 @@
-# In early configure setup; nothing useful to be done here.
-isEmpty(DEFAULT_ANDROID_NDK_ROOT): return()
-
-# -fstack-protector-strong offers good protection against stack smashing attacks.
-# It is (currently) enabled only on Android because we know for sure that Andoroid compilers supports it
-QMAKE_CFLAGS += -fstack-protector-strong -DANDROID
-
-equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
- QMAKE_CFLAGS += -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove
-else: equals(ANDROID_TARGET_ARCH, armeabi): \
- QMAKE_CFLAGS += -march=armv5te -mtune=xscale -msoft-float -fno-builtin-memmove
-# -fno-builtin-memmove is used to workaround https://code.google.com/p/android/issues/detail?id=81692
-
-QMAKE_CFLAGS_WARN_ON = -Wall -W
-QMAKE_CFLAGS_WARN_OFF =
-equals(ANDROID_TARGET_ARCH, armeabi-v7a) | equals(ANDROID_TARGET_ARCH, armeabi) {
- CONFIG += optimize_size
- QMAKE_CFLAGS_DEBUG = -g -marm -O0
- equals(ANDROID_TARGET_ARCH, armeabi):if(equals(NDK_TOOLCHAIN_VERSION, 4.8)|equals(NDK_TOOLCHAIN_VERSION, 4.9)) {
- DEFINES += QT_OS_ANDROID_GCC_48_WORKAROUND
- } else {
- QMAKE_CFLAGS_RELEASE += -mthumb
- QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -mthumb
- }
-}
-
-QMAKE_CFLAGS_SHLIB = -fPIC
-QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
-QMAKE_CFLAGS_THREAD = -D_REENTRANT
-QMAKE_CFLAGS_HIDESYMS = -fvisibility=hidden
-QMAKE_CFLAGS_NEON = -mfpu=neon
-
-QMAKE_CFLAGS_GNUC99 = -std=gnu99
-QMAKE_CFLAGS_GNUC11 = -std=gnu11
-QMAKE_CXXFLAGS_CXX11 = -std=c++11
-QMAKE_CXXFLAGS_CXX14 = -std=c++14
-QMAKE_CXXFLAGS_CXX1Z = -std=c++1z
-QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++11
-QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++14
-QMAKE_CXXFLAGS_GNUCXX1Z = -std=gnu++1z
-
-QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
-QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
-QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
-QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
-QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
-QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
-QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
-QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
-QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
-QMAKE_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
-
-# modifications to linux.conf
-QMAKE_AR = $${CROSS_COMPILE}ar cqs
-QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
-QMAKE_NM = $${CROSS_COMPILE}nm -P
-
-QMAKE_STRIP =
-#$${CROSS_COMPILE}strip
-
-QMAKE_RANLIB = $${CROSS_COMPILE}ranlib
-
-QMAKE_INCDIR_POST =
-QMAKE_LIBDIR_POST = $$ANDROID_SOURCES_CXX_STL_LIBDIR
-QMAKE_INCDIR_X11 =
-QMAKE_LIBDIR_X11 =
-QMAKE_INCDIR_OPENGL =
-QMAKE_LIBDIR_OPENGL =
-
-QMAKE_LINK_SHLIB = $$QMAKE_LINK
-QMAKE_LFLAGS = --sysroot=$$ANDROID_PLATFORM_ROOT_PATH
-equals(ANDROID_TARGET_ARCH, x86_64) QMAKE_LFLAGS += -L$$ANDROID_PLATFORM_ROOT_PATH/usr/lib64
-QMAKE_LFLAGS_APP = -Wl,--no-undefined -Wl,-z,noexecstack -shared
-QMAKE_LFLAGS_SHLIB = -Wl,--no-undefined -Wl,-z,noexecstack -shared
-QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
-QMAKE_LFLAGS_NOUNDEF = -Wl,--no-undefined
-QMAKE_LFLAGS_RPATH = -Wl,-rpath=
-QMAKE_LFLAGS_RPATHLINK = -Wl,-rpath-link=
-
-QMAKE_LIBS_PRIVATE = $$ANDROID_CXX_STL_LIBS -llog -lz -lm -ldl -lc
-QMAKE_LIBS_X11 =
-QMAKE_LIBS_THREAD =
-QMAKE_LIBS_EGL = -lEGL
-QMAKE_LIBS_OPENGL =
-QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
-
-
-!exists($$NDK_ROOT): error("You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK.")
-
-load(qt_config)
diff --git a/mkspecs/common/msvc-desktop.conf b/mkspecs/common/msvc-desktop.conf
index 0b94e5a3f5..0bb3e13337 100644
--- a/mkspecs/common/msvc-desktop.conf
+++ b/mkspecs/common/msvc-desktop.conf
@@ -84,7 +84,7 @@ QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<
QMAKE_LINK = link
QMAKE_LFLAGS = /NOLOGO /DYNAMICBASE /NXCOMPAT
-QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO
+QMAKE_LFLAGS_RELEASE = /OPT:REF /INCREMENTAL:NO
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF /INCREMENTAL:NO
QMAKE_LFLAGS_DEBUG = /DEBUG
QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE
diff --git a/mkspecs/features/android/android.prf b/mkspecs/features/android/android.prf
index 0e6f4a4592..fc0ff553d0 100644
--- a/mkspecs/features/android/android.prf
+++ b/mkspecs/features/android/android.prf
@@ -4,29 +4,46 @@ APK_PATH = $$shell_path($$OUT_PWD/android-build/$${TARGET}.apk)
apk_install_target.depends = first
apk_install_target.commands = $(MAKE) -f $(MAKEFILE) INSTALL_ROOT=$$OUT_PWD/android-build install
- apk.target = apk
- apk.depends = apk_install_target
qtPrepareTool(ANDROIDDEPLOYQT, androiddeployqt)
isEmpty(ANDROID_DEPLOYMENT_SETTINGS_FILE): ANDROID_DEPLOYMENT_SETTINGS_FILE = $$OUT_PWD/android-$$TARGET-deployment-settings.json
contains(QMAKE_HOST.os, Windows): extension = .exe
+
+ apk.target = apk
+ apk.depends = apk_install_target
apk.commands = $$ANDROIDDEPLOYQT --input $$ANDROID_DEPLOYMENT_SETTINGS_FILE --output $$OUT_PWD/android-build --apk $$APK_PATH
+
+ aab.target = aab
+ aab.depends = apk_install_target
+ aab.commands = $$ANDROIDDEPLOYQT --input $$ANDROID_DEPLOYMENT_SETTINGS_FILE --output $$OUT_PWD/android-build --aab --apk $$APK_PATH
} else {
+ prepareRecursiveTarget(aab)
prepareRecursiveTarget(apk)
prepareRecursiveTarget(apk_install_target)
}
-QMAKE_EXTRA_TARGETS *= apk apk_install_target
-contains(TEMPLATE, ".*app") {
- !android_app {
- !contains(TARGET, ".so"): TARGET = lib$${TARGET}.so
- QMAKE_LFLAGS += -Wl,-soname,$$shell_quote($$TARGET)
+build_pass {
+ contains(TEMPLATE, ".*app") {
+ !android_app {
+ !contains(TARGET, ".so") {
+ single_arch:TARGET = lib$${TARGET}.so
+ else:TARGET = lib$${TARGET}_$${QT_ARCH}.so
+ }
+ QMAKE_LFLAGS += -Wl,-soname,$$shell_quote($$TARGET)
- android_install {
- target.path=/libs/$$ANDROID_TARGET_ARCH/
- INSTALLS *= target
+ android_install {
+ target.path=/libs/$$ANDROID_TARGET_ARCH/
+ INSTALLS *= target
+ }
}
+ } else: contains(TEMPLATE, "lib"):!static:!QTDIR_build:android_install {
+ target.path = /libs/$$ANDROID_TARGET_ARCH/
+ INSTALLS *= target
}
-} else: contains(TEMPLATE, "lib"):!static:!QTDIR_build:android_install {
- target.path = /libs/$$ANDROID_TARGET_ARCH/
- INSTALLS *= target
+} else {
+ QMAKE_EXTRA_TARGETS *= aab apk apk_install_target
+
+ android-build-distclean.commands = \
+ $$QMAKE_DEL_TREE $$shell_quote($$shell_path($$OUT_PWD/android-build))
+ QMAKE_EXTRA_TARGETS *= android-build-distclean
+ CLEAN_DEPS += android-build-distclean
}
diff --git a/mkspecs/features/android/android_deployment_settings.prf b/mkspecs/features/android/android_deployment_settings.prf
index 48943fa0f4..4d6101e297 100644
--- a/mkspecs/features/android/android_deployment_settings.prf
+++ b/mkspecs/features/android/android_deployment_settings.prf
@@ -17,32 +17,21 @@ contains(TEMPLATE, ".*app"):!build_pass:!android-embedded {
isEmpty(NDK_ROOT): NDK_ROOT = $$DEFAULT_ANDROID_NDK_ROOT
FILE_CONTENT += " \"ndk\": $$emitString($$NDK_ROOT),"
- equals(ANDROID_USE_LLVM, true) {
- FILE_CONTENT += " \"toolchain-prefix\": \"llvm\","
- FILE_CONTENT += " \"tool-prefix\": \"llvm\","
- } else {
- NDK_TOOLCHAIN_PREFIX = $$(ANDROID_NDK_TOOLCHAIN_PREFIX)
- isEmpty(NDK_TOOLCHAIN_PREFIX) {
- equals(ANDROID_TARGET_ARCH, x86): NDK_TOOLCHAIN_PREFIX = x86
- else: equals(ANDROID_TARGET_ARCH, x86_64): NDK_TOOLCHAIN_PREFIX = x86_64
- else: equals(ANDROID_TARGET_ARCH, arm64-v8a): NDK_TOOLCHAIN_PREFIX = aarch64-linux-android
- else: NDK_TOOLCHAIN_PREFIX = arm-linux-androideabi
- }
- FILE_CONTENT += " \"toolchain-prefix\": $$emitString($$NDK_TOOLCHAIN_PREFIX),"
- FILE_CONTENT += " \"tool-prefix\": $$emitString($$NDK_TOOLS_PREFIX),"
- }
-
- NDK_TOOLCHAIN_VERSION = $$(ANDROID_NDK_TOOLCHAIN_VERSION)
- isEmpty(NDK_TOOLCHAIN_VERSION): NDK_TOOLCHAIN_VERSION = $$DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION
- FILE_CONTENT += " \"toolchain-version\": $$emitString($$NDK_TOOLCHAIN_VERSION),"
+ FILE_CONTENT += " \"toolchain-prefix\": \"llvm\","
+ FILE_CONTENT += " \"tool-prefix\": \"llvm\","
NDK_HOST = $$(ANDROID_NDK_HOST)
isEmpty(NDK_HOST): NDK_HOST = $$DEFAULT_ANDROID_NDK_HOST
FILE_CONTENT += " \"ndk-host\": $$emitString($$NDK_HOST),"
- ANDROID_TARGET_ARCH = $$(ANDROID_TARGET_ARCH)
- isEmpty(ANDROID_TARGET_ARCH): ANDROID_TARGET_ARCH = $$DEFAULT_ANDROID_TARGET_ARCH
- FILE_CONTENT += " \"target-architecture\": $$emitString($$ANDROID_TARGET_ARCH),"
+ for (arch, ANDROID_ABIS) {
+ equals(arch, x86): libs_arch = i686-linux-android
+ else: equals(arch, x86_64): libs_arch = x86_64-linux-android
+ else: equals(arch, arm64-v8a): libs_arch = aarch64-linux-android
+ else: libs_arch = arm-linux-androideabi
+ ARCHS += "$$emitString($$arch):$$emitString($$libs_arch)"
+ }
+ FILE_CONTENT += " \"architectures\": {$$join(ARCHS,", ")},"
# Explicitly set qt dependencies of application for deployment
!isEmpty(ANDROID_DEPLOYMENT_DEPENDENCIES): \
@@ -74,13 +63,11 @@ contains(TEMPLATE, ".*app"):!build_pass:!android-embedded {
QML_ROOT_PATH = $$_PRO_FILE_PWD_
FILE_CONTENT += " \"qml-root-path\": $$emitString($$QML_ROOT_PATH),"
FILE_CONTENT += " \"stdcpp-path\": $$emitString($$ANDROID_STDCPP_PATH),"
- FILE_CONTENT += " \"useLLVM\": $$ANDROID_USE_LLVM,"
-
- FILE_CONTENT += " \"application-binary\": $$emitString($$absolute_path($$DESTDIR, $$OUT_PWD)/$$TARGET)"
+ FILE_CONTENT += ""
+ FILE_CONTENT += " \"application-binary\": $$emitString($$TARGET)"
FILE_CONTENT += "}"
isEmpty(ANDROID_DEPLOYMENT_SETTINGS_FILE): ANDROID_DEPLOYMENT_SETTINGS_FILE = $$OUT_PWD/android-$$TARGET-deployment-settings.json
write_file($$ANDROID_DEPLOYMENT_SETTINGS_FILE, FILE_CONTENT)|error()
}
-
diff --git a/mkspecs/features/android/default_pre.prf b/mkspecs/features/android/default_pre.prf
new file mode 100644
index 0000000000..a73cd4b39c
--- /dev/null
+++ b/mkspecs/features/android/default_pre.prf
@@ -0,0 +1,77 @@
+load(default_pre)
+
+build_pass:armeabi-v7a {
+ QT_ARCH = armeabi-v7a
+} else:build_pass:arm64-v8a {
+ QT_ARCH = arm64-v8a
+} else:build_pass:x86 {
+ QT_ARCH = x86
+} else:build_pass:x86_64 {
+ QT_ARCH = x86_64
+} else {
+ # default architecture
+ QT_ARCH = arm64-v8a
+}
+
+DEFAULT_ANDROID_TARGET_ARCH=$${QT_ARCH}
+
+ANDROID_TARGET_ARCH = $$(ANDROID_TARGET_ARCH)
+isEmpty(ANDROID_TARGET_ARCH): ANDROID_TARGET_ARCH = $$DEFAULT_ANDROID_TARGET_ARCH
+
+# Follow https://android.googlesource.com/platform/ndk/+/ndk-release-r20/docs/BuildSystemMaintainers.md
+
+equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
+ QMAKE_CFLAGS = -target armv7a-linux-androideabi$$replace(ANDROID_PLATFORM, "android-", "")
+else: equals(ANDROID_TARGET_ARCH, arm64-v8a): \
+ QMAKE_CFLAGS = -target aarch64-linux-android$$replace(ANDROID_PLATFORM, "android-", "")
+else: equals(ANDROID_TARGET_ARCH, x86): \
+ QMAKE_CFLAGS = -target i686-linux-android$$replace(ANDROID_PLATFORM, "android-", "") -mstackrealign
+else: equals(ANDROID_TARGET_ARCH, x86_64): \
+ QMAKE_CFLAGS = -target x86_64-linux-android$$replace(ANDROID_PLATFORM, "android-", "")
+
+QMAKE_CFLAGS += -fno-limit-debug-info
+
+QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS
+
+ANDROID_STDCPP_PATH = $$NDK_LLVM_PATH/sysroot/usr/lib/
+
+# -fstack-protector-strong offers good protection against stack smashing attacks.
+# It is (currently) enabled only on Android because we know for sure that Android compilers supports it
+QMAKE_CFLAGS += -fPIC -fstack-protector-strong -DANDROID
+
+
+equals(ANDROID_TARGET_ARCH, armeabi-v7a) | equals(ANDROID_TARGET_ARCH, armeabi) {
+ CONFIG += optimize_size
+ QMAKE_CFLAGS_DEBUG = -g -marm -O0
+ QMAKE_CFLAGS_RELEASE += -mthumb
+ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -mthumb
+}
+
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
+
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_LIBS_EGL = -lEGL
+QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
+
+QMAKE_STRIP =
+#$${CROSS_COMPILE}strip
+
+
+equals(QT_ARCH, x86): CROSS_COMPILE = $$NDK_LLVM_PATH/bin/i686-linux-android-
+else: equals(QT_ARCH, x86_64): CROSS_COMPILE = $$NDK_LLVM_PATH/bin/x86_64-linux-android-
+else: equals(QT_ARCH, arm64-v8a): CROSS_COMPILE = $$NDK_LLVM_PATH/bin/aarch64-linux-android-
+else: CROSS_COMPILE = $$NDK_LLVM_PATH/bin/arm-linux-androideabi-
+
+QMAKE_RANLIB = $${CROSS_COMPILE}ranlib
+QMAKE_LINK_SHLIB = $$QMAKE_LINK
+QMAKE_LFLAGS =
+
+QMAKE_LIBS_PRIVATE = -llog -lz -lm -ldl -lc
diff --git a/mkspecs/features/android/resolve_config.prf b/mkspecs/features/android/resolve_config.prf
new file mode 100644
index 0000000000..0cc4e73cc9
--- /dev/null
+++ b/mkspecs/features/android/resolve_config.prf
@@ -0,0 +1,10 @@
+load(resolve_config)
+
+!equals(TEMPLATE, aux):!host_build:!single_arch:!java:android {
+ isEmpty(ANDROID_ABIS): ANDROID_ABIS = $$ALL_ANDROID_ABIS
+
+ ALL_ABIS = $$join(ANDROID_ABIS, _and_)
+ CONFIG += $$ALL_ABIS build_all
+ addExclusiveBuildsProper($$ALL_ABIS, $$ANDROID_ABIS)
+ unset(ALL_ABIS)
+}
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
index 376a7ded5d..5c561042cd 100644
--- a/mkspecs/features/create_cmake.prf
+++ b/mkspecs/features/create_cmake.prf
@@ -138,8 +138,8 @@ CMAKE_RELEASE_TYPE =
# the debug libraries at build time.
equals(QMAKE_HOST.os, Windows): CMAKE_BIN_SUFFIX = ".exe"
-if(build_all|CONFIG(debug, debug|release)): CMAKE_DEBUG_TYPE = debug
-if(build_all|CONFIG(release, debug|release)): CMAKE_RELEASE_TYPE = release
+if(debug_and_release:build_all)|CONFIG(debug, debug|release): CMAKE_DEBUG_TYPE = debug
+if(debug_and_release:build_all)|CONFIG(release, debug|release): CMAKE_RELEASE_TYPE = release
# CMAKE_DEBUG_AND_RELEASE is used to tell the _populate_$${CMAKE_MODULE_NAME}_target_properties
# functions whether a Configuration specific generator expression needs to be added to the values
@@ -153,67 +153,109 @@ if(build_all|CONFIG(release, debug|release)): CMAKE_RELEASE_TYPE = release
# <CONFIG> equivalent to the value specified by CMAKE_BUILD_TYPE.
# This means that when Qt was built in a Release configuration, and the application in a Debug
# configuration, IMPORTED_LOCATION_RELEASE will be used for the Qt libraries.
-debug_and_release {
+#
+# Note that we need to check for the "debug_and_release" feature, and not the CONFIG value, because
+# the CONFIG value is always set to true on Windows in msvc-desktop.conf disregarding whether the
+# configure line specified just -debug or just -release.
+# This also means that if a user configures and builds Qt with -release, and then calls nmake debug
+# to build debug libraries of Qt, the generated CMake file won't know about debug libraries,
+# and will always link against the release libraries.
+qtConfig(debug_and_release) {
CMAKE_DEBUG_AND_RELEASE = TRUE
} else {
CMAKE_DEBUG_AND_RELEASE = FALSE
}
contains(CONFIG, plugin) {
- !isEmpty(PLUGIN_EXTENDS):!equals(PLUGIN_EXTENDS, -) {
- count(PLUGIN_EXTENDS, 1, greaterThan): \
- error("Plugin declares to extend multiple modules. We don't handle that ...")
- PLUGIN_MODULE_NAME = $$PLUGIN_EXTENDS
+ equals(PLUGIN_EXTENDS, -) {
+ CMAKE_PLUGIN_EXTENDS = -
} else {
- PLUGIN_MODULE_NAME =
- for (mod, QT_MODULES) {
- contains(QT.$${mod}.plugin_types, $$PLUGIN_TYPE) {
- !isEmpty(PLUGIN_MODULE_NAME): \
- error("Multiple modules claim plugin type '$$PLUGIN_TYPE' ($$mod, in addition to $$PLUGIN_MODULE_NAME)")
- PLUGIN_MODULE_NAME = $$mod
- break()
- }
+ list_plugin_extends =
+ for (p, PLUGIN_EXTENDS) {
+ m = $$cmakeModuleName($$p)
+ list_plugin_extends += Qt5::$$m
}
- isEmpty(PLUGIN_MODULE_NAME): error("No module claims plugin type '$$PLUGIN_TYPE'")
+ CMAKE_PLUGIN_EXTENDS = $$join(list_plugin_extends, ";")
}
+ PLUGIN_MODULE_NAME =
+ unique_qt_modules = $$unique(QT_MODULES) # In case modules appear in multiple places
+ for (mod, unique_qt_modules) {
+ contains(QT.$${mod}.plugin_types, $$PLUGIN_TYPE) {
+ !isEmpty(PLUGIN_MODULE_NAME): \
+ error("Multiple modules claim plugin type '$$PLUGIN_TYPE' ($$mod, in addition to $$PLUGIN_MODULE_NAME)")
+ PLUGIN_MODULE_NAME = $$mod
+ }
+ }
+ isEmpty(PLUGIN_MODULE_NAME): error("No module claims plugin type '$$PLUGIN_TYPE'")
+
+ sorted_deps = $$sort_depends(QT_PLUGIN.$${CMAKE_QT_STEM}.DEPENDS, QT.)
+ mod_deps =
+ lib_deps =
+ aux_mod_deps =
+ aux_lib_deps =
+ for (dep, sorted_deps) {
+ cdep = $$cmakeModuleName($$dep)
+ mod_deps += $$cdep
+ lib_deps += Qt5::$$cdep
+ }
+ CMAKE_PLUGIN_MODULE_DEPS = $$join(mod_deps, ";")
+ CMAKE_PLUGIN_QT5_MODULE_DEPS = $$join(lib_deps, ";")
+
CMAKE_MODULE_NAME = $$cmakeModuleName($$PLUGIN_MODULE_NAME)
CMAKE_PLUGIN_NAME = $$PLUGIN_CLASS_NAME
+ CMAKE_PLUGIN_TYPE = $$PLUGIN_TYPE
+ CMAKE_PLUGIN_TYPE_ESCAPED = $$replace(PLUGIN_TYPE, [-/], _)
win32 {
isEmpty(CMAKE_STATIC_TYPE) {
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
+ CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.dll
+ CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}d.dll
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.prl
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}d.prl
} else:mingw {
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a
+ CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}.a
+ CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}d.a
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}.prl
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}d.prl
} else { # MSVC static
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib
+ CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.lib
+ CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}d.lib
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.prl
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}d.prl
}
} else {
mac {
- isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
- else: CMAKE_PlUGIN_EXT = .a
+ isEmpty(CMAKE_STATIC_TYPE): CMAKE_PLUGIN_EXT = .dylib
+ else: CMAKE_PLUGIN_EXT = .a
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
+ CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}$${CMAKE_PLUGIN_EXT}
+ CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}_debug$${CMAKE_PLUGIN_EXT}
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}.prl
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}_debug.prl
} else {
- isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .so
- else: CMAKE_PlUGIN_EXT = .a
+ isEmpty(CMAKE_STATIC_TYPE): CMAKE_PLUGIN_EXT = .so
+ else: CMAKE_PLUGIN_EXT = .a
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
+ CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}$${CMAKE_PLUGIN_EXT}
+ CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}$${CMAKE_PLUGIN_EXT}
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}.prl
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}.prl
}
}
cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
+ cmake_qt5_plugin_import_file.input = $$PWD/data/cmake/Qt5ImportPlugin.cpp.in
+ cmake_qt5_plugin_import_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}_Import.cpp
- !build_pass:QMAKE_SUBSTITUTES += \
- cmake_target_file
+ !build_pass {
+ QMAKE_SUBSTITUTES += cmake_target_file
+ static|staticlib: QMAKE_SUBSTITUTES += cmake_qt5_plugin_import_file
+ }
cmake_qt5_plugin_file.files = $$cmake_target_file.output
+ static|staticlib: cmake_qt5_plugin_file.files += $$cmake_qt5_plugin_import_file.output
cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
INSTALLS += cmake_qt5_plugin_file
@@ -244,6 +286,7 @@ CMAKE_MODULE_DEPS = $$join(mod_deps, ";")
CMAKE_QT5_MODULE_DEPS = $$join(lib_deps, ";")
CMAKE_INTERFACE_MODULE_DEPS = $$join(aux_mod_deps, ";")
CMAKE_INTERFACE_QT5_MODULE_DEPS = $$join(aux_lib_deps, ";")
+CMAKE_MODULE_PLUGIN_TYPES = $$join(QT.$${MODULE}.plugin_types, ";")
mac {
!isEmpty(CMAKE_STATIC_TYPE) {
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index d4fd057682..4d3dc1bd35 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -317,6 +317,22 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_EXECUTABLE_COMPILE_FLAGS)
!!ENDIF // TEMPLATE != aux
+ # It can happen that the same FooConfig.cmake file is included when calling find_package()
+ # on some Qt component. An example of that is when using a Qt static build with auto inclusion
+ # of plugins:
+ #
+ # Qt5WidgetsConfig.cmake -> Qt5GuiConfig.cmake -> Qt5Gui_QSvgIconPlugin.cmake ->
+ # Qt5SvgConfig.cmake -> Qt5WidgetsConfig.cmake ->
+ # finish processing of second Qt5WidgetsConfig.cmake ->
+ # return to first Qt5WidgetsConfig.cmake ->
+ # add_library cannot create imported target "Qt5::Widgets".
+ #
+ # Make sure to return early in the original Config inclusion, because the target has already
+ # been defined as part of the second inclusion.
+ if(TARGET Qt5::$${CMAKE_MODULE_NAME})
+ return()
+ endif()
+
set(_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES \"$${CMAKE_QT5_MODULE_DEPS}\")
!!IF !isEmpty(CMAKE_INTERFACE_QT5_MODULE_DEPS)
@@ -381,6 +397,8 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_ENABLED_FEATURES $$join(QT.$${MODULE}.enabled_features, ";"))
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_DISABLED_FEATURES $$join(QT.$${MODULE}.disabled_features, ";"))
+ set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_PLUGIN_TYPES \"$${CMAKE_MODULE_PLUGIN_TYPES}\")
+
set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST TRUE)
foreach (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR ${Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS})
if (NOT EXISTS ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR})
@@ -488,7 +506,8 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
file(GLOB pluginTargets \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*Plugin.cmake\")
- macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
+ macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION
+ IsDebugAndRelease)
set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
@@ -500,6 +519,36 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
set_target_properties(Qt5::${Plugin} PROPERTIES
\"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
)
+
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+ set(_static_deps
+ ${_Qt5${Plugin}_STATIC_${Configuration}_LIB_DEPENDENCIES}
+ )
+
+ if(NOT "${IsDebugAndRelease}")
+ set(_genex_condition \"1\")
+ else()
+ if("${Configuration}" STREQUAL "DEBUG")
+ set(_genex_condition \"$<CONFIG:Debug>\")
+ else()
+ set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
+ endif()
+ endif()
+ if(_static_deps)
+ set(_static_deps_genex \"$<${_genex_condition}:${_static_deps}>\")
+ set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+ \"${_static_deps_genex}\"
+ )
+ endif()
+
+ set(_static_link_flags \"${_Qt5${Plugin}_STATIC_${Configuration}_LINK_FLAGS}\")
+ if(NOT CMAKE_VERSION VERSION_LESS \"3.13\" AND _static_link_flags)
+ set(_static_link_flags_genex \"$<${_genex_condition}:${_static_link_flags}>\")
+ set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_OPTIONS
+ \"${_static_link_flags_genex}\"
+ )
+ endif()
+!!ENDIF
endmacro()
if (pluginTargets)
diff --git a/mkspecs/features/data/cmake/Qt5ImportPlugin.cpp.in b/mkspecs/features/data/cmake/Qt5ImportPlugin.cpp.in
new file mode 100644
index 0000000000..6e27f7a260
--- /dev/null
+++ b/mkspecs/features/data/cmake/Qt5ImportPlugin.cpp.in
@@ -0,0 +1,2 @@
+#include <QtPlugin>
+Q_IMPORT_PLUGIN($$CMAKE_PLUGIN_NAME)
diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
index 5baf0fdb10..7b70cfed09 100644
--- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
@@ -1,11 +1,102 @@
add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+set(_Qt5$${CMAKE_PLUGIN_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_PLUGIN_MODULE_DEPS}\")
+
+foreach(_module_dep ${_Qt5$${CMAKE_PLUGIN_NAME}_MODULE_DEPENDENCIES})
+ if(NOT Qt5${_module_dep}_FOUND)
+ find_package(Qt5${_module_dep}
+ $$VERSION ${_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT}
+ ${_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET}
+ ${_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED}
+ PATHS \"${CMAKE_CURRENT_LIST_DIR}/..\" NO_DEFAULT_PATH
+ )
+ endif()
+endforeach()
+
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
+!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LINK_FLAGS
+)
+!!ELSE
+_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+ \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LINK_FLAGS
+)
!!ENDIF
+!!ENDIF
+
!!IF !isEmpty(CMAKE_DEBUG_TYPE)
-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
+!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LINK_FLAGS
+)
+!!ELSE
+_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+ \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LINK_FLAGS
+)
+!!ENDIF
+!!ENDIF
+
+set_property(TARGET Qt5::$$CMAKE_PLUGIN_NAME PROPERTY INTERFACE_SOURCES
+ \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_$${CMAKE_PLUGIN_NAME}_Import.cpp\"
+)
+!!ENDIF
+
+!!IF !isEmpty(CMAKE_RELEASE_TYPE)
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
+!!ENDIF
+!!IF !isEmpty(CMAKE_DEBUG_TYPE)
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
!!ENDIF
list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
+set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY QT_ALL_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED} Qt5::$${CMAKE_PLUGIN_NAME})
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+# $<GENEX_EVAL:...> wasn\'t added until CMake 3.12, so put a version guard around it
+if(CMAKE_VERSION VERSION_LESS \"3.12\")
+ set(_manual_plugins_genex \"$<TARGET_PROPERTY:QT_PLUGINS>\")
+ set(_plugin_type_genex \"$<TARGET_PROPERTY:QT_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED}>\")
+ set(_no_plugins_genex \"$<TARGET_PROPERTY:QT_NO_PLUGINS>\")
+else()
+ set(_manual_plugins_genex \"$<GENEX_EVAL:$<TARGET_PROPERTY:QT_PLUGINS>>\")
+ set(_plugin_type_genex \"$<GENEX_EVAL:$<TARGET_PROPERTY:QT_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED}>>\")
+ set(_no_plugins_genex \"$<GENEX_EVAL:$<TARGET_PROPERTY:QT_NO_PLUGINS>>\")
+endif()
+set(_user_specified_genex
+ \"$<IN_LIST:Qt5::$$CMAKE_PLUGIN_NAME,${_manual_plugins_genex};${_plugin_type_genex}>\"
+)
+string(CONCAT _plugin_genex
+ \"$<$<OR:\"
+ # Add this plugin if it\'s in the list of manual plugins or plugins for the type
+ \"${_user_specified_genex},\"
+ # Add this plugin if the list of plugins for the type is empty, the PLUGIN_EXTENDS
+ # is either empty or equal to the module name, and the user hasn\'t blacklisted it
+ \"$<AND:\"
+ \"$<STREQUAL:${_plugin_type_genex},>,\"
+ \"$<OR:\"
+ \"$<STREQUAL:$<TARGET_PROPERTY:Qt5::$${CMAKE_PLUGIN_NAME},QT_PLUGIN_EXTENDS>,Qt5::$${CMAKE_MODULE_NAME}>,\"
+ \"$<STREQUAL:$<TARGET_PROPERTY:Qt5::$${CMAKE_PLUGIN_NAME},QT_PLUGIN_EXTENDS>,>\"
+ \">,\"
+ \"$<NOT:$<IN_LIST:Qt5::$${CMAKE_PLUGIN_NAME},${_no_plugins_genex}>>\"
+ \">\"
+ \">:Qt5::$$CMAKE_PLUGIN_NAME>\"
+)
+set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+ ${_plugin_genex}
+)
+set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+ \"$${CMAKE_PLUGIN_QT5_MODULE_DEPS}\"
+)
+!!ENDIF
+set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_TYPE \"$$CMAKE_PLUGIN_TYPE\")
+set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_EXTENDS \"$$CMAKE_PLUGIN_EXTENDS\")
diff --git a/mkspecs/features/exclusive_builds_post.prf b/mkspecs/features/exclusive_builds_post.prf
index 936085af0b..a9c341a2d7 100644
--- a/mkspecs/features/exclusive_builds_post.prf
+++ b/mkspecs/features/exclusive_builds_post.prf
@@ -1,4 +1,6 @@
+load(qt_functions)
+
contains(TEMPLATE, subdirs) {
for(build, QMAKE_EXCLUSIVE_BUILDS) {
prepareRecursiveTarget($$build)
diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
index c46222debd..60b2eb2117 100644
--- a/mkspecs/features/mac/default_post.prf
+++ b/mkspecs/features/mac/default_post.prf
@@ -1,5 +1,9 @@
load(default_post)
+# Recompute SDK version in case the user set it explicitly
+sdk_version = $$QMAKE_MAC_SDK_VERSION
+QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
+
contains(TEMPLATE, .*app) {
!macx-xcode:if(isEmpty(BUILDS)|build_pass) {
# Detect changes to the platform SDK
@@ -14,7 +18,7 @@ contains(TEMPLATE, .*app) {
!versionAtLeast(QMAKE_MAC_SDK_VERSION, $$QT_MAC_SDK_VERSION_MIN): \
warning("Qt requires at least version $$QT_MAC_SDK_VERSION_MIN of the platform SDK," \
- "you're using $${QMAKE_MAC_SDK_VERSION}. Please upgrade.")
+ "you're building against version $${QMAKE_MAC_SDK_VERSION}. Please upgrade.")
!isEmpty(QT_MAC_SDK_VERSION_MAX) {
# For Qt developers only
@@ -244,6 +248,11 @@ macx-xcode {
QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
}
+!equals(sdk_version, $$QMAKE_MAC_SDK_VERSION) {
+ # Explicit SDK version has been set, respect that
+ QMAKE_LFLAGS += -Wl,-sdk_version -Wl,$$sdk_version
+}
+
cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
!isEmpty(QMAKE_XCODE_VERSION): \
cache(QMAKE_XCODE_VERSION, stash)
@@ -261,7 +270,7 @@ xcode_product_bundle_identifier_setting.value = "$${xcode_product_bundle_identif
QMAKE_MAC_XCODE_SETTINGS += xcode_product_bundle_identifier_setting
!macx-xcode {
- generate_xcode_project.commands = @$(QMAKE) -spec macx-xcode $(EXPORT__PRO_FILE_)
+ generate_xcode_project.commands = @$(QMAKE) -spec macx-xcode $(EXPORT__PRO_FILE_) $$QMAKE_ARGS
generate_xcode_project.target = xcodeproj
QMAKE_EXTRA_VARIABLES += _PRO_FILE_
QMAKE_EXTRA_TARGETS += generate_xcode_project
diff --git a/mkspecs/features/qmake_use.prf b/mkspecs/features/qmake_use.prf
index 64faa4f215..ecb4f7ed41 100644
--- a/mkspecs/features/qmake_use.prf
+++ b/mkspecs/features/qmake_use.prf
@@ -22,7 +22,11 @@ for(ever) {
!defined(QMAKE_LIBS_$$nu, var): \
error("Library '$$lower($$replace(nu, _, -))' is not defined.")
- debug: \
+ android {
+ ABI_LIBS = $$eval(QMAKE_LIBS_$${nu}_$${QT_ARCH})
+ isEmpty(ABI_LIBS): ABI_LIBS = $$eval(QMAKE_LIBS_$${nu})
+ LIBS$${suffix} += $$ABI_LIBS
+ } else: debug: \
LIBS$${suffix} += $$eval(QMAKE_LIBS_$${nu}_DEBUG) $$eval(QMAKE_LIBS_$$nu)
else: \
LIBS$${suffix} += $$eval(QMAKE_LIBS_$${nu}_RELEASE) $$eval(QMAKE_LIBS_$$nu)
diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
index 57cfec78b3..c0b50416c9 100644
--- a/mkspecs/features/qml_module.prf
+++ b/mkspecs/features/qml_module.prf
@@ -52,15 +52,26 @@ builtin_resources {
qmldir.base = $$qmldir_path
qmldir.files = $$qmldir_file
qmldir.path = $$[QT_INSTALL_QML]/$$TARGETPATH
-INSTALLS += qmldir
qmlfiles.base = $$_PRO_FILE_PWD_
qmlfiles.files = $$fq_aux_qml_files
install_qml_files: qmlfiles.files += $$fq_qml_files
qmlfiles.path = $${qmldir.path}
-INSTALLS += qmlfiles
-!debug_and_release|!build_all|CONFIG(release, debug|release) {
+INSTALL_QML_FILES = false
+
+android {
+ build_pass {
+ isEmpty(ANDROID_ABIS): ANDROID_ABIS = $$ALL_ANDROID_ABIS
+ ABI = $$first(ANDROID_ABIS)
+ equals(ABI, $$QT_ARCH): INSTALL_QML_FILES = true
+ }
+} else: !debug_and_release|!build_all|CONFIG(release, debug|release): INSTALL_QML_FILES = true
+
+equals(INSTALL_QML_FILES, true) {
+ INSTALLS += qmldir
+ INSTALLS += qmlfiles
+
!prefix_build {
COPIES += qmldir qmlfiles
} else {
diff --git a/mkspecs/features/qt_android_deps.prf b/mkspecs/features/qt_android_deps.prf
index c172ca8c4e..e50c24b966 100644
--- a/mkspecs/features/qt_android_deps.prf
+++ b/mkspecs/features/qt_android_deps.prf
@@ -16,7 +16,7 @@
ANDROID_DEPENDS_DIR = $$MODULE_BASE_OUTDIR/lib/
DEPENDENCY_FILE = $$ANDROID_DEPENDS_DIR$$TARGET-android-dependencies.xml
-!build_pass {
+build_pass:!isEmpty(QT_ARCH): {
!isEmpty(MODULE_PLUGIN_TYPES) {
for(PLUGIN_TYPE, MODULE_PLUGIN_TYPES) {
ANDROID_BUNDLED_FILES += "plugins/$$PLUGIN_TYPE"
@@ -46,6 +46,8 @@ DEPENDENCY_FILE = $$ANDROID_DEPENDS_DIR$$TARGET-android-dependencies.xml
EXTENDS = $$section(LIB_FILE, ":", 1, 1)
!isEmpty(EXTENDS): EXTENDS = "extends=\"$$EXTENDS\""
LIB_FILE = $$section(LIB_FILE, ":", 0, 0)
+ LIB_FILE = $$replace(LIB_FILE,".so", "_$${QT_ARCH}.so")
+ !isEmpty(EXTENDS): EXTENDS = $$replace(EXTENDS,".so", "_$${QT_ARCH}.so")
FILE_CONTENT += "<lib file=\"$$LIB_FILE\" $$EXTENDS />"
}
}
@@ -54,12 +56,14 @@ DEPENDENCY_FILE = $$ANDROID_DEPENDS_DIR$$TARGET-android-dependencies.xml
for(REPLACEMENT, ANDROID_LIB_DEPENDENCY_REPLACEMENTS) {
REPLACEMENT_FILE = $$section(REPLACEMENT, ":", 0, 0)
LIB_FILE = $$section(REPLACEMENT, ":", 1, 1)
+ REPLACEMENT_FILE = $$replace(REPLACEMENT_FILE,".so", "_$${QT_ARCH}.so")
FILE_CONTENT += "<lib file=\"$$LIB_FILE\" replaces=\"$$REPLACEMENT_FILE\" />"
}
}
!isEmpty(ANDROID_BUNDLED_FILES) {
for (BUNDLED_FILE, ANDROID_BUNDLED_FILES) {
+ BUNDLED_FILE = $$replace(BUNDLED_FILE,".so", "_$${QT_ARCH}.so")
FILE_CONTENT += "<bundled file=\"$$BUNDLED_FILE\" />"
}
}
diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf
index 8a7c9c28d3..745b09a885 100644
--- a/mkspecs/features/qt_build_config.prf
+++ b/mkspecs/features/qt_build_config.prf
@@ -108,6 +108,10 @@ macos: CONFIG += testcase_no_bundle
# Override MinGW's definition in _mingw.h
mingw: DEFINES += WINVER=0x0601 _WIN32_WINNT=0x0601
+# By default, the following features should not be used in Qt's own
+# implementation, so declare them invisible to Qt modules.
+DEFINES += QT_NO_LINKED_LIST # QLinkedList
+
defineTest(qtBuildPart) {
bp = $$eval($$upper($$section(_QMAKE_CONF_, /, -2, -2))_BUILD_PARTS)
isEmpty(bp): bp = $$QT_BUILD_PARTS
diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
index 2ac9de266f..1219fe1443 100644
--- a/mkspecs/features/qt_configure.prf
+++ b/mkspecs/features/qt_configure.prf
@@ -560,7 +560,7 @@ defineTest(qtConfResolveLibs) {
} else {
paths += $$lp
}
- } else: contains(l, "^-l.*") {
+ } else: !android: contains(l, "^-l.*") {
lib = $$replace(l, "^-l", )
lcan =
integrity:contains(lib, "^.*\\.a") {
@@ -1905,8 +1905,11 @@ defineTest(qtConfCreateReportRecurse) {
entry = $${1}.$$n
subKeys = $$eval($${entry}._KEYS_)
contains(subKeys, condition) {
- condition = $$eval($${entry}.condition)
- r = $$qtConfEvaluate($$condition)
+ r = true
+ for (condition, $$qtConfScalarOrList($${entry}.condition)) {
+ r = $$qtConfEvaluate($$condition)
+ !$$r: break()
+ }
!qtConfIsBoolean($$r): \
error("Evaluation of condition '$$condition' in report entry $${entry} yielded non-boolean value '$$r'.")
!$$r: next()
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 1903e509c8..ede494eec1 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -1,7 +1,8 @@
defineReplace(qtPlatformTargetSuffix) {
suffix =
- CONFIG(debug, debug|release) {
+ android: return($${suffix}_$${QT_ARCH})
+ else: CONFIG(debug, debug|release) {
!debug_and_release|build_pass {
mac: return($${suffix}_debug)
win32: return($${suffix}d)
diff --git a/mkspecs/features/qt_helper_lib.prf b/mkspecs/features/qt_helper_lib.prf
index 2cb54fc547..216c24c7aa 100644
--- a/mkspecs/features/qt_helper_lib.prf
+++ b/mkspecs/features/qt_helper_lib.prf
@@ -29,19 +29,19 @@ DLLDESTDIR = $$MODULE_BASE_OUTDIR/bin
THE_TARGET = $$qt5LibraryTarget($$TARGET)
-!build_pass {
- MODULE = $$replace(TARGET, ^qt, )
- MODULE ~= s,-,_,
- MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_ext_$${MODULE}.pri
- ucmodule = $$upper($$MODULE)
+MODULE = $$replace(TARGET, ^qt, )
+MODULE ~= s,-,_,
+MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_ext_$${MODULE}.pri
+ucmodule = $$upper($$MODULE)
+win32|CONFIG(static, static|shared) {
+ prefix = $$QMAKE_PREFIX_STATICLIB
+ suffix = $$QMAKE_EXTENSION_STATICLIB
+} else {
+ prefix = $$QMAKE_PREFIX_SHLIB
+ suffix = $$QMAKE_EXTENSION_SHLIB
+}
- win32|CONFIG(static, static|shared) {
- prefix = $$QMAKE_PREFIX_STATICLIB
- suffix = $$QMAKE_EXTENSION_STATICLIB
- } else {
- prefix = $$QMAKE_PREFIX_SHLIB
- suffix = $$QMAKE_EXTENSION_SHLIB
- }
+!build_pass {
CC_USES =
LD_USES =
for (use, QMAKE_USE) {
@@ -58,7 +58,9 @@ THE_TARGET = $$qt5LibraryTarget($$TARGET)
"QMAKE_DEPENDS_$${ucmodule}_LD =$$join(LD_USES, " ", " ")" \
"QMAKE_INCDIR_$${ucmodule} = $$val_escape(MODULE_INCLUDEPATH)" \
"QMAKE_DEFINES_$${ucmodule} = $$val_escape(MODULE_DEFINES)"
- debug_and_release {
+ android {
+ MODULE_PRI_CONT += "QMAKE_LIBS_$${ucmodule} ="
+ } else: debug_and_release {
win32: \
MODULE_DEBUG_LIBS = $$DESTDIR/$$prefix$${TARGET}d.$$suffix
else: darwin: \
@@ -76,6 +78,11 @@ THE_TARGET = $$qt5LibraryTarget($$TARGET)
"QMAKE_LIBS_$${ucmodule} = $$val_escape(MODULE_LIBS)"
}
write_file($$MODULE_PRI, MODULE_PRI_CONT)|error()
+} else: android {
+ ABI_TARGET = $$qt5LibraryTarget($$TARGET)
+ ABI_MODULE_LIBS = $$DESTDIR/$$prefix$${ABI_TARGET}.$$suffix
+ MODULE_PRI_CONT = "QMAKE_LIBS_$${ucmodule}_$${QT_ARCH} = $$val_escape(ABI_MODULE_LIBS)"
+ write_file($$MODULE_PRI, MODULE_PRI_CONT, append)|error()
}
TARGET = $$THE_TARGET
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 169d91c746..828a9621b9 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -93,7 +93,7 @@ header_module {
DESTDIR = $$MODULE_BASE_OUTDIR/lib
DLLDESTDIR = $$MODULE_BASE_OUTDIR/bin
-CONFIG += qmake_cache target_qt
+CONFIG += target_qt
QMAKE_DOCS_TARGETDIR = qt$${MODULE}
diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf
index e892f83432..719caf3d4a 100644
--- a/mkspecs/features/qt_module_pris.prf
+++ b/mkspecs/features/qt_module_pris.prf
@@ -51,13 +51,12 @@ defineReplace(qtGetExportsForModule) {
return($$result)
}
-defineReplace(qtExportLibsForModule) {
+defineReplace(qtExportDepsForModule) {
result =
for (lib, QT.$${1}.libraries) {
NAME = $$upper($$lib)
vars = \
QMAKE_DEPENDS_$${NAME}_CC QMAKE_DEPENDS_$${NAME}_LD \
- QMAKE_LIBS_$$NAME QMAKE_LIBS_$${NAME}_DEBUG QMAKE_LIBS_$${NAME}_RELEASE \
QMAKE_DEFINES_$$NAME QMAKE_INCDIR_$$NAME
for (var, vars) {
expvar = $$var
@@ -71,6 +70,24 @@ defineReplace(qtExportLibsForModule) {
return($$result)
}
+defineReplace(qtExportLibsForModule) {
+ result =
+ for (lib, QT.$${1}.libraries) {
+ NAME = $$upper($$lib)
+ vars = \
+ QMAKE_LIBS_$$NAME QMAKE_LIBS_$${NAME}_DEBUG QMAKE_LIBS_$${NAME}_RELEASE
+ for (var, vars) {
+ expvar = $$var
+ expvar ~= s/^QMAKE_/QMAKE_EXPORT_/
+ defined($$expvar, var):equals($$expvar, -): next()
+ !defined($$expvar, var): expvar = $$var
+ defined($$expvar, var): \
+ result += "$$var$${2} = $$val_escape($$expvar)"
+ }
+ }
+ return($$result)
+}
+
!build_pass {
# Create a module .pri file
@@ -160,6 +177,7 @@ defineReplace(qtExportLibsForModule) {
"QT.$${MODULE}_private.module_config =$$join(module_build_type, " ", " ")" \
$$qtGetFeaturesForModule($${MODULE}_private) \
"" \
+ $$qtExportDepsForModule($${MODULE}_private) \
$$qtExportLibsForModule($${MODULE}_private)
write_file($$MODULE_PRIVATE_PRI, MODULE_PRIVATE_PRI_CONT)|error()
}
@@ -220,7 +238,10 @@ defineReplace(qtExportLibsForModule) {
}
cache(QT_MODULES, transient)
-} # !build_pass
+} else:android:!no_private_module:!internal_module {
+ MODULE_PRIVATE_PRI_CONT = $$qtExportLibsForModule($${MODULE}_private, _$${QT_ARCH})
+ write_file($$MODULE_PRIVATE_PRI, MODULE_PRIVATE_PRI_CONT, append)|error()
+}
# Schedule the regular .pri file for installation
CONFIG += qt_install_module
diff --git a/mkspecs/wasm-emscripten/qmake.conf b/mkspecs/wasm-emscripten/qmake.conf
index c6c3af3622..992803e055 100644
--- a/mkspecs/wasm-emscripten/qmake.conf
+++ b/mkspecs/wasm-emscripten/qmake.conf
@@ -14,6 +14,8 @@ load(device_config)
QMAKE_CFLAGS += -s WASM_OBJECT_FILES=$$WASM_OBJECT_FILES
QMAKE_CXXFLAGS += -s WASM_OBJECT_FILES=$$WASM_OBJECT_FILES
QMAKE_LFLAGS += -s WASM_OBJECT_FILES=$$WASM_OBJECT_FILES
+} else {
+ EMCC_COMMON_LFLAGS += -s \"BINARYEN_TRAP_MODE=\'clamp\'\"
}
EMTERP_FLAGS = \
@@ -29,8 +31,7 @@ EMCC_COMMON_LFLAGS = \
-s USE_WEBGL2=1 \
-s NO_EXIT_RUNTIME=0 \
-s ERROR_ON_UNDEFINED_SYMBOLS=1 \
- --bind \
- -s \"BINARYEN_TRAP_MODE=\'clamp\'\"
+ --bind
# The -s arguments can also be used with release builds,
# but are here in debug for clarity.
diff --git a/mkspecs/win32-clang-msvc/qmake.conf b/mkspecs/win32-clang-msvc/qmake.conf
index 5da7e2d1b2..238e401b84 100644
--- a/mkspecs/win32-clang-msvc/qmake.conf
+++ b/mkspecs/win32-clang-msvc/qmake.conf
@@ -39,6 +39,11 @@ QMAKE_CXXFLAGS += -Wno-microsoft-enum-value
QMAKE_LINK = lld-link
QMAKE_LIB = llvm-lib /NOLOGO
+QMAKE_CXXFLAGS_CXX11 = -std:c++11
+QMAKE_CXXFLAGS_CXX14 = -std:c++14
+QMAKE_CXXFLAGS_CXX1Z = -std:c++17
+QMAKE_CXXFLAGS_CXX2A = -std:c++latest
+
QMAKE_CFLAGS_LTCG = -flto=thin
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
QMAKE_CFLAGS_LTCG_FATOBJECTS = -flto
@@ -49,6 +54,4 @@ QMAKE_LFLAGS_LTCG =
QMAKE_CFLAGS_OPTIMIZE_SIZE = /clang:-Oz
QMAKE_CFLAGS_OPTIMIZE_FULL = /clang:-O3
-QMAKE_LFLAGS_RELEASE += /OPT:REF,ICF,LBR
-
load(qt_config)
diff --git a/qmake/Makefile.unix b/qmake/Makefile.unix
index 68f173cd1b..e895feaef4 100644
--- a/qmake/Makefile.unix
+++ b/qmake/Makefile.unix
@@ -28,6 +28,7 @@ QOBJS = \
qmetatype.o qsystemerror.o qvariant.o \
quuid.o \
qarraydata.o qbitarray.o qbytearray.o qbytearraymatcher.o \
+ qcalendar.o qgregoriancalendar.o qromancalendar.o \
qcryptographichash.o qdatetime.o qhash.o qlist.o \
qlocale.o qlocale_tools.o qmap.o qregexp.o qringbuffer.o \
qstringbuilder.o qstring.o qstringlist.o qversionnumber.o \
@@ -114,7 +115,10 @@ DEPEND_SRC = \
$(SOURCE_PATH)/src/corelib/text/qstring.cpp \
$(SOURCE_PATH)/src/corelib/text/qstringlist.cpp \
$(SOURCE_PATH)/src/corelib/text/qvsnprintf.cpp \
+ $(SOURCE_PATH)/src/corelib/time/qcalendar.cpp \
$(SOURCE_PATH)/src/corelib/time/qdatetime.cpp \
+ $(SOURCE_PATH)/src/corelib/time/qgregoriancalendar.cpp \
+ $(SOURCE_PATH)/src/corelib/time/qromancalendar.cpp \
$(SOURCE_PATH)/src/corelib/tools/qarraydata.cpp \
$(SOURCE_PATH)/src/corelib/tools/qbitarray.cpp \
$(SOURCE_PATH)/src/corelib/tools/qcryptographichash.cpp \
@@ -428,6 +432,15 @@ qfileinfo.o: $(SOURCE_PATH)/src/corelib/io/qfileinfo.cpp
qdatetime.o: $(SOURCE_PATH)/src/corelib/time/qdatetime.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $<
+qcalendar.o: $(SOURCE_PATH)/src/corelib/time/qcalendar.cpp
+ $(CXX) -c -o $@ $(CXXFLAGS) $<
+
+qgregoriancalendar.o: $(SOURCE_PATH)/src/corelib/time/qgregoriancalendar.cpp
+ $(CXX) -c -o $@ $(CXXFLAGS) $<
+
+qromancalendar.o: $(SOURCE_PATH)/src/corelib/time/qromancalendar.cpp
+ $(CXX) -c -o $@ $(CXXFLAGS) $<
+
qstringlist.o: $(SOURCE_PATH)/src/corelib/text/qstringlist.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $<
diff --git a/qmake/Makefile.win32 b/qmake/Makefile.win32
index 43059f9af0..672df47953 100644
--- a/qmake/Makefile.win32
+++ b/qmake/Makefile.win32
@@ -71,6 +71,7 @@ QTOBJS= \
qbytearray.obj \
qvsnprintf.obj \
qbytearraymatcher.obj \
+ qcalendar.obj \
qdatetime.obj \
qdir.obj \
qdiriterator.obj \
@@ -83,6 +84,7 @@ QTOBJS= \
qfileinfo.obj \
qendian.obj \
qglobal.obj \
+ qgregoriancalendar.obj \
qhash.obj \
qiodevice.obj \
qringbuffer.obj \
@@ -97,6 +99,7 @@ QTOBJS= \
qoperatingsystemversion.obj \
qoperatingsystemversion_win.obj \
qregexp.obj \
+ qromancalendar.obj \
qutfcodec.obj \
qstring.obj \
qstringlist.obj \
diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc
index b271abcee3..3495f97b2c 100644
--- a/qmake/doc/src/qmake-manual.qdoc
+++ b/qmake/doc/src/qmake-manual.qdoc
@@ -2583,10 +2583,8 @@
\section1 RC_FILE
- Specifies the name of the resource file for the application.
- The value of this variable is typically handled by
- qmake or \l{#QMAKESPEC}{qmake.conf} and rarely
- needs to be modified.
+ Windows only. Specifies the name of the Windows resource file (.rc) for the
+ target. See \l{Adding Windows Resource Files}.
\target RC_CODEPAGE
\section1 RC_CODEPAGE
@@ -2649,7 +2647,9 @@
\section1 RES_FILE
- Specifies the name of the compiled Windows resource file for the target.
+ Windows only. Specifies the name of the Windows resource compiler's output
+ file for this target. See \l{RC_FILE} and \l{Adding Windows Resource Files}.
+
The value of this variable is typically handled by
qmake or \l{#QMAKESPEC}{qmake.conf} and rarely
needs to be modified.
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index 2082bd6dc3..94e9259c68 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -764,27 +764,13 @@ MakefileGenerator::init()
ProStringList incDirs = v["DEPENDPATH"] + v["QMAKE_ABSOLUTE_SOURCE_PATH"];
if(project->isActiveConfig("depend_includepath"))
incDirs += v["INCLUDEPATH"];
- QList<QMakeLocalFileName> deplist;
+ QVector<QMakeLocalFileName> deplist;
deplist.reserve(incDirs.size());
for (ProStringList::Iterator it = incDirs.begin(); it != incDirs.end(); ++it)
deplist.append(QMakeLocalFileName((*it).toQString()));
QMakeSourceFileInfo::setDependencyPaths(deplist);
debug_msg(1, "Dependency Directories: %s",
incDirs.join(QString(" :: ")).toLatin1().constData());
- //cache info
- if(project->isActiveConfig("qmake_cache")) {
- QString cache_file;
- if(!project->isEmpty("QMAKE_INTERNAL_CACHE_FILE")) {
- cache_file = QDir::fromNativeSeparators(project->first("QMAKE_INTERNAL_CACHE_FILE").toQString());
- } else {
- cache_file = ".qmake.internal.cache";
- if(project->isActiveConfig("build_pass"))
- cache_file += ".BUILD." + project->first("BUILD_PASS");
- }
- if(cache_file.indexOf('/') == -1)
- cache_file.prepend(Option::output_dir + '/');
- QMakeSourceFileInfo::setCacheFile(cache_file);
- }
//add to dependency engine
for(x = 0; x < compilers.count(); ++x) {
@@ -1839,7 +1825,7 @@ static QStringList splitDeps(const QString &indeps, bool lineMode)
QString MakefileGenerator::resolveDependency(const QDir &outDir, const QString &file)
{
- const QList<QMakeLocalFileName> &depdirs = QMakeSourceFileInfo::dependencyPaths();
+ const QVector<QMakeLocalFileName> &depdirs = QMakeSourceFileInfo::dependencyPaths();
for (const auto &depdir : depdirs) {
const QString &local = depdir.local();
QString lf = outDir.absoluteFilePath(local + '/' + file);
@@ -3105,7 +3091,7 @@ MakefileGenerator::findFileForDep(const QMakeLocalFileName &dep, const QMakeLoca
if(Option::output_dir != qmake_getpwd()
&& QDir::isRelativePath(dep.real())) { //is it from the shadow tree
- QList<QMakeLocalFileName> depdirs = QMakeSourceFileInfo::dependencyPaths();
+ QVector<QMakeLocalFileName> depdirs = QMakeSourceFileInfo::dependencyPaths();
depdirs.prepend(fileInfo(file.real()).absoluteDir().path());
QString pwd = qmake_getpwd();
if(pwd.at(pwd.length()-1) != '/')
@@ -3456,4 +3442,13 @@ QString MakefileGenerator::shellQuote(const QString &str)
return isWindowsShell() ? IoUtils::shellQuoteWin(str) : IoUtils::shellQuoteUnix(str);
}
+/*
+ * Returns the name of the variable that contains the fully resolved target
+ * (including DESTDIR) of this generator.
+ */
+ProKey MakefileGenerator::fullTargetVariable() const
+{
+ return "TARGET";
+}
+
QT_END_NAMESPACE
diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h
index ac1d5abb11..45250a6aa2 100644
--- a/qmake/generators/makefile.h
+++ b/qmake/generators/makefile.h
@@ -276,6 +276,7 @@ public:
virtual bool openOutput(QFile &, const QString &build) const;
bool isWindowsShell() const { return Option::dir_sep == QLatin1String("\\"); }
QString shellQuote(const QString &str);
+ virtual ProKey fullTargetVariable() const;
};
Q_DECLARE_TYPEINFO(MakefileGenerator::Compiler, Q_MOVABLE_TYPE);
Q_DECLARE_OPERATORS_FOR_FLAGS(MakefileGenerator::FileFixifyTypes)
diff --git a/qmake/generators/makefiledeps.cpp b/qmake/generators/makefiledeps.cpp
index 69a3217723..7c4be64aa8 100644
--- a/qmake/generators/makefiledeps.cpp
+++ b/qmake/generators/makefiledeps.cpp
@@ -60,21 +60,14 @@ QT_BEGIN_NAMESPACE
inline bool qmake_endOfLine(const char &c) { return (c == '\r' || c == '\n'); }
#endif
-//#define QMAKE_USE_CACHE
-
-QMakeLocalFileName::QMakeLocalFileName(const QString &name) : is_null(name.isNull())
+QMakeLocalFileName::QMakeLocalFileName(const QString &name)
+ : real_name(name)
{
- if(!name.isEmpty()) {
- if(name.at(0) == QLatin1Char('"') && name.at(name.length()-2) == QLatin1Char('"'))
- real_name = name.mid(1, name.length()-2);
- else
- real_name = name;
- }
}
const QString
&QMakeLocalFileName::local() const
{
- if(!is_null && local_name.isNull())
+ if (!isNull() && local_name.isNull())
local_name = Option::normalizePath(real_name);
return local_name;
}
@@ -199,10 +192,10 @@ void QMakeSourceFileInfo::dependTreeWalker(SourceFile *node, SourceDependChildre
}
}
-void QMakeSourceFileInfo::setDependencyPaths(const QList<QMakeLocalFileName> &l)
+void QMakeSourceFileInfo::setDependencyPaths(const QVector<QMakeLocalFileName> &l)
{
// Ensure that depdirs does not contain the same paths several times, to minimize the stats
- QList<QMakeLocalFileName> ll;
+ QVector<QMakeLocalFileName> ll;
for (int i = 0; i < l.count(); ++i) {
if (!ll.contains(l.at(i)))
ll.append(l.at(i));
@@ -265,19 +258,10 @@ QMakeSourceFileInfo::QMakeSourceFileInfo(const QString &cf)
//buffer
spare_buffer = nullptr;
spare_buffer_size = 0;
-
- //cache
- cachefile = cf;
- if(!cachefile.isEmpty())
- loadCache(cachefile);
}
QMakeSourceFileInfo::~QMakeSourceFileInfo()
{
- //cache
- if(!cachefile.isEmpty() /*&& files_changed*/)
- saveCache(cachefile);
-
//buffer
if(spare_buffer) {
free(spare_buffer);
@@ -290,12 +274,6 @@ QMakeSourceFileInfo::~QMakeSourceFileInfo()
delete includes;
}
-void QMakeSourceFileInfo::setCacheFile(const QString &cf)
-{
- cachefile = cf;
- loadCache(cachefile);
-}
-
void QMakeSourceFileInfo::addSourceFiles(const ProStringList &l, uchar seek,
QMakeSourceFileInfo::SourceFileType type)
{
@@ -853,8 +831,8 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file)
}
}
if(!exists) { //path lookup
- for(QList<QMakeLocalFileName>::Iterator it = depdirs.begin(); it != depdirs.end(); ++it) {
- QMakeLocalFileName f((*it).real() + Option::dir_sep + lfn.real());
+ for (const QMakeLocalFileName &depdir : qAsConst(depdirs)) {
+ QMakeLocalFileName f(depdir.real() + Option::dir_sep + lfn.real());
QFileInfo fi(findFileInfo(f));
if(fi.exists() && !fi.isDir()) {
lfn = fixPathForFile(f);
@@ -1054,151 +1032,4 @@ bool QMakeSourceFileInfo::findMocs(SourceFile *file)
return true;
}
-
-void QMakeSourceFileInfo::saveCache(const QString &cf)
-{
-#ifdef QMAKE_USE_CACHE
- if(cf.isEmpty())
- return;
-
- QFile file(QMakeLocalFileName(cf).local());
- if(file.open(QIODevice::WriteOnly)) {
- QTextStream stream(&file);
- stream << QMAKE_VERSION_STR << endl << endl; //version
- { //cache verification
- QMap<QString, QStringList> verify = getCacheVerification();
- stream << verify.count() << endl;
- for(QMap<QString, QStringList>::iterator it = verify.begin();
- it != verify.end(); ++it) {
- stream << it.key() << endl << it.value().join(';') << endl;
- }
- stream << endl;
- }
- if(files->nodes) {
- for(int file = 0; file < files->num_nodes; ++file) {
- for(SourceFiles::SourceFileNode *node = files->nodes[file]; node; node = node->next) {
- stream << node->file->file.local() << endl; //source
- stream << node->file->type << endl; //type
-
- //depends
- stream << ";";
- if(node->file->deps) {
- for(int depend = 0; depend < node->file->deps->used_nodes; ++depend) {
- if(depend)
- stream << ";";
- stream << node->file->deps->children[depend]->file.local();
- }
- }
- stream << endl;
-
- stream << node->file->mocable << endl; //mocable
- stream << endl; //just for human readability
- }
- }
- }
- stream.flush();
- file.close();
- }
-#else
- Q_UNUSED(cf);
-#endif
-}
-
-void QMakeSourceFileInfo::loadCache(const QString &cf)
-{
- if(cf.isEmpty())
- return;
-
-#ifdef QMAKE_USE_CACHE
- QMakeLocalFileName cache_file(cf);
- int fd = open(QMakeLocalFileName(cf).local().toLatin1(), O_RDONLY);
- if(fd == -1)
- return;
- QFileInfo cache_fi = findFileInfo(cache_file);
- if(!cache_fi.exists() || cache_fi.isDir())
- return;
-
- QFile file;
- if (!file.open(fd, QIODevice::ReadOnly))
- return;
- QTextStream stream(&file);
-
- if (stream.readLine() == QMAKE_VERSION_STR) { //version check
- stream.skipWhiteSpace();
-
- bool verified = true;
- { //cache verification
- QMap<QString, QStringList> verify;
- int len = stream.readLine().toInt();
- for(int i = 0; i < len; ++i) {
- QString var = stream.readLine();
- QString val = stream.readLine();
- verify.insert(var, val.split(';', QString::SkipEmptyParts));
- }
- verified = verifyCache(verify);
- }
- if(verified) {
- stream.skipWhiteSpace();
- if(!files)
- files = new SourceFiles;
- while(!stream.atEnd()) {
- QString source = stream.readLine();
- QString type = stream.readLine();
- QString depends = stream.readLine();
- QString mocable = stream.readLine();
- stream.skipWhiteSpace();
-
- QMakeLocalFileName fn(source);
- QFileInfo fi = findFileInfo(fn);
-
- SourceFile *file = files->lookupFile(fn);
- if(!file) {
- file = new SourceFile;
- file->file = fn;
- files->addFile(file);
- file->type = (SourceFileType)type.toInt();
- file->exists = fi.exists();
- }
- if(fi.exists() && fi.lastModified() < cache_fi.lastModified()) {
- if(!file->dep_checked) { //get depends
- if(!file->deps)
- file->deps = new SourceDependChildren;
- file->dep_checked = true;
- QStringList depend_list = depends.split(";", QString::SkipEmptyParts);
- for(int depend = 0; depend < depend_list.size(); ++depend) {
- QMakeLocalFileName dep_fn(depend_list.at(depend));
- QFileInfo dep_fi(findFileInfo(dep_fn));
- SourceFile *dep = files->lookupFile(dep_fn);
- if(!dep) {
- dep = new SourceFile;
- dep->file = dep_fn;
- dep->exists = dep_fi.exists();
- dep->type = QMakeSourceFileInfo::TYPE_UNKNOWN;
- files->addFile(dep);
- }
- dep->included_count++;
- file->deps->addChild(dep);
- }
- }
- if(!file->moc_checked) { //get mocs
- file->moc_checked = true;
- file->mocable = mocable.toInt();
- }
- }
- }
- }
- }
-#endif
-}
-
-QMap<QString, QStringList> QMakeSourceFileInfo::getCacheVerification()
-{
- return QMap<QString, QStringList>();
-}
-
-bool QMakeSourceFileInfo::verifyCache(const QMap<QString, QStringList> &v)
-{
- return v == getCacheVerification();
-}
-
QT_END_NAMESPACE
diff --git a/qmake/generators/makefiledeps.h b/qmake/generators/makefiledeps.h
index 034197fd31..7e39396754 100644
--- a/qmake/generators/makefiledeps.h
+++ b/qmake/generators/makefiledeps.h
@@ -33,6 +33,7 @@
#include <qstringlist.h>
#include <qfileinfo.h>
+#include <qvector.h>
QT_BEGIN_NAMESPACE
@@ -40,13 +41,14 @@ struct SourceFile;
struct SourceDependChildren;
class SourceFiles;
-class QMakeLocalFileName {
- bool is_null;
- mutable QString real_name, local_name;
+class QMakeLocalFileName
+{
+ QString real_name;
+ mutable QString local_name;
public:
- QMakeLocalFileName() : is_null(true) {}
+ QMakeLocalFileName() = default;
QMakeLocalFileName(const QString &);
- bool isNull() const { return is_null; }
+ bool isNull() const { return real_name.isNull(); }
inline const QString &real() const { return real_name; }
const QString &local() const;
@@ -64,7 +66,7 @@ private:
//quick project lookups
SourceFiles *files, *includes;
bool files_changed;
- QList<QMakeLocalFileName> depdirs;
+ QVector<QMakeLocalFileName> depdirs;
QStringList systemIncludes;
//sleezy buffer code
@@ -77,9 +79,6 @@ private:
bool findDeps(SourceFile *);
void dependTreeWalker(SourceFile *, SourceDependChildren *);
- //cache
- QString cachefile;
-
protected:
virtual QMakeLocalFileName fixPathForFile(const QMakeLocalFileName &, bool forOpen=false);
virtual QMakeLocalFileName findFileForDep(const QMakeLocalFileName &, const QMakeLocalFileName &);
@@ -90,8 +89,8 @@ public:
QMakeSourceFileInfo(const QString &cachefile="");
virtual ~QMakeSourceFileInfo();
- QList<QMakeLocalFileName> dependencyPaths() const { return depdirs; }
- void setDependencyPaths(const QList<QMakeLocalFileName> &);
+ QVector<QMakeLocalFileName> dependencyPaths() const { return depdirs; }
+ void setDependencyPaths(const QVector<QMakeLocalFileName> &);
enum DependencyMode { Recursive, NonRecursive };
inline void setDependencyMode(DependencyMode mode) { dep_mode = mode; }
@@ -112,12 +111,6 @@ public:
bool mocable(const QString &file);
- virtual QMap<QString, QStringList> getCacheVerification();
- virtual bool verifyCache(const QMap<QString, QStringList> &);
- void setCacheFile(const QString &cachefile); //auto caching
- void loadCache(const QString &cf);
- void saveCache(const QString &cf);
-
private:
DependencyMode dep_mode;
};
diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp
index 705ad7008a..22a72100f7 100644
--- a/qmake/generators/metamakefile.cpp
+++ b/qmake/generators/metamakefile.cpp
@@ -33,6 +33,10 @@
#include "project.h"
#include "cachekeys.h"
+#include <algorithm>
+#include <iterator>
+#include <utility>
+
#define BUILDSMETATYPE 1
#define SUBDIRSMETATYPE 2
@@ -58,6 +62,7 @@ private:
void clearBuilds();
MakefileGenerator *processBuild(const ProString &);
void accumulateVariableFromBuilds(const ProKey &name, Build *build) const;
+ void checkForConflictingTargets() const;
public:
@@ -186,6 +191,7 @@ BuildsMetaMakefileGenerator::write()
if(!build->makefile) {
ret = false;
} else if(build == glue) {
+ checkForConflictingTargets();
accumulateVariableFromBuilds("QMAKE_INTERNAL_INCLUDED_FILES", build);
ret = build->makefile->writeProjectMakefile();
} else {
@@ -239,6 +245,39 @@ void BuildsMetaMakefileGenerator::accumulateVariableFromBuilds(const ProKey &nam
values.removeDuplicates();
}
+void BuildsMetaMakefileGenerator::checkForConflictingTargets() const
+{
+ if (makefiles.count() < 3) {
+ // Checking for conflicts only makes sense if we have more than one BUILD,
+ // and the last entry in makefiles is the "glue" Build.
+ return;
+ }
+ using TargetInfo = std::pair<Build *, ProString>;
+ QVector<TargetInfo> targets;
+ const int last = makefiles.count() - 1;
+ targets.resize(last);
+ for (int i = 0; i < last; ++i) {
+ Build *b = makefiles.at(i);
+ auto mkf = b->makefile;
+ auto prj = mkf->projectFile();
+ targets[i] = std::make_pair(b, prj->first(mkf->fullTargetVariable()));
+ }
+ std::stable_sort(targets.begin(), targets.end(),
+ [](const TargetInfo &lhs, const TargetInfo &rhs)
+ {
+ return lhs.second < rhs.second;
+ });
+ for (auto prev = targets.begin(), it = std::next(prev); it != targets.end(); ++prev, ++it) {
+ if (prev->second == it->second) {
+ warn_msg(WarnLogic, "Targets of builds '%s' and '%s' conflict: %s.",
+ qPrintable(prev->first->build),
+ qPrintable(it->first->build),
+ qPrintable(prev->second.toQString()));
+ break;
+ }
+ }
+}
+
class SubdirsMetaMakefileGenerator : public MetaMakefileGenerator
{
protected:
diff --git a/qmake/generators/projectgenerator.cpp b/qmake/generators/projectgenerator.cpp
index 119dd652b3..c43f6b4e4a 100644
--- a/qmake/generators/projectgenerator.cpp
+++ b/qmake/generators/projectgenerator.cpp
@@ -215,7 +215,7 @@ ProjectGenerator::init()
}
//setup deplist
- QList<QMakeLocalFileName> deplist;
+ QVector<QMakeLocalFileName> deplist;
{
const ProStringList &d = v["DEPENDPATH"];
for(int i = 0; i < d.size(); ++i)
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
index 227dc8908a..664c81296c 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -392,7 +392,7 @@ UnixMakefileGenerator::fixLibFlag(const ProString &lib)
bool
UnixMakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
{
- QList<QMakeLocalFileName> libdirs, frameworkdirs;
+ QVector<QMakeLocalFileName> libdirs, frameworkdirs;
int libidx = 0, fwidx = 0;
for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
libdirs.append(QMakeLocalFileName(dlib.toQString()));
@@ -418,9 +418,8 @@ UnixMakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
libdirs.insert(libidx++, f);
} else if(opt.startsWith("-l")) {
QString lib = opt.mid(2);
- for (QList<QMakeLocalFileName>::Iterator dep_it = libdirs.begin();
- dep_it != libdirs.end(); ++dep_it) {
- QString libBase = (*dep_it).local() + '/'
+ for (const QMakeLocalFileName &libdir : qAsConst(libdirs)) {
+ QString libBase = libdir.local() + '/'
+ project->first("QMAKE_PREFIX_SHLIB") + lib;
if (linkPrl && processPrlFile(libBase, true))
goto found;
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
index 8d1bd08197..8b4f2bf58f 100644
--- a/qmake/generators/unix/unixmake2.cpp
+++ b/qmake/generators/unix/unixmake2.cpp
@@ -1447,7 +1447,36 @@ UnixMakefileGenerator::libtoolFileName(bool fixify)
void
UnixMakefileGenerator::writeLibtoolFile()
{
+ auto fixDependencyLibs
+ = [this](const ProStringList &libs)
+ {
+ ProStringList result;
+ for (auto lib : libs) {
+ auto fi = fileInfo(lib.toQString());
+ if (fi.isAbsolute()) {
+ const QString libDirArg = "-L" + fi.path();
+ if (!result.contains(libDirArg))
+ result += libDirArg;
+ QString namespec = fi.fileName();
+ int dotPos = namespec.lastIndexOf('.');
+ if (dotPos != -1 && namespec.startsWith("lib")) {
+ namespec.truncate(dotPos);
+ namespec.remove(0, 3);
+ } else {
+ debug_msg(1, "Ignoring dependency library %s",
+ lib.toLatin1().constData());
+ continue;
+ }
+ result += "-l" + namespec;
+ } else {
+ result += lib;
+ }
+ }
+ return result;
+ };
+
QString fname = libtoolFileName(), lname = fname;
+ debug_msg(1, "Writing libtool file %s", fname.toLatin1().constData());
mkdir(fileInfo(fname).path());
int slsh = lname.lastIndexOf(Option::dir_sep);
if(slsh != -1)
@@ -1485,12 +1514,11 @@ UnixMakefileGenerator::writeLibtoolFile()
<< ".a'\n\n";
t << "# Libraries that this one depends upon.\n";
+ static const ProKey libVars[] = { "LIBS", "QMAKE_LIBS" };
ProStringList libs;
- libs << "LIBS" << "QMAKE_LIBS";
- t << "dependency_libs='";
- for (ProStringList::ConstIterator it = libs.cbegin(); it != libs.cend(); ++it)
- t << fixLibFlags((*it).toKey()).join(' ') << ' ';
- t << "'\n\n";
+ for (auto var : libVars)
+ libs += fixLibFlags(var);
+ t << "dependency_libs='" << fixDependencyLibs(libs).join(' ') << "'\n\n";
t << "# Version information for " << lname << "\n";
int maj = project->first("VER_MAJ").toInt();
diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp
index 40114948c2..878291fae9 100644
--- a/qmake/generators/win32/mingw_make.cpp
+++ b/qmake/generators/win32/mingw_make.cpp
@@ -342,7 +342,11 @@ void MingwMakefileGenerator::writeRcFilePart(QTextStream &t)
if (defines.isEmpty())
defines = ProString(" $(DEFINES)");
- t << escapeDependencyPath(var("RES_FILE")) << ": " << escapeDependencyPath(rc_file) << "\n\t"
+ addSourceFile(rc_file, QMakeSourceFileInfo::SEEK_DEPS);
+ const QStringList rcDeps = QStringList(rc_file) << dependencies(rc_file);
+
+ t << escapeDependencyPath(var("RES_FILE")) << ": "
+ << escapeDependencyPaths(rcDeps).join(' ') << "\n\t"
<< var("QMAKE_RC") << " -i " << escapeFilePath(rc_file) << " -o " << fileVar("RES_FILE")
<< incPathStr << defines << "\n\n";
}
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp
index 3116238aa0..0515c7404f 100644
--- a/qmake/generators/win32/msbuild_objectmodel.cpp
+++ b/qmake/generators/win32/msbuild_objectmodel.cpp
@@ -300,14 +300,17 @@ inline XmlOutput::xml_output valueTagT( const triState v)
return valueTag(v == _True ? "true" : "false");
}
-static QString vcxCommandSeparator()
+static QString commandLinesForOutput(QStringList commands)
{
// MSBuild puts the contents of the custom commands into a batch file and calls it.
// As we want every sub-command to be error-checked (as is done by makefile-based
// backends), we insert the checks ourselves, using the undocumented jump target.
- static QString cmdSep =
- QLatin1String("&#x000D;&#x000A;if errorlevel 1 goto VCEnd&#x000D;&#x000A;");
- return cmdSep;
+ static QString errchk = QStringLiteral("if errorlevel 1 goto VCEnd");
+ for (int i = commands.count() - 2; i >= 0; --i) {
+ if (!commands.at(i).startsWith("rem", Qt::CaseInsensitive))
+ commands.insert(i + 1, errchk);
+ }
+ return commands.join('\n');
}
static QString unquote(const QString &value)
@@ -1658,7 +1661,7 @@ void VCXProjectWriter::write(XmlOutput &xml, const VCCustomBuildTool &tool)
{
xml << tag("Command")
<< attrTag("Condition", condition)
- << valueTag(tool.CommandLine.join(vcxCommandSeparator()));
+ << valueTag(commandLinesForOutput(tool.CommandLine));
}
if ( !tool.Description.isEmpty() )
@@ -1712,7 +1715,7 @@ void VCXProjectWriter::write(XmlOutput &xml, const VCEventTool &tool)
{
xml
<< tag(tool.EventName)
- << tag(_Command) << valueTag(tool.CommandLine.join(vcxCommandSeparator()))
+ << tag(_Command) << valueTag(commandLinesForOutput(tool.CommandLine))
<< tag(_Message) << valueTag(tool.Description)
<< closetag(tool.EventName);
}
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index b6f7f20564..b74448ce94 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -209,7 +209,9 @@ bool VcprojGenerator::writeProjectMakefile()
struct VcsolutionDepend {
QString uuid;
- QString vcprojFile, orig_target, target;
+ QString vcprojFile;
+ QString projectName;
+ QString target;
Target targetType;
QStringList dependencies;
};
@@ -433,7 +435,8 @@ ProStringList VcprojGenerator::collectDependencies(QMakeProject *proj, QHash<QSt
Option::qmake_mode = old_mode;
// We assume project filename is [QMAKE_PROJECT_NAME].vcproj
- QString vcproj = tmp_vcproj.project->first("QMAKE_PROJECT_NAME") + project->first("VCPROJ_EXTENSION");
+ const ProString projectName = tmp_vcproj.project->first("QMAKE_PROJECT_NAME");
+ const QString vcproj = projectName + project->first("VCPROJ_EXTENSION");
QString vcprojDir = Option::output_dir;
// If file doesn't exsist, then maybe the users configuration
@@ -445,14 +448,14 @@ ProStringList VcprojGenerator::collectDependencies(QMakeProject *proj, QHash<QSt
VcsolutionDepend *newDep = new VcsolutionDepend;
newDep->vcprojFile = vcprojDir + Option::dir_sep + vcproj;
- newDep->orig_target = tmp_proj.first("QMAKE_ORIG_TARGET").toQString();
+ newDep->projectName = projectName.toQString();
newDep->target = tmp_proj.first("MSVCPROJ_TARGET").toQString().section(Option::dir_sep, -1);
newDep->targetType = tmp_vcproj.projectTarget;
newDep->uuid = tmp_proj.isEmpty("QMAKE_UUID") ? getProjectUUID(Option::fixPathToLocalOS(vcprojDir + QDir::separator() + vcproj)).toString().toUpper(): tmp_proj.first("QMAKE_UUID").toQString();
// We want to store it as the .lib name.
if (newDep->target.endsWith(".dll"))
newDep->target = newDep->target.left(newDep->target.length()-3) + "lib";
- projGuids.insert(newDep->orig_target, newDep->target);
+ projGuids.insert(newDep->projectName, newDep->target);
if (tmpList.size()) {
const ProStringList depends = tmpList;
@@ -591,7 +594,7 @@ void VcprojGenerator::writeSubDirs(QTextStream &t)
for (QList<VcsolutionDepend*>::Iterator it = solution_cleanup.begin(); it != solution_cleanup.end(); ++it) {
// ### quoting rules?
t << _slnProjectBeg << _slnMSVCvcprojGUID << _slnProjectMid
- << "\"" << (*it)->orig_target << "\", \"" << (*it)->vcprojFile
+ << "\"" << (*it)->projectName << "\", \"" << (*it)->vcprojFile
<< "\", \"" << (*it)->uuid << "\"";
debug_msg(1, "Project %s has dependencies: %s", (*it)->target.toLatin1().constData(), (*it)->dependencies.join(" ").toLatin1().constData());
@@ -937,6 +940,15 @@ void VcprojGenerator::initProject()
vcProject.SccProjectName = project->first("SCCPROJECTNAME").toQString();
vcProject.SccLocalPath = project->first("SCCLOCALPATH").toQString();
vcProject.flat_files = project->isActiveConfig("flat");
+
+ // Set up the full target path for target conflict checking.
+ const QChar slash = QLatin1Char('/');
+ QString destdir = QDir::fromNativeSeparators(var("DESTDIR"));
+ if (!destdir.endsWith(slash))
+ destdir.append(slash);
+ project->values("DEST_TARGET") = ProStringList(destdir
+ + project->first("TARGET")
+ + project->first("TARGET_EXT"));
}
void VcprojGenerator::initConfiguration()
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
index b79fd8f250..27d2a7c0a5 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -79,7 +79,7 @@ Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
ProStringList impexts = project->values("QMAKE_LIB_EXTENSIONS");
if (impexts.isEmpty())
impexts = project->values("QMAKE_EXTENSION_STATICLIB");
- QList<QMakeLocalFileName> dirs;
+ QVector<QMakeLocalFileName> dirs;
int libidx = 0;
for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
dirs.append(QMakeLocalFileName(dlib.toQString()));
@@ -104,8 +104,7 @@ Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
QString lib = arg.toQString();
ProString verovr =
project->first(ProKey("QMAKE_" + lib.toUpper() + "_VERSION_OVERRIDE"));
- for (QList<QMakeLocalFileName>::Iterator dir_it = dirs.begin();
- dir_it != dirs.end(); ++dir_it) {
+ for (auto dir_it = dirs.begin(); dir_it != dirs.end(); ++dir_it) {
QString cand = (*dir_it).real() + Option::dir_sep + lib;
if (linkPrl && processPrlFile(cand, true)) {
(*it) = cand;
@@ -128,8 +127,7 @@ Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
if (processPrlFile(lib, false))
(*it) = lib;
} else {
- for (QList<QMakeLocalFileName>::Iterator dir_it = dirs.begin();
- dir_it != dirs.end(); ++dir_it) {
+ for (auto dir_it = dirs.begin(); dir_it != dirs.end(); ++dir_it) {
QString cand = (*dir_it).real() + Option::dir_sep + lib;
if (processPrlFile(cand, false)) {
(*it) = cand;
@@ -669,6 +667,9 @@ void Win32MakefileGenerator::writeRcFilePart(QTextStream &t)
incPathStr += escapeFilePath(path);
}
+ addSourceFile(rc_file, QMakeSourceFileInfo::SEEK_DEPS);
+ const QStringList rcDeps = QStringList(rc_file) << dependencies(rc_file);
+
// The resource tool may use defines. This might be the same defines passed in as the
// compiler, since you may use these defines in the .rc file itself.
// As the escape syntax for the command line defines for RC is different from that for CL,
@@ -680,7 +681,8 @@ void Win32MakefileGenerator::writeRcFilePart(QTextStream &t)
// Also, we need to add the _DEBUG define manually since the compiler defines this symbol
// by itself, and we use it in the automatically created rc file when VERSION is defined
// in the .pro file.
- t << escapeDependencyPath(res_file) << ": " << escapeDependencyPath(rc_file) << "\n\t"
+ t << escapeDependencyPath(res_file) << ": "
+ << escapeDependencyPaths(rcDeps).join(' ') << "\n\t"
<< var("QMAKE_RC") << (project->isActiveConfig("debug") ? " -D_DEBUG" : "")
<< defines << incPathStr << " -fo " << escapeFilePath(res_file)
<< ' ' << escapeFilePath(rc_file);
@@ -815,4 +817,9 @@ QString Win32MakefileGenerator::getManifestFileForRcFile() const
return QString();
}
+ProKey Win32MakefileGenerator::fullTargetVariable() const
+{
+ return "DEST_TARGET";
+}
+
QT_END_NAMESPACE
diff --git a/qmake/generators/win32/winmakefile.h b/qmake/generators/win32/winmakefile.h
index 8eb633fdfa..09984fe355 100644
--- a/qmake/generators/win32/winmakefile.h
+++ b/qmake/generators/win32/winmakefile.h
@@ -64,6 +64,9 @@ protected:
void processRcFileVar();
static QString cQuoted(const QString &str);
virtual QString getManifestFileForRcFile() const;
+
+public:
+ ProKey fullTargetVariable() const override;
};
QT_END_NAMESPACE
diff --git a/qmake/generators/xmloutput.cpp b/qmake/generators/xmloutput.cpp
index 2f48763550..7fc1b081c7 100644
--- a/qmake/generators/xmloutput.cpp
+++ b/qmake/generators/xmloutput.cpp
@@ -113,7 +113,8 @@ QString XmlOutput::doConversion(const QString &text)
// this is a way to escape characters that shouldn't be converted
for (int i=0; i<text.count(); ++i) {
- if (text.at(i) == QLatin1Char('&')) {
+ const QChar c = text.at(i);
+ if (c == QLatin1Char('&')) {
if ( (i + 7) < text.count() &&
text.at(i + 1) == QLatin1Char('#') &&
text.at(i + 2) == QLatin1Char('x') &&
@@ -122,12 +123,15 @@ QString XmlOutput::doConversion(const QString &text)
} else {
output += QLatin1String("&amp;");
}
+ } else if (c == QLatin1Char('<')) {
+ output += QLatin1String("&lt;");
+ } else if (c == QLatin1Char('>')) {
+ output += QLatin1String("&gt;");
} else {
- QChar c = text.at(i);
if (c.unicode() < 0x20) {
output += QString("&#x%1;").arg(c.unicode(), 2, 16, QLatin1Char('0'));
} else {
- output += text.at(i);
+ output += c;
}
}
}
diff --git a/qmake/qmake.pro b/qmake/qmake.pro
index 4681fbf764..a9d8b58da8 100644
--- a/qmake/qmake.pro
+++ b/qmake/qmake.pro
@@ -115,6 +115,7 @@ SOURCES += \
qbuffer.cpp \
qbytearray.cpp \
qbytearraymatcher.cpp \
+ qcalendar.cpp \
qcryptographichash.cpp \
qdatetime.cpp \
qdir.cpp \
@@ -127,6 +128,7 @@ SOURCES += \
qfsfileengine.cpp \
qfsfileengine_iterator.cpp \
qglobal.cpp \
+ qgregoriancalendar.cpp \
qhash.cpp \
qiodevice.cpp \
qjson.cpp \
@@ -145,6 +147,7 @@ SOURCES += \
qmetatype.cpp \
qnumeric.cpp \
qregexp.cpp \
+ qromancalendar.cpp \
qsettings.cpp \
qstring.cpp \
qstringlist.cpp \
@@ -168,6 +171,9 @@ HEADERS += \
qbuffer.h \
qbytearray.h \
qbytearraymatcher.h \
+ qcalendar.h \
+ qcalendarbackend_p.h \
+ qcalendarmath_p.h \
qchar.h \
qcryptographichash.h \
qdatetime.h \
@@ -178,6 +184,7 @@ HEADERS += \
qfile.h \
qfileinfo.h \
qglobal.h \
+ qgregoriancalendar_p.h \
qhash.h \
qiodevice.h \
qjson_p.h \
@@ -194,6 +201,7 @@ HEADERS += \
qmetatype.h \
qnumeric.h \
qregexp.h \
+ qromancalendar_p.h \
qstring.h \
qstringlist.h \
qstringmatcher.h \
diff --git a/src/3rdparty/forkfd/forkfd.c b/src/3rdparty/forkfd/forkfd.c
index 12537b6199..e4f3bd85de 100644
--- a/src/3rdparty/forkfd/forkfd.c
+++ b/src/3rdparty/forkfd/forkfd.c
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 Intel Corporation.
+** Copyright (C) 2019 Intel Corporation.
** Copyright (C) 2015 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com
**
** Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -59,9 +59,6 @@
# define HAVE_PIPE2 1
# endif
#endif
-#if defined(__FreeBSD__) && __FreeBSD__ >= 9
-# include <sys/procdesc.h>
-#endif
#if _POSIX_VERSION-0 >= 200809L || _XOPEN_VERSION-0 >= 500
# define HAVE_WAITID 1
@@ -93,9 +90,11 @@
# endif
#endif
-#ifndef FFD_ATOMIC_RELAXED
-# include "forkfd_gcc.h"
-#endif
+#include "forkfd_atomic.h"
+
+static int system_has_forkfd(void);
+static int system_forkfd(int flags, pid_t *ppid, int *system);
+static int system_forkfd_wait(int ffd, struct forkfd_info *info, struct rusage *rusage);
#define CHILDREN_IN_SMALL_ARRAY 16
#define CHILDREN_IN_BIG_ARRAY 256
@@ -448,6 +447,37 @@ static void ignore_sigpipe()
#endif
}
+#if defined(__GNUC__) && (!defined(__FreeBSD__) || __FreeBSD__ < 10)
+__attribute((destructor, unused)) static void cleanup();
+#endif
+
+static void cleanup()
+{
+ BigArray *array;
+ /* This function is not thread-safe!
+ * It must only be called when the process is shutting down.
+ * At shutdown, we expect no one to be calling forkfd(), so we don't
+ * need to be thread-safe with what is done there.
+ *
+ * But SIGCHLD might be delivered to any thread, including this one.
+ * There's no way to prevent that. The correct solution would be to
+ * cooperatively delete. We don't do that.
+ */
+ if (ffd_atomic_load(&forkfd_status, FFD_ATOMIC_RELAXED) == 0)
+ return;
+
+ /* notify the handler that we're no longer in operation */
+ ffd_atomic_store(&forkfd_status, 0, FFD_ATOMIC_RELAXED);
+
+ /* free any arrays we might have */
+ array = ffd_atomic_load(&children.header.nextArray, FFD_ATOMIC_ACQUIRE);
+ while (array != NULL) {
+ BigArray *next = ffd_atomic_load(&array->header.nextArray, FFD_ATOMIC_ACQUIRE);
+ free(array);
+ array = next;
+ }
+}
+
static void forkfd_initialize()
{
#if defined(HAVE_BROKEN_WAITID)
@@ -489,44 +519,15 @@ static void forkfd_initialize()
ignore_sigpipe();
#endif
-#ifndef __GNUC__
+#ifdef __GNUC__
+ (void) cleanup; /* suppress unused static function warning */
+#else
atexit(cleanup);
#endif
ffd_atomic_store(&forkfd_status, 1, FFD_ATOMIC_RELAXED);
}
-#ifdef __GNUC__
-__attribute((destructor, unused)) static void cleanup();
-#endif
-
-static void cleanup()
-{
- BigArray *array;
- /* This function is not thread-safe!
- * It must only be called when the process is shutting down.
- * At shutdown, we expect no one to be calling forkfd(), so we don't
- * need to be thread-safe with what is done there.
- *
- * But SIGCHLD might be delivered to any thread, including this one.
- * There's no way to prevent that. The correct solution would be to
- * cooperatively delete. We don't do that.
- */
- if (ffd_atomic_load(&forkfd_status, FFD_ATOMIC_RELAXED) == 0)
- return;
-
- /* notify the handler that we're no longer in operation */
- ffd_atomic_store(&forkfd_status, 0, FFD_ATOMIC_RELAXED);
-
- /* free any arrays we might have */
- array = ffd_atomic_load(&children.header.nextArray, FFD_ATOMIC_ACQUIRE);
- while (array != NULL) {
- BigArray *next = ffd_atomic_load(&array->header.nextArray, FFD_ATOMIC_ACQUIRE);
- free(array);
- array = next;
- }
-}
-
static int create_pipe(int filedes[], int flags)
{
int ret = -1;
@@ -565,55 +566,6 @@ static int create_pipe(int filedes[], int flags)
return ret;
}
-#if defined(FORKFD_NO_SPAWNFD) && defined(__FreeBSD__) && __FreeBSD__ >= 9
-# if __FreeBSD__ == 9
-/* PROCDESC is an optional feature in the kernel and wasn't enabled
- * by default on FreeBSD 9. So we need to check for it at runtime. */
-static ffd_atomic_int system_has_forkfd = FFD_ATOMIC_INIT(1);
-# else
-/* On FreeBSD 10, PROCDESC was enabled by default. On v11, it's not an option
- * anymore and can't be disabled. */
-static const int system_has_forkfd = 1;
-# endif
-
-static int system_forkfd(int flags, pid_t *ppid)
-{
- int ret;
- pid_t pid;
- pid = pdfork(&ret, PD_DAEMON);
- if (__builtin_expect(pid == -1, 0)) {
-# if __FreeBSD__ == 9
- if (errno == ENOSYS) {
- /* PROCDESC wasn't compiled into the kernel: don't try it again. */
- ffd_atomic_store(&system_has_forkfd, 0, FFD_ATOMIC_RELAXED);
- }
-# endif
- return -1;
- }
- if (pid == 0) {
- /* child process */
- return FFD_CHILD_PROCESS;
- }
-
- /* parent process */
- if (flags & FFD_CLOEXEC)
- fcntl(ret, F_SETFD, FD_CLOEXEC);
- if (flags & FFD_NONBLOCK)
- fcntl(ret, F_SETFL, fcntl(ret, F_GETFL) | O_NONBLOCK);
- if (ppid)
- *ppid = pid;
- return ret;
-}
-#else
-static const int system_has_forkfd = 0;
-static int system_forkfd(int flags, pid_t *ppid)
-{
- (void)flags;
- (void)ppid;
- return -1;
-}
-#endif
-
#ifndef FORKFD_NO_FORKFD
/**
* @brief forkfd returns a file descriptor representing a child process
@@ -661,11 +613,9 @@ int forkfd(int flags, pid_t *ppid)
int efd;
#endif
- if (system_has_forkfd) {
- ret = system_forkfd(flags, ppid);
- if (system_has_forkfd)
- return ret;
- }
+ fd = system_forkfd(flags, ppid, &ret);
+ if (ret)
+ return fd;
(void) pthread_once(&forkfd_initialization, forkfd_initialize);
@@ -790,7 +740,7 @@ int spawnfd(int flags, pid_t *ppid, const char *path, const posix_spawn_file_act
/* we can only do work if we have a way to start the child in stopped mode;
* otherwise, we have a major race condition. */
- assert(!system_has_forkfd);
+ assert(!system_has_forkfd());
(void) pthread_once(&forkfd_initialization, forkfd_initialize);
@@ -843,30 +793,13 @@ out:
#endif // _POSIX_SPAWN && !FORKFD_NO_SPAWNFD
-int forkfd_wait(int ffd, forkfd_info *info, struct rusage *rusage)
+int forkfd_wait(int ffd, struct forkfd_info *info, struct rusage *rusage)
{
struct pipe_payload payload;
int ret;
- if (system_has_forkfd) {
-#if defined(__FreeBSD__) && __FreeBSD__ >= 9
- pid_t pid;
- int status;
- int options = WEXITED;
-
- ret = pdgetpid(ffd, &pid);
- if (ret == -1)
- return ret;
- ret = fcntl(ffd, F_GETFL);
- if (ret == -1)
- return ret;
- options |= (ret & O_NONBLOCK) ? WNOHANG : 0;
- ret = wait4(pid, &status, options, rusage);
- if (ret != -1 && info)
- convertStatusToForkfdInfo(status, info);
- return ret == -1 ? -1 : 0;
-#endif
- }
+ if (system_has_forkfd())
+ return system_forkfd_wait(ffd, info, rusage);
ret = read(ffd, &payload, sizeof(payload));
if (ret == -1)
@@ -886,3 +819,28 @@ int forkfd_close(int ffd)
{
return close(ffd);
}
+
+#if defined(__FreeBSD__) && __FreeBSD__ >= 9
+# include "forkfd_freebsd.c"
+#else
+int system_has_forkfd()
+{
+ return 0;
+}
+
+int system_forkfd(int flags, pid_t *ppid, int *system)
+{
+ (void)flags;
+ (void)ppid;
+ *system = 0;
+ return -1;
+}
+
+int system_forkfd_wait(int ffd, struct forkfd_info *info, struct rusage *rusage)
+{
+ (void)ffd;
+ (void)info;
+ (void)rusage;
+ return -1;
+}
+#endif
diff --git a/src/3rdparty/forkfd/forkfd.h b/src/3rdparty/forkfd/forkfd.h
index 958321c299..eb121de593 100644
--- a/src/3rdparty/forkfd/forkfd.h
+++ b/src/3rdparty/forkfd/forkfd.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 Intel Corporation.
+** Copyright (C) 2019 Intel Corporation.
**
** Permission is hereby granted, free of charge, to any person obtaining a copy
** of this software and associated documentation files (the "Software"), to deal
@@ -27,6 +27,7 @@
#include <fcntl.h>
#include <stdint.h>
+#include <sys/wait.h>
#include <unistd.h> // to get the POSIX flags
#if _POSIX_SPAWN > 0
@@ -48,7 +49,7 @@ struct forkfd_info {
};
int forkfd(int flags, pid_t *ppid);
-int forkfd_wait(int ffd, forkfd_info *info, struct rusage *rusage);
+int forkfd_wait(int ffd, struct forkfd_info *info, struct rusage *rusage);
int forkfd_close(int ffd);
#if _POSIX_SPAWN > 0
diff --git a/src/3rdparty/forkfd/forkfd_atomic.h b/src/3rdparty/forkfd/forkfd_atomic.h
new file mode 100644
index 0000000000..394e30d26c
--- /dev/null
+++ b/src/3rdparty/forkfd/forkfd_atomic.h
@@ -0,0 +1,39 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 Intel Corporation.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a copy
+** of this software and associated documentation files (the "Software"), to deal
+** in the Software without restriction, including without limitation the rights
+** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+** copies of the Software, and to permit persons to whom the Software is
+** furnished to do so, subject to the following conditions:
+**
+** The above copyright notice and this permission notice shall be included in
+** all copies or substantial portions of the Software.
+**
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+** THE SOFTWARE.
+**
+****************************************************************************/
+
+#if !defined(FFD_ATOMIC_H) & !defined(FFD_ATOMIC_RELAXED)
+#define FFD_ATOMIC_H
+
+#if defined(__cplusplus) && __cplusplus >= 201103L
+# include "forkfd_c11.h"
+#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
+# include "forkfd_c11.h"
+#elif defined(__GNUC__)
+# include "forkfd_gcc.h"
+#endif
+
+#endif /* FFD_ATOMIC_h && FFD_ATOMIC_RELAXED */
+#ifndef FFD_ATOMIC_RELAXED
+# error "Could not determine atomics for this platform"
+#endif
diff --git a/src/3rdparty/forkfd/forkfd_c11.h b/src/3rdparty/forkfd/forkfd_c11.h
new file mode 100644
index 0000000000..f3dc2b5357
--- /dev/null
+++ b/src/3rdparty/forkfd/forkfd_c11.h
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 Intel Corporation.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a copy
+** of this software and associated documentation files (the "Software"), to deal
+** in the Software without restriction, including without limitation the rights
+** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+** copies of the Software, and to permit persons to whom the Software is
+** furnished to do so, subject to the following conditions:
+**
+** The above copyright notice and this permission notice shall be included in
+** all copies or substantial portions of the Software.
+**
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+** THE SOFTWARE.
+**
+****************************************************************************/
+
+#ifndef FFD_ATOMIC_C11_H
+#define FFD_ATOMIC_C11_H
+
+/* atomics */
+/* Using the C11 <stdatomic.h> header or C++11's <atomic>
+ */
+
+#if defined(__cplusplus)
+# include <atomic>
+# define ffd_atomic_pointer(type) std::atomic<type*>
+# define FFD_ATOMIC_RELAXED std::memory_order_relaxed
+# define FFD_ATOMIC_ACQUIRE std::memory_order_acquire
+# define FFD_ATOMIC_RELEASE std::memory_order_release
+// acq_rel & cst not necessary
+typedef std::atomic_int ffd_atomic_int;
+#else
+# include <stdatomic.h>
+# define ffd_atomic_pointer(type) _Atomic(type*)
+# define FFD_ATOMIC_RELAXED memory_order_relaxed
+# define FFD_ATOMIC_ACQUIRE memory_order_acquire
+# define FFD_ATOMIC_RELEASE memory_order_release
+// acq_rel & cst not necessary
+
+typedef atomic_int ffd_atomic_int;
+#endif
+
+#define FFD_ATOMIC_INIT(val) ATOMIC_VAR_INIT(val)
+
+#define ffd_atomic_load(ptr, order) \
+ atomic_load_explicit(ptr, order)
+#define ffd_atomic_store(ptr, val, order) \
+ atomic_store_explicit(ptr, val, order)
+#define ffd_atomic_exchange(ptr,val,order) \
+ atomic_exchange_explicit(ptr, val, order)
+#define ffd_atomic_compare_exchange(ptr, expected, desired, order1, order2) \
+ atomic_compare_exchange_strong_explicit(ptr, expected, desired, order1, order2)
+#define ffd_atomic_add_fetch(ptr, val, order) \
+ (atomic_fetch_add_explicit(ptr, val, order) + (val))
+
+#endif
diff --git a/src/3rdparty/forkfd/forkfd_freebsd.c b/src/3rdparty/forkfd/forkfd_freebsd.c
new file mode 100644
index 0000000000..77ce3fcfad
--- /dev/null
+++ b/src/3rdparty/forkfd/forkfd_freebsd.c
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 Intel Corporation.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a copy
+** of this software and associated documentation files (the "Software"), to deal
+** in the Software without restriction, including without limitation the rights
+** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+** copies of the Software, and to permit persons to whom the Software is
+** furnished to do so, subject to the following conditions:
+**
+** The above copyright notice and this permission notice shall be included in
+** all copies or substantial portions of the Software.
+**
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+** THE SOFTWARE.
+**
+****************************************************************************/
+
+#include "forkfd.h"
+
+#include <sys/types.h>
+#include <sys/procdesc.h>
+
+#include "forkfd_atomic.h"
+
+#if __FreeBSD__ >= 10
+/* On FreeBSD 10, PROCDESC was enabled by default. On v11, it's not an option
+ * anymore and can't be disabled. */
+static ffd_atomic_int system_forkfd_state = FFD_ATOMIC_INIT(1);
+#else
+static ffd_atomic_int system_forkfd_state = FFD_ATOMIC_INIT(0);
+#endif
+
+int system_has_forkfd()
+{
+ return ffd_atomic_load(&system_forkfd_state, FFD_ATOMIC_RELAXED) > 0;
+}
+
+int system_forkfd(int flags, pid_t *ppid, int *system)
+{
+ int ret;
+ pid_t pid;
+
+ int state = ffd_atomic_load(&system_forkfd_state, FFD_ATOMIC_RELAXED);
+ *system = 0;
+ if (state < 0)
+ return -1;
+
+ pid = pdfork(&ret, PD_DAEMON);
+# if __FreeBSD__ == 9
+ if (state == 0 && pid != 0) {
+ /* Parent process: remember whether PROCDESC was compiled into the kernel */
+ state = (pid == -1 && errno == ENOSYS) ? -1 : 1;
+ ffd_atomic_store(&system_forkfd_state, state, FFD_ATOMIC_RELAXED);
+ }
+ if (state < 0)
+ return -1;
+# endif
+ *system = 1;
+ if (__builtin_expect(pid == -1, 0))
+ return -1;
+
+ if (pid == 0) {
+ /* child process */
+ return FFD_CHILD_PROCESS;
+ }
+
+ /* parent process */
+ if (flags & FFD_CLOEXEC)
+ fcntl(ret, F_SETFD, FD_CLOEXEC);
+ if (flags & FFD_NONBLOCK)
+ fcntl(ret, F_SETFL, fcntl(ret, F_GETFL) | O_NONBLOCK);
+ if (ppid)
+ *ppid = pid;
+ return ret;
+}
+
+int system_forkfd_wait(int ffd, struct forkfd_info *info, struct rusage *rusage)
+{
+ pid_t pid;
+ int status;
+ int options = WEXITED;
+
+ int ret = pdgetpid(ffd, &pid);
+ if (ret == -1)
+ return ret;
+ ret = fcntl(ffd, F_GETFL);
+ if (ret == -1)
+ return ret;
+ options |= (ret & O_NONBLOCK) ? WNOHANG : 0;
+ ret = wait4(pid, &status, options, rusage);
+ if (ret != -1 && info)
+ convertStatusToForkfdInfo(status, info);
+ return ret == -1 ? -1 : 0;
+}
diff --git a/src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties b/src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties
index bf3de21830..4b7e1f3d38 100644
--- a/src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties
+++ b/src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/src/3rdparty/sqlite.pri b/src/3rdparty/sqlite.pri
index 6405beb3d0..cc8c12a6da 100644
--- a/src/3rdparty/sqlite.pri
+++ b/src/3rdparty/sqlite.pri
@@ -9,7 +9,11 @@ winrt {
}
qnx: DEFINES += _QNX_SOURCE
!win32:!winrt:!winphone: DEFINES += HAVE_USLEEP=1
-qtConfig(dlopen): QMAKE_USE += libdl
+qtConfig(dlopen) {
+ QMAKE_USE += libdl
+} else {
+ DEFINES += SQLITE_OMIT_LOAD_EXTENSION
+}
integrity: QMAKE_CFLAGS += -include qplatformdefs.h
INCLUDEPATH += $$PWD/sqlite
SOURCES += $$PWD/sqlite/sqlite3.c
diff --git a/src/3rdparty/xcb/README b/src/3rdparty/xcb/README
index 2f1ee24079..362fa54bf8 100644
--- a/src/3rdparty/xcb/README
+++ b/src/3rdparty/xcb/README
@@ -1,19 +1,22 @@
-Contains the header and sources files from selected xcb libraries:
+*****************************************************************
+From 62f053c19b917a369c4aad5b71ab150911b589aa:
- libxcb-1.9.1 together with xcb-proto-1.8 (randr, render, shape, shm, sync,
- xfixes, xinerama sources)
- # libxkbcommon-x11 requires libxcb-xkb >= 1.10
- libxcb-1.10 together with xcb-proto-1.10 (xkb sources)
- libxcb-1.13 together with xcb-proto-1.13 (xinput sources with removed
- Pointer Barriers API and SendExtensionEvent API)
- libxcb-util-image-0.3.9
- libxcb-util-keysyms-0.3.9
- libxcb-util-renderutil-0.3.9
- libxcb-util-wm-0.3.9
+xcb-xinput code was produced by build of libxcb 1.13 with xcb-proto 1.13.
-The 'include' directory was obtained by compiling and installing all of the modules.
-When upgrading the bundled xcb headers, they must be tested to run also with the
-minimal supported libxcb version, which currently is 1.9.1.
+The following parts were removed from it:
+ - Pointer Barriers API (requires xcb-xfixes 1.9 with xcb-proto 1.9)
+ - SendExtensionEvent API (requires definition of xcb_raw_generic_event_t
+ from libxcb 1.13)
+
+*****************************************************************
+
+As of time of writing the minimal required libxcb version is 1.11, hence
+we could restore the Pointer Barriers API, but we don't use it, so it is
+not worth the hustle. When we will bump the minimal required version of libxcb
+to 1.13, then we can drop the bundled xcb-xinput altogether.
+
+The xcb-xinput files where modified to use system includes, see:
+
+src/3rdparty/xcb/include/xcb/fixup-xinput-h.patch
+src/3rdparty/xcb/libxcb/fixup-xinput-c.patch
-Use the -qt-xcb configure option to use the files instead of system xcb libraries.
-See src/plugins/platforms/xcb/README for details.
diff --git a/src/3rdparty/xcb/include/xcb/fixup-xinput-h.patch b/src/3rdparty/xcb/include/xcb/fixup-xinput-h.patch
new file mode 100644
index 0000000000..50c5ebd9f0
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/fixup-xinput-h.patch
@@ -0,0 +1,15 @@
+diff --git a/src/3rdparty/xcb/include/xcb/xinput.h b/src/3rdparty/xcb/include/xcb/xinput.h
+index 9420047c71..729c0b5169 100644
+--- a/src/3rdparty/xcb/include/xcb/xinput.h
++++ b/src/3rdparty/xcb/include/xcb/xinput.h
+@@ -12,8 +12,8 @@
+ #ifndef __XINPUT_H
+ #define __XINPUT_H
+
+-#include "xcb.h"
+-#include "xfixes.h"
++#include <xcb/xcb.h>
++#include <xcb/xfixes.h>
+
+ #ifdef __cplusplus
+ extern "C" {
diff --git a/src/3rdparty/xcb/include/xcb/randr.h b/src/3rdparty/xcb/include/xcb/randr.h
deleted file mode 100644
index 4f4f2104cf..0000000000
--- a/src/3rdparty/xcb/include/xcb/randr.h
+++ /dev/null
@@ -1,5075 +0,0 @@
-/*
- * This file generated automatically from randr.xml by c_client.py.
- * Edit at your peril.
- */
-
-/**
- * @defgroup XCB_RandR_API XCB RandR API
- * @brief RandR XCB Protocol Implementation.
- * @{
- **/
-
-#ifndef __RANDR_H
-#define __RANDR_H
-
-#include "xcb.h"
-#include "xproto.h"
-#include "render.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define XCB_RANDR_MAJOR_VERSION 1
-#define XCB_RANDR_MINOR_VERSION 3
-
-extern xcb_extension_t xcb_randr_id;
-
-typedef uint32_t xcb_randr_mode_t;
-
-/**
- * @brief xcb_randr_mode_iterator_t
- **/
-typedef struct xcb_randr_mode_iterator_t {
- xcb_randr_mode_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_mode_iterator_t;
-
-typedef uint32_t xcb_randr_crtc_t;
-
-/**
- * @brief xcb_randr_crtc_iterator_t
- **/
-typedef struct xcb_randr_crtc_iterator_t {
- xcb_randr_crtc_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_crtc_iterator_t;
-
-typedef uint32_t xcb_randr_output_t;
-
-/**
- * @brief xcb_randr_output_iterator_t
- **/
-typedef struct xcb_randr_output_iterator_t {
- xcb_randr_output_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_output_iterator_t;
-
-/** Opcode for xcb_randr_bad_output. */
-#define XCB_RANDR_BAD_OUTPUT 0
-
-/**
- * @brief xcb_randr_bad_output_error_t
- **/
-typedef struct xcb_randr_bad_output_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_randr_bad_output_error_t;
-
-/** Opcode for xcb_randr_bad_crtc. */
-#define XCB_RANDR_BAD_CRTC 1
-
-/**
- * @brief xcb_randr_bad_crtc_error_t
- **/
-typedef struct xcb_randr_bad_crtc_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_randr_bad_crtc_error_t;
-
-/** Opcode for xcb_randr_bad_mode. */
-#define XCB_RANDR_BAD_MODE 2
-
-/**
- * @brief xcb_randr_bad_mode_error_t
- **/
-typedef struct xcb_randr_bad_mode_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_randr_bad_mode_error_t;
-
-typedef enum xcb_randr_rotation_t {
- XCB_RANDR_ROTATION_ROTATE_0 = 1,
- XCB_RANDR_ROTATION_ROTATE_90 = 2,
- XCB_RANDR_ROTATION_ROTATE_180 = 4,
- XCB_RANDR_ROTATION_ROTATE_270 = 8,
- XCB_RANDR_ROTATION_REFLECT_X = 16,
- XCB_RANDR_ROTATION_REFLECT_Y = 32
-} xcb_randr_rotation_t;
-
-/**
- * @brief xcb_randr_screen_size_t
- **/
-typedef struct xcb_randr_screen_size_t {
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint16_t mwidth; /**< */
- uint16_t mheight; /**< */
-} xcb_randr_screen_size_t;
-
-/**
- * @brief xcb_randr_screen_size_iterator_t
- **/
-typedef struct xcb_randr_screen_size_iterator_t {
- xcb_randr_screen_size_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_screen_size_iterator_t;
-
-/**
- * @brief xcb_randr_refresh_rates_t
- **/
-typedef struct xcb_randr_refresh_rates_t {
- uint16_t nRates; /**< */
-} xcb_randr_refresh_rates_t;
-
-/**
- * @brief xcb_randr_refresh_rates_iterator_t
- **/
-typedef struct xcb_randr_refresh_rates_iterator_t {
- xcb_randr_refresh_rates_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_refresh_rates_iterator_t;
-
-/**
- * @brief xcb_randr_query_version_cookie_t
- **/
-typedef struct xcb_randr_query_version_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_query_version_cookie_t;
-
-/** Opcode for xcb_randr_query_version. */
-#define XCB_RANDR_QUERY_VERSION 0
-
-/**
- * @brief xcb_randr_query_version_request_t
- **/
-typedef struct xcb_randr_query_version_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint32_t major_version; /**< */
- uint32_t minor_version; /**< */
-} xcb_randr_query_version_request_t;
-
-/**
- * @brief xcb_randr_query_version_reply_t
- **/
-typedef struct xcb_randr_query_version_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t major_version; /**< */
- uint32_t minor_version; /**< */
- uint8_t pad1[16]; /**< */
-} xcb_randr_query_version_reply_t;
-
-typedef enum xcb_randr_set_config_t {
- XCB_RANDR_SET_CONFIG_SUCCESS = 0,
- XCB_RANDR_SET_CONFIG_INVALID_CONFIG_TIME = 1,
- XCB_RANDR_SET_CONFIG_INVALID_TIME = 2,
- XCB_RANDR_SET_CONFIG_FAILED = 3
-} xcb_randr_set_config_t;
-
-/**
- * @brief xcb_randr_set_screen_config_cookie_t
- **/
-typedef struct xcb_randr_set_screen_config_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_set_screen_config_cookie_t;
-
-/** Opcode for xcb_randr_set_screen_config. */
-#define XCB_RANDR_SET_SCREEN_CONFIG 2
-
-/**
- * @brief xcb_randr_set_screen_config_request_t
- **/
-typedef struct xcb_randr_set_screen_config_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- uint16_t sizeID; /**< */
- uint16_t rotation; /**< */
- uint16_t rate; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_set_screen_config_request_t;
-
-/**
- * @brief xcb_randr_set_screen_config_reply_t
- **/
-typedef struct xcb_randr_set_screen_config_reply_t {
- uint8_t response_type; /**< */
- uint8_t status; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t new_timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- xcb_window_t root; /**< */
- uint16_t subpixel_order; /**< */
- uint8_t pad0[10]; /**< */
-} xcb_randr_set_screen_config_reply_t;
-
-typedef enum xcb_randr_notify_mask_t {
- XCB_RANDR_NOTIFY_MASK_SCREEN_CHANGE = 1,
- XCB_RANDR_NOTIFY_MASK_CRTC_CHANGE = 2,
- XCB_RANDR_NOTIFY_MASK_OUTPUT_CHANGE = 4,
- XCB_RANDR_NOTIFY_MASK_OUTPUT_PROPERTY = 8
-} xcb_randr_notify_mask_t;
-
-/** Opcode for xcb_randr_select_input. */
-#define XCB_RANDR_SELECT_INPUT 4
-
-/**
- * @brief xcb_randr_select_input_request_t
- **/
-typedef struct xcb_randr_select_input_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
- uint16_t enable; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_select_input_request_t;
-
-/**
- * @brief xcb_randr_get_screen_info_cookie_t
- **/
-typedef struct xcb_randr_get_screen_info_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_screen_info_cookie_t;
-
-/** Opcode for xcb_randr_get_screen_info. */
-#define XCB_RANDR_GET_SCREEN_INFO 5
-
-/**
- * @brief xcb_randr_get_screen_info_request_t
- **/
-typedef struct xcb_randr_get_screen_info_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_randr_get_screen_info_request_t;
-
-/**
- * @brief xcb_randr_get_screen_info_reply_t
- **/
-typedef struct xcb_randr_get_screen_info_reply_t {
- uint8_t response_type; /**< */
- uint8_t rotations; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_window_t root; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- uint16_t nSizes; /**< */
- uint16_t sizeID; /**< */
- uint16_t rotation; /**< */
- uint16_t rate; /**< */
- uint16_t nInfo; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_get_screen_info_reply_t;
-
-/**
- * @brief xcb_randr_get_screen_size_range_cookie_t
- **/
-typedef struct xcb_randr_get_screen_size_range_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_screen_size_range_cookie_t;
-
-/** Opcode for xcb_randr_get_screen_size_range. */
-#define XCB_RANDR_GET_SCREEN_SIZE_RANGE 6
-
-/**
- * @brief xcb_randr_get_screen_size_range_request_t
- **/
-typedef struct xcb_randr_get_screen_size_range_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_randr_get_screen_size_range_request_t;
-
-/**
- * @brief xcb_randr_get_screen_size_range_reply_t
- **/
-typedef struct xcb_randr_get_screen_size_range_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint16_t min_width; /**< */
- uint16_t min_height; /**< */
- uint16_t max_width; /**< */
- uint16_t max_height; /**< */
- uint8_t pad1[16]; /**< */
-} xcb_randr_get_screen_size_range_reply_t;
-
-/** Opcode for xcb_randr_set_screen_size. */
-#define XCB_RANDR_SET_SCREEN_SIZE 7
-
-/**
- * @brief xcb_randr_set_screen_size_request_t
- **/
-typedef struct xcb_randr_set_screen_size_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint32_t mm_width; /**< */
- uint32_t mm_height; /**< */
-} xcb_randr_set_screen_size_request_t;
-
-typedef enum xcb_randr_mode_flag_t {
- XCB_RANDR_MODE_FLAG_HSYNC_POSITIVE = 1,
- XCB_RANDR_MODE_FLAG_HSYNC_NEGATIVE = 2,
- XCB_RANDR_MODE_FLAG_VSYNC_POSITIVE = 4,
- XCB_RANDR_MODE_FLAG_VSYNC_NEGATIVE = 8,
- XCB_RANDR_MODE_FLAG_INTERLACE = 16,
- XCB_RANDR_MODE_FLAG_DOUBLE_SCAN = 32,
- XCB_RANDR_MODE_FLAG_CSYNC = 64,
- XCB_RANDR_MODE_FLAG_CSYNC_POSITIVE = 128,
- XCB_RANDR_MODE_FLAG_CSYNC_NEGATIVE = 256,
- XCB_RANDR_MODE_FLAG_HSKEW_PRESENT = 512,
- XCB_RANDR_MODE_FLAG_BCAST = 1024,
- XCB_RANDR_MODE_FLAG_PIXEL_MULTIPLEX = 2048,
- XCB_RANDR_MODE_FLAG_DOUBLE_CLOCK = 4096,
- XCB_RANDR_MODE_FLAG_HALVE_CLOCK = 8192
-} xcb_randr_mode_flag_t;
-
-/**
- * @brief xcb_randr_mode_info_t
- **/
-typedef struct xcb_randr_mode_info_t {
- uint32_t id; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint32_t dot_clock; /**< */
- uint16_t hsync_start; /**< */
- uint16_t hsync_end; /**< */
- uint16_t htotal; /**< */
- uint16_t hskew; /**< */
- uint16_t vsync_start; /**< */
- uint16_t vsync_end; /**< */
- uint16_t vtotal; /**< */
- uint16_t name_len; /**< */
- uint32_t mode_flags; /**< */
-} xcb_randr_mode_info_t;
-
-/**
- * @brief xcb_randr_mode_info_iterator_t
- **/
-typedef struct xcb_randr_mode_info_iterator_t {
- xcb_randr_mode_info_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_mode_info_iterator_t;
-
-/**
- * @brief xcb_randr_get_screen_resources_cookie_t
- **/
-typedef struct xcb_randr_get_screen_resources_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_screen_resources_cookie_t;
-
-/** Opcode for xcb_randr_get_screen_resources. */
-#define XCB_RANDR_GET_SCREEN_RESOURCES 8
-
-/**
- * @brief xcb_randr_get_screen_resources_request_t
- **/
-typedef struct xcb_randr_get_screen_resources_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_randr_get_screen_resources_request_t;
-
-/**
- * @brief xcb_randr_get_screen_resources_reply_t
- **/
-typedef struct xcb_randr_get_screen_resources_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- uint16_t num_crtcs; /**< */
- uint16_t num_outputs; /**< */
- uint16_t num_modes; /**< */
- uint16_t names_len; /**< */
- uint8_t pad1[8]; /**< */
-} xcb_randr_get_screen_resources_reply_t;
-
-typedef enum xcb_randr_connection_t {
- XCB_RANDR_CONNECTION_CONNECTED,
- XCB_RANDR_CONNECTION_DISCONNECTED,
- XCB_RANDR_CONNECTION_UNKNOWN
-} xcb_randr_connection_t;
-
-/**
- * @brief xcb_randr_get_output_info_cookie_t
- **/
-typedef struct xcb_randr_get_output_info_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_output_info_cookie_t;
-
-/** Opcode for xcb_randr_get_output_info. */
-#define XCB_RANDR_GET_OUTPUT_INFO 9
-
-/**
- * @brief xcb_randr_get_output_info_request_t
- **/
-typedef struct xcb_randr_get_output_info_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_timestamp_t config_timestamp; /**< */
-} xcb_randr_get_output_info_request_t;
-
-/**
- * @brief xcb_randr_get_output_info_reply_t
- **/
-typedef struct xcb_randr_get_output_info_reply_t {
- uint8_t response_type; /**< */
- uint8_t status; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_randr_crtc_t crtc; /**< */
- uint32_t mm_width; /**< */
- uint32_t mm_height; /**< */
- uint8_t connection; /**< */
- uint8_t subpixel_order; /**< */
- uint16_t num_crtcs; /**< */
- uint16_t num_modes; /**< */
- uint16_t num_preferred; /**< */
- uint16_t num_clones; /**< */
- uint16_t name_len; /**< */
-} xcb_randr_get_output_info_reply_t;
-
-/**
- * @brief xcb_randr_list_output_properties_cookie_t
- **/
-typedef struct xcb_randr_list_output_properties_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_list_output_properties_cookie_t;
-
-/** Opcode for xcb_randr_list_output_properties. */
-#define XCB_RANDR_LIST_OUTPUT_PROPERTIES 10
-
-/**
- * @brief xcb_randr_list_output_properties_request_t
- **/
-typedef struct xcb_randr_list_output_properties_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
-} xcb_randr_list_output_properties_request_t;
-
-/**
- * @brief xcb_randr_list_output_properties_reply_t
- **/
-typedef struct xcb_randr_list_output_properties_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint16_t num_atoms; /**< */
- uint8_t pad1[22]; /**< */
-} xcb_randr_list_output_properties_reply_t;
-
-/**
- * @brief xcb_randr_query_output_property_cookie_t
- **/
-typedef struct xcb_randr_query_output_property_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_query_output_property_cookie_t;
-
-/** Opcode for xcb_randr_query_output_property. */
-#define XCB_RANDR_QUERY_OUTPUT_PROPERTY 11
-
-/**
- * @brief xcb_randr_query_output_property_request_t
- **/
-typedef struct xcb_randr_query_output_property_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_atom_t property; /**< */
-} xcb_randr_query_output_property_request_t;
-
-/**
- * @brief xcb_randr_query_output_property_reply_t
- **/
-typedef struct xcb_randr_query_output_property_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint8_t pending; /**< */
- uint8_t range; /**< */
- uint8_t immutable; /**< */
- uint8_t pad1[21]; /**< */
-} xcb_randr_query_output_property_reply_t;
-
-/** Opcode for xcb_randr_configure_output_property. */
-#define XCB_RANDR_CONFIGURE_OUTPUT_PROPERTY 12
-
-/**
- * @brief xcb_randr_configure_output_property_request_t
- **/
-typedef struct xcb_randr_configure_output_property_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_atom_t property; /**< */
- uint8_t pending; /**< */
- uint8_t range; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_configure_output_property_request_t;
-
-/** Opcode for xcb_randr_change_output_property. */
-#define XCB_RANDR_CHANGE_OUTPUT_PROPERTY 13
-
-/**
- * @brief xcb_randr_change_output_property_request_t
- **/
-typedef struct xcb_randr_change_output_property_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_atom_t property; /**< */
- xcb_atom_t type; /**< */
- uint8_t format; /**< */
- uint8_t mode; /**< */
- uint8_t pad0[2]; /**< */
- uint32_t num_units; /**< */
-} xcb_randr_change_output_property_request_t;
-
-/** Opcode for xcb_randr_delete_output_property. */
-#define XCB_RANDR_DELETE_OUTPUT_PROPERTY 14
-
-/**
- * @brief xcb_randr_delete_output_property_request_t
- **/
-typedef struct xcb_randr_delete_output_property_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_atom_t property; /**< */
-} xcb_randr_delete_output_property_request_t;
-
-/**
- * @brief xcb_randr_get_output_property_cookie_t
- **/
-typedef struct xcb_randr_get_output_property_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_output_property_cookie_t;
-
-/** Opcode for xcb_randr_get_output_property. */
-#define XCB_RANDR_GET_OUTPUT_PROPERTY 15
-
-/**
- * @brief xcb_randr_get_output_property_request_t
- **/
-typedef struct xcb_randr_get_output_property_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_atom_t property; /**< */
- xcb_atom_t type; /**< */
- uint32_t long_offset; /**< */
- uint32_t long_length; /**< */
- uint8_t _delete; /**< */
- uint8_t pending; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_get_output_property_request_t;
-
-/**
- * @brief xcb_randr_get_output_property_reply_t
- **/
-typedef struct xcb_randr_get_output_property_reply_t {
- uint8_t response_type; /**< */
- uint8_t format; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_atom_t type; /**< */
- uint32_t bytes_after; /**< */
- uint32_t num_items; /**< */
- uint8_t pad0[12]; /**< */
-} xcb_randr_get_output_property_reply_t;
-
-/**
- * @brief xcb_randr_create_mode_cookie_t
- **/
-typedef struct xcb_randr_create_mode_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_create_mode_cookie_t;
-
-/** Opcode for xcb_randr_create_mode. */
-#define XCB_RANDR_CREATE_MODE 16
-
-/**
- * @brief xcb_randr_create_mode_request_t
- **/
-typedef struct xcb_randr_create_mode_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
- xcb_randr_mode_info_t mode_info; /**< */
-} xcb_randr_create_mode_request_t;
-
-/**
- * @brief xcb_randr_create_mode_reply_t
- **/
-typedef struct xcb_randr_create_mode_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_randr_mode_t mode; /**< */
- uint8_t pad1[20]; /**< */
-} xcb_randr_create_mode_reply_t;
-
-/** Opcode for xcb_randr_destroy_mode. */
-#define XCB_RANDR_DESTROY_MODE 17
-
-/**
- * @brief xcb_randr_destroy_mode_request_t
- **/
-typedef struct xcb_randr_destroy_mode_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_mode_t mode; /**< */
-} xcb_randr_destroy_mode_request_t;
-
-/** Opcode for xcb_randr_add_output_mode. */
-#define XCB_RANDR_ADD_OUTPUT_MODE 18
-
-/**
- * @brief xcb_randr_add_output_mode_request_t
- **/
-typedef struct xcb_randr_add_output_mode_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_randr_mode_t mode; /**< */
-} xcb_randr_add_output_mode_request_t;
-
-/** Opcode for xcb_randr_delete_output_mode. */
-#define XCB_RANDR_DELETE_OUTPUT_MODE 19
-
-/**
- * @brief xcb_randr_delete_output_mode_request_t
- **/
-typedef struct xcb_randr_delete_output_mode_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_randr_mode_t mode; /**< */
-} xcb_randr_delete_output_mode_request_t;
-
-/**
- * @brief xcb_randr_get_crtc_info_cookie_t
- **/
-typedef struct xcb_randr_get_crtc_info_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_crtc_info_cookie_t;
-
-/** Opcode for xcb_randr_get_crtc_info. */
-#define XCB_RANDR_GET_CRTC_INFO 20
-
-/**
- * @brief xcb_randr_get_crtc_info_request_t
- **/
-typedef struct xcb_randr_get_crtc_info_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
- xcb_timestamp_t config_timestamp; /**< */
-} xcb_randr_get_crtc_info_request_t;
-
-/**
- * @brief xcb_randr_get_crtc_info_reply_t
- **/
-typedef struct xcb_randr_get_crtc_info_reply_t {
- uint8_t response_type; /**< */
- uint8_t status; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t timestamp; /**< */
- int16_t x; /**< */
- int16_t y; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- xcb_randr_mode_t mode; /**< */
- uint16_t rotation; /**< */
- uint16_t rotations; /**< */
- uint16_t num_outputs; /**< */
- uint16_t num_possible_outputs; /**< */
-} xcb_randr_get_crtc_info_reply_t;
-
-/**
- * @brief xcb_randr_set_crtc_config_cookie_t
- **/
-typedef struct xcb_randr_set_crtc_config_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_set_crtc_config_cookie_t;
-
-/** Opcode for xcb_randr_set_crtc_config. */
-#define XCB_RANDR_SET_CRTC_CONFIG 21
-
-/**
- * @brief xcb_randr_set_crtc_config_request_t
- **/
-typedef struct xcb_randr_set_crtc_config_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- int16_t x; /**< */
- int16_t y; /**< */
- xcb_randr_mode_t mode; /**< */
- uint16_t rotation; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_set_crtc_config_request_t;
-
-/**
- * @brief xcb_randr_set_crtc_config_reply_t
- **/
-typedef struct xcb_randr_set_crtc_config_reply_t {
- uint8_t response_type; /**< */
- uint8_t status; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t timestamp; /**< */
- uint8_t pad0[20]; /**< */
-} xcb_randr_set_crtc_config_reply_t;
-
-/**
- * @brief xcb_randr_get_crtc_gamma_size_cookie_t
- **/
-typedef struct xcb_randr_get_crtc_gamma_size_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_crtc_gamma_size_cookie_t;
-
-/** Opcode for xcb_randr_get_crtc_gamma_size. */
-#define XCB_RANDR_GET_CRTC_GAMMA_SIZE 22
-
-/**
- * @brief xcb_randr_get_crtc_gamma_size_request_t
- **/
-typedef struct xcb_randr_get_crtc_gamma_size_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
-} xcb_randr_get_crtc_gamma_size_request_t;
-
-/**
- * @brief xcb_randr_get_crtc_gamma_size_reply_t
- **/
-typedef struct xcb_randr_get_crtc_gamma_size_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint16_t size; /**< */
- uint8_t pad1[22]; /**< */
-} xcb_randr_get_crtc_gamma_size_reply_t;
-
-/**
- * @brief xcb_randr_get_crtc_gamma_cookie_t
- **/
-typedef struct xcb_randr_get_crtc_gamma_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_crtc_gamma_cookie_t;
-
-/** Opcode for xcb_randr_get_crtc_gamma. */
-#define XCB_RANDR_GET_CRTC_GAMMA 23
-
-/**
- * @brief xcb_randr_get_crtc_gamma_request_t
- **/
-typedef struct xcb_randr_get_crtc_gamma_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
-} xcb_randr_get_crtc_gamma_request_t;
-
-/**
- * @brief xcb_randr_get_crtc_gamma_reply_t
- **/
-typedef struct xcb_randr_get_crtc_gamma_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint16_t size; /**< */
- uint8_t pad1[22]; /**< */
-} xcb_randr_get_crtc_gamma_reply_t;
-
-/** Opcode for xcb_randr_set_crtc_gamma. */
-#define XCB_RANDR_SET_CRTC_GAMMA 24
-
-/**
- * @brief xcb_randr_set_crtc_gamma_request_t
- **/
-typedef struct xcb_randr_set_crtc_gamma_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
- uint16_t size; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_set_crtc_gamma_request_t;
-
-/**
- * @brief xcb_randr_get_screen_resources_current_cookie_t
- **/
-typedef struct xcb_randr_get_screen_resources_current_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_screen_resources_current_cookie_t;
-
-/** Opcode for xcb_randr_get_screen_resources_current. */
-#define XCB_RANDR_GET_SCREEN_RESOURCES_CURRENT 25
-
-/**
- * @brief xcb_randr_get_screen_resources_current_request_t
- **/
-typedef struct xcb_randr_get_screen_resources_current_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_randr_get_screen_resources_current_request_t;
-
-/**
- * @brief xcb_randr_get_screen_resources_current_reply_t
- **/
-typedef struct xcb_randr_get_screen_resources_current_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- uint16_t num_crtcs; /**< */
- uint16_t num_outputs; /**< */
- uint16_t num_modes; /**< */
- uint16_t names_len; /**< */
- uint8_t pad1[8]; /**< */
-} xcb_randr_get_screen_resources_current_reply_t;
-
-/** Opcode for xcb_randr_set_crtc_transform. */
-#define XCB_RANDR_SET_CRTC_TRANSFORM 26
-
-/**
- * @brief xcb_randr_set_crtc_transform_request_t
- **/
-typedef struct xcb_randr_set_crtc_transform_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
- xcb_render_transform_t transform; /**< */
- uint16_t filter_len; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_set_crtc_transform_request_t;
-
-/**
- * @brief xcb_randr_get_crtc_transform_cookie_t
- **/
-typedef struct xcb_randr_get_crtc_transform_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_crtc_transform_cookie_t;
-
-/** Opcode for xcb_randr_get_crtc_transform. */
-#define XCB_RANDR_GET_CRTC_TRANSFORM 27
-
-/**
- * @brief xcb_randr_get_crtc_transform_request_t
- **/
-typedef struct xcb_randr_get_crtc_transform_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
-} xcb_randr_get_crtc_transform_request_t;
-
-/**
- * @brief xcb_randr_get_crtc_transform_reply_t
- **/
-typedef struct xcb_randr_get_crtc_transform_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_render_transform_t pending_transform; /**< */
- uint8_t has_transforms; /**< */
- uint8_t pad1[3]; /**< */
- xcb_render_transform_t current_transform; /**< */
- uint8_t pad2[4]; /**< */
- uint16_t pending_len; /**< */
- uint16_t pending_nparams; /**< */
- uint16_t current_len; /**< */
- uint16_t current_nparams; /**< */
-} xcb_randr_get_crtc_transform_reply_t;
-
-/**
- * @brief xcb_randr_get_panning_cookie_t
- **/
-typedef struct xcb_randr_get_panning_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_panning_cookie_t;
-
-/** Opcode for xcb_randr_get_panning. */
-#define XCB_RANDR_GET_PANNING 28
-
-/**
- * @brief xcb_randr_get_panning_request_t
- **/
-typedef struct xcb_randr_get_panning_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
-} xcb_randr_get_panning_request_t;
-
-/**
- * @brief xcb_randr_get_panning_reply_t
- **/
-typedef struct xcb_randr_get_panning_reply_t {
- uint8_t response_type; /**< */
- uint8_t status; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t timestamp; /**< */
- uint16_t left; /**< */
- uint16_t top; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint16_t track_left; /**< */
- uint16_t track_top; /**< */
- uint16_t track_width; /**< */
- uint16_t track_height; /**< */
- int16_t border_left; /**< */
- int16_t border_top; /**< */
- int16_t border_right; /**< */
- int16_t border_bottom; /**< */
-} xcb_randr_get_panning_reply_t;
-
-/**
- * @brief xcb_randr_set_panning_cookie_t
- **/
-typedef struct xcb_randr_set_panning_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_set_panning_cookie_t;
-
-/** Opcode for xcb_randr_set_panning. */
-#define XCB_RANDR_SET_PANNING 29
-
-/**
- * @brief xcb_randr_set_panning_request_t
- **/
-typedef struct xcb_randr_set_panning_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
- xcb_timestamp_t timestamp; /**< */
- uint16_t left; /**< */
- uint16_t top; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint16_t track_left; /**< */
- uint16_t track_top; /**< */
- uint16_t track_width; /**< */
- uint16_t track_height; /**< */
- int16_t border_left; /**< */
- int16_t border_top; /**< */
- int16_t border_right; /**< */
- int16_t border_bottom; /**< */
-} xcb_randr_set_panning_request_t;
-
-/**
- * @brief xcb_randr_set_panning_reply_t
- **/
-typedef struct xcb_randr_set_panning_reply_t {
- uint8_t response_type; /**< */
- uint8_t status; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t timestamp; /**< */
-} xcb_randr_set_panning_reply_t;
-
-/** Opcode for xcb_randr_set_output_primary. */
-#define XCB_RANDR_SET_OUTPUT_PRIMARY 30
-
-/**
- * @brief xcb_randr_set_output_primary_request_t
- **/
-typedef struct xcb_randr_set_output_primary_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
- xcb_randr_output_t output; /**< */
-} xcb_randr_set_output_primary_request_t;
-
-/**
- * @brief xcb_randr_get_output_primary_cookie_t
- **/
-typedef struct xcb_randr_get_output_primary_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_output_primary_cookie_t;
-
-/** Opcode for xcb_randr_get_output_primary. */
-#define XCB_RANDR_GET_OUTPUT_PRIMARY 31
-
-/**
- * @brief xcb_randr_get_output_primary_request_t
- **/
-typedef struct xcb_randr_get_output_primary_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_randr_get_output_primary_request_t;
-
-/**
- * @brief xcb_randr_get_output_primary_reply_t
- **/
-typedef struct xcb_randr_get_output_primary_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_randr_output_t output; /**< */
-} xcb_randr_get_output_primary_reply_t;
-
-/** Opcode for xcb_randr_screen_change_notify. */
-#define XCB_RANDR_SCREEN_CHANGE_NOTIFY 0
-
-/**
- * @brief xcb_randr_screen_change_notify_event_t
- **/
-typedef struct xcb_randr_screen_change_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t rotation; /**< */
- uint16_t sequence; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- xcb_window_t root; /**< */
- xcb_window_t request_window; /**< */
- uint16_t sizeID; /**< */
- uint16_t subpixel_order; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint16_t mwidth; /**< */
- uint16_t mheight; /**< */
-} xcb_randr_screen_change_notify_event_t;
-
-typedef enum xcb_randr_notify_t {
- XCB_RANDR_NOTIFY_CRTC_CHANGE = 0,
- XCB_RANDR_NOTIFY_OUTPUT_CHANGE = 1,
- XCB_RANDR_NOTIFY_OUTPUT_PROPERTY = 2
-} xcb_randr_notify_t;
-
-/**
- * @brief xcb_randr_crtc_change_t
- **/
-typedef struct xcb_randr_crtc_change_t {
- xcb_timestamp_t timestamp; /**< */
- xcb_window_t window; /**< */
- xcb_randr_crtc_t crtc; /**< */
- xcb_randr_mode_t mode; /**< */
- uint16_t rotation; /**< */
- uint8_t pad0[2]; /**< */
- int16_t x; /**< */
- int16_t y; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
-} xcb_randr_crtc_change_t;
-
-/**
- * @brief xcb_randr_crtc_change_iterator_t
- **/
-typedef struct xcb_randr_crtc_change_iterator_t {
- xcb_randr_crtc_change_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_crtc_change_iterator_t;
-
-/**
- * @brief xcb_randr_output_change_t
- **/
-typedef struct xcb_randr_output_change_t {
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- xcb_window_t window; /**< */
- xcb_randr_output_t output; /**< */
- xcb_randr_crtc_t crtc; /**< */
- xcb_randr_mode_t mode; /**< */
- uint16_t rotation; /**< */
- uint8_t connection; /**< */
- uint8_t subpixel_order; /**< */
-} xcb_randr_output_change_t;
-
-/**
- * @brief xcb_randr_output_change_iterator_t
- **/
-typedef struct xcb_randr_output_change_iterator_t {
- xcb_randr_output_change_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_output_change_iterator_t;
-
-/**
- * @brief xcb_randr_output_property_t
- **/
-typedef struct xcb_randr_output_property_t {
- xcb_window_t window; /**< */
- xcb_randr_output_t output; /**< */
- xcb_atom_t atom; /**< */
- xcb_timestamp_t timestamp; /**< */
- uint8_t status; /**< */
- uint8_t pad0[11]; /**< */
-} xcb_randr_output_property_t;
-
-/**
- * @brief xcb_randr_output_property_iterator_t
- **/
-typedef struct xcb_randr_output_property_iterator_t {
- xcb_randr_output_property_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_output_property_iterator_t;
-
-/**
- * @brief xcb_randr_notify_data_t
- **/
-typedef union xcb_randr_notify_data_t {
- xcb_randr_crtc_change_t cc; /**< */
- xcb_randr_output_change_t oc; /**< */
- xcb_randr_output_property_t op; /**< */
-} xcb_randr_notify_data_t;
-
-/**
- * @brief xcb_randr_notify_data_iterator_t
- **/
-typedef struct xcb_randr_notify_data_iterator_t {
- xcb_randr_notify_data_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_notify_data_iterator_t;
-
-/** Opcode for xcb_randr_notify. */
-#define XCB_RANDR_NOTIFY 1
-
-/**
- * @brief xcb_randr_notify_event_t
- **/
-typedef struct xcb_randr_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t subCode; /**< */
- uint16_t sequence; /**< */
- xcb_randr_notify_data_t u; /**< */
-} xcb_randr_notify_event_t;
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_mode_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_mode_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_mode_next
- **
- ** @param xcb_randr_mode_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_mode_next (xcb_randr_mode_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_mode_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_mode_end
- **
- ** @param xcb_randr_mode_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_mode_end (xcb_randr_mode_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_crtc_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_crtc_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_crtc_next
- **
- ** @param xcb_randr_crtc_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_crtc_next (xcb_randr_crtc_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_crtc_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_crtc_end
- **
- ** @param xcb_randr_crtc_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_crtc_end (xcb_randr_crtc_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_output_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_output_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_output_next
- **
- ** @param xcb_randr_output_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_output_next (xcb_randr_output_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_output_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_output_end
- **
- ** @param xcb_randr_output_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_output_end (xcb_randr_output_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_screen_size_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_screen_size_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_screen_size_next
- **
- ** @param xcb_randr_screen_size_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_screen_size_next (xcb_randr_screen_size_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_screen_size_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_screen_size_end
- **
- ** @param xcb_randr_screen_size_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_screen_size_end (xcb_randr_screen_size_iterator_t i /**< */);
-
-int
-xcb_randr_refresh_rates_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_randr_refresh_rates_rates
- **
- ** @param const xcb_randr_refresh_rates_t *R
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_randr_refresh_rates_rates (const xcb_randr_refresh_rates_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_refresh_rates_rates_length
- **
- ** @param const xcb_randr_refresh_rates_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_refresh_rates_rates_length (const xcb_randr_refresh_rates_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_refresh_rates_rates_end
- **
- ** @param const xcb_randr_refresh_rates_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_refresh_rates_rates_end (const xcb_randr_refresh_rates_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_refresh_rates_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_refresh_rates_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_refresh_rates_next
- **
- ** @param xcb_randr_refresh_rates_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_refresh_rates_next (xcb_randr_refresh_rates_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_refresh_rates_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_refresh_rates_end
- **
- ** @param xcb_randr_refresh_rates_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_refresh_rates_end (xcb_randr_refresh_rates_iterator_t i /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_query_version_cookie_t xcb_randr_query_version
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t major_version
- ** @param uint32_t minor_version
- ** @returns xcb_randr_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_query_version_cookie_t
-xcb_randr_query_version (xcb_connection_t *c /**< */,
- uint32_t major_version /**< */,
- uint32_t minor_version /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_query_version_cookie_t xcb_randr_query_version_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t major_version
- ** @param uint32_t minor_version
- ** @returns xcb_randr_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_query_version_cookie_t
-xcb_randr_query_version_unchecked (xcb_connection_t *c /**< */,
- uint32_t major_version /**< */,
- uint32_t minor_version /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_query_version_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_query_version_reply_t * xcb_randr_query_version_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_query_version_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_query_version_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_query_version_reply_t *
-xcb_randr_query_version_reply (xcb_connection_t *c /**< */,
- xcb_randr_query_version_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_screen_config_cookie_t xcb_randr_set_screen_config
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_timestamp_t timestamp
- ** @param xcb_timestamp_t config_timestamp
- ** @param uint16_t sizeID
- ** @param uint16_t rotation
- ** @param uint16_t rate
- ** @returns xcb_randr_set_screen_config_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_screen_config_cookie_t
-xcb_randr_set_screen_config (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_timestamp_t timestamp /**< */,
- xcb_timestamp_t config_timestamp /**< */,
- uint16_t sizeID /**< */,
- uint16_t rotation /**< */,
- uint16_t rate /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_screen_config_cookie_t xcb_randr_set_screen_config_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_timestamp_t timestamp
- ** @param xcb_timestamp_t config_timestamp
- ** @param uint16_t sizeID
- ** @param uint16_t rotation
- ** @param uint16_t rate
- ** @returns xcb_randr_set_screen_config_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_screen_config_cookie_t
-xcb_randr_set_screen_config_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_timestamp_t timestamp /**< */,
- xcb_timestamp_t config_timestamp /**< */,
- uint16_t sizeID /**< */,
- uint16_t rotation /**< */,
- uint16_t rate /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_set_screen_config_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_screen_config_reply_t * xcb_randr_set_screen_config_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_set_screen_config_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_set_screen_config_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_set_screen_config_reply_t *
-xcb_randr_set_screen_config_reply (xcb_connection_t *c /**< */,
- xcb_randr_set_screen_config_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_select_input_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint16_t enable
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_select_input_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint16_t enable /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_select_input
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint16_t enable
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_select_input (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint16_t enable /**< */);
-
-int
-xcb_randr_get_screen_info_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_info_cookie_t xcb_randr_get_screen_info
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_info_cookie_t
-xcb_randr_get_screen_info (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_info_cookie_t xcb_randr_get_screen_info_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_info_cookie_t
-xcb_randr_get_screen_info_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_screen_size_t * xcb_randr_get_screen_info_sizes
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns xcb_randr_screen_size_t *
- **
- *****************************************************************************/
-
-xcb_randr_screen_size_t *
-xcb_randr_get_screen_info_sizes (const xcb_randr_get_screen_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_info_sizes_length
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_info_sizes_length (const xcb_randr_get_screen_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_screen_size_iterator_t xcb_randr_get_screen_info_sizes_iterator
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns xcb_randr_screen_size_iterator_t
- **
- *****************************************************************************/
-
-xcb_randr_screen_size_iterator_t
-xcb_randr_get_screen_info_sizes_iterator (const xcb_randr_get_screen_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_info_rates_length
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_info_rates_length (const xcb_randr_get_screen_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_refresh_rates_iterator_t xcb_randr_get_screen_info_rates_iterator
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns xcb_randr_refresh_rates_iterator_t
- **
- *****************************************************************************/
-
-xcb_randr_refresh_rates_iterator_t
-xcb_randr_get_screen_info_rates_iterator (const xcb_randr_get_screen_info_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_screen_info_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_info_reply_t * xcb_randr_get_screen_info_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_screen_info_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_screen_info_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_info_reply_t *
-xcb_randr_get_screen_info_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_screen_info_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_size_range_cookie_t xcb_randr_get_screen_size_range
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_size_range_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_size_range_cookie_t
-xcb_randr_get_screen_size_range (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_size_range_cookie_t xcb_randr_get_screen_size_range_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_size_range_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_size_range_cookie_t
-xcb_randr_get_screen_size_range_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_screen_size_range_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_size_range_reply_t * xcb_randr_get_screen_size_range_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_screen_size_range_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_screen_size_range_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_size_range_reply_t *
-xcb_randr_get_screen_size_range_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_screen_size_range_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_screen_size_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint32_t mm_width
- ** @param uint32_t mm_height
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_screen_size_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint32_t mm_width /**< */,
- uint32_t mm_height /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_screen_size
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint32_t mm_width
- ** @param uint32_t mm_height
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_screen_size (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint32_t mm_width /**< */,
- uint32_t mm_height /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_mode_info_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_mode_info_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_mode_info_next
- **
- ** @param xcb_randr_mode_info_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_mode_info_next (xcb_randr_mode_info_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_mode_info_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_mode_info_end
- **
- ** @param xcb_randr_mode_info_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_mode_info_end (xcb_randr_mode_info_iterator_t i /**< */);
-
-int
-xcb_randr_get_screen_resources_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_cookie_t xcb_randr_get_screen_resources
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_resources_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_cookie_t
-xcb_randr_get_screen_resources (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_cookie_t xcb_randr_get_screen_resources_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_resources_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_cookie_t
-xcb_randr_get_screen_resources_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_crtc_t * xcb_randr_get_screen_resources_crtcs
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_randr_crtc_t *
- **
- *****************************************************************************/
-
-xcb_randr_crtc_t *
-xcb_randr_get_screen_resources_crtcs (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_crtcs_length
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_crtcs_length (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_crtcs_end
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_crtcs_end (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_screen_resources_outputs
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_screen_resources_outputs (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_outputs_length
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_outputs_length (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_outputs_end
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_outputs_end (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_info_t * xcb_randr_get_screen_resources_modes
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_randr_mode_info_t *
- **
- *****************************************************************************/
-
-xcb_randr_mode_info_t *
-xcb_randr_get_screen_resources_modes (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_modes_length
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_modes_length (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_info_iterator_t xcb_randr_get_screen_resources_modes_iterator
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_randr_mode_info_iterator_t
- **
- *****************************************************************************/
-
-xcb_randr_mode_info_iterator_t
-xcb_randr_get_screen_resources_modes_iterator (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_randr_get_screen_resources_names
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_randr_get_screen_resources_names (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_names_length
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_names_length (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_names_end
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_names_end (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_screen_resources_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_reply_t * xcb_randr_get_screen_resources_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_screen_resources_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_screen_resources_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_reply_t *
-xcb_randr_get_screen_resources_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_screen_resources_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_get_output_info_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_info_cookie_t xcb_randr_get_output_info
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_timestamp_t config_timestamp
- ** @returns xcb_randr_get_output_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_info_cookie_t
-xcb_randr_get_output_info (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_timestamp_t config_timestamp /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_info_cookie_t xcb_randr_get_output_info_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_timestamp_t config_timestamp
- ** @returns xcb_randr_get_output_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_info_cookie_t
-xcb_randr_get_output_info_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_timestamp_t config_timestamp /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_crtc_t * xcb_randr_get_output_info_crtcs
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_randr_crtc_t *
- **
- *****************************************************************************/
-
-xcb_randr_crtc_t *
-xcb_randr_get_output_info_crtcs (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_info_crtcs_length
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_info_crtcs_length (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_info_crtcs_end
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_info_crtcs_end (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_t * xcb_randr_get_output_info_modes
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_randr_mode_t *
- **
- *****************************************************************************/
-
-xcb_randr_mode_t *
-xcb_randr_get_output_info_modes (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_info_modes_length
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_info_modes_length (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_info_modes_end
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_info_modes_end (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_output_info_clones
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_output_info_clones (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_info_clones_length
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_info_clones_length (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_info_clones_end
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_info_clones_end (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_randr_get_output_info_name
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_randr_get_output_info_name (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_info_name_length
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_info_name_length (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_info_name_end
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_info_name_end (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_output_info_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_info_reply_t * xcb_randr_get_output_info_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_output_info_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_output_info_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_output_info_reply_t *
-xcb_randr_get_output_info_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_output_info_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_list_output_properties_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_list_output_properties_cookie_t xcb_randr_list_output_properties
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @returns xcb_randr_list_output_properties_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_list_output_properties_cookie_t
-xcb_randr_list_output_properties (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_list_output_properties_cookie_t xcb_randr_list_output_properties_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @returns xcb_randr_list_output_properties_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_list_output_properties_cookie_t
-xcb_randr_list_output_properties_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_randr_list_output_properties_atoms
- **
- ** @param const xcb_randr_list_output_properties_reply_t *R
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_randr_list_output_properties_atoms (const xcb_randr_list_output_properties_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_list_output_properties_atoms_length
- **
- ** @param const xcb_randr_list_output_properties_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_list_output_properties_atoms_length (const xcb_randr_list_output_properties_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_list_output_properties_atoms_end
- **
- ** @param const xcb_randr_list_output_properties_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_list_output_properties_atoms_end (const xcb_randr_list_output_properties_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_list_output_properties_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_list_output_properties_reply_t * xcb_randr_list_output_properties_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_list_output_properties_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_list_output_properties_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_list_output_properties_reply_t *
-xcb_randr_list_output_properties_reply (xcb_connection_t *c /**< */,
- xcb_randr_list_output_properties_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_query_output_property_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_query_output_property_cookie_t xcb_randr_query_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @returns xcb_randr_query_output_property_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_query_output_property_cookie_t
-xcb_randr_query_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_query_output_property_cookie_t xcb_randr_query_output_property_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @returns xcb_randr_query_output_property_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_query_output_property_cookie_t
-xcb_randr_query_output_property_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */);
-
-
-/*****************************************************************************
- **
- ** int32_t * xcb_randr_query_output_property_valid_values
- **
- ** @param const xcb_randr_query_output_property_reply_t *R
- ** @returns int32_t *
- **
- *****************************************************************************/
-
-int32_t *
-xcb_randr_query_output_property_valid_values (const xcb_randr_query_output_property_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_query_output_property_valid_values_length
- **
- ** @param const xcb_randr_query_output_property_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_query_output_property_valid_values_length (const xcb_randr_query_output_property_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_query_output_property_valid_values_end
- **
- ** @param const xcb_randr_query_output_property_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_query_output_property_valid_values_end (const xcb_randr_query_output_property_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_query_output_property_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_query_output_property_reply_t * xcb_randr_query_output_property_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_query_output_property_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_query_output_property_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_query_output_property_reply_t *
-xcb_randr_query_output_property_reply (xcb_connection_t *c /**< */,
- xcb_randr_query_output_property_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_configure_output_property_sizeof (const void *_buffer /**< */,
- uint32_t values_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_configure_output_property_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param uint8_t pending
- ** @param uint8_t range
- ** @param uint32_t values_len
- ** @param const int32_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_configure_output_property_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- uint8_t pending /**< */,
- uint8_t range /**< */,
- uint32_t values_len /**< */,
- const int32_t *values /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_configure_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param uint8_t pending
- ** @param uint8_t range
- ** @param uint32_t values_len
- ** @param const int32_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_configure_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- uint8_t pending /**< */,
- uint8_t range /**< */,
- uint32_t values_len /**< */,
- const int32_t *values /**< */);
-
-int
-xcb_randr_change_output_property_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_change_output_property_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param xcb_atom_t type
- ** @param uint8_t format
- ** @param uint8_t mode
- ** @param uint32_t num_units
- ** @param const void *data
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_change_output_property_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- xcb_atom_t type /**< */,
- uint8_t format /**< */,
- uint8_t mode /**< */,
- uint32_t num_units /**< */,
- const void *data /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_change_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param xcb_atom_t type
- ** @param uint8_t format
- ** @param uint8_t mode
- ** @param uint32_t num_units
- ** @param const void *data
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_change_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- xcb_atom_t type /**< */,
- uint8_t format /**< */,
- uint8_t mode /**< */,
- uint32_t num_units /**< */,
- const void *data /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_delete_output_property_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_delete_output_property_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_delete_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_delete_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */);
-
-int
-xcb_randr_get_output_property_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_property_cookie_t xcb_randr_get_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param xcb_atom_t type
- ** @param uint32_t long_offset
- ** @param uint32_t long_length
- ** @param uint8_t _delete
- ** @param uint8_t pending
- ** @returns xcb_randr_get_output_property_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_property_cookie_t
-xcb_randr_get_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- xcb_atom_t type /**< */,
- uint32_t long_offset /**< */,
- uint32_t long_length /**< */,
- uint8_t _delete /**< */,
- uint8_t pending /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_property_cookie_t xcb_randr_get_output_property_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param xcb_atom_t type
- ** @param uint32_t long_offset
- ** @param uint32_t long_length
- ** @param uint8_t _delete
- ** @param uint8_t pending
- ** @returns xcb_randr_get_output_property_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_property_cookie_t
-xcb_randr_get_output_property_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- xcb_atom_t type /**< */,
- uint32_t long_offset /**< */,
- uint32_t long_length /**< */,
- uint8_t _delete /**< */,
- uint8_t pending /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_randr_get_output_property_data
- **
- ** @param const xcb_randr_get_output_property_reply_t *R
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_randr_get_output_property_data (const xcb_randr_get_output_property_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_property_data_length
- **
- ** @param const xcb_randr_get_output_property_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_property_data_length (const xcb_randr_get_output_property_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_property_data_end
- **
- ** @param const xcb_randr_get_output_property_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_property_data_end (const xcb_randr_get_output_property_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_output_property_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_property_reply_t * xcb_randr_get_output_property_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_output_property_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_output_property_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_output_property_reply_t *
-xcb_randr_get_output_property_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_output_property_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_create_mode_sizeof (const void *_buffer /**< */,
- uint32_t name_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_create_mode_cookie_t xcb_randr_create_mode
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_randr_mode_info_t mode_info
- ** @param uint32_t name_len
- ** @param const char *name
- ** @returns xcb_randr_create_mode_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_create_mode_cookie_t
-xcb_randr_create_mode (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_randr_mode_info_t mode_info /**< */,
- uint32_t name_len /**< */,
- const char *name /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_create_mode_cookie_t xcb_randr_create_mode_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_randr_mode_info_t mode_info
- ** @param uint32_t name_len
- ** @param const char *name
- ** @returns xcb_randr_create_mode_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_create_mode_cookie_t
-xcb_randr_create_mode_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_randr_mode_info_t mode_info /**< */,
- uint32_t name_len /**< */,
- const char *name /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_create_mode_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_create_mode_reply_t * xcb_randr_create_mode_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_create_mode_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_create_mode_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_create_mode_reply_t *
-xcb_randr_create_mode_reply (xcb_connection_t *c /**< */,
- xcb_randr_create_mode_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_destroy_mode_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_destroy_mode_checked (xcb_connection_t *c /**< */,
- xcb_randr_mode_t mode /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_destroy_mode
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_destroy_mode (xcb_connection_t *c /**< */,
- xcb_randr_mode_t mode /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_add_output_mode_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_add_output_mode_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_randr_mode_t mode /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_add_output_mode
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_add_output_mode (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_randr_mode_t mode /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_delete_output_mode_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_delete_output_mode_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_randr_mode_t mode /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_delete_output_mode
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_delete_output_mode (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_randr_mode_t mode /**< */);
-
-int
-xcb_randr_get_crtc_info_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_info_cookie_t xcb_randr_get_crtc_info
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t config_timestamp
- ** @returns xcb_randr_get_crtc_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_info_cookie_t
-xcb_randr_get_crtc_info (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t config_timestamp /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_info_cookie_t xcb_randr_get_crtc_info_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t config_timestamp
- ** @returns xcb_randr_get_crtc_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_info_cookie_t
-xcb_randr_get_crtc_info_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t config_timestamp /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_crtc_info_outputs
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_crtc_info_outputs (const xcb_randr_get_crtc_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_info_outputs_length
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_info_outputs_length (const xcb_randr_get_crtc_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_info_outputs_end
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_info_outputs_end (const xcb_randr_get_crtc_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_crtc_info_possible
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_crtc_info_possible (const xcb_randr_get_crtc_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_info_possible_length
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_info_possible_length (const xcb_randr_get_crtc_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_info_possible_end
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_info_possible_end (const xcb_randr_get_crtc_info_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_crtc_info_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_info_reply_t * xcb_randr_get_crtc_info_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_crtc_info_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_crtc_info_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_info_reply_t *
-xcb_randr_get_crtc_info_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_crtc_info_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_set_crtc_config_sizeof (const void *_buffer /**< */,
- uint32_t outputs_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_crtc_config_cookie_t xcb_randr_set_crtc_config
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t timestamp
- ** @param xcb_timestamp_t config_timestamp
- ** @param int16_t x
- ** @param int16_t y
- ** @param xcb_randr_mode_t mode
- ** @param uint16_t rotation
- ** @param uint32_t outputs_len
- ** @param const xcb_randr_output_t *outputs
- ** @returns xcb_randr_set_crtc_config_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_crtc_config_cookie_t
-xcb_randr_set_crtc_config (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t timestamp /**< */,
- xcb_timestamp_t config_timestamp /**< */,
- int16_t x /**< */,
- int16_t y /**< */,
- xcb_randr_mode_t mode /**< */,
- uint16_t rotation /**< */,
- uint32_t outputs_len /**< */,
- const xcb_randr_output_t *outputs /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_crtc_config_cookie_t xcb_randr_set_crtc_config_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t timestamp
- ** @param xcb_timestamp_t config_timestamp
- ** @param int16_t x
- ** @param int16_t y
- ** @param xcb_randr_mode_t mode
- ** @param uint16_t rotation
- ** @param uint32_t outputs_len
- ** @param const xcb_randr_output_t *outputs
- ** @returns xcb_randr_set_crtc_config_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_crtc_config_cookie_t
-xcb_randr_set_crtc_config_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t timestamp /**< */,
- xcb_timestamp_t config_timestamp /**< */,
- int16_t x /**< */,
- int16_t y /**< */,
- xcb_randr_mode_t mode /**< */,
- uint16_t rotation /**< */,
- uint32_t outputs_len /**< */,
- const xcb_randr_output_t *outputs /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_set_crtc_config_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_crtc_config_reply_t * xcb_randr_set_crtc_config_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_set_crtc_config_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_set_crtc_config_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_set_crtc_config_reply_t *
-xcb_randr_set_crtc_config_reply (xcb_connection_t *c /**< */,
- xcb_randr_set_crtc_config_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_size_cookie_t xcb_randr_get_crtc_gamma_size
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_gamma_size_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_size_cookie_t
-xcb_randr_get_crtc_gamma_size (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_size_cookie_t xcb_randr_get_crtc_gamma_size_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_gamma_size_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_size_cookie_t
-xcb_randr_get_crtc_gamma_size_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_crtc_gamma_size_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_size_reply_t * xcb_randr_get_crtc_gamma_size_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_crtc_gamma_size_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_crtc_gamma_size_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_size_reply_t *
-xcb_randr_get_crtc_gamma_size_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_crtc_gamma_size_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_get_crtc_gamma_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_cookie_t xcb_randr_get_crtc_gamma
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_gamma_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_cookie_t
-xcb_randr_get_crtc_gamma (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_cookie_t xcb_randr_get_crtc_gamma_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_gamma_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_cookie_t
-xcb_randr_get_crtc_gamma_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_randr_get_crtc_gamma_red
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_randr_get_crtc_gamma_red (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_gamma_red_length
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_gamma_red_length (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_gamma_red_end
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_gamma_red_end (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_randr_get_crtc_gamma_green
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_randr_get_crtc_gamma_green (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_gamma_green_length
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_gamma_green_length (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_gamma_green_end
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_gamma_green_end (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_randr_get_crtc_gamma_blue
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_randr_get_crtc_gamma_blue (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_gamma_blue_length
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_gamma_blue_length (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_gamma_blue_end
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_gamma_blue_end (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_crtc_gamma_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_reply_t * xcb_randr_get_crtc_gamma_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_crtc_gamma_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_crtc_gamma_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_reply_t *
-xcb_randr_get_crtc_gamma_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_crtc_gamma_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_set_crtc_gamma_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_crtc_gamma_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param uint16_t size
- ** @param const uint16_t *red
- ** @param const uint16_t *green
- ** @param const uint16_t *blue
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_crtc_gamma_checked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- uint16_t size /**< */,
- const uint16_t *red /**< */,
- const uint16_t *green /**< */,
- const uint16_t *blue /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_crtc_gamma
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param uint16_t size
- ** @param const uint16_t *red
- ** @param const uint16_t *green
- ** @param const uint16_t *blue
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_crtc_gamma (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- uint16_t size /**< */,
- const uint16_t *red /**< */,
- const uint16_t *green /**< */,
- const uint16_t *blue /**< */);
-
-int
-xcb_randr_get_screen_resources_current_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_current_cookie_t xcb_randr_get_screen_resources_current
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_resources_current_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_current_cookie_t
-xcb_randr_get_screen_resources_current (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_current_cookie_t xcb_randr_get_screen_resources_current_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_resources_current_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_current_cookie_t
-xcb_randr_get_screen_resources_current_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_crtc_t * xcb_randr_get_screen_resources_current_crtcs
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_randr_crtc_t *
- **
- *****************************************************************************/
-
-xcb_randr_crtc_t *
-xcb_randr_get_screen_resources_current_crtcs (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_current_crtcs_length
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_current_crtcs_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_current_crtcs_end
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_current_crtcs_end (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_screen_resources_current_outputs
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_screen_resources_current_outputs (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_current_outputs_length
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_current_outputs_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_current_outputs_end
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_current_outputs_end (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_info_t * xcb_randr_get_screen_resources_current_modes
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_randr_mode_info_t *
- **
- *****************************************************************************/
-
-xcb_randr_mode_info_t *
-xcb_randr_get_screen_resources_current_modes (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_current_modes_length
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_current_modes_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_info_iterator_t xcb_randr_get_screen_resources_current_modes_iterator
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_randr_mode_info_iterator_t
- **
- *****************************************************************************/
-
-xcb_randr_mode_info_iterator_t
-xcb_randr_get_screen_resources_current_modes_iterator (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_randr_get_screen_resources_current_names
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_randr_get_screen_resources_current_names (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_current_names_length
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_current_names_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_current_names_end
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_current_names_end (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_screen_resources_current_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_current_reply_t * xcb_randr_get_screen_resources_current_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_screen_resources_current_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_screen_resources_current_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_current_reply_t *
-xcb_randr_get_screen_resources_current_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_screen_resources_current_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_set_crtc_transform_sizeof (const void *_buffer /**< */,
- uint32_t filter_params_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_crtc_transform_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_render_transform_t transform
- ** @param uint16_t filter_len
- ** @param const char *filter_name
- ** @param uint32_t filter_params_len
- ** @param const xcb_render_fixed_t *filter_params
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_crtc_transform_checked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_render_transform_t transform /**< */,
- uint16_t filter_len /**< */,
- const char *filter_name /**< */,
- uint32_t filter_params_len /**< */,
- const xcb_render_fixed_t *filter_params /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_crtc_transform
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_render_transform_t transform
- ** @param uint16_t filter_len
- ** @param const char *filter_name
- ** @param uint32_t filter_params_len
- ** @param const xcb_render_fixed_t *filter_params
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_crtc_transform (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_render_transform_t transform /**< */,
- uint16_t filter_len /**< */,
- const char *filter_name /**< */,
- uint32_t filter_params_len /**< */,
- const xcb_render_fixed_t *filter_params /**< */);
-
-int
-xcb_randr_get_crtc_transform_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_transform_cookie_t xcb_randr_get_crtc_transform
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_transform_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_transform_cookie_t
-xcb_randr_get_crtc_transform (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_transform_cookie_t xcb_randr_get_crtc_transform_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_transform_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_transform_cookie_t
-xcb_randr_get_crtc_transform_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-
-/*****************************************************************************
- **
- ** char * xcb_randr_get_crtc_transform_pending_filter_name
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns char *
- **
- *****************************************************************************/
-
-char *
-xcb_randr_get_crtc_transform_pending_filter_name (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_transform_pending_filter_name_length
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_transform_pending_filter_name_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_pending_filter_name_end
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_transform_pending_filter_name_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_fixed_t * xcb_randr_get_crtc_transform_pending_params
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_render_fixed_t *
- **
- *****************************************************************************/
-
-xcb_render_fixed_t *
-xcb_randr_get_crtc_transform_pending_params (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_transform_pending_params_length
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_transform_pending_params_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_pending_params_end
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_transform_pending_params_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** char * xcb_randr_get_crtc_transform_current_filter_name
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns char *
- **
- *****************************************************************************/
-
-char *
-xcb_randr_get_crtc_transform_current_filter_name (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_transform_current_filter_name_length
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_transform_current_filter_name_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_current_filter_name_end
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_transform_current_filter_name_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_fixed_t * xcb_randr_get_crtc_transform_current_params
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_render_fixed_t *
- **
- *****************************************************************************/
-
-xcb_render_fixed_t *
-xcb_randr_get_crtc_transform_current_params (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_transform_current_params_length
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_transform_current_params_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_current_params_end
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_transform_current_params_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_crtc_transform_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_transform_reply_t * xcb_randr_get_crtc_transform_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_crtc_transform_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_crtc_transform_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_transform_reply_t *
-xcb_randr_get_crtc_transform_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_crtc_transform_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_panning_cookie_t xcb_randr_get_panning
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_panning_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_panning_cookie_t
-xcb_randr_get_panning (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_panning_cookie_t xcb_randr_get_panning_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_panning_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_panning_cookie_t
-xcb_randr_get_panning_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_panning_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_panning_reply_t * xcb_randr_get_panning_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_panning_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_panning_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_panning_reply_t *
-xcb_randr_get_panning_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_panning_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_panning_cookie_t xcb_randr_set_panning
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t timestamp
- ** @param uint16_t left
- ** @param uint16_t top
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint16_t track_left
- ** @param uint16_t track_top
- ** @param uint16_t track_width
- ** @param uint16_t track_height
- ** @param int16_t border_left
- ** @param int16_t border_top
- ** @param int16_t border_right
- ** @param int16_t border_bottom
- ** @returns xcb_randr_set_panning_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_panning_cookie_t
-xcb_randr_set_panning (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t timestamp /**< */,
- uint16_t left /**< */,
- uint16_t top /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint16_t track_left /**< */,
- uint16_t track_top /**< */,
- uint16_t track_width /**< */,
- uint16_t track_height /**< */,
- int16_t border_left /**< */,
- int16_t border_top /**< */,
- int16_t border_right /**< */,
- int16_t border_bottom /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_panning_cookie_t xcb_randr_set_panning_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t timestamp
- ** @param uint16_t left
- ** @param uint16_t top
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint16_t track_left
- ** @param uint16_t track_top
- ** @param uint16_t track_width
- ** @param uint16_t track_height
- ** @param int16_t border_left
- ** @param int16_t border_top
- ** @param int16_t border_right
- ** @param int16_t border_bottom
- ** @returns xcb_randr_set_panning_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_panning_cookie_t
-xcb_randr_set_panning_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t timestamp /**< */,
- uint16_t left /**< */,
- uint16_t top /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint16_t track_left /**< */,
- uint16_t track_top /**< */,
- uint16_t track_width /**< */,
- uint16_t track_height /**< */,
- int16_t border_left /**< */,
- int16_t border_top /**< */,
- int16_t border_right /**< */,
- int16_t border_bottom /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_set_panning_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_panning_reply_t * xcb_randr_set_panning_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_set_panning_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_set_panning_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_set_panning_reply_t *
-xcb_randr_set_panning_reply (xcb_connection_t *c /**< */,
- xcb_randr_set_panning_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_output_primary_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_randr_output_t output
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_output_primary_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_randr_output_t output /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_output_primary
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_randr_output_t output
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_output_primary (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_randr_output_t output /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_primary_cookie_t xcb_randr_get_output_primary
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_output_primary_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_primary_cookie_t
-xcb_randr_get_output_primary (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_primary_cookie_t xcb_randr_get_output_primary_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_output_primary_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_primary_cookie_t
-xcb_randr_get_output_primary_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_output_primary_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_primary_reply_t * xcb_randr_get_output_primary_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_output_primary_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_output_primary_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_output_primary_reply_t *
-xcb_randr_get_output_primary_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_output_primary_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_crtc_change_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_crtc_change_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_crtc_change_next
- **
- ** @param xcb_randr_crtc_change_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_crtc_change_next (xcb_randr_crtc_change_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_crtc_change_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_crtc_change_end
- **
- ** @param xcb_randr_crtc_change_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_crtc_change_end (xcb_randr_crtc_change_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_output_change_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_output_change_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_output_change_next
- **
- ** @param xcb_randr_output_change_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_output_change_next (xcb_randr_output_change_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_output_change_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_output_change_end
- **
- ** @param xcb_randr_output_change_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_output_change_end (xcb_randr_output_change_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_output_property_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_output_property_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_output_property_next
- **
- ** @param xcb_randr_output_property_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_output_property_next (xcb_randr_output_property_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_output_property_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_output_property_end
- **
- ** @param xcb_randr_output_property_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_output_property_end (xcb_randr_output_property_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_notify_data_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_notify_data_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_notify_data_next
- **
- ** @param xcb_randr_notify_data_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_notify_data_next (xcb_randr_notify_data_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_notify_data_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_notify_data_end
- **
- ** @param xcb_randr_notify_data_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_notify_data_end (xcb_randr_notify_data_iterator_t i /**< */);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/**
- * @}
- */
diff --git a/src/3rdparty/xcb/include/xcb/render.h b/src/3rdparty/xcb/include/xcb/render.h
deleted file mode 100644
index eb7f0424d5..0000000000
--- a/src/3rdparty/xcb/include/xcb/render.h
+++ /dev/null
@@ -1,4513 +0,0 @@
-/*
- * This file generated automatically from render.xml by c_client.py.
- * Edit at your peril.
- */
-
-/**
- * @defgroup XCB_Render_API XCB Render API
- * @brief Render XCB Protocol Implementation.
- * @{
- **/
-
-#ifndef __RENDER_H
-#define __RENDER_H
-
-#include "xcb.h"
-#include "xproto.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define XCB_RENDER_MAJOR_VERSION 0
-#define XCB_RENDER_MINOR_VERSION 11
-
-extern xcb_extension_t xcb_render_id;
-
-typedef enum xcb_render_pict_type_t {
- XCB_RENDER_PICT_TYPE_INDEXED,
- XCB_RENDER_PICT_TYPE_DIRECT
-} xcb_render_pict_type_t;
-
-typedef enum xcb_render_picture_enum_t {
- XCB_RENDER_PICTURE_NONE
-} xcb_render_picture_enum_t;
-
-typedef enum xcb_render_pict_op_t {
- XCB_RENDER_PICT_OP_CLEAR,
- XCB_RENDER_PICT_OP_SRC,
- XCB_RENDER_PICT_OP_DST,
- XCB_RENDER_PICT_OP_OVER,
- XCB_RENDER_PICT_OP_OVER_REVERSE,
- XCB_RENDER_PICT_OP_IN,
- XCB_RENDER_PICT_OP_IN_REVERSE,
- XCB_RENDER_PICT_OP_OUT,
- XCB_RENDER_PICT_OP_OUT_REVERSE,
- XCB_RENDER_PICT_OP_ATOP,
- XCB_RENDER_PICT_OP_ATOP_REVERSE,
- XCB_RENDER_PICT_OP_XOR,
- XCB_RENDER_PICT_OP_ADD,
- XCB_RENDER_PICT_OP_SATURATE,
- XCB_RENDER_PICT_OP_DISJOINT_CLEAR = 16,
- XCB_RENDER_PICT_OP_DISJOINT_SRC,
- XCB_RENDER_PICT_OP_DISJOINT_DST,
- XCB_RENDER_PICT_OP_DISJOINT_OVER,
- XCB_RENDER_PICT_OP_DISJOINT_OVER_REVERSE,
- XCB_RENDER_PICT_OP_DISJOINT_IN,
- XCB_RENDER_PICT_OP_DISJOINT_IN_REVERSE,
- XCB_RENDER_PICT_OP_DISJOINT_OUT,
- XCB_RENDER_PICT_OP_DISJOINT_OUT_REVERSE,
- XCB_RENDER_PICT_OP_DISJOINT_ATOP,
- XCB_RENDER_PICT_OP_DISJOINT_ATOP_REVERSE,
- XCB_RENDER_PICT_OP_DISJOINT_XOR,
- XCB_RENDER_PICT_OP_CONJOINT_CLEAR = 32,
- XCB_RENDER_PICT_OP_CONJOINT_SRC,
- XCB_RENDER_PICT_OP_CONJOINT_DST,
- XCB_RENDER_PICT_OP_CONJOINT_OVER,
- XCB_RENDER_PICT_OP_CONJOINT_OVER_REVERSE,
- XCB_RENDER_PICT_OP_CONJOINT_IN,
- XCB_RENDER_PICT_OP_CONJOINT_IN_REVERSE,
- XCB_RENDER_PICT_OP_CONJOINT_OUT,
- XCB_RENDER_PICT_OP_CONJOINT_OUT_REVERSE,
- XCB_RENDER_PICT_OP_CONJOINT_ATOP,
- XCB_RENDER_PICT_OP_CONJOINT_ATOP_REVERSE,
- XCB_RENDER_PICT_OP_CONJOINT_XOR,
- XCB_RENDER_PICT_OP_MULTIPLY = 48,
- XCB_RENDER_PICT_OP_SCREEN,
- XCB_RENDER_PICT_OP_OVERLAY,
- XCB_RENDER_PICT_OP_DARKEN,
- XCB_RENDER_PICT_OP_LIGHTEN,
- XCB_RENDER_PICT_OP_COLOR_DODGE,
- XCB_RENDER_PICT_OP_COLOR_BURN,
- XCB_RENDER_PICT_OP_HARD_LIGHT,
- XCB_RENDER_PICT_OP_SOFT_LIGHT,
- XCB_RENDER_PICT_OP_DIFFERENCE,
- XCB_RENDER_PICT_OP_EXCLUSION,
- XCB_RENDER_PICT_OP_HSL_HUE,
- XCB_RENDER_PICT_OP_HSL_SATURATION,
- XCB_RENDER_PICT_OP_HSL_COLOR,
- XCB_RENDER_PICT_OP_HSL_LUMINOSITY
-} xcb_render_pict_op_t;
-
-typedef enum xcb_render_poly_edge_t {
- XCB_RENDER_POLY_EDGE_SHARP,
- XCB_RENDER_POLY_EDGE_SMOOTH
-} xcb_render_poly_edge_t;
-
-typedef enum xcb_render_poly_mode_t {
- XCB_RENDER_POLY_MODE_PRECISE,
- XCB_RENDER_POLY_MODE_IMPRECISE
-} xcb_render_poly_mode_t;
-
-typedef enum xcb_render_cp_t {
- XCB_RENDER_CP_REPEAT = 1,
- XCB_RENDER_CP_ALPHA_MAP = 2,
- XCB_RENDER_CP_ALPHA_X_ORIGIN = 4,
- XCB_RENDER_CP_ALPHA_Y_ORIGIN = 8,
- XCB_RENDER_CP_CLIP_X_ORIGIN = 16,
- XCB_RENDER_CP_CLIP_Y_ORIGIN = 32,
- XCB_RENDER_CP_CLIP_MASK = 64,
- XCB_RENDER_CP_GRAPHICS_EXPOSURE = 128,
- XCB_RENDER_CP_SUBWINDOW_MODE = 256,
- XCB_RENDER_CP_POLY_EDGE = 512,
- XCB_RENDER_CP_POLY_MODE = 1024,
- XCB_RENDER_CP_DITHER = 2048,
- XCB_RENDER_CP_COMPONENT_ALPHA = 4096
-} xcb_render_cp_t;
-
-typedef enum xcb_render_sub_pixel_t {
- XCB_RENDER_SUB_PIXEL_UNKNOWN,
- XCB_RENDER_SUB_PIXEL_HORIZONTAL_RGB,
- XCB_RENDER_SUB_PIXEL_HORIZONTAL_BGR,
- XCB_RENDER_SUB_PIXEL_VERTICAL_RGB,
- XCB_RENDER_SUB_PIXEL_VERTICAL_BGR,
- XCB_RENDER_SUB_PIXEL_NONE
-} xcb_render_sub_pixel_t;
-
-typedef enum xcb_render_repeat_t {
- XCB_RENDER_REPEAT_NONE,
- XCB_RENDER_REPEAT_NORMAL,
- XCB_RENDER_REPEAT_PAD,
- XCB_RENDER_REPEAT_REFLECT
-} xcb_render_repeat_t;
-
-typedef uint32_t xcb_render_glyph_t;
-
-/**
- * @brief xcb_render_glyph_iterator_t
- **/
-typedef struct xcb_render_glyph_iterator_t {
- xcb_render_glyph_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_glyph_iterator_t;
-
-typedef uint32_t xcb_render_glyphset_t;
-
-/**
- * @brief xcb_render_glyphset_iterator_t
- **/
-typedef struct xcb_render_glyphset_iterator_t {
- xcb_render_glyphset_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_glyphset_iterator_t;
-
-typedef uint32_t xcb_render_picture_t;
-
-/**
- * @brief xcb_render_picture_iterator_t
- **/
-typedef struct xcb_render_picture_iterator_t {
- xcb_render_picture_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_picture_iterator_t;
-
-typedef uint32_t xcb_render_pictformat_t;
-
-/**
- * @brief xcb_render_pictformat_iterator_t
- **/
-typedef struct xcb_render_pictformat_iterator_t {
- xcb_render_pictformat_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_pictformat_iterator_t;
-
-typedef int32_t xcb_render_fixed_t;
-
-/**
- * @brief xcb_render_fixed_iterator_t
- **/
-typedef struct xcb_render_fixed_iterator_t {
- xcb_render_fixed_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_fixed_iterator_t;
-
-/** Opcode for xcb_render_pict_format. */
-#define XCB_RENDER_PICT_FORMAT 0
-
-/**
- * @brief xcb_render_pict_format_error_t
- **/
-typedef struct xcb_render_pict_format_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_render_pict_format_error_t;
-
-/** Opcode for xcb_render_picture. */
-#define XCB_RENDER_PICTURE 1
-
-/**
- * @brief xcb_render_picture_error_t
- **/
-typedef struct xcb_render_picture_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_render_picture_error_t;
-
-/** Opcode for xcb_render_pict_op. */
-#define XCB_RENDER_PICT_OP 2
-
-/**
- * @brief xcb_render_pict_op_error_t
- **/
-typedef struct xcb_render_pict_op_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_render_pict_op_error_t;
-
-/** Opcode for xcb_render_glyph_set. */
-#define XCB_RENDER_GLYPH_SET 3
-
-/**
- * @brief xcb_render_glyph_set_error_t
- **/
-typedef struct xcb_render_glyph_set_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_render_glyph_set_error_t;
-
-/** Opcode for xcb_render_glyph. */
-#define XCB_RENDER_GLYPH 4
-
-/**
- * @brief xcb_render_glyph_error_t
- **/
-typedef struct xcb_render_glyph_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_render_glyph_error_t;
-
-/**
- * @brief xcb_render_directformat_t
- **/
-typedef struct xcb_render_directformat_t {
- uint16_t red_shift; /**< */
- uint16_t red_mask; /**< */
- uint16_t green_shift; /**< */
- uint16_t green_mask; /**< */
- uint16_t blue_shift; /**< */
- uint16_t blue_mask; /**< */
- uint16_t alpha_shift; /**< */
- uint16_t alpha_mask; /**< */
-} xcb_render_directformat_t;
-
-/**
- * @brief xcb_render_directformat_iterator_t
- **/
-typedef struct xcb_render_directformat_iterator_t {
- xcb_render_directformat_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_directformat_iterator_t;
-
-/**
- * @brief xcb_render_pictforminfo_t
- **/
-typedef struct xcb_render_pictforminfo_t {
- xcb_render_pictformat_t id; /**< */
- uint8_t type; /**< */
- uint8_t depth; /**< */
- uint8_t pad0[2]; /**< */
- xcb_render_directformat_t direct; /**< */
- xcb_colormap_t colormap; /**< */
-} xcb_render_pictforminfo_t;
-
-/**
- * @brief xcb_render_pictforminfo_iterator_t
- **/
-typedef struct xcb_render_pictforminfo_iterator_t {
- xcb_render_pictforminfo_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_pictforminfo_iterator_t;
-
-/**
- * @brief xcb_render_pictvisual_t
- **/
-typedef struct xcb_render_pictvisual_t {
- xcb_visualid_t visual; /**< */
- xcb_render_pictformat_t format; /**< */
-} xcb_render_pictvisual_t;
-
-/**
- * @brief xcb_render_pictvisual_iterator_t
- **/
-typedef struct xcb_render_pictvisual_iterator_t {
- xcb_render_pictvisual_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_pictvisual_iterator_t;
-
-/**
- * @brief xcb_render_pictdepth_t
- **/
-typedef struct xcb_render_pictdepth_t {
- uint8_t depth; /**< */
- uint8_t pad0; /**< */
- uint16_t num_visuals; /**< */
- uint8_t pad1[4]; /**< */
-} xcb_render_pictdepth_t;
-
-/**
- * @brief xcb_render_pictdepth_iterator_t
- **/
-typedef struct xcb_render_pictdepth_iterator_t {
- xcb_render_pictdepth_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_pictdepth_iterator_t;
-
-/**
- * @brief xcb_render_pictscreen_t
- **/
-typedef struct xcb_render_pictscreen_t {
- uint32_t num_depths; /**< */
- xcb_render_pictformat_t fallback; /**< */
-} xcb_render_pictscreen_t;
-
-/**
- * @brief xcb_render_pictscreen_iterator_t
- **/
-typedef struct xcb_render_pictscreen_iterator_t {
- xcb_render_pictscreen_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_pictscreen_iterator_t;
-
-/**
- * @brief xcb_render_indexvalue_t
- **/
-typedef struct xcb_render_indexvalue_t {
- uint32_t pixel; /**< */
- uint16_t red; /**< */
- uint16_t green; /**< */
- uint16_t blue; /**< */
- uint16_t alpha; /**< */
-} xcb_render_indexvalue_t;
-
-/**
- * @brief xcb_render_indexvalue_iterator_t
- **/
-typedef struct xcb_render_indexvalue_iterator_t {
- xcb_render_indexvalue_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_indexvalue_iterator_t;
-
-/**
- * @brief xcb_render_color_t
- **/
-typedef struct xcb_render_color_t {
- uint16_t red; /**< */
- uint16_t green; /**< */
- uint16_t blue; /**< */
- uint16_t alpha; /**< */
-} xcb_render_color_t;
-
-/**
- * @brief xcb_render_color_iterator_t
- **/
-typedef struct xcb_render_color_iterator_t {
- xcb_render_color_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_color_iterator_t;
-
-/**
- * @brief xcb_render_pointfix_t
- **/
-typedef struct xcb_render_pointfix_t {
- xcb_render_fixed_t x; /**< */
- xcb_render_fixed_t y; /**< */
-} xcb_render_pointfix_t;
-
-/**
- * @brief xcb_render_pointfix_iterator_t
- **/
-typedef struct xcb_render_pointfix_iterator_t {
- xcb_render_pointfix_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_pointfix_iterator_t;
-
-/**
- * @brief xcb_render_linefix_t
- **/
-typedef struct xcb_render_linefix_t {
- xcb_render_pointfix_t p1; /**< */
- xcb_render_pointfix_t p2; /**< */
-} xcb_render_linefix_t;
-
-/**
- * @brief xcb_render_linefix_iterator_t
- **/
-typedef struct xcb_render_linefix_iterator_t {
- xcb_render_linefix_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_linefix_iterator_t;
-
-/**
- * @brief xcb_render_triangle_t
- **/
-typedef struct xcb_render_triangle_t {
- xcb_render_pointfix_t p1; /**< */
- xcb_render_pointfix_t p2; /**< */
- xcb_render_pointfix_t p3; /**< */
-} xcb_render_triangle_t;
-
-/**
- * @brief xcb_render_triangle_iterator_t
- **/
-typedef struct xcb_render_triangle_iterator_t {
- xcb_render_triangle_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_triangle_iterator_t;
-
-/**
- * @brief xcb_render_trapezoid_t
- **/
-typedef struct xcb_render_trapezoid_t {
- xcb_render_fixed_t top; /**< */
- xcb_render_fixed_t bottom; /**< */
- xcb_render_linefix_t left; /**< */
- xcb_render_linefix_t right; /**< */
-} xcb_render_trapezoid_t;
-
-/**
- * @brief xcb_render_trapezoid_iterator_t
- **/
-typedef struct xcb_render_trapezoid_iterator_t {
- xcb_render_trapezoid_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_trapezoid_iterator_t;
-
-/**
- * @brief xcb_render_glyphinfo_t
- **/
-typedef struct xcb_render_glyphinfo_t {
- uint16_t width; /**< */
- uint16_t height; /**< */
- int16_t x; /**< */
- int16_t y; /**< */
- int16_t x_off; /**< */
- int16_t y_off; /**< */
-} xcb_render_glyphinfo_t;
-
-/**
- * @brief xcb_render_glyphinfo_iterator_t
- **/
-typedef struct xcb_render_glyphinfo_iterator_t {
- xcb_render_glyphinfo_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_glyphinfo_iterator_t;
-
-/**
- * @brief xcb_render_query_version_cookie_t
- **/
-typedef struct xcb_render_query_version_cookie_t {
- unsigned int sequence; /**< */
-} xcb_render_query_version_cookie_t;
-
-/** Opcode for xcb_render_query_version. */
-#define XCB_RENDER_QUERY_VERSION 0
-
-/**
- * @brief xcb_render_query_version_request_t
- **/
-typedef struct xcb_render_query_version_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint32_t client_major_version; /**< */
- uint32_t client_minor_version; /**< */
-} xcb_render_query_version_request_t;
-
-/**
- * @brief xcb_render_query_version_reply_t
- **/
-typedef struct xcb_render_query_version_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t major_version; /**< */
- uint32_t minor_version; /**< */
- uint8_t pad1[16]; /**< */
-} xcb_render_query_version_reply_t;
-
-/**
- * @brief xcb_render_query_pict_formats_cookie_t
- **/
-typedef struct xcb_render_query_pict_formats_cookie_t {
- unsigned int sequence; /**< */
-} xcb_render_query_pict_formats_cookie_t;
-
-/** Opcode for xcb_render_query_pict_formats. */
-#define XCB_RENDER_QUERY_PICT_FORMATS 1
-
-/**
- * @brief xcb_render_query_pict_formats_request_t
- **/
-typedef struct xcb_render_query_pict_formats_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
-} xcb_render_query_pict_formats_request_t;
-
-/**
- * @brief xcb_render_query_pict_formats_reply_t
- **/
-typedef struct xcb_render_query_pict_formats_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t num_formats; /**< */
- uint32_t num_screens; /**< */
- uint32_t num_depths; /**< */
- uint32_t num_visuals; /**< */
- uint32_t num_subpixel; /**< */
- uint8_t pad1[4]; /**< */
-} xcb_render_query_pict_formats_reply_t;
-
-/**
- * @brief xcb_render_query_pict_index_values_cookie_t
- **/
-typedef struct xcb_render_query_pict_index_values_cookie_t {
- unsigned int sequence; /**< */
-} xcb_render_query_pict_index_values_cookie_t;
-
-/** Opcode for xcb_render_query_pict_index_values. */
-#define XCB_RENDER_QUERY_PICT_INDEX_VALUES 2
-
-/**
- * @brief xcb_render_query_pict_index_values_request_t
- **/
-typedef struct xcb_render_query_pict_index_values_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_pictformat_t format; /**< */
-} xcb_render_query_pict_index_values_request_t;
-
-/**
- * @brief xcb_render_query_pict_index_values_reply_t
- **/
-typedef struct xcb_render_query_pict_index_values_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t num_values; /**< */
- uint8_t pad1[20]; /**< */
-} xcb_render_query_pict_index_values_reply_t;
-
-/** Opcode for xcb_render_create_picture. */
-#define XCB_RENDER_CREATE_PICTURE 4
-
-/**
- * @brief xcb_render_create_picture_request_t
- **/
-typedef struct xcb_render_create_picture_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t pid; /**< */
- xcb_drawable_t drawable; /**< */
- xcb_render_pictformat_t format; /**< */
- uint32_t value_mask; /**< */
-} xcb_render_create_picture_request_t;
-
-/** Opcode for xcb_render_change_picture. */
-#define XCB_RENDER_CHANGE_PICTURE 5
-
-/**
- * @brief xcb_render_change_picture_request_t
- **/
-typedef struct xcb_render_change_picture_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- uint32_t value_mask; /**< */
-} xcb_render_change_picture_request_t;
-
-/** Opcode for xcb_render_set_picture_clip_rectangles. */
-#define XCB_RENDER_SET_PICTURE_CLIP_RECTANGLES 6
-
-/**
- * @brief xcb_render_set_picture_clip_rectangles_request_t
- **/
-typedef struct xcb_render_set_picture_clip_rectangles_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- int16_t clip_x_origin; /**< */
- int16_t clip_y_origin; /**< */
-} xcb_render_set_picture_clip_rectangles_request_t;
-
-/** Opcode for xcb_render_free_picture. */
-#define XCB_RENDER_FREE_PICTURE 7
-
-/**
- * @brief xcb_render_free_picture_request_t
- **/
-typedef struct xcb_render_free_picture_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
-} xcb_render_free_picture_request_t;
-
-/** Opcode for xcb_render_composite. */
-#define XCB_RENDER_COMPOSITE 8
-
-/**
- * @brief xcb_render_composite_request_t
- **/
-typedef struct xcb_render_composite_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t mask; /**< */
- xcb_render_picture_t dst; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
- int16_t mask_x; /**< */
- int16_t mask_y; /**< */
- int16_t dst_x; /**< */
- int16_t dst_y; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
-} xcb_render_composite_request_t;
-
-/** Opcode for xcb_render_trapezoids. */
-#define XCB_RENDER_TRAPEZOIDS 10
-
-/**
- * @brief xcb_render_trapezoids_request_t
- **/
-typedef struct xcb_render_trapezoids_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_pictformat_t mask_format; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
-} xcb_render_trapezoids_request_t;
-
-/** Opcode for xcb_render_triangles. */
-#define XCB_RENDER_TRIANGLES 11
-
-/**
- * @brief xcb_render_triangles_request_t
- **/
-typedef struct xcb_render_triangles_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_pictformat_t mask_format; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
-} xcb_render_triangles_request_t;
-
-/** Opcode for xcb_render_tri_strip. */
-#define XCB_RENDER_TRI_STRIP 12
-
-/**
- * @brief xcb_render_tri_strip_request_t
- **/
-typedef struct xcb_render_tri_strip_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_pictformat_t mask_format; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
-} xcb_render_tri_strip_request_t;
-
-/** Opcode for xcb_render_tri_fan. */
-#define XCB_RENDER_TRI_FAN 13
-
-/**
- * @brief xcb_render_tri_fan_request_t
- **/
-typedef struct xcb_render_tri_fan_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_pictformat_t mask_format; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
-} xcb_render_tri_fan_request_t;
-
-/** Opcode for xcb_render_create_glyph_set. */
-#define XCB_RENDER_CREATE_GLYPH_SET 17
-
-/**
- * @brief xcb_render_create_glyph_set_request_t
- **/
-typedef struct xcb_render_create_glyph_set_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_glyphset_t gsid; /**< */
- xcb_render_pictformat_t format; /**< */
-} xcb_render_create_glyph_set_request_t;
-
-/** Opcode for xcb_render_reference_glyph_set. */
-#define XCB_RENDER_REFERENCE_GLYPH_SET 18
-
-/**
- * @brief xcb_render_reference_glyph_set_request_t
- **/
-typedef struct xcb_render_reference_glyph_set_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_glyphset_t gsid; /**< */
- xcb_render_glyphset_t existing; /**< */
-} xcb_render_reference_glyph_set_request_t;
-
-/** Opcode for xcb_render_free_glyph_set. */
-#define XCB_RENDER_FREE_GLYPH_SET 19
-
-/**
- * @brief xcb_render_free_glyph_set_request_t
- **/
-typedef struct xcb_render_free_glyph_set_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_glyphset_t glyphset; /**< */
-} xcb_render_free_glyph_set_request_t;
-
-/** Opcode for xcb_render_add_glyphs. */
-#define XCB_RENDER_ADD_GLYPHS 20
-
-/**
- * @brief xcb_render_add_glyphs_request_t
- **/
-typedef struct xcb_render_add_glyphs_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_glyphset_t glyphset; /**< */
- uint32_t glyphs_len; /**< */
-} xcb_render_add_glyphs_request_t;
-
-/** Opcode for xcb_render_free_glyphs. */
-#define XCB_RENDER_FREE_GLYPHS 22
-
-/**
- * @brief xcb_render_free_glyphs_request_t
- **/
-typedef struct xcb_render_free_glyphs_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_glyphset_t glyphset; /**< */
-} xcb_render_free_glyphs_request_t;
-
-/** Opcode for xcb_render_composite_glyphs_8. */
-#define XCB_RENDER_COMPOSITE_GLYPHS_8 23
-
-/**
- * @brief xcb_render_composite_glyphs_8_request_t
- **/
-typedef struct xcb_render_composite_glyphs_8_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_pictformat_t mask_format; /**< */
- xcb_render_glyphset_t glyphset; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
-} xcb_render_composite_glyphs_8_request_t;
-
-/** Opcode for xcb_render_composite_glyphs_16. */
-#define XCB_RENDER_COMPOSITE_GLYPHS_16 24
-
-/**
- * @brief xcb_render_composite_glyphs_16_request_t
- **/
-typedef struct xcb_render_composite_glyphs_16_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_pictformat_t mask_format; /**< */
- xcb_render_glyphset_t glyphset; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
-} xcb_render_composite_glyphs_16_request_t;
-
-/** Opcode for xcb_render_composite_glyphs_32. */
-#define XCB_RENDER_COMPOSITE_GLYPHS_32 25
-
-/**
- * @brief xcb_render_composite_glyphs_32_request_t
- **/
-typedef struct xcb_render_composite_glyphs_32_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_pictformat_t mask_format; /**< */
- xcb_render_glyphset_t glyphset; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
-} xcb_render_composite_glyphs_32_request_t;
-
-/** Opcode for xcb_render_fill_rectangles. */
-#define XCB_RENDER_FILL_RECTANGLES 26
-
-/**
- * @brief xcb_render_fill_rectangles_request_t
- **/
-typedef struct xcb_render_fill_rectangles_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_color_t color; /**< */
-} xcb_render_fill_rectangles_request_t;
-
-/** Opcode for xcb_render_create_cursor. */
-#define XCB_RENDER_CREATE_CURSOR 27
-
-/**
- * @brief xcb_render_create_cursor_request_t
- **/
-typedef struct xcb_render_create_cursor_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_cursor_t cid; /**< */
- xcb_render_picture_t source; /**< */
- uint16_t x; /**< */
- uint16_t y; /**< */
-} xcb_render_create_cursor_request_t;
-
-/**
- * @brief xcb_render_transform_t
- **/
-typedef struct xcb_render_transform_t {
- xcb_render_fixed_t matrix11; /**< */
- xcb_render_fixed_t matrix12; /**< */
- xcb_render_fixed_t matrix13; /**< */
- xcb_render_fixed_t matrix21; /**< */
- xcb_render_fixed_t matrix22; /**< */
- xcb_render_fixed_t matrix23; /**< */
- xcb_render_fixed_t matrix31; /**< */
- xcb_render_fixed_t matrix32; /**< */
- xcb_render_fixed_t matrix33; /**< */
-} xcb_render_transform_t;
-
-/**
- * @brief xcb_render_transform_iterator_t
- **/
-typedef struct xcb_render_transform_iterator_t {
- xcb_render_transform_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_transform_iterator_t;
-
-/** Opcode for xcb_render_set_picture_transform. */
-#define XCB_RENDER_SET_PICTURE_TRANSFORM 28
-
-/**
- * @brief xcb_render_set_picture_transform_request_t
- **/
-typedef struct xcb_render_set_picture_transform_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- xcb_render_transform_t transform; /**< */
-} xcb_render_set_picture_transform_request_t;
-
-/**
- * @brief xcb_render_query_filters_cookie_t
- **/
-typedef struct xcb_render_query_filters_cookie_t {
- unsigned int sequence; /**< */
-} xcb_render_query_filters_cookie_t;
-
-/** Opcode for xcb_render_query_filters. */
-#define XCB_RENDER_QUERY_FILTERS 29
-
-/**
- * @brief xcb_render_query_filters_request_t
- **/
-typedef struct xcb_render_query_filters_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_drawable_t drawable; /**< */
-} xcb_render_query_filters_request_t;
-
-/**
- * @brief xcb_render_query_filters_reply_t
- **/
-typedef struct xcb_render_query_filters_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t num_aliases; /**< */
- uint32_t num_filters; /**< */
- uint8_t pad1[16]; /**< */
-} xcb_render_query_filters_reply_t;
-
-/** Opcode for xcb_render_set_picture_filter. */
-#define XCB_RENDER_SET_PICTURE_FILTER 30
-
-/**
- * @brief xcb_render_set_picture_filter_request_t
- **/
-typedef struct xcb_render_set_picture_filter_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- uint16_t filter_len; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_render_set_picture_filter_request_t;
-
-/**
- * @brief xcb_render_animcursorelt_t
- **/
-typedef struct xcb_render_animcursorelt_t {
- xcb_cursor_t cursor; /**< */
- uint32_t delay; /**< */
-} xcb_render_animcursorelt_t;
-
-/**
- * @brief xcb_render_animcursorelt_iterator_t
- **/
-typedef struct xcb_render_animcursorelt_iterator_t {
- xcb_render_animcursorelt_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_animcursorelt_iterator_t;
-
-/** Opcode for xcb_render_create_anim_cursor. */
-#define XCB_RENDER_CREATE_ANIM_CURSOR 31
-
-/**
- * @brief xcb_render_create_anim_cursor_request_t
- **/
-typedef struct xcb_render_create_anim_cursor_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_cursor_t cid; /**< */
-} xcb_render_create_anim_cursor_request_t;
-
-/**
- * @brief xcb_render_spanfix_t
- **/
-typedef struct xcb_render_spanfix_t {
- xcb_render_fixed_t l; /**< */
- xcb_render_fixed_t r; /**< */
- xcb_render_fixed_t y; /**< */
-} xcb_render_spanfix_t;
-
-/**
- * @brief xcb_render_spanfix_iterator_t
- **/
-typedef struct xcb_render_spanfix_iterator_t {
- xcb_render_spanfix_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_spanfix_iterator_t;
-
-/**
- * @brief xcb_render_trap_t
- **/
-typedef struct xcb_render_trap_t {
- xcb_render_spanfix_t top; /**< */
- xcb_render_spanfix_t bot; /**< */
-} xcb_render_trap_t;
-
-/**
- * @brief xcb_render_trap_iterator_t
- **/
-typedef struct xcb_render_trap_iterator_t {
- xcb_render_trap_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_trap_iterator_t;
-
-/** Opcode for xcb_render_add_traps. */
-#define XCB_RENDER_ADD_TRAPS 32
-
-/**
- * @brief xcb_render_add_traps_request_t
- **/
-typedef struct xcb_render_add_traps_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- int16_t x_off; /**< */
- int16_t y_off; /**< */
-} xcb_render_add_traps_request_t;
-
-/** Opcode for xcb_render_create_solid_fill. */
-#define XCB_RENDER_CREATE_SOLID_FILL 33
-
-/**
- * @brief xcb_render_create_solid_fill_request_t
- **/
-typedef struct xcb_render_create_solid_fill_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- xcb_render_color_t color; /**< */
-} xcb_render_create_solid_fill_request_t;
-
-/** Opcode for xcb_render_create_linear_gradient. */
-#define XCB_RENDER_CREATE_LINEAR_GRADIENT 34
-
-/**
- * @brief xcb_render_create_linear_gradient_request_t
- **/
-typedef struct xcb_render_create_linear_gradient_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- xcb_render_pointfix_t p1; /**< */
- xcb_render_pointfix_t p2; /**< */
- uint32_t num_stops; /**< */
-} xcb_render_create_linear_gradient_request_t;
-
-/** Opcode for xcb_render_create_radial_gradient. */
-#define XCB_RENDER_CREATE_RADIAL_GRADIENT 35
-
-/**
- * @brief xcb_render_create_radial_gradient_request_t
- **/
-typedef struct xcb_render_create_radial_gradient_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- xcb_render_pointfix_t inner; /**< */
- xcb_render_pointfix_t outer; /**< */
- xcb_render_fixed_t inner_radius; /**< */
- xcb_render_fixed_t outer_radius; /**< */
- uint32_t num_stops; /**< */
-} xcb_render_create_radial_gradient_request_t;
-
-/** Opcode for xcb_render_create_conical_gradient. */
-#define XCB_RENDER_CREATE_CONICAL_GRADIENT 36
-
-/**
- * @brief xcb_render_create_conical_gradient_request_t
- **/
-typedef struct xcb_render_create_conical_gradient_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- xcb_render_pointfix_t center; /**< */
- xcb_render_fixed_t angle; /**< */
- uint32_t num_stops; /**< */
-} xcb_render_create_conical_gradient_request_t;
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_glyph_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_glyph_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_glyph_next
- **
- ** @param xcb_render_glyph_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_glyph_next (xcb_render_glyph_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_glyph_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_glyph_end
- **
- ** @param xcb_render_glyph_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_glyph_end (xcb_render_glyph_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_glyphset_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_glyphset_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_glyphset_next
- **
- ** @param xcb_render_glyphset_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_glyphset_next (xcb_render_glyphset_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_glyphset_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_glyphset_end
- **
- ** @param xcb_render_glyphset_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_glyphset_end (xcb_render_glyphset_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_picture_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_picture_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_picture_next
- **
- ** @param xcb_render_picture_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_picture_next (xcb_render_picture_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_picture_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_picture_end
- **
- ** @param xcb_render_picture_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_picture_end (xcb_render_picture_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_pictformat_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_pictformat_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_pictformat_next
- **
- ** @param xcb_render_pictformat_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictformat_next (xcb_render_pictformat_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_pictformat_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictformat_end
- **
- ** @param xcb_render_pictformat_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictformat_end (xcb_render_pictformat_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_fixed_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_fixed_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_fixed_next
- **
- ** @param xcb_render_fixed_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_fixed_next (xcb_render_fixed_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_fixed_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_fixed_end
- **
- ** @param xcb_render_fixed_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_fixed_end (xcb_render_fixed_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_directformat_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_directformat_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_directformat_next
- **
- ** @param xcb_render_directformat_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_directformat_next (xcb_render_directformat_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_directformat_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_directformat_end
- **
- ** @param xcb_render_directformat_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_directformat_end (xcb_render_directformat_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_pictforminfo_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_pictforminfo_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_pictforminfo_next
- **
- ** @param xcb_render_pictforminfo_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictforminfo_next (xcb_render_pictforminfo_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_pictforminfo_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictforminfo_end
- **
- ** @param xcb_render_pictforminfo_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictforminfo_end (xcb_render_pictforminfo_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_pictvisual_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_pictvisual_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_pictvisual_next
- **
- ** @param xcb_render_pictvisual_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictvisual_next (xcb_render_pictvisual_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_pictvisual_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictvisual_end
- **
- ** @param xcb_render_pictvisual_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictvisual_end (xcb_render_pictvisual_iterator_t i /**< */);
-
-int
-xcb_render_pictdepth_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictvisual_t * xcb_render_pictdepth_visuals
- **
- ** @param const xcb_render_pictdepth_t *R
- ** @returns xcb_render_pictvisual_t *
- **
- *****************************************************************************/
-
-xcb_render_pictvisual_t *
-xcb_render_pictdepth_visuals (const xcb_render_pictdepth_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_render_pictdepth_visuals_length
- **
- ** @param const xcb_render_pictdepth_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_pictdepth_visuals_length (const xcb_render_pictdepth_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictvisual_iterator_t xcb_render_pictdepth_visuals_iterator
- **
- ** @param const xcb_render_pictdepth_t *R
- ** @returns xcb_render_pictvisual_iterator_t
- **
- *****************************************************************************/
-
-xcb_render_pictvisual_iterator_t
-xcb_render_pictdepth_visuals_iterator (const xcb_render_pictdepth_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_pictdepth_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_pictdepth_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_pictdepth_next
- **
- ** @param xcb_render_pictdepth_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictdepth_next (xcb_render_pictdepth_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_pictdepth_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictdepth_end
- **
- ** @param xcb_render_pictdepth_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictdepth_end (xcb_render_pictdepth_iterator_t i /**< */);
-
-int
-xcb_render_pictscreen_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_render_pictscreen_depths_length
- **
- ** @param const xcb_render_pictscreen_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_pictscreen_depths_length (const xcb_render_pictscreen_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictdepth_iterator_t xcb_render_pictscreen_depths_iterator
- **
- ** @param const xcb_render_pictscreen_t *R
- ** @returns xcb_render_pictdepth_iterator_t
- **
- *****************************************************************************/
-
-xcb_render_pictdepth_iterator_t
-xcb_render_pictscreen_depths_iterator (const xcb_render_pictscreen_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_pictscreen_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_pictscreen_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_pictscreen_next
- **
- ** @param xcb_render_pictscreen_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictscreen_next (xcb_render_pictscreen_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_pictscreen_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictscreen_end
- **
- ** @param xcb_render_pictscreen_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictscreen_end (xcb_render_pictscreen_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_indexvalue_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_indexvalue_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_indexvalue_next
- **
- ** @param xcb_render_indexvalue_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_indexvalue_next (xcb_render_indexvalue_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_indexvalue_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_indexvalue_end
- **
- ** @param xcb_render_indexvalue_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_indexvalue_end (xcb_render_indexvalue_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_color_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_color_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_color_next
- **
- ** @param xcb_render_color_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_color_next (xcb_render_color_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_color_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_color_end
- **
- ** @param xcb_render_color_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_color_e