QWaylandView 类

QWaylandView 类表示输出上表面的视图。 更多...

头文件 #include <QWaylandView>
CMakefind_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmakeQT += waylandcompositor
实例化自 WaylandView
继承自 QObject

属性

公共函数

QWaylandView(QObject *renderObject = nullptr, QObject *parent = nullptr)
virtual~QWaylandView() override
virtual booladvance()
boolallowDiscardFrontBuffer() const
virtual voidbufferCommitted(const QWaylandBufferRef &buffer, const QRegion &damage)
virtual QWaylandBufferRefcurrentBuffer()
virtual QRegioncurrentDamage()
virtual voiddiscardCurrentBuffer()
boolisBufferLocked() const
boolisPrimary() const
QWaylandOutput *output() const
voidsetAllowDiscardFrontBuffer(bool discard)
voidsetBufferLocked(bool locked)
voidsetOutput(QWaylandOutput *output)
voidsetPrimary()
voidsetSurface(QWaylandSurface *surface)
QWaylandSurface *surface() const
struct wl_resource *surfaceResource() const

信号

详细说明

QWaylandView 与特定输出上表面的显示对应,管理包含要渲染的内容的缓冲区。您可以为同一表面创建多个视图。

属性文档

allowDiscardFrontBuffer : bool

默认情况下,视图会在调用advance()之前锁定当前的缓冲区。将此属性设置为true以允许Qt在主视图不再使用时释放缓冲区。

这可以用来避免这种情况,即一个以较低频率更新的次级视图会降低客户端应用程序的帧率。

访问函数

boolallowDiscardFrontBuffer() const
voidsetLayoutDirection(bool discard)

通知信号

voidallowDiscardFrontBufferChanged()

bufferLocked : bool

此属性表示视图的缓冲区是否当前被锁定。当缓冲区被锁定时,advance()不会前进到下一个缓冲区并返回false

默认值为false

访问函数

boolisBufferLocked() const
voidsetBufferLocked(bool locked)

通知信号

voidbufferLockedChanged()

output : QWaylandOutput*

此属性表示在这个视图中显示其表面的输出。

访问函数

QWaylandOutput *output() const
voidsetOutput(QWaylandOutput *output)

通知信号

voidoutputChanged()

surface : QWaylandSurface*

此属性表示由此QWaylandView查看的表面。

访问函数

QWaylandSurface *surface() const
voidsetSurface(QWaylandSurface *surface)

通知信号

voidsurfaceChanged()

成员函数文档

QWaylandView::QWaylandView(QObject *renderObject = nullptr, QObject *parent = nullptr)

使用给定的renderObjectparent构建QWaylandView。

[重写虚函数 noexcept] QWaylandView::~QWaylandView()

销毁QWaylandView

[虚函数] bool QWaylandView::advance()

将当前缓冲区和损坏区域更新到客户端提交的最新版本。如果自上次调用advance()以来已提交新内容,则返回true。否则返回false。

另请参阅currentBuffer()和currentDamage

[虚函数] void QWaylandView::bufferCommitted(const QWaylandBufferRef &buffer, const QRegion &damage)

当将新的buffer提交到此视图的表面时调用此函数。damage包含与当前缓冲区不同的区域,即需要更新的区域。新的buffer将在下一个调用advance()时成为当前缓冲区。

重新实现此函数的子类必须调用基本实现。

[虚函数] QWaylandBufferRef QWaylandView::currentBuffer()

返回对此视图当前缓冲区的引用。

[虚拟] QRegion QWaylandView::currentDamage()

返回此视图的当前损坏区域。

[虚拟] void QWaylandView::discardCurrentBuffer()

强制视图丢弃其当前缓冲区,以便在客户端重用。

bool QWaylandView::isPrimary() const

如果此 QWaylandViewQWaylandSurface 的主视图,则返回 true。

另请参阅QWaylandSurface::primaryView.

void QWaylandView::setPrimary()

将此 QWaylandView 设置为表面的主视图。

如果此 QWaylandView 不持有任何 QWaylandSurface,则此操作没有效果。

另请参阅isPrimary() 和 QWaylandSurface::primaryView.

struct wl_resource *QWaylandView::surfaceResource() const

返回此 QWaylandView 的 Wayland 表面资源。

© 2024 The Qt Company Ltd. 所包含的文档贡献均为各自所有者的版权。本提供的文档受 GNU 自由文档许可证版本 1.3 许可,该许可证由自由软件基金会发布。Qt 和相应的标志是 The Qt Company Ltd. 在芬兰和/或世界各地的商标。所有其他商标均为其各自所有者的财产。