QWaylandSurface Class
La classe QWaylandSurface représente une zone rectangulaire sur un périphérique de sortie. En savoir plus...
| En-tête : | #include <QWaylandSurface> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor) target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
| qmake : | QT += waylandcompositor |
| En QML : | WaylandSurface |
| Hérite de : | QWaylandObject |
Types publics
| enum | Origin { OriginTopLeft, OriginBottomLeft } |
Propriétés
|
|
Fonctions publiques
| QWaylandSurface() | |
| QWaylandSurface(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version) | |
| virtual | ~QWaylandSurface() override |
| int | bufferScale() const |
| QSize | bufferSize() const |
| QWaylandClient * | client() const |
| QWaylandCompositor * | compositor() const |
| Qt::ScreenOrientation | contentOrientation() const |
| QSize | destinationSize() const |
| void | destroy() |
| void | frameStarted() |
| bool | hasContent() const |
| bool | inhibitsIdle() const |
| void | initialize(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version) |
| bool | inputRegionContains(const QPoint &p) const |
| bool | inputRegionContains(const QPointF &position) const |
| bool | isCursorSurface() const |
| bool | isDestroyed() const |
| bool | isInitialized() const |
| bool | isOpaque() const |
| void | markAsCursorSurface(bool cursorSurface) |
| QWaylandSurface::Origin | origin() const |
| QWaylandView * | primaryView() const |
| struct wl_resource * | resource() const |
| void | sendFrameCallbacks() |
| void | setPrimaryView(QWaylandView *view) |
| bool | setRole(QWaylandSurfaceRole *role, wl_resource *errorResource, uint32_t errorCode) |
| QRectF | sourceGeometry() const |
| QList<QWaylandView *> | views() const |
| wl_client * | waylandClient() const |
Emplacements publics
| void | updateSelection() |
Signaux
| void | bufferScaleChanged() |
| void | bufferSizeChanged() |
| void | childAdded(QWaylandSurface *child) |
| void | contentOrientationChanged() |
| void | cursorSurfaceChanged() |
| void | destinationSizeChanged() |
| void | dragStarted(QWaylandDrag *drag) |
| void | hasContentChanged() |
| void | inhibitsIdleChanged() |
| void | isOpaqueChanged() |
| void | originChanged() |
| void | sourceGeometryChanged() |
| void | surfaceDestroyed() |
Membres publics statiques
| QWaylandSurface * | fromResource(wl_resource *resource) |
Description détaillée
Cette classe encapsule une zone rectangulaire de pixels affichée sur un périphérique de sortie. Elle correspond à l’interface wl_surface du protocole Wayland.
Documentation sur les types de membres
enum QWaylandSurface::Origin
Ce type d'énumération sert à préciser l'origine du tampon d'une « QWaylandSurface ».
| Constante | Valeur | Description |
|---|---|---|
QWaylandSurface::OriginTopLeft | 0 | L'origine correspond au coin supérieur gauche du tampon. |
QWaylandSurface::OriginBottomLeft | 1 | L'origine est le coin inférieur gauche du tampon. |
Documentation sur les propriétés
[read-only] bufferScale : int
Cette propriété contient l'échelle de la zone tampon de l'QWaylandSurface. L'échelle de la zone tampon permet à un client de fournir des données de zone tampon à plus haute résolution destinées à être utilisées sur des sorties haute résolution.
Fonctions d'accès :
| int | bufferScale() const |
Signal de notification :
| void | bufferScaleChanged() |
[read-only] bufferSize : QSize
Cette propriété contient la taille du tampon actuel de cet QWaylandSurface en pixels, et non en coordonnées de surface.
Pour obtenir la taille en coordonnées de surface, utilisez plutôt la propriété « destinationSize ».
Fonctions d'accès :
| QSize | bufferSize() const |
Signal de notification :
| void | bufferSizeChanged() |
Voir également destinationSize et bufferScale.
[read-only] client : QWaylandClient* const
Cette propriété contient le client utilisant cette QWaylandSurface.
Fonctions d'accès :
| QWaylandClient * | client() const |
[read-only] contentOrientation : Qt::ScreenOrientation
Cette propriété définit l'orientation du contenu de l'QWaylandSurface.
Fonctions d'accès :
| Qt::ScreenOrientation | contentOrientation() const |
Signal de notification :
| void | contentOrientationChanged() |
Voir aussi QWaylandOutput::transform.
cursorSurface : bool
Cette propriété indique si l’ QWaylandSurface est une surface de curseur.
Fonctions d'accès :
| bool | isCursorSurface() const |
| void | markAsCursorSurface(bool cursorSurface) |
Signal de notification :
| void | cursorSurfaceChanged() |
[read-only] destinationSize : QSize
Cette propriété contient la taille de cette WaylandSurface en coordonnées de surface.
Fonctions d'accès :
| QSize | destinationSize() const |
Signal de notification :
| void | destinationSizeChanged() |
Voir également « bufferScale » et « bufferSize ».
[read-only] hasContent : bool
Cette propriété indique si la surface dispose actuellement d'un tampon validé et non nul.
Fonctions d’accès :
| bool | hasContent() const |
Signal de notification :
| void | hasContentChanged() |
Voir aussi QWaylandSurface::bufferSize.
[read-only] inhibitsIdle : bool
Cette propriété indique si cette surface est destinée à empêcher les comportements par défaut du compositeur, tels que la mise en veille de l'écran, son verrouillage et l'activation de l'économiseur d'écran.
Fonctions d'accès :
| bool | inhibitsIdle() const |
Signal de notification :
| void | inhibitsIdleChanged() |
Voir également QWaylandIdleInhibitManagerV1.
[read-only, since 6.4] isOpaque : bool
Cette propriété s'applique que la surface soit entièrement opaque ou non, comme indiqué par le client via la requête `set_opaque_region`.
Cette énumération a été introduite dans Qt 6.4.
Fonctions d'accès :
| bool | isOpaque() const |
Signal de notification :
| void | isOpaqueChanged() |
[read-only] origin : QWaylandSurface::Origin
Cette propriété contient l'origine du tampon de l'QWaylandSurface, ou QWaylandSurface::OriginTopLeft si la surface ne dispose pas de tampon.
Fonctions d'accès :
| QWaylandSurface::Origin | origin() const |
Signal de notification :
| void | originChanged() |
[read-only] sourceGeometry : QRectF
Cette propriété décrit la partie du QWaylandBuffer associé qui doit être affichée à l'écran. Les coordonnées sont calculées à partir du coin du tampon et sont mises à l'échelle selon la fonction bufferScale.
Fonctions d'accès :
| QRectF | sourceGeometry() const |
Signal de notification :
| void | sourceGeometryChanged() |
Voir également bufferScale, bufferSize et destinationSize.
Documentation des fonctions membres
QWaylandSurface::QWaylandSurface()
Crée un objet `QWaylandSurface` non initialisé.
QWaylandSurface::QWaylandSurface(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)
Crée et initialise un objet `QWaylandSurface` pour les paramètres ` compositor ` et ` client` fournis, ainsi que pour les paramètres ` id ` et ` version` fournis.
[override virtual noexcept] QWaylandSurface::~QWaylandSurface()
Supprime l'QWaylandSurface.
[signal] void QWaylandSurface::childAdded(QWaylandSurface *child)
Ce signal est émis lorsqu'un wl_subsurface, child, a été ajouté à la surface.
QWaylandCompositor *QWaylandSurface::compositor() const
Renvoie le compositeur associé à cette QWaylandSurface.
[invokable] void QWaylandSurface::destroy()
Supprime l'QWaylandSurface.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[signal] void QWaylandSurface::dragStarted(QWaylandDrag *drag)
Ce signal est émis lorsqu'un « drag » a été lancé depuis cette surface.
[invokable] void QWaylandSurface::frameStarted()
Prépare tous les callbacks de trame en vue de leur envoi.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[static] QWaylandSurface *QWaylandSurface::fromResource(wl_resource *resource)
Renvoie l’ QWaylandSurface e correspondant à la ressource Wayland resource.
[invokable] void QWaylandSurface::initialize(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)
Initialise l’ QWaylandSurface avec les paramètres compositor et client fournis, ainsi qu’avec les paramètres id et version fournis.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
bool QWaylandSurface::inputRegionContains(const QPoint &p) const
Renvoie « true » si la région d'entrée de l'QWaylandSurface contient le point « p ». Sinon, renvoie « false ».
bool QWaylandSurface::inputRegionContains(const QPointF &position) const
Renvoie « true » si la région d'entrée de l'QWaylandSurface contient le point « position ». Sinon, renvoie « false ».
[invokable] bool QWaylandSurface::isDestroyed() const
Renvoie « true » si l’ QWaylandSurface a été détruite. Sinon, renvoie « false ».
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
bool QWaylandSurface::isInitialized() const
Renvoie « true » si l'QWaylandSurface e a été initialisé.
QWaylandView *QWaylandSurface::primaryView() const
Renvoie la vue principale de cet objet QWaylandSurface.
Voir également QWaylandView::advance() et QWaylandSurface::setPrimaryView().
struct wl_resource *QWaylandSurface::resource() const
Renvoie la ressource Wayland correspondant à cette adresse QWaylandSurface.
[invokable] void QWaylandSurface::sendFrameCallbacks()
Envoie les callbacks des trames en attente.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
void QWaylandSurface::setPrimaryView(QWaylandView *view)
Définit la vue principale de cette surface ( QWaylandSurface) sur view, dans le cas où il existerait plusieurs vues de cette surface. La vue principale est celle qui détermine la fréquence de rafraîchissement du client. Elle se charge de supprimer les références au tampon lorsque la fonction QWaylandView::advance() est appelée. Pour plus de détails, consultez la documentation relative à la fonction QWaylandView::advance().
Dans les intégrations de surface de shell, telles que `QWaylandWlShellIntegration` et `QWaylandXdgShellV5Integration`, les requêtes d'agrandissement et de passage en plein écran provenant du client n'auront d'effet que si l'intégration dispose de la vue principale de la surface.
Voir également primaryView() et QWaylandView::advance().
bool QWaylandSurface::setRole(QWaylandSurfaceRole *role, wl_resource *errorResource, uint32_t errorCode)
Définit un « role » sur la surface. Un rôle définit la manière dont une surface sera affichée à l'écran ; sans rôle, une surface est censée être masquée. Une fois qu'un rôle est attribué à une surface, celui-ci devient son rôle permanent. Tout appel ultérieur à ` setRole() ` avec un rôle différent déclenchera une erreur de protocole vers l'errorResource et enverra un message ` errorCode ` au client. L'application de cette contrainte est l'objectif principal du rôle de surface.
La fonction ` role ` effectue une comparaison par valeur de pointeur. Deux objets de type ` QWaylandSurfaceRole `, quels que soient leurs noms, seront considérés comme des rôles différents.
Le rôle de surface est défini en interne par les implémentations de protocole lorsqu’une surface est adoptée à des fins spécifiques, par exemple dans une extension de shell. À moins que vous ne développiez des extensions utilisant les surfaces de cette manière, vous ne devez pas appeler cette fonction.
Renvoie « true » si un rôle peut être attribué ; « false » dans le cas contraire.
[signal] void QWaylandSurface::surfaceDestroyed()
Ce signal est émis lorsque la surface wl_surface correspondante est détruite.
[slot] void QWaylandSurface::updateSelection()
Met à jour la surface avec la sélection du presse-papiers conservée par le compositeur. Bien que cette opération soit effectuée automatiquement lorsque la surface reçoit le focus clavier, cette fonction est utile pour mettre à jour les clients qui ne disposent pas du focus clavier.
QList<QWaylandView *> QWaylandSurface::views() const
Renvoie les vues associées à cette QWaylandSurface.
wl_client *QWaylandSurface::waylandClient() const
Contient l’ wl_client s à l’aide de ce lien : QWaylandSurface.
© 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.