Sur cette page

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

Signaux

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 ».

ConstanteValeurDescription
QWaylandSurface::OriginTopLeft0L'origine correspond au coin supérieur gauche du tampon.
QWaylandSurface::OriginBottomLeft1L'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.