Sur cette page

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

Signaux

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.

ConstanteValeurDescription de l'origine
QWaylandSurface::OriginTopLeft0L'origine est le coin supérieur gauche du tampon.
QWaylandSurface::OriginBottomLeft1L'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.