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