screencopy-v1: add basic implementation

This commit is contained in:
emersion 2018-06-19 19:07:29 +01:00
parent 02dfa9101e
commit 73755ad348
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
9 changed files with 655 additions and 1 deletions

View file

@ -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