QWaylandSurfaceRole 类

QWaylandSurfaceRole 类代表在 wl_surface 上下文中表面的角色。 更多...

头文件 #include <QWaylandSurfaceRole>
CMakefind_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmakeQT += waylandcompositor

公共函数

QWaylandSurfaceRole(const QByteArray &name)
const QByteArrayname()

详细描述

QWaylandSurfaceRole 用于表示 QWaylandSurface 的角色。根据协议规范,一旦设置表面角色,则该角色永久有效。如果稍后以不同的角色重用相同的表面,则构成协议错误。将表面设置为相同的角色多次不是错误。

例如,QWaylandXdgShell 可以为表面分配 "popup" 或 "toplevel" 角色。如果在之前收到 get_popup 请求的表面上请求 get_toplevel,则合成器将发出协议错误。

角色通过指针值进行比较,因此任何两个 QWaylandSurfaceRole 对象都将被视为不同的角色,无论它们的 名称 如何。分配角色的典型方法是有静态 QWaylandSurfaceRole 对象来表示它。

class MyShellSurfaceSubType
{
    static QWaylandSurfaceRole s_role;
    // ...
};

// ...

surface->setRole(&MyShellSurfaceSubType::s_role, resource->handle, MY_ERROR_CODE);

成员函数文档

QWaylandSurfaceRole::QWaylandSurfaceRole(const QByteArray &name)

创建一个 QWaylandSurfaceRole 并为其分配 name。该名称用于涉及此 QWaylandSurfaceRole 的错误消息中。

const QByteArray QWaylandSurfaceRole::name()

返回 QWaylandSurfaceRole 的名称。该名称用于涉及此 QWaylandSurfaceRole 的错误消息中,例如在尝试更改表面角色时。

© 2024 Qt 公司 Ltd. 本体内的文档贡献是各自所有者的版权。此处提供的文档是根据由自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 和相应的标志是芬兰及其它国家 Qt 公司的商标。所有其他商标均为各自所有者的财产。