QWaylandView Class
La classe QWaylandView représente une vue d'une surface sur un périphérique de sortie. En savoir plus...
| En-tête : | #include <QWaylandView> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor) target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
| qmake : | QT += waylandcompositor |
| Hérite de : | QObject |
Propriétés
- allowDiscardFrontBuffer : bool
- bufferLocked : bool
- output : QWaylandOutput*
- surface : QWaylandSurface*
Fonctions publiques
| QWaylandView(QObject *renderObject = nullptr, QObject *parent = nullptr) | |
| virtual | ~QWaylandView() override |
| virtual bool | advance() |
| bool | allowDiscardFrontBuffer() const |
| virtual void | bufferCommitted(const QWaylandBufferRef &buffer, const QRegion &damage) |
| virtual QWaylandBufferRef | currentBuffer() |
| virtual QRegion | currentDamage() |
| virtual void | discardCurrentBuffer() |
| bool | isBufferLocked() const |
| bool | isPrimary() const |
| QWaylandOutput * | output() const |
| void | setAllowDiscardFrontBuffer(bool discard) |
| void | setBufferLocked(bool locked) |
| void | setOutput(QWaylandOutput *output) |
| void | setPrimary() |
| void | setSurface(QWaylandSurface *surface) |
| QWaylandSurface * | surface() const |
| struct wl_resource * | surfaceResource() const |
Signaux
| void | allowDiscardFrontBufferChanged() |
| void | bufferLockedChanged() |
| void | outputChanged() |
| void | surfaceChanged() |
Description détaillée
QWaylandView correspond à la présentation d’une surface sur une sortie spécifique, en gérant les tampons qui contiennent le contenu à afficher. Vous pouvez avoir plusieurs vues sur la même surface.
Documentation des propriétés
allowDiscardFrontBuffer : bool
Par défaut, la vue verrouille le tampon actuel jusqu’à ce que la fonction ` advance()` soit appelée. Définissez cette propriété sur ` true ` pour permettre à Qt de libérer le tampon lorsque la vue principale ne l’utilise plus.
Cela permet d’éviter qu’une vue secondaire, dont la fréquence de mise à jour est inférieure, ne ralentisse la fréquence d’affichage de l’application cliente.
Fonctions d'accès :
| bool | allowDiscardFrontBuffer() const |
| void | setAllowDiscardFrontBuffer(bool discard) |
Signal de notification :
| void | allowDiscardFrontBufferChanged() |
bufferLocked : bool
Cette propriété indique si le tampon de la vue est actuellement verrouillé. Lorsque le tampon est verrouillé, la fonction advance() ne passe pas au tampon suivant et renvoie la valeur false.
La valeur par défaut est ` false`.
Fonctions d'accès :
| bool | isBufferLocked() const |
| void | setBufferLocked(bool locked) |
Signal de notification :
| void | bufferLockedChanged() |
output : QWaylandOutput*
Cette propriété contient la sortie sur laquelle cette vue affiche sa surface.
Fonctions d'accès :
| QWaylandOutput * | output() const |
| void | setOutput(QWaylandOutput *output) |
Signal de notification :
| void | outputChanged() |
surface : QWaylandSurface*
Cette propriété contient la surface affichée par cette QWaylandView.
Fonctions d'accès :
| QWaylandSurface * | surface() const |
| void | setSurface(QWaylandSurface *surface) |
Signal de notification :
| void | surfaceChanged() |
Documentation des fonctions membres
QWaylandView::QWaylandView(QObject *renderObject = nullptr, QObject *parent = nullptr)
Crée un objet `QWaylandView` avec les paramètres ` renderObject ` et ` parent` fournis.
[override virtual noexcept] QWaylandView::~QWaylandView()
Supprime l'QWaylandView.
[virtual] bool QWaylandView::advance()
Met à jour le tampon actuel et la zone de dégâts avec la dernière version validée par le client. Renvoie « true » si du nouveau contenu a été validé depuis le dernier appel à la fonction advance(). Sinon, renvoie « false ».
Voir également currentBuffer() et currentDamage().
[virtual] void QWaylandView::bufferCommitted(const QWaylandBufferRef &buffer, const QRegion &damage)
Cette fonction est appelée lorsqu’une nouvelle « buffer » est validée sur la surface de cette vue. « damage » contient la région qui diffère du tampon actuel, c’est-à-dire la région qui doit être mise à jour. La nouvelle « buffer » deviendra active lors du prochain appel à « advance() ».
Les sous-classes qui réimplémentent cette fonction doivent appeler l'implémentation de base.
[virtual] QWaylandBufferRef QWaylandView::currentBuffer()
Renvoie une référence au tampon actuel de cette vue.
[virtual] QRegion QWaylandView::currentDamage()
Renvoie la zone de dégâts actuelle de cette vue.
[virtual] void QWaylandView::discardCurrentBuffer()
Forcer la vue à vider son tampon actuel, afin de permettre sa réutilisation côté client.
bool QWaylandView::isPrimary() const
Renvoie « true » si cette QWaylandView est la vue principale de la QWaylandSurface
Voir aussi QWaylandSurface::primaryView.
void QWaylandView::setPrimary()
Définit cette QWaylandView comme vue principale de la surface.
Cette fonction n'a aucun effet si cet « QWaylandView » ne contient aucun élément. QWaylandSurface
Voir également ` isPrimary()` et ` QWaylandSurface::primaryView`.
struct wl_resource *QWaylandView::surfaceResource() const
Renvoie la ressource de surface Wayland correspondant à cette instance de ` QWaylandView`.
© 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.