Sunshine v2025.118.151840
Self-hosted game stream host for Moonlight.
x11grab.h
Go to the documentation of this file.
1
5#pragma once
6
7#include <optional>
8
10#include "src/utility.h"
11
12// X11 Display
13extern "C" struct _XDisplay;
14
15namespace egl {
16 class cursor_t;
17}
18
19namespace platf::x11 {
20 struct cursor_ctx_raw_t;
21 void
22 freeCursorCtx(cursor_ctx_raw_t *ctx);
23 void
24 freeDisplay(_XDisplay *xdisplay);
25
28
29 class cursor_t {
30 public:
31 static std::optional<cursor_t>
32 make();
33
34 void
35 capture(egl::cursor_t &img);
36
43 void
44 blend(img_t &img, int offsetX, int offsetY);
45
46 cursor_ctx_t ctx;
47 };
48
50 make_display();
51} // namespace platf::x11
Definition graphics.h:290
Definition x11grab.h:29
void blend(img_t &img, int offsetX, int offsetY)
Definition x11grab.cpp:908
Definition utility.h:496
Declarations for common platform specific utilities.
Definition common.h:341
Declarations for utility functions.