diff options
author | emersion <contact@emersion.fr> | 2018-06-19 19:07:29 +0100 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2018-06-30 22:17:59 +0100 |
commit | 73755ad348657fdf8d9e0f9a48ee13a2ab947e35 (patch) | |
tree | 92eea1b7076e38a38792b7ff222bd9a51975c823 /include/wlr | |
parent | 02dfa9101ec7fd8328ed329d2f2faa815b1ad61c (diff) |
screencopy-v1: add basic implementation
Diffstat (limited to 'include/wlr')
-rw-r--r-- | include/wlr/types/wlr_screencopy_v1.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/include/wlr/types/wlr_screencopy_v1.h b/include/wlr/types/wlr_screencopy_v1.h new file mode 100644 index 00000000..fbcc1ce2 --- /dev/null +++ b/include/wlr/types/wlr_screencopy_v1.h @@ -0,0 +1,36 @@ +#ifndef WLR_TYPES_WLR_SCREENCOPY_V1_H +#define WLR_TYPES_WLR_SCREENCOPY_V1_H + +#include <wayland-server.h> + +struct wlr_screencopy_manager_v1 { + struct wl_global *global; + struct wl_list resources; // wl_resource + struct wl_list frames; // wlr_screencopy_frame_v1::link + + struct wl_listener display_destroy; + + void *data; +}; + +struct wlr_screencopy_frame_v1 { + struct wl_resource *resource; + struct wlr_screencopy_manager_v1 *manager; + struct wl_list link; + + int32_t width, height; + + struct wl_shm_buffer *buffer; + + struct wlr_output *output; + struct wl_listener output_swap_buffers; + + void *data; +}; + +struct wlr_screencopy_manager_v1 *wlr_screencopy_manager_v1_create( + struct wl_display *display); +void wlr_screencopy_manager_v1_destroy( + struct wlr_screencopy_manager_v1 *screencopy); + +#endif |