summaryrefslogtreecommitdiffstats
path: root/src/gui/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/doc/src')
-rw-r--r--src/gui/doc/src/coordsys.qdoc63
-rw-r--r--src/gui/doc/src/dnd.qdoc56
-rw-r--r--src/gui/doc/src/dontdocument.qdoc28
-rw-r--r--src/gui/doc/src/external-resources.qdoc51
-rw-r--r--src/gui/doc/src/includes/qt-colors.qdocinc21
-rw-r--r--src/gui/doc/src/includes/svg-colors.qdocinc148
-rw-r--r--src/gui/doc/src/paintsystem.qdoc28
-rw-r--r--src/gui/doc/src/qt6-changes.qdoc64
-rw-r--r--src/gui/doc/src/qtgui-overview.qdoc187
-rw-r--r--src/gui/doc/src/qtgui.qdoc201
-rw-r--r--src/gui/doc/src/richtext.qdoc37
11 files changed, 516 insertions, 368 deletions
diff --git a/src/gui/doc/src/coordsys.qdoc b/src/gui/doc/src/coordsys.qdoc
index f3daac98b6..087916635b 100644
--- a/src/gui/doc/src/coordsys.qdoc
+++ b/src/gui/doc/src/coordsys.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\page coordsys.html
@@ -237,11 +213,11 @@
\row
\li {2,1}
- \snippet analogclock/main.cpp 1
+ \snippet ../widgets/widgets/analogclock/analogclock.cpp 9
We translate the coordinate system so that point (0, 0) is in the
widget's center, instead of being at the top-left corner. We also
- scale the system by \c side / 100, where \c side is either the
+ scale the system by \c side / 200, where \c side is either the
widget's width or the height, whichever is shortest. We want the
clock to be square, even if the device isn't.
@@ -251,7 +227,7 @@
See also the \l {Window-Viewport Conversion} section.
- \snippet analogclock/main.cpp 2
+ \snippet ../widgets/widgets/analogclock/analogclock.cpp 18
We draw the clock's hour hand by rotating the coordinate system
and calling QPainter::drawConvexPolygon(). Thank's to the
@@ -259,26 +235,35 @@
The polygon is specified as an array of alternating \e x, \e y
values, stored in the \c hourHand static variable (defined at the
- beginning of the function), which corresponds to the four points
- (2, 0), (0, 2), (-2, 0), and (0, -25).
+ beginning of the function), which corresponds to the three points
+ (7, 8), (-7, 8), (0, -40).
The calls to QPainter::save() and QPainter::restore() surrounding
the code guarantees that the code that follows won't be disturbed
by the transformations we've used.
- \snippet analogclock/main.cpp 3
+ \snippet ../widgets/widgets/analogclock/analogclock.cpp 21
+
+ After that, we draw the hour markers for the clock face, which
+ consists of twelve short lines at 30-degree intervals. When that
+ loop is done, the painter has been rotated a full circle back to
+ its original state, so we don't need to save and restore the state.
+
+ \snippet ../widgets/widgets/analogclock/analogclock.cpp 24
We do the same for the clock's minute hand, which is defined by
- the four points (1, 0), (0, 1), (-1, 0), and (0, -40). These
+ the three points (7, 8), (-7, 8), (0, -70). These
coordinates specify a hand that is thinner and longer than the
minute hand.
- \snippet analogclock/main.cpp 4
+ \snippet ../widgets/widgets/analogclock/analogclock.cpp 27
- Finally, we draw the clock face, which consists of twelve short
- lines at 30-degree intervals. At the end of that, the painter is
- rotated in a way which isn't very useful, but we're done with
- painting so that doesn't matter.
+ Finally, we draw the minute markers for the clock face, which
+ consists of sixty short lines at 6-degree intervals. We skip every
+ fifth minute marker because we don't want to draw over the hour
+ markers. At the end of that, the painter is rotated in a way which
+ isn't very useful, but we're done with painting so that doesn't
+ matter.
\endtable
For more information about the transformation matrix, see the
@@ -446,5 +431,5 @@
\endtable
\endomit
- \sa {Analog Clock Window Example}
+ \sa {Analog Clock}
*/
diff --git a/src/gui/doc/src/dnd.qdoc b/src/gui/doc/src/dnd.qdoc
index a374ff00e8..7a756b304e 100644
--- a/src/gui/doc/src/dnd.qdoc
+++ b/src/gui/doc/src/dnd.qdoc
@@ -1,31 +1,8 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
+ \keyword Drag and Drop in Qt
\page dnd.html
\title Drag and Drop
\brief An overview of the drag and drop system provided by Qt.
@@ -358,7 +335,9 @@
For example, we can copy the contents of a QLineEdit to the clipboard
with the following code:
- \snippet ../widgets/widgets/charactermap/mainwindow.cpp 11
+ \code
+ QGuiApplication::clipboard()->setText(lineEdit->text(), QClipboard::Clipboard);
+ \endcode
Data with different MIME types can also be put on the clipboard.
Construct a QMimeData object and set data with setData() function in
@@ -387,23 +366,20 @@
\li \l{draganddrop/draggableicons}{Draggable Icons}
\li \l{draganddrop/draggabletext}{Draggable Text}
\li \l{draganddrop/dropsite}{Drop Site}
- \li \l{draganddrop/fridgemagnets}{Fridge Magnets}
- \li \l{draganddrop/puzzle}{Drag and Drop Puzzle}
\endlist
\section1 Interoperating with Other Applications
- On X11, the public \l{https://johnlindal.wixsite.com/xdnd}{XDND
- protocol} is used, while on Windows Qt uses the OLE standard, and
- Qt for \macos uses the Cocoa Drag Manager. On X11, XDND uses MIME,
- so no translation is necessary. The Qt API is the same regardless of
- the platform. On Windows, MIME-aware applications can communicate by
- using clipboard format names that are MIME types. Already some
- Windows applications use MIME naming conventions for their
- clipboard formats.
+ On X11, the public
+ \l{https://freedesktop.org/wiki/Specifications/XDND}{XDND protocol} is
+ used, while on Windows Qt uses the OLE standard, and Qt for \macos uses the
+ Cocoa Drag Manager. On X11, XDND uses MIME, so no translation is necessary.
+ The Qt API is the same regardless of the platform. On Windows, MIME-aware
+ applications can communicate by using clipboard format names that are MIME
+ types. Some Windows applications already use MIME naming conventions for
+ their clipboard formats.
Custom classes for translating proprietary clipboard formats can be
- registered by reimplementing QWinMime on Windows or
- QMacPasteboardMime on \macos.
-
+ registered by reimplementing QWindowsMimeConverter on Windows or
+ QUtiMimeConverter on \macos.
*/
diff --git a/src/gui/doc/src/dontdocument.qdoc b/src/gui/doc/src/dontdocument.qdoc
index 6711644359..5f19ea9e73 100644
--- a/src/gui/doc/src/dontdocument.qdoc
+++ b/src/gui/doc/src/dontdocument.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\dontdocument (QTypeInfo QScreenOrientationChangeEvent QApplicationStateChangeEvent
diff --git a/src/gui/doc/src/external-resources.qdoc b/src/gui/doc/src/external-resources.qdoc
index d58230ed2b..16bca2475d 100644
--- a/src/gui/doc/src/external-resources.qdoc
+++ b/src/gui/doc/src/external-resources.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
@@ -32,7 +8,7 @@
*/
/*!
- \externalpage http://www.linux-foundation.org/en/Accessibility/IAccessible2
+ \externalpage https://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/index.html
\title IAccessible2 Specification
*/
@@ -53,15 +29,24 @@
/*!
\externalpage https://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
- \title Icon Theme Specification
+ \title Freedesktop Icon Theme Specification
*/
/*!
+ \externalpage https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
+ \title Freedesktop Icon Naming Specification
+*/
+/*!
\externalpage https://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html#directory_layout
\title Icon Theme Specification - Directory Layout
*/
/*!
+ \externalpage https://freedesktop.org/
+ \title Freedesktop
+*/
+
+/*!
\externalpage https://www.khronos.org/vulkan/
\title Vulkan
*/
@@ -70,3 +55,13 @@
\externalpage https://www.lunarg.com/vulkan-sdk/
\title LunarG Vulkan SDK
*/
+
+/*!
+ \externalpage https://developer.android.com/reference/androidx/core/content/FileProvider
+ \title Android: FileProvider
+*/
+
+/*!
+ \externalpage https://developer.android.com/training/secure-file-sharing/setup-sharing.html
+ \title Android: Setting up file sharing
+*/
diff --git a/src/gui/doc/src/includes/qt-colors.qdocinc b/src/gui/doc/src/includes/qt-colors.qdocinc
index 4c082323b6..d98c0a908a 100644
--- a/src/gui/doc/src/includes/qt-colors.qdocinc
+++ b/src/gui/doc/src/includes/qt-colors.qdocinc
@@ -3,84 +3,105 @@
\li Name
\li Hex
\li Color
+
\row
\li Color0
\li #000000
\li \svgcolor {#000000}
+
\row
\li Color1
\li #ffffff
\li \svgcolor {#ffffff}
+
\row
\li Black
\li #000000
\li \svgcolor {#000000}
+
\row
\li White
\li #ffffff
\li \svgcolor {#ffffff}
+
\row
\li DarkGray
\li #808080
\li \svgcolor {#808080}
+
\row
\li Gray
\li #a0a0a4
\li \svgcolor {#a0a0a4}
+
\row
\li LightGray
\li #c0c0c0
\li \svgcolor {#c0c0c0}
+
\row
\li Red
\li #ff0000
\li \svgcolor {#ff0000}
+
\row
\li Green
\li #00ff00
\li \svgcolor {#00ff00}
+
\row
\li Blue
\li #0000ff
\li \svgcolor {#0000ff}
+
\row
\li Cyan
\li #00ffff
\li \svgcolor {#00ffff}
+
\row
\li Magenta
\li #ff00ff
\li \svgcolor {#ff00ff}
+
\row
\li Yellow
\li #ffff00
\li \svgcolor {#ffff00}
+
\row
\li DarkRed
\li #800000
\li \svgcolor {#800000}
+
\row
\li DarkGreen
\li #008000
\li \svgcolor {#008000}
+
\row
\li DarkBlue
\li #000080
\li \svgcolor {#000080}
+
\row
\li DarkCyan
\li #008080
\li \svgcolor {#008080}
+
\row
\li DarkMagenta
\li #800080
\li \svgcolor {#800080}
+
\row
\li DarkYellow
\li #808000
\li \svgcolor {#808000}
+
\row
\li Transparent
\li #00000000
\li (transparent)
+
\endtable
diff --git a/src/gui/doc/src/includes/svg-colors.qdocinc b/src/gui/doc/src/includes/svg-colors.qdocinc
index 4e5fb56d5e..c28cbabbf7 100644
--- a/src/gui/doc/src/includes/svg-colors.qdocinc
+++ b/src/gui/doc/src/includes/svg-colors.qdocinc
@@ -3,592 +3,740 @@
\li Name
\li Hex
\li Color
+
\row
\li aliceblue
\li #f0f8ff
\li \svgcolor {#f0f8ff}
+
\row
\li antiquewhite
\li #faebd7
\li \svgcolor {#faebd7}
+
\row
\li aqua
\li #00ffff
\li \svgcolor {#00ffff}
+
\row
\li aquamarine
\li #7fffd4
\li \svgcolor {#7fffd4}
+
\row
\li azure
\li #f0ffff
\li \svgcolor {#f0ffff}
+
\row
\li beige
\li #f5f5dc
\li \svgcolor {#f5f5dc}
+
\row
\li bisque
\li #ffe4c4
\li \svgcolor {#ffe4c4}
+
\row
\li black
\li #000000
\li \svgcolor {#000000}
+
\row
\li blanchedalmond
\li #ffebcd
\li \svgcolor {#ffebcd}
+
\row
\li blue
\li #0000ff
\li \svgcolor {#0000ff}
+
\row
\li blueviolet
\li #8a2be2
\li \svgcolor {#8a2be2}
+
\row
\li brown
\li #a52a2a
\li \svgcolor {#a52a2a}
+
\row
\li burlywood
\li #deb887
\li \svgcolor {#deb887}
+
\row
\li cadetblue
\li #5f9ea0
\li \svgcolor {#5f9ea0}
+
\row
\li chartreuse
\li #7fff00
\li \svgcolor {#7fff00}
+
\row
\li chocolate
\li #d2691e
\li \svgcolor {#d2691e}
+
\row
\li coral
\li #ff7f50
\li \svgcolor {#ff7f50}
+
\row
\li cornflowerblue
\li #6495ed
\li \svgcolor {#6495ed}
+
\row
\li cornsilk
\li #fff8dc
\li \svgcolor {#fff8dc}
+
\row
\li crimson
\li #dc143c
\li \svgcolor {#dc143c}
+
\row
\li cyan
\li #00ffff
\li \svgcolor {#00ffff}
+
\row
\li darkblue
\li #00008b
\li \svgcolor {#00008b}
+
\row
\li darkcyan
\li #008b8b
\li \svgcolor {#008b8b}
+
\row
\li darkgoldenrod
\li #b8860b
\li \svgcolor {#b8860b}
+
\row
\li darkgray
\li #a9a9a9
\li \svgcolor {#a9a9a9}
+
\row
\li darkgreen
\li #006400
\li \svgcolor {#006400}
+
\row
\li darkgrey
\li #a9a9a9
\li \svgcolor {#a9a9a9}
+
\row
\li darkkhaki
\li #bdb76b
\li \svgcolor {#bdb76b}
+
\row
\li darkmagenta
\li #8b008b
\li \svgcolor {#8b008b}
+
\row
\li darkolivegreen
\li #556b2f
\li \svgcolor {#556b2f}
+
\row
\li darkorange
\li #ff8c00
\li \svgcolor {#ff8c00}
+
\row
\li darkorchid
\li #9932cc
\li \svgcolor {#9932cc}
+
\row
\li darkred
\li #8b0000
\li \svgcolor {#8b0000}
+
\row
\li darksalmon
\li #e9967a
\li \svgcolor {#e9967a}
+
\row
\li darkseagreen
\li #8fbc8f
\li \svgcolor {#8fbc8f}
+
\row
\li darkslateblue
\li #483d8b
\li \svgcolor {#483d8b}
+
\row
\li darkslategray
\li #2f4f4f
\li \svgcolor {#2f4f4f}
+
\row
\li darkslategrey
\li #2f4f4f
\li \svgcolor {#2f4f4f}
+
\row
\li darkturquoise
\li #00ced1
\li \svgcolor {#00ced1}
+
\row
\li darkviolet
\li #9400d3
\li \svgcolor {#9400d3}
+
\row
\li deeppink
\li #ff1493
\li \svgcolor {#ff1493}
+
\row
\li deepskyblue
\li #00bfff
\li \svgcolor {#00bfff}
+
\row
\li dimgray
\li #696969
\li \svgcolor {#696969}
+
\row
\li dimgrey
\li #696969
\li \svgcolor {#696969}
+
\row
\li dodgerblue
\li #1e90ff
\li \svgcolor {#1e90ff}
+
\row
\li firebrick
\li #b22222
\li \svgcolor {#b22222}
+
\row
\li floralwhite
\li #fffaf0
\li \svgcolor {#fffaf0}
+
\row
\li forestgreen
\li #228b22
\li \svgcolor {#228b22}
+
\row
\li fuchsia
\li #ff00ff
\li \svgcolor {#ff00ff}
+
\row
\li gainsboro
\li #dcdcdc
\li \svgcolor {#dcdcdc}
+
\row
\li ghostwhite
\li #f8f8ff
\li \svgcolor {#f8f8ff}
+
\row
\li gold
\li #ffd700
\li \svgcolor {#ffd700}
+
\row
\li goldenrod
\li #daa520
\li \svgcolor {#daa520}
+
\row
\li gray
\li #808080
\li \svgcolor {#808080}
+
\row
\li grey
\li #808080
\li \svgcolor {#808080}
+
\row
\li green
\li #008000
\li \svgcolor {#008000}
+
\row
\li greenyellow
\li #adff2f
\li \svgcolor {#adff2f}
+
\row
\li honeydew
\li #f0fff0
\li \svgcolor {#f0fff0}
+
\row
\li hotpink
\li #ff69b4
\li \svgcolor {#ff69b4}
+
\row
\li indianred
\li #cd5c5c
\li \svgcolor {#cd5c5c}
+
\row
\li indigo
\li #4b0082
\li \svgcolor {#4b0082}
+
\row
\li ivory
\li #fffff0
\li \svgcolor {#fffff0}
+
\row
\li khaki
\li #f0e68c
\li \svgcolor {#f0e68c}
+
\row
\li lavender
\li #e6e6fa
\li \svgcolor {#e6e6fa}
+
\row
\li lavenderblush
\li #fff0f5
\li \svgcolor {#fff0f5}
+
\row
\li lawngreen
\li #7cfc00
\li \svgcolor {#7cfc00}
+
\row
\li lemonchiffon
\li #fffacd
\li \svgcolor {#fffacd}
+
\row
\li lightblue
\li #add8e6
\li \svgcolor {#add8e6}
+
\row
\li lightcoral
\li #f08080
\li \svgcolor {#f08080}
+
\row
\li lightcyan
\li #e0ffff
\li \svgcolor {#e0ffff}
+
\row
\li lightgoldenrodyellow
\li #fafad2
\li \svgcolor {#fafad2}
+
\row
\li lightgray
\li #d3d3d3
\li \svgcolor {#d3d3d3}
+
\row
\li lightgreen
\li #90ee90
\li \svgcolor {#90ee90}
+
\row
\li lightgrey
\li #d3d3d3
\li \svgcolor {#d3d3d3}
+
\row
\li lightpink
\li #ffb6c1
\li \svgcolor {#ffb6c1}
+
\row
\li lightsalmon
\li #ffa07a
\li \svgcolor {#ffa07a}
+
\row
\li lightseagreen
\li #20b2aa
\li \svgcolor {#20b2aa}
+
\row
\li lightskyblue
\li #87cefa
\li \svgcolor {#87cefa}
+
\row
\li lightslategray
\li #778899
\li \svgcolor {#778899}
+
\row
\li lightslategrey
\li #778899
\li \svgcolor {#778899}
+
\row
\li lightsteelblue
\li #b0c4de
\li \svgcolor {#b0c4de}
+
\row
\li lightyellow
\li #ffffe0
\li \svgcolor {#ffffe0}
+
\row
\li lime
\li #00ff00
\li \svgcolor {#00ff00}
+
\row
\li limegreen
\li #32cd32
\li \svgcolor {#32cd32}
+
\row
\li linen
\li #faf0e6
\li \svgcolor {#faf0e6}
+
\row
\li magenta
\li #ff00ff
\li \svgcolor {#ff00ff}
+
\row
\li maroon
\li #800000
\li \svgcolor {#800000}
+
\row
\li mediumaquamarine
\li #66cdaa
\li \svgcolor {#66cdaa}
+
\row
\li mediumblue
\li #0000cd
\li \svgcolor {#0000cd}
+
\row
\li mediumorchid
\li #ba55d3
\li \svgcolor {#ba55d3}
+
\row
\li mediumpurple
\li #9370db
\li \svgcolor {#9370db}
+
\row
\li mediumseagreen
\li #3cb371
\li \svgcolor {#3cb371}
+
\row
\li mediumslateblue
\li #7b68ee
\li \svgcolor {#7b68ee}
+
\row
\li mediumspringgreen
\li #00fa9a
\li \svgcolor {#00fa9a}
+
\row
\li mediumturquoise
\li #48d1cc
\li \svgcolor {#48d1cc}
+
\row
\li mediumvioletred
\li #c71585
\li \svgcolor {#c71585}
+
\row
\li midnightblue
\li #191970
\li \svgcolor {#191970}
+
\row
\li mintcream
\li #f5fffa
\li \svgcolor {#f5fffa}
+
\row
\li mistyrose
\li #ffe4e1
\li \svgcolor {#ffe4e1}
+
\row
\li moccasin
\li #ffe4b5
\li \svgcolor {#ffe4b5}
+
\row
\li navajowhite
\li #ffdead
\li \svgcolor {#ffdead}
+
\row
\li navy
\li #000080
\li \svgcolor {#000080}
+
\row
\li oldlace
\li #fdf5e6
\li \svgcolor {#fdf5e6}
+
\row
\li olive
\li #808000
\li \svgcolor {#808000}
+
\row
\li olivedrab
\li #6b8e23
\li \svgcolor {#6b8e23}
+
\row
\li orange
\li #ffa500
\li \svgcolor {#ffa500}
+
\row
\li orangered
\li #ff4500
\li \svgcolor {#ff4500}
+
\row
\li orchid
\li #da70d6
\li \svgcolor {#da70d6}
+
\row
\li palegoldenrod
\li #eee8aa
\li \svgcolor {#eee8aa}
+
\row
\li palegreen
\li #98fb98
\li \svgcolor {#98fb98}
+
\row
\li paleturquoise
\li #afeeee
\li \svgcolor {#afeeee}
+
\row
\li palevioletred
\li #db7093
\li \svgcolor {#db7093}
+
\row
\li papayawhip
\li #ffefd5
\li \svgcolor {#ffefd5}
+
\row
\li peachpuff
\li #ffdab9
\li \svgcolor {#ffdab9}
+
\row
\li peru
\li #cd853f
\li \svgcolor {#cd853f}
+
\row
\li pink
\li #ffc0cb
\li \svgcolor {#ffc0cb}
+
\row
\li plum
\li #dda0dd
\li \svgcolor {#dda0dd}
+
\row
\li powderblue
\li #b0e0e6
\li \svgcolor {#b0e0e6}
+
\row
\li purple
\li #800080
\li \svgcolor {#800080}
+
\row
\li red
\li #ff0000
\li \svgcolor {#ff0000}
+
\row
\li rosybrown
\li #bc8f8f
\li \svgcolor {#bc8f8f}
+
\row
\li royalblue
\li #4169e1
\li \svgcolor {#4169e1}
+
\row
\li saddlebrown
\li #8b4513
\li \svgcolor {#8b4513}
+
\row
\li salmon
\li #fa8072
\li \svgcolor {#fa8072}
+
\row
\li sandybrown
\li #f4a460
\li \svgcolor {#f4a460}
+
\row
\li seagreen
\li #2e8b57
\li \svgcolor {#2e8b57}
+
\row
\li seashell
\li #fff5ee
\li \svgcolor {#fff5ee}
+
\row
\li sienna
\li #a0522d
\li \svgcolor {#a0522d}
+
\row
\li silver
\li #c0c0c0
\li \svgcolor {#c0c0c0}
+
\row
\li skyblue
\li #87ceeb
\li \svgcolor {#87ceeb}
+
\row
\li slateblue
\li #6a5acd
\li \svgcolor {#6a5acd}
+
\row
\li slategray
\li #708090
\li \svgcolor {#708090}
+
\row
\li slategrey
\li #708090
\li \svgcolor {#708090}
+
\row
\li snow
\li #fffafa
\li \svgcolor {#fffafa}
+
\row
\li springgreen
\li #00ff7f
\li \svgcolor {#00ff7f}
+
\row
\li steelblue
\li #4682b4
\li \svgcolor {#4682b4}
+
\row
\li tan
\li #d2b48c
\li \svgcolor {#d2b48c}
+
\row
\li teal
\li #008080
\li \svgcolor {#008080}
+
\row
\li thistle
\li #d8bfd8
\li \svgcolor {#d8bfd8}
+
\row
\li tomato
\li #ff6347
\li \svgcolor {#ff6347}
+
\row
\li turquoise
\li #40e0d0
\li \svgcolor {#40e0d0}
+
\row
\li violet
\li #ee82ee
\li \svgcolor {#ee82ee}
+
\row
\li wheat
\li #f5deb3
\li \svgcolor {#f5deb3}
+
\row
\li white
\li #ffffff
\li \svgcolor {#ffffff}
+
\row
\li whitesmoke
\li #f5f5f5
\li \svgcolor {#f5f5f5}
+
\row
\li yellow
\li #ffff00
\li \svgcolor {#ffff00}
+
\row
\li yellowgreen
\li #9acd32
\li \svgcolor {#9acd32}
+
\endtable
diff --git a/src/gui/doc/src/paintsystem.qdoc b/src/gui/doc/src/paintsystem.qdoc
index 163c0252da..f3a5248db1 100644
--- a/src/gui/doc/src/paintsystem.qdoc
+++ b/src/gui/doc/src/paintsystem.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\group painting
diff --git a/src/gui/doc/src/qt6-changes.qdoc b/src/gui/doc/src/qt6-changes.qdoc
index e66b53c081..60e1bffba8 100644
--- a/src/gui/doc/src/qt6-changes.qdoc
+++ b/src/gui/doc/src/qt6-changes.qdoc
@@ -1,35 +1,11 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2020 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\page gui-changes-qt6.html
\title Changes to Qt GUI
\ingroup changes-qt-5-to-6
- \brief Migrate Qt GUI to Qt 6.
+ \brief Kernel, Text, Painting, and Utility classes are modified.
Qt 6 is a result of the conscious effort to make the framework more
efficient and easy to use.
@@ -138,4 +114,38 @@
Metal, in addition to OpenGL. On Windows the default choice is Direct 3D,
therefore the removal of ANGLE is alleviated by having support for graphics
APIs other than OpenGL as well.
+
+ \section2 Native clipboard integration
+
+ Qt 5 provided interfaces for integrating platform specific or custom
+ clipboard formats into Qt through \c QMacPasteboardMime in \c QtMacExtras,
+ and \c QWindowsMime from the Windows QPA API. Since Qt 6.6, the
+ equivalent functionality is provided by the classes QUtiMimeConverter for
+ \macos, and the QWindowsMimeConverter for Windows.
+
+ Porting from QWindowsMime to QWindowsMimeConverter requires practically no
+ changes, as the virtual interface is identical. However, in Qt 6 it is no
+ longer needed to register a QWindowsMimeConverter implementation;
+ instantiating the type implicitly registers the converter.
+
+ Porting a QMacPasteboardMime to QUtiMimeConverter requires renaming some of
+ the virtual functions. Note that the \c{QMacPasteboardMime} API used the
+ outdated term \c{flavor} for the native clipboard format on \macos, whereas
+ the platform now uses \c{Uniform Type Identifiers}, i.e. \c{UTI}s, which Qt
+ has adapted for function and parameter names.
+
+ The \c{mimeFor} and \c{flavorFor} functions are replaced by the
+ \l{QUtiMimeConverter::}{mimeForUti} and \l{QUtiMimeConverter::}{utiForMime}
+ implementations, respectively. Those should return the name of the mime
+ type or \c{UTI} that the converter can convert the input format to, so a
+ port usually just involves renaming existing overrides. The
+ \c{convertToMime}, \c{convertFromMime}, and \c{count} functions in
+ QUtiMimeConverter are identical to their QMacPasteboardMime versions.
+
+ The \c{canConvert}, \c{converterName} functions are no longer needed, they
+ are implied by implementation of the above functions, so overrides of those
+ functions can be removed.
+
+ As with the the QWindowsMimeConverter, registration is done by instantiating
+ the type.
*/
diff --git a/src/gui/doc/src/qtgui-overview.qdoc b/src/gui/doc/src/qtgui-overview.qdoc
new file mode 100644
index 0000000000..446479c9be
--- /dev/null
+++ b/src/gui/doc/src/qtgui-overview.qdoc
@@ -0,0 +1,187 @@
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page qtgui-overview.html
+ \title Qt GUI Overview
+ \brief An overview of the Qt GUI module.
+
+ The Qt GUI module provides classes for windowing system integration, event
+ handling, OpenGL and OpenGL ES integration, 2D graphics, basic imaging,
+ fonts, and text. These classes are used internally by Qt's user interface
+ technologies but can also be used directly, for example to write
+ applications using low-level OpenGL ES graphics APIs.
+
+ For application developers writing user interfaces, Qt provides higher level
+ APIs, like Qt Quick, that are much more suitable than the enablers found in
+ the Qt GUI module.
+
+ \section1 Application Windows
+
+ The most important classes in the Qt GUI module are QGuiApplication and
+ QWindow. A Qt application that wants to show content on screen has to use
+ these. QGuiApplication contains the main event loop, where all events from
+ the window system and other sources are processed and dispatched. It also
+ handles the application's initialization and finalization.
+
+ The \l QWindow class represents a window in the underlying windowing system.
+ It provides a number of virtual functions to handle events (\l {QEvent})
+ from the windowing system, such as touch-input, exposure, focus, key
+ strokes, and geometry changes.
+
+ \section1 2D Graphics
+
+ The Qt GUI module contains classes for 2D graphics, imaging, fonts,
+ and advanced typography.
+
+ A \l QWindow created with the surface type \l {QSurface::RasterSurface} can
+ be used in combination with \l {QBackingStore} and \l {QPainter}, Qt's
+ highly optimized 2D vector graphics API. QPainter supports drawing lines,
+ polygons, vector paths, images, and text. For more information, see \l{Paint
+ System} and \l {Raster Window Example}.
+
+ Qt can load and save images using the \l QImage and \l QPixmap classes. By
+ default, Qt supports the most common image formats including JPEG and PNG
+ among others. Users can add support for additional formats via the \l
+ QImageIOPlugin class. For more information, see \l {Reading and Writing
+ Image Files}.
+
+ Typography in Qt is done with \l QTextDocument, which uses the \l QPainter
+ API in combination with Qt's font classes, primarily QFont. Applications
+ that prefer more low-level APIs to text and font handling can use classes
+ like QRawFont and QGlyphRun.
+
+ \section1 RHI Graphics
+
+ The Qt Rendering Hardware Interface is an abstraction for hardware accelerated
+ graphics APIs, such as, \l{https://www.khronos.org/opengl/}{OpenGL},
+ \l{https://www.khronos.org/opengles/}{OpenGL ES},
+ \l{https://docs.microsoft.com/en-us/windows/desktop/direct3d}{Direct3D},
+ \l{https://developer.apple.com/metal/}{Metal}, and
+ \l{https://www.khronos.org/vulkan/}{Vulkan}.
+
+ As an alternative to using OpenGL or Vulkan directly to render to a
+ QWindow, \l QRhi and the related classes provide a portable, cross-platform
+ 3D graphics and compute API complemented by a shader conditioning and
+ transpiling pipeline. This way applications can avoid directly depending on
+ a single, and, in some cases, vendor or platform-specific 3D API.
+
+ Below is a list of the main RHI-related classes. These are complemented by
+ a number of additional classes and structs.
+
+ \list
+ \li QRhi
+ \li QShader
+ \li QShaderDescription
+ \li QRhiCommandBuffer
+ \li QRhiResourceUpdateBatch
+ \li QRhiBuffer
+ \li QRhiRenderBuffer
+ \li QRhiTexture
+ \li QRhiSampler
+ \li QRhiTextureRenderTarget
+ \li QRhiShaderResourceBindings
+ \li QRhiGraphicsPipeline
+ \li QRhiComputePipeline
+ \li QRhiSwapChain
+ \endlist
+
+ See the \l{RHI Window Example} for an introductory example of creating a
+ portable, cross-platform application that performs accelerated 3D rendering
+ onto a QWindow using QRhi.
+
+ Working directly with QWindow is the most advanced and often the most
+ flexible way of rendering with the QRhi API. It is the most low-level
+ approach, however, and limited in the sense that Qt's UI technologies,
+ widgets and Qt Quick, are not utilized at all. In many cases applications
+ will rather want to integrate QRhi-based rendering into a widget or Qt
+ Quick-based user interface. QWidget-based applications may choose to embed
+ the window as a native child into the widget hierarchy via
+ QWidget::createWindowContainer(), but in many cases \l QRhiWidget will
+ offer a more convenient enabler to integrate QRhi-based rendering into a
+ widget UI. Qt Quick provides its own set of enablers for extending the
+ 2D/3D scene with QRhi-based custom rendering.
+
+ \note The RHI family of APIs are currently offered with a limited
+ compatibility guarantee, as opposed to regular Qt public APIs. See \l QRhi
+ for details.
+
+ \section1 3D Matrix and Vector Math
+
+ The Qt GUI module also contains a few math classes to aid with the most
+ common mathematical operations related to 3D graphics. These classes
+ include \l {QMatrix4x4}, \l {QVector2D}, \l {QVector3D}, \l {QVector4D},
+ and \l {QQuaternion}.
+
+ \section1 OpenGL and OpenGL ES Integration
+
+ QWindow supports rendering using OpenGL and OpenGL ES, depending on what the
+ platform supports. OpenGL rendering is enabled by setting the QWindow's
+ surface type to QSurface::OpenGLSurface, choosing the format attributes with
+ QSurfaceFormat, and then creating a QOpenGLContext to manage the native
+ OpenGL context. In addition, Qt has QOpenGLPaintDevice, which enables the
+ use of OpenGL accelerated QPainter rendering, as well as convenience classes
+ that simplify the writing of OpenGL code and hides the complexities of
+ extension handling and the differences between OpenGL ES 2 and desktop
+ OpenGL. The convenience classes include QOpenGLFunctions that lets an
+ application use all the OpenGL ES 2 functions on desktop OpenGL without
+ having to manually resolve the OpenGL function pointers. This enables
+ cross-platform development of applications targeting mobile or embedded
+ devices, and provides classes that wrap native OpenGL functionality in a
+ simpler Qt API:
+
+ \list
+ \li QOpenGLBuffer
+ \li QOpenGLFramebufferObject
+ \li QOpenGLShaderProgram
+ \li QOpenGLTexture
+ \li QOpenGLDebugLogger
+ \li QOpenGLTimerQuery
+ \li QOpenGLVertexArrayObject
+ \endlist
+
+ Finally, to provide better support for the newer versions (3.0 and
+ higher) of OpenGL, a versioned function wrapper mechanism is also available:
+ The QOpenGLFunction_N_N family of classes expose all the functions in a
+ given OpenGL version and profile, allowing easy development of desktop
+ applications that rely on modern, desktop-only OpenGL features.
+
+ For more information, see the \l {OpenGL Window Example}.
+
+ A \l {QWindow} created with the \l {QSurface::OpenGLSurface} can be used in
+ combination with \l QPainter and \l QOpenGLPaintDevice to have OpenGL
+ hardware-accelerated 2D graphics by sacrificing some of the visual quality.
+
+ \section1 Vulkan Integration
+
+ Qt GUI has support for the \l {Vulkan} API. Qt applications require the
+ presence of the \l{LunarG Vulkan SDK}.
+
+ On Windows, the SDK sets the environment variable \c {VULKAN_SDK},
+ which will be detected by the \c {configure} script.
+
+ On Android, Vulkan headers were added in API level 24 of the NDK.
+
+ The main relevant classes for low-level Vulkan support are:
+
+ \list
+ \li QVulkanInstance
+ \li QVulkanFunctions
+ \li QVulkanDeviceFunctions
+ \endlist
+
+ In addition, \l QVulkanWindow provides a convenience subclass of QWindow
+ that makes it easier to get started with implementing Vulkan-based
+ rendering targeting a QWindow. Using this helper class is completely
+ optional; applications with more advanced Vulkan-based renderers may
+ instead want to use a QWindow with the \l {QSurface::VulkanSurface} type
+ directly.
+
+ For more information, see the \l{Hello Vulkan Widget Example}
+ and the \l {Hello Vulkan Triangle Example}.
+
+ \section1 Drag and Drop
+
+ Qt GUI includes support for drag and drop. The \l{Drag and Drop} overview
+ has more information.
+*/
diff --git a/src/gui/doc/src/qtgui.qdoc b/src/gui/doc/src/qtgui.qdoc
index bba6fa9fb5..2a1d69d4d3 100644
--- a/src/gui/doc/src/qtgui.qdoc
+++ b/src/gui/doc/src/qtgui.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\module QtGui
@@ -39,26 +15,46 @@
*/
/*!
+ \module QtGuiPrivate
+ \title Qt GUI Private C++ Classes
+ \qtcmakepackage Gui
+ \qtvariable gui-private
+
+ \brief Provides access to private GUI functionality.
+
+ Use the following CMake commands in your \c {CMakeLists.txt} to access
+ private Qt GUI APIs:
+
+ \badcode
+ find_package(Qt6 REQUIRED COMPONENTS Gui)
+ target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate)
+ \endcode
+*/
+
+/*!
\page qtgui-index.html
\title Qt GUI
The Qt GUI module provides classes for windowing system
integration, event handling, OpenGL and OpenGL ES integration, 2D
- graphics, basic imaging, fonts and text. These classes are used
- internally by Qt's user interface technologies and can also be
- used directly, for instance to write applications using low-level
+ graphics, basic imaging, fonts, and text. These classes are used
+ internally by Qt's user interface technologies but can also be
+ used directly, for example to write applications using low-level
OpenGL ES graphics APIs.
For application developers writing user interfaces, Qt provides
- higher level API's, like Qt Quick, that are much more suitable
+ higher level APIs, like Qt Quick, that are much more suitable
than the enablers found in the Qt GUI module.
\if !defined(qtforpython)
- \include module-use.qdocinc using qt module
- \quotefile overview/using-qt-gui.cmake
+ \section1 Using the Module
+
+ \include {module-use.qdocinc} {using the c++ api}
- See also the \l {Build with CMake} overview.
+ \section2 Building with CMake
+
+ \include {module-use.qdocinc} {building with cmake} {Gui}
\section2 Building with qmake
@@ -68,125 +64,34 @@
\snippet code/doc_src_qtgui.pro 1
\endif
- \section1 Application Windows
-
- The most important classes in the Qt GUI module are
- QGuiApplication and QWindow. A Qt application that wants to show
- content on screen, will need to make use of these. QGuiApplication
- contains the main event loop, where all events from the window
- system and other sources are processed and dispatched. It also
- handles the application's initialization and finalization.
-
- The \l QWindow class represents a window in the underlying
- windowing system. It provides a number of virtual functions to
- handle events (\l {QEvent}) from the windowing system, such as
- touch-input, exposure, focus, key strokes and geometry changes.
-
-
-
- \section1 2D Graphics
-
- The Qt GUI module contains classes for 2D graphics, imaging, fonts
- and advanced typography.
-
- A \l QWindow created with the surface type \l
- {QSurface::RasterSurface} can be used in combination with \l
- {QBackingStore} and \l {QPainter}, Qt's highly optimized 2D vector
- graphics API. QPainter supports drawing lines, polygons, vector
- paths, images and text. For more information, see \l{Paint
- System} and \l {Raster Window Example}.
-
- Qt can load and save images using the \l QImage and \l QPixmap
- classes. By default, Qt supports the most common image formats
- including JPEG and PNG among others. Users can add support for
- additional formats via the \l QImageIOPlugin class. For more
- information, see \l {Reading and Writing Image Files}
-
- Typography in Qt is done with \l QTextDocument which uses the \l
- QPainter API in combination with Qt's font classes, primarily
- QFont. Applications that prefer more low-level APIs to text
- and font handling, classes like QRawFont and QGlyphRun can be
- used.
-
- \section1 OpenGL and OpenGL ES Integration
-
- QWindow supports rendering using OpenGL and OpenGL ES, depending
- on what the platform supports. OpenGL rendering is enabled by
- setting the QWindow's surface type to QSurface::OpenGLSurface,
- choosing the format attributes with QSurfaceFormat, and then
- creating a QOpenGLContext to manage the native OpenGL context. In
- addition, Qt has QOpenGLPaintDevice, which enables the use of
- OpenGL accelerated QPainter rendering, as well as convenience
- classes that simplify the writing of OpenGL code and hides the
- complexities of extension handling and the differences between
- OpenGL ES 2 and desktop OpenGL. The convenience classes include
- QOpenGLFunctions that lets an application use all the OpenGL ES 2
- functions on desktop OpenGL without having to manually resolve the
- OpenGL function pointers, thus allowing cross-platform development
- of applications targeting mobile or embedded devices, and some
- classes that wrap native OpenGL functionality in a simpler Qt API:
+ \section1 Articles and Guides
\list
- \li QOpenGLBuffer
- \li QOpenGLFramebufferObject
- \li QOpenGLShaderProgram
- \li QOpenGLTexture
- \li QOpenGLDebugLogger
- \li QOpenGLTimerQuery
- \li QOpenGLVertexArrayObject
+ \li \l {Qt GUI Overview}
+ \list
+ \li \l {Application Windows} {Qt GUI Application Windows}
+ \li \l {2D Graphics} {Qt GUI 2D Graphics}
+ \li \l {RHI Graphics} {Qt GUI Accelerated 2D and 3D Graphics using the Qt RHI}
+ \li \l {3D Matrix and Vector Math} {Qt GUI Matrix and Vector Math}
+ \li \l {OpenGL and OpenGL ES Integration}
+ {Qt GUI OpenGL and OpenGL ES Integration}
+ \li \l {Vulkan Integration} {Qt GUI Vulkan Integration}
+ \endlist
\endlist
- Finally, in order to provide better support for the newer versions
- (3.0 and higher) of OpenGL, a versioned function wrapper mechanism
- is also available: The QOpenGLFunction_N_N family of classes
- expose all the functions in a given OpenGL version and profile,
- allowing easy development of desktop applications relying on
- modern, desktop-only OpenGL features.
-
- For more information, see the \l {OpenGL Window Example}.
-
- The Qt GUI module also contains a few math classes to aid with the
- most common mathematical operations related to 3D graphics. These
- classes include \l {QMatrix4x4}, \l {QVector4D} and \l {QQuaternion}
-
- A \l {QWindow} created with the \l {QSurface::OpenGLSurface} can
- be used in combination with \l QPainter and \l QOpenGLPaintDevice
- to have OpenGL hardware accelerated 2D graphics, by sacrificing
- some of the visual quality.
-
-
-
- \section1 Vulkan Integration
-
- Qt GUI has support for the \l {Vulkan} API. Qt applications require the
- presence of the \l{LunarG Vulkan SDK}.
-
- On Windows, the SDK sets the environment variable \c {VULKAN_SDK},
- which will be detected by the \c {configure} script.
-
- On Android, Vulkan headers were added in API level 24 of the NDK.
-
- Relevant classes:
+ \section1 Reference
\list
- \li QVulkanDeviceFunctions
- \li QVulkanExtension
- \li QVulkanFunctions
- \li QVulkanInfoVector
- \li QVulkanInstance
- \li QVulkanWindow
- \li QVulkanWindowRenderer
+ \li \l{Qt GUI C++ Classes}
+ \list
+ \li \l{Event Classes}
+ \li \l{Painting Classes}
+ \li \l{Rendering in 3D}
+ \endlist
\endlist
- For more information, see the \l{Hello Vulkan Widget Example}
- and the \l {Hello Vulkan Window Example}.
-
- \section1 Drag and Drop
-
- Qt GUI includes support for drag and drop. The \l{Drag and Drop} overview
- has more information.
-
\section1 Module Evolution
+
\l{Changes to Qt GUI} lists important changes in the module API
and functionality that were done for the Qt 6 series of Qt.
@@ -202,14 +107,4 @@
modules under following permissive licenses:
\generatelist{groupsbymodule attributions-qtgui}
-
- \section1 Reference
- \list
- \li \l{Qt GUI C++ Classes}
- \list
- \li \l{Event Classes}
- \li \l{Painting Classes}
- \li \l{Rendering in 3D}
- \endlist
- \endlist
*/
diff --git a/src/gui/doc/src/richtext.qdoc b/src/gui/doc/src/richtext.qdoc
index 4114067c66..10d9962850 100644
--- a/src/gui/doc/src/richtext.qdoc
+++ b/src/gui/doc/src/richtext.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\group richtext-processing
@@ -35,10 +11,9 @@
\page richtext.html
\title Rich Text Processing
\brief An overview of Qt's rich text processing, editing and display features.
-
+ \ingroup explanations-ui
\ingroup frameworks-technologies
\ingroup qt-basic-concepts
- \ingroup best-practices
\nextpage Rich Text Document Structure
@@ -863,7 +838,11 @@
\section1 Supported Tags
The following table lists the HTML tags supported by Qt's
- \l{Rich Text Processing}{rich text} engine:
+ \l{Rich Text Processing}{rich text} engine.
+
+ \note The functionality implemented for tags listed below is a subset of
+ the full HTML 4 specification. Not all attributes are supported,
+ see comments for each tag.
\table 70%
\header \li Tag