diff --git a/src/wayland/screencast_v1_interface.cpp b/src/wayland/screencast_v1_interface.cpp index 38fa3f6101..3f6b872bb7 100644 --- a/src/wayland/screencast_v1_interface.cpp +++ b/src/wayland/screencast_v1_interface.cpp @@ -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 { diff --git a/src/wayland/screencast_v1_interface.h b/src/wayland/screencast_v1_interface.h index 0a5b442a65..b538810ba3 100644 --- a/src/wayland/screencast_v1_interface.h +++ b/src/wayland/screencast_v1_interface.h @@ -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: