QWaylandSurfaceGrabber Class

The QWaylandSurfaceGrabber class allows to read the content of a QWaylandSurface 更多...

头文件: #include <QWaylandSurfaceGrabber>
qmake: QT += waylandcompositor
开始支持版本: Qt 5.8

公有类型

enum Error { InvalidSurface, NoBufferAttached, UnknownBufferType, RendererNotReady }

公有函数

QWaylandSurfaceGrabber(QWaylandSurface *surface, QObject *parent = Q_NULLPTR)
void grab()
QWaylandSurface *surface() const

信号

void failed(Error error)
void success(const QImage &image)

详细描述

The QWaylandSurfaceGrabber class allows to read the content of a QWaylandSurface

Sometimes it is needed to get the contents of a surface, for example to provide a screenshot to the user. The QWaylandSurfaceGrabber class provides a simple method to do so, without having to care what type of buffer backs the surface, be it shared memory, OpenGL or something else.

成员类型

enum QWaylandSurfaceGrabber::Error

The Error enum describes the reason for a grab failure.

ConstantValueDescription
QWaylandSurfaceGrabber::InvalidSurface0The surface is null or otherwise not valid.
QWaylandSurfaceGrabber::NoBufferAttached1The client has not attached a buffer on the surface yet.
QWaylandSurfaceGrabber::UnknownBufferType2The buffer attached on the surface is of an unknown type.
QWaylandSurfaceGrabber::RendererNotReady3The compositor renderer is not ready to grab the surface content.

成员函数

QWaylandSurfaceGrabber::QWaylandSurfaceGrabber(QWaylandSurface *surface, QObject *parent = Q_NULLPTR)

Create a QWaylandSurfaceGrabber object with the given surface and parent

[signal] void QWaylandSurfaceGrabber::failed(Error error)

void QWaylandSurfaceGrabber::grab()

Grab the content of the surface set on this object. It may not be possible to do that immediately so the success and failed signals should be used to be notified of when the grab is completed.

[signal] void QWaylandSurfaceGrabber::success(const QImage &image)

QWaylandSurface *QWaylandSurfaceGrabber::surface() const

Returns the surface set on this object