QWaylandSurfaceRole Class
La classe QWaylandSurfaceRole représente le rôle de la surface dans le contexte de wl_surface. Plus d'informations...
| En-tête : | #include <QWaylandSurfaceRole> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
| qmake : | QT += waylandcompositor |
Fonctions publiques
| QWaylandSurfaceRole(const QByteArray &name) | |
| const QByteArray | name() |
Description détaillée
QWaylandSurfaceRole est utilisé pour représenter le rôle d'une surface QWaylandSurface. Selon la spécification du protocole, le rôle d'une surface est permanent une fois qu'il a été défini, et si la même surface est réutilisée ultérieurement pour un rôle différent, cela constitue une erreur de protocole. Le fait d'attribuer plusieurs fois le même rôle à une surface ne constitue pas une erreur.
À titre d'exemple, le site QWaylandXdgShell peut attribuer des rôles "popup" ou "toplevel" aux surfaces. Si get_toplevel est demandé sur une surface qui a déjà reçu une demande get_popup, le compositeur émettra une erreur de protocole.
Les rôles sont comparés en fonction de la valeur du pointeur, de sorte que deux objets QWaylandSurfaceRole seront considérés comme des rôles différents, quelle que soit leur adresse names. Une façon typique d'attribuer un rôle est d'avoir un objet statique QWaylandSurfaceRole pour le représenter.
class MyShellSurfaceSubType { static QWaylandSurfaceRole s_role; // ... }; // ... surface->setRole(&MyShellSurfaceSubType::s_role, resource->handle, MY_ERROR_CODE);
Documentation des fonctions membres
QWaylandSurfaceRole::QWaylandSurfaceRole(const QByteArray &name)
Crée un QWaylandSurfaceRole et lui attribue name. Le nom est utilisé dans les messages d'erreur concernant ce QWaylandSurfaceRole.
const QByteArray QWaylandSurfaceRole::name()
Renvoie le nom du site QWaylandSurfaceRole. Ce nom est utilisé dans les messages d'erreur concernant ce site QWaylandSurfaceRole, par exemple en cas de tentative de modification du rôle d'une surface.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.