QWaylandView 类
QWaylandView 类表示输出上表面的视图。 更多...
头文件 | #include <QWaylandView> |
CMake | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor) target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
qmake | QT += waylandcompositor |
实例化自 | WaylandView |
继承自 | QObject |
属性
- allowDiscardFrontBuffer : bool
- bufferLocked : bool
- output : QWaylandOutput*
- surface : QWaylandSurface*
公共函数
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 |
信号
void | allowDiscardFrontBufferChanged() |
void | bufferLockedChanged() |
void | outputChanged() |
void | surfaceChanged() |
属性文档
allowDiscardFrontBuffer : bool
默认情况下,视图会在调用advance()之前锁定当前的缓冲区。将此属性设置为true
以允许Qt在主视图不再使用时释放缓冲区。
这可以用来避免这种情况,即一个以较低频率更新的次级视图会降低客户端应用程序的帧率。
访问函数
bool | allowDiscardFrontBuffer() const |
void | setLayoutDirection(bool discard) |
通知信号
void | allowDiscardFrontBufferChanged() |
bufferLocked : bool
此属性表示视图的缓冲区是否当前被锁定。当缓冲区被锁定时,advance()不会前进到下一个缓冲区并返回false
。
默认值为false
。
访问函数
bool | isBufferLocked() const |
void | setBufferLocked(bool locked) |
通知信号
void | bufferLockedChanged() |
output : QWaylandOutput*
此属性表示在这个视图中显示其表面的输出。
访问函数
QWaylandOutput * | output() const |
void | setOutput(QWaylandOutput *output) |
通知信号
void | outputChanged() |
surface : QWaylandSurface*
此属性表示由此QWaylandView查看的表面。
访问函数
QWaylandSurface * | surface() const |
void | setSurface(QWaylandSurface *surface) |
通知信号
void | surfaceChanged() |
成员函数文档
QWaylandView::QWaylandView(QObject *renderObject = nullptr, QObject *parent = nullptr)
使用给定的renderObject和parent构建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
如果此 QWaylandView 是 QWaylandSurface 的主视图,则返回 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. 在芬兰和/或世界各地的商标。所有其他商标均为其各自所有者的财产。