QWaylandSurface Class
La clase QWaylandSurface representa un área rectangular en un dispositivo de salida. Más...
| Cabecera: | #include <QWaylandSurface> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
| qmake: | QT += waylandcompositor |
| En QML: | WaylandSurface |
| Hereda: | QWaylandObject |
Tipos públicos
| enum | Origin { OriginTopLeft, OriginBottomLeft } |
Propiedades
|
|
Funciones públicas
| 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 |
Ranuras públicas
| void | updateSelection() |
Señales
| 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() |
Miembros públicos estáticos
| QWaylandSurface * | fromResource(wl_resource *resource) |
Descripción Detallada
Esta clase encapsula un área rectangular de píxeles que se muestra en un dispositivo de salida. Corresponde a la interfaz wl_surface del protocolo Wayland.
Documentación de tipos de miembros
enum QWaylandSurface::Origin
Este tipo enum se utiliza para especificar el origen del búfer de QWaylandSurface.
| Constante | Valor | Descripción |
|---|---|---|
QWaylandSurface::OriginTopLeft | 0 | El origen es la esquina superior izquierda del buffer. |
QWaylandSurface::OriginBottomLeft | 1 | El origen es la esquina inferior izquierda del buffer. |
Documentación de la propiedad
[read-only] bufferScale : int
Esta propiedad contiene la escala del búfer de QWaylandSurface. La escala del búfer permite a un cliente suministrar datos de búfer de mayor resolución para su uso en salidas de alta resolución.
Funciones de acceso:
| int | bufferScale() const |
Señal del notificador:
| void | bufferScaleChanged() |
[read-only] bufferSize : QSize
Esta propiedad contiene el tamaño del búfer actual de este QWaylandSurface en píxeles, no en coordenadas de superficie.
Para el tamaño en coordenadas de superficie, utilice destinationSize en su lugar.
Funciones de acceso:
| QSize | bufferSize() const |
Señal notificadora:
| void | bufferSizeChanged() |
Véase también destinationSize y bufferScale.
[read-only] client : QWaylandClient* const
Esta propiedad contiene el cliente que utiliza este QWaylandSurface.
Funciones de acceso:
| QWaylandClient * | client() const |
[read-only] contentOrientation : Qt::ScreenOrientation
Esta propiedad contiene la orientación del contenido de QWaylandSurface.
Funciones de acceso:
| Qt::ScreenOrientation | contentOrientation() const |
Señal del notificador:
| void | contentOrientationChanged() |
Véase también QWaylandOutput::transform.
cursorSurface : bool
Esta propiedad indica si QWaylandSurface es una superficie de cursor.
Funciones de acceso:
| bool | isCursorSurface() const |
| void | markAsCursorSurface(bool cursorSurface) |
Señal del notificador:
| void | cursorSurfaceChanged() |
[read-only] destinationSize : QSize
Esta propiedad contiene el tamaño de este WaylandSurface en coordenadas de superficie.
Funciones de acceso:
| QSize | destinationSize() const |
Señal del notificador:
| void | destinationSizeChanged() |
Véase también bufferScale y bufferSize.
[read-only] hasContent : bool
Esta propiedad indica si QWaylandSurface tiene contenido.
Funciones de acceso:
| bool | hasContent() const |
Señal del notificador:
| void | hasContentChanged() |
[read-only] inhibitsIdle : bool
Esta propiedad mantiene si esta superficie está destinada a inhibir el comportamiento de reposo del compositor, como el borrado de pantalla, el bloqueo y el guardado de pantalla.
Funciones de acceso:
| bool | inhibitsIdle() const |
Señal del notificador:
| void | inhibitsIdleChanged() |
Véase también QWaylandIdleInhibitManagerV1.
[read-only, since 6.4] isOpaque : bool
Esta propiedad indica si la superficie es totalmente opaca, tal y como informa el cliente a través de la petición set_opaque_region.
Esta propiedad se introdujo en Qt 6.4.
Funciones de acceso:
| bool | isOpaque() const |
Señal de notificador:
| void | isOpaqueChanged() |
[read-only] origin : QWaylandSurface::Origin
Esta propiedad contiene el origen del búfer de QWaylandSurface, o QWaylandSurface::OriginTopLeft si la superficie no tiene búfer.
Funciones de acceso:
| QWaylandSurface::Origin | origin() const |
Señal del notificador:
| void | originChanged() |
[read-only] sourceGeometry : QRectF
Esta propiedad describe la porción del QWaylandBuffer adjunto que debe dibujarse en la pantalla. Las coordenadas son desde la esquina del buffer y están escaladas por bufferScale.
Funciones de acceso:
| QRectF | sourceGeometry() const |
Señal notificadora:
| void | sourceGeometryChanged() |
Véase también bufferScale, bufferSize, y destinationSize.
Documentación de las funciones miembro
QWaylandSurface::QWaylandSurface()
Construye una QWaylandSurface no inicializada.
QWaylandSurface::QWaylandSurface(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)
Construye e inicializa una QWaylandSurface para los datos compositor y client, y con los datos id y version.
[override virtual noexcept] QWaylandSurface::~QWaylandSurface()
Destruye el QWaylandSurface.
[signal] void QWaylandSurface::childAdded(QWaylandSurface *child)
Esta señal se emite cuando se ha añadido una wl_subsuperficie, child, a la superficie.
QWaylandCompositor *QWaylandSurface::compositor() const
Devuelve el compositor para este QWaylandSurface.
[invokable] void QWaylandSurface::destroy()
Destruye la página QWaylandSurface.
Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.
[signal] void QWaylandSurface::dragStarted(QWaylandDrag *drag)
Esta señal se emite cuando se ha iniciado un drag desde esta superficie.
[invokable] void QWaylandSurface::frameStarted()
Prepara todas las retrollamadas de fotogramas para su envío.
Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.
[static] QWaylandSurface *QWaylandSurface::fromResource(wl_resource *resource)
Devuelve el QWaylandSurface correspondiente al recurso Wayland resource.
[invokable] void QWaylandSurface::initialize(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)
Inicializa el QWaylandSurface con los datos compositor y client, y con los datos id y version.
Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.
bool QWaylandSurface::inputRegionContains(const QPoint &p) const
Devuelve true si la región de entrada de QWaylandSurface contiene el punto p. En caso contrario, devuelve false.
bool QWaylandSurface::inputRegionContains(const QPointF &position) const
Devuelve true si la región de entrada de QWaylandSurface contiene el punto position. En caso contrario, devuelve false.
[invokable] bool QWaylandSurface::isDestroyed() const
Devuelve true si el QWaylandSurface ha sido destruido. En caso contrario devuelve false.
Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.
bool QWaylandSurface::isInitialized() const
Devuelve true si se ha inicializado QWaylandSurface.
QWaylandView *QWaylandSurface::primaryView() const
Devuelve la vista principal de este QWaylandSurface.
Véase también QWaylandView::advance() y QWaylandSurface::setPrimaryView().
struct wl_resource *QWaylandSurface::resource() const
Devuelve el recurso Wayland correspondiente a este QWaylandSurface.
[invokable] void QWaylandSurface::sendFrameCallbacks()
Envía las retrollamadas de fotogramas pendientes.
Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.
void QWaylandSurface::setPrimaryView(QWaylandView *view)
Establece la vista principal de QWaylandSurface en view, en caso de que haya varias vistas de esta superficie. La vista primaria es la vista que rige la frecuencia de actualización del cliente. Se encarga de descartar las referencias del buffer cuando se llama a QWaylandView::advance(). Consulta la documentación de QWaylandView::advance() para más detalles.
En integraciones de superficies shell, como QWaylandWlShellIntegration y QWaylandXdgShellV5Integration, las peticiones de maximizar y pantalla completa desde el cliente solo tendrán efecto si la integración tiene la vista primaria de la superficie.
Véase también primaryView() y QWaylandView::advance().
bool QWaylandSurface::setRole(QWaylandSurfaceRole *role, wl_resource *errorResource, uint32_t errorCode)
Establece un role en la superficie. Un rol define cómo se mapeará una superficie en pantalla; sin un rol se supone que una superficie está oculta. Una vez que se asigna un rol a una superficie, éste se convierte en su rol permanente. Cualquier llamada posterior a setRole() con un rol diferente provocará un error de protocolo a errorResource y enviará un errorCode al cliente. Cumplir este requisito es el principal objetivo del rol de superficie.
role se compara por el valor del puntero. Dos objetos cualesquiera de QWaylandSurfaceRole se considerarán roles diferentes, independientemente de sus nombres.
El rol de superficie es establecido internamente por las implementaciones de protocolo cuando se adopta una superficie para un propósito específico, por ejemplo en una extensión de shell. A menos que esté desarrollando extensiones que utilicen superficies de esta forma, no debería llamar a esta función.
Devuelve true si se puede asignar un rol; false en caso contrario.
[signal] void QWaylandSurface::surfaceDestroyed()
Esta señal se emite cuando se destruye la wl_surface correspondiente.
[slot] void QWaylandSurface::updateSelection()
Actualiza la superficie con la selección retenida en el portapapeles del compositor. Aunque esto se hace automáticamente cuando la superficie recibe el foco del teclado, esta función es útil para actualizar clientes que no tienen el foco del teclado.
QList<QWaylandView *> QWaylandSurface::views() const
Devuelve las vistas de este QWaylandSurface.
wl_client *QWaylandSurface::waylandClient() const
Sujeta el wl_client utilizando este 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.