9namespace Gfx::WindowCapture
12enum class CaptureMode :
int
34 const uint8_t* data{};
43 bool ownsDmabufFd{
false};
45 uint64_t drmModifier{};
63 int x{}, y{}, width{}, height{};
68 CaptureMode mode{CaptureMode::Window};
71 int regionX{}, regionY{}, regionW{}, regionH{};
83inline uint64_t resolveWindowId(
84 const std::vector<CapturableWindow>& windows, uint64_t
id, std::string_view title)
86 if(
id != 0 && std::ranges::any_of(windows, [=](
auto& w) {
return w.id == id; }))
90 for(
auto& w : windows)
93 for(
auto& w : windows)
94 if(w.title.find(title) !=
std::string::npos)
100inline uint64_t resolveScreenId(
101 const std::vector<CapturableScreen>& screens, uint64_t
id, std::string_view name)
103 if(
id != 0 && std::ranges::any_of(screens, [=](
auto& s) {
return s.id == id; }))
107 for(
auto& s : screens)
110 for(
auto& s : screens)
111 if(s.name.find(name) !=
std::string::npos)
119 virtual bool available()
const = 0;
120 virtual bool supportsMode(CaptureMode mode)
const = 0;
121 virtual std::vector<CapturableWindow> enumerate() = 0;
122 virtual std::vector<CapturableScreen> enumerateScreens() = 0;
124 virtual void stop() = 0;
129std::unique_ptr<WindowCaptureBackend> createWindowCaptureBackend();
Definition WindowCaptureBackend.hpp:60
Definition WindowCaptureBackend.hpp:54
Definition WindowCaptureBackend.hpp:67
Definition WindowCaptureBackend.hpp:21
Definition WindowCaptureBackend.hpp:117