QWaylandSurface Class
La classe QWaylandSurface représente une zone rectangulaire sur un périphérique de sortie. Plus d'informations...
| 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éritages : | 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 qui est affichée sur un périphérique de sortie. Elle correspond à l'interface wl_surface du protocole Wayland.
Type de membre Documentation
enum QWaylandSurface::Origin
Ce type d'énumération est utilisé pour spécifier l'origine de la mémoire tampon d'un site QWaylandSurface.
| Constante | Valeur | Description de l'origine |
|---|---|---|
QWaylandSurface::OriginTopLeft | 0 | L'origine est le coin supérieur gauche du tampon. |
QWaylandSurface::OriginBottomLeft | 1 | L'origine est le coin inférieur gauche de la mémoire tampon. |
Propriété Documentation
[read-only] bufferScale : int
Cette propriété définit l'échelle de la mémoire tampon du site QWaylandSurface. L'échelle de la mémoire tampon permet à un client de fournir des données de mémoire tampon à plus haute résolution pour les utiliser 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é indique la taille de la mémoire tampon actuelle de ce site QWaylandSurface en pixels, et non en coordonnées de surface.
Pour obtenir la taille en coordonnées de surface, utilisez plutôt destinationSize.
Fonctions d'accès :
| QSize | bufferSize() const |
Signal Notifier :
| void | bufferSizeChanged() |
Voir également destinationSize et bufferScale.
[read-only] client : QWaylandClient* const
Cette propriété contient le client qui utilise ce site QWaylandSurface.
Fonctions d'accès :
| QWaylandClient * | client() const |
[read-only] contentOrientation : Qt::ScreenOrientation
Cette propriété indique l'orientation du contenu du site 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 le site 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é indique la taille de ce site WaylandSurface en coordonnées de surface.
Fonctions d'accès :
| QSize | destinationSize() const |
Notifier signal :
| void | destinationSizeChanged() |
Voir aussi bufferScale et bufferSize.
[read-only] hasContent : bool
Cette propriété indique si le site QWaylandSurface a un contenu.
Fonctions d'accès :
| bool | hasContent() const |
Signal de notification :
| void | hasContentChanged() |
[read-only] inhibitsIdle : bool
Cette propriété indique si cette surface est destinée à inhiber le comportement d'inactivité du compositeur, tel que la suppression, le verrouillage et l'enregistrement de l'écran.
Fonctions d'accès :
| bool | inhibitsIdle() const |
Signal de notification :
| void | inhibitsIdleChanged() |
Voir aussi QWaylandIdleInhibitManagerV1.
[read-only, since 6.4] isOpaque : bool
Cette propriété indique si la surface est totalement opaque, comme le signale le client à travers la requête set_opaque_region.
Cette propriété a été introduite dans Qt 6.4.
Fonctions d'accès :
| bool | isOpaque() const |
Signal du notificateur :
| void | isOpaqueChanged() |
[read-only] origin : QWaylandSurface::Origin
Cette propriété contient l'origine du tampon de QWaylandSurface ou de QWaylandSurface::OriginTopLeft si la surface n'a 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 attaché qui doit être dessinée à l'écran. Les coordonnées sont celles du coin du tampon et sont mises à l'échelle par bufferScale.
Fonctions d'accès :
| QRectF | sourceGeometry() const |
Signal Notifier :
| void | sourceGeometryChanged() |
Voir également bufferScale, bufferSize, et destinationSize.
Documentation des fonctions membres
QWaylandSurface::QWaylandSurface()
Construit une QWaylandSurface non initialisée.
QWaylandSurface::QWaylandSurface(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)
Construit et initialise une QWaylandSurface pour les données compositor et client, et avec les données id et version.
[override virtual noexcept] QWaylandSurface::~QWaylandSurface()
Détruit le site QWaylandSurface.
[signal] void QWaylandSurface::childAdded(QWaylandSurface *child)
Ce signal est émis lorsqu'une wl_subsurface, child, a été ajoutée à la surface.
QWaylandCompositor *QWaylandSurface::compositor() const
Renvoie le compositeur pour cette QWaylandSurface.
[invokable] void QWaylandSurface::destroy()
Détruit le site QWaylandSurface.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
[signal] void QWaylandSurface::dragStarted(QWaylandDrag *drag)
Ce signal est émis lorsqu'un site drag a démarré à partir de cette surface.
[invokable] void QWaylandSurface::frameStarted()
Prépare tous les rappels de trame pour l'envoi.
Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
[static] QWaylandSurface *QWaylandSurface::fromResource(wl_resource *resource)
Renvoie la ressource QWaylandSurface correspondant à la ressource Wayland resource.
[invokable] void QWaylandSurface::initialize(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)
Initialise le site QWaylandSurface avec les données compositor et client, et avec les données id et version.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
bool QWaylandSurface::inputRegionContains(const QPoint &p) const
Renvoie true si la région d'entrée de QWaylandSurface contient le point p. Sinon, il renvoie false.
bool QWaylandSurface::inputRegionContains(const QPointF &position) const
Renvoie true si la région d'entrée de QWaylandSurface contient le point position. Sinon, il renvoie false.
[invokable] bool QWaylandSurface::isDestroyed() const
Retourne vrai si le site QWaylandSurface a été détruit. Dans le cas contraire, elle renvoie false.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
bool QWaylandSurface::isInitialized() const
Retourne vrai si le site QWaylandSurface a été initialisé.
QWaylandView *QWaylandSurface::primaryView() const
Renvoie la vue principale de ce site QWaylandSurface.
Voir aussi QWaylandView::advance() et QWaylandSurface::setPrimaryView().
struct wl_resource *QWaylandSurface::resource() const
Retourne la ressource Wayland correspondant à cette QWaylandSurface.
[invokable] void QWaylandSurface::sendFrameCallbacks()
Envoie les rappels de trame en attente.
Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
void QWaylandSurface::setPrimaryView(QWaylandView *view)
Définit la vue principale de ce site QWaylandSurface à view, au cas où il y aurait plusieurs vues de cette surface. La vue primaire est la vue qui régit le taux de rafraîchissement du client. Elle se charge d'éliminer les références au tampon lorsque QWaylandView::advance() est appelé. Voir la documentation de QWaylandView::advance() pour plus de détails.
Dans les intégrations de surface shell, telles que QWaylandWlShellIntegration et QWaylandXdgShellV5Integration, les demandes de maximisation et de plein écran du client n'auront un effet que si l'intégration a 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 représentée à l'écran ; sans rôle, une surface est censée être cachée. Une fois qu'un rôle est attribué à une surface, il devient son rôle permanent. Tout appel ultérieur à setRole() avec un rôle différent déclenchera une erreur de protocole à errorResource et enverra un errorCode au client. L'objectif principal du rôle de la surface est de faire respecter cette exigence.
L'adresse role est comparée en fonction de la valeur du pointeur. Deux objets de QWaylandSurfaceRole seront considérés comme des rôles différents, quel que soit leur nom.
Le rôle de surface est défini en interne par les implémentations de protocole lorsqu'une surface est adoptée dans un but spécifique, par exemple dans une extension shell. À moins que vous ne développiez des extensions qui utilisent les surfaces de cette manière, vous ne devriez pas appeler cette fonction.
Retourne true si un rôle peut être attribué, false sinon.
[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 cela se fasse automatiquement lorsque la surface reçoit le focus clavier, cette fonction est utile pour mettre à jour les clients qui n'ont pas le focus clavier.
QList<QWaylandView *> QWaylandSurface::views() const
Retourne les vues pour cette QWaylandSurface.
wl_client *QWaylandSurface::waylandClient() const
Maintient le site wl_client en utilisant ce site 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.