screencast: Implement version 2 of the protocol

This commit is contained in:
Aleix Pol 2021-10-05 18:56:35 +02:00 committed by Aleix Pol Gonzalez
parent 01645645a7
commit efc7731088
2 changed files with 16 additions and 1 deletions

View file

@ -14,7 +14,7 @@
namespace KWaylandServer
{
static int s_version = 1;
static int s_version = 2;
class ScreencastStreamV1InterfacePrivate : public QtWaylandServer::zkde_screencast_stream_unstable_v1
{
@ -96,6 +96,20 @@ public:
{
Q_EMIT q->windowScreencastRequested(createStream(resource, streamid), uuid, ScreencastV1Interface::CursorMode(pointer));
}
void zkde_screencast_unstable_v1_stream_virtual_output(Resource *resource,
uint32_t streamid,
const QString &name,
int32_t width,
int32_t height,
wl_fixed_t scale,
uint32_t pointer) override
{
Q_EMIT q->virtualOutputScreencastRequested(createStream(resource, streamid),
name,
{width, height},
wl_fixed_to_double(scale),
ScreencastV1Interface::CursorMode(pointer));
}
void zkde_screencast_unstable_v1_destroy(Resource *resource) override
{

View file

@ -56,6 +56,7 @@ public:
Q_SIGNALS:
void outputScreencastRequested(ScreencastStreamV1Interface *stream, OutputInterface *output, CursorMode mode);
void virtualOutputScreencastRequested(ScreencastStreamV1Interface *stream, const QString &name, const QSize &size, double scaling, CursorMode mode);
void windowScreencastRequested(ScreencastStreamV1Interface *stream, const QString &winid, CursorMode mode);
private: