En esta página

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

Señales

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.

ConstanteValorDescripción
QWaylandSurface::OriginTopLeft0El origen es la esquina superior izquierda del buffer.
QWaylandSurface::OriginBottomLeft1El 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.