diff options
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/client/doc/qtwaylandclient.qdocconf | 31 | ||||
-rw-r--r-- | src/client/doc/src/cmake/qt_generate_wayland_protocol_client_sources.qdoc | 45 | ||||
-rw-r--r-- | src/client/doc/src/qtwaylandclient-overview.qdoc | 36 |
4 files changed, 116 insertions, 0 deletions
diff --git a/src/client/CMakeLists.txt b/src/client/CMakeLists.txt index 6d986ce8b..4916af81e 100644 --- a/src/client/CMakeLists.txt +++ b/src/client/CMakeLists.txt @@ -163,5 +163,9 @@ qt_internal_extend_target(WaylandClient CONDITION QT_FEATURE_draganddrop qwaylanddnd.cpp qwaylanddnd_p.h ) +qt_internal_add_docs(WaylandClient + doc/qtwaylandclient.qdocconf +) + qt_record_extra_qt_main_tools_package_dependency(WaylandClient WaylandScannerTools "${PROJECT_VERSION}") qt_record_extra_qt_package_dependency(WaylandClient WaylandGlobalPrivate "${PROJECT_VERSION}") diff --git a/src/client/doc/qtwaylandclient.qdocconf b/src/client/doc/qtwaylandclient.qdocconf new file mode 100644 index 000000000..20ceaef02 --- /dev/null +++ b/src/client/doc/qtwaylandclient.qdocconf @@ -0,0 +1,31 @@ +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf) +include($QT_INSTALL_DOCS/config/exampleurl-qtwayland.qdocconf) + +project = QtWaylandClient +description = Qt Wayland Client Reference Documentation +version = $QT_VERSION + +qhp.projects = QtWaylandClient + +qhp.QtWaylandClient.file = qtwaylandclient.qhp +qhp.QtWaylandClient.namespace = org.qt-project.QtWaylandClient.$QT_VERSION_TAG +qhp.QtWaylandClient.virtualFolder = QtWaylandClient +qhp.QtWaylandClient.indexTitle = Qt Wayland Client +qhp.QtWaylandClient.indexRoot = + +depends += qtcore \ + qtqml \ + qtquick \ + qtdoc \ + qtcmake \ + qtwaylandcompositor + +headerdirs += \ + ../ +sourcedirs += \ + ../ + +navigation.landingpage = "Qt Wayland Client" + +# Enforce zero documentation warnings +warninglimit = 0 diff --git a/src/client/doc/src/cmake/qt_generate_wayland_protocol_client_sources.qdoc b/src/client/doc/src/cmake/qt_generate_wayland_protocol_client_sources.qdoc new file mode 100644 index 000000000..97a7f7ed4 --- /dev/null +++ b/src/client/doc/src/cmake/qt_generate_wayland_protocol_client_sources.qdoc @@ -0,0 +1,45 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only + +/*! +\page qt-generate-wayland-protocol-client-sources.html +\ingroup cmake-commands-qtwaylandclient + +\title qt_generate_wayland_protocol_client_sources +\keyword qt6_generate_wayland_protocol_client_sources + +\summary {Generates client-side C++ bindings for a Wayland protocol .XML file} + +\cmakecommandsince 6.0 + +The command is defined in the \c WaylandClient component of the \c Qt6 package, which +can be loaded like so: + +\badcode +find_package(Qt6 REQUIRED COMPONENTS WaylandClient) +\endcode + +\section1 Synopsis + +\badcode +qt_generate_wayland_protocol_client_sources(target + FILES file1.xml [file2.xml ...]) +\endcode + +\versionlessCMakeCommandsNote qt6_generate_wayland_protocol_client_sources() + +\section1 Description + +qt_generate_wayland_protocol_client_sources() creates the build steps to run \c{waylandscanner} and +\c{qtwaylandscanner} on one or more Wayland protocol files. The tools will in turn generate binding +code in C and C++ for implementing the protocols, and the resulting files will be built as part +of the \c target. + +qt_generate_wayland_protocol_client_sources() will trigger generation of the files needed to +implement the client side of the protocol. \l{qt_generate_wayland_protocol_server_sources}{qt_generate_wayland_protocol_server_sources()} +is the equivalent function for the compositor. + +See the \l{Custom Shell} or \l{Custom Extension} examples for a demonstration of how to use these +functions. +*/ + diff --git a/src/client/doc/src/qtwaylandclient-overview.qdoc b/src/client/doc/src/qtwaylandclient-overview.qdoc new file mode 100644 index 000000000..a6f5ce56a --- /dev/null +++ b/src/client/doc/src/qtwaylandclient-overview.qdoc @@ -0,0 +1,36 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only + +/*! + \page qtwaylandclient-index.html + \title Qt Wayland Client + \brief Library to enable connecting to a Wayland compositor as a client + + The Qt Wayland Client library provides the necessary functions for an application to act + as a \l {https://wayland.freedesktop.org/}{Wayland} client and connect to a Wayland compositor. + For most use cases, the library is used automatically through the Wayland QPA plugin, and there is + no need for the application itself to use any functions from the library. + + However, when paired with \l{Qt Wayland Compositor}, the cmake function + \l{qt_generate_wayland_protocol_client_sources}{qt_generate_wayland_protocol_client_sources()} + can be used to create custom protocol extensions. + + \section1 Licenses and Attributions + + Qt Wayland Compositor and the Qt Wayland integration plugin + are available under commercial licenses from \l{The Qt Company}. + + In addition, Qt Wayland Compositor is available under the + \l{GNU General Public License, version 3}, while + the Qt Wayland integration plugin is available under the + \l{GNU Lesser General Public License, version 3} or the + \l{GNU General Public License, version 2}. + + See \l{Qt Licensing} for further details. + + Qt Wayland Compositor and the Qt Wayland integration plugin + use protocol definitions under following permissive licenses: + + \generatelist{groupsbymodule attributions-qtwaylandcompositor} + +*/ |