wayland/screencopy: add screencopy

This commit is contained in:
outfoxxed 2025-01-14 04:43:05 -08:00
parent 918dd2392d
commit cd429142a4
Signed by untrusted user: outfoxxed
GPG key ID: 4C88A185FB89301E
37 changed files with 3149 additions and 3 deletions

View file

@ -0,0 +1,36 @@
#pragma once
#include <qscreen.h>
#include <qwayland-ext-image-capture-source-v1.h>
#include <qwayland-ext-image-copy-capture-v1.h>
#include <qwaylandclientextension.h>
#include "../manager.hpp"
namespace qs::wayland::screencopy::icc {
class IccManager
: public QWaylandClientExtensionTemplate<IccManager>
, public QtWayland::ext_image_copy_capture_manager_v1 {
public:
ScreencopyContext* createSession(::ext_image_capture_source_v1* source, bool paintCursors);
static IccManager* instance();
private:
explicit IccManager();
};
class IccOutputSourceManager
: public QWaylandClientExtensionTemplate<IccOutputSourceManager>
, public QtWayland::ext_output_image_capture_source_manager_v1 {
public:
ScreencopyContext* captureOutput(QScreen* screen, bool paintCursors);
static IccOutputSourceManager* instance();
private:
explicit IccOutputSourceManager();
};
} // namespace qs::wayland::screencopy::icc