Documentation for <wlr/types/wlr_screencopy_v1.h>

Back to index

Table of contents

struct wlr_screencopy_frame_v1

struct wlr_screencopy_frame_v1 {
	struct wl_resource *resource;
	struct wlr_screencopy_v1_client *client;
	struct wl_list link; // wlr_screencopy_manager_v1.frames
	
	uint32_t shm_format, dmabuf_format; // DRM format codes
	struct wlr_box box;
	int shm_stride;
	
	bool overlay_cursor, cursor_locked;
	
	bool with_damage;
	
	enum wlr_buffer_cap buffer_cap;
	struct wlr_buffer *buffer;
	
	struct wlr_output *output;
	
	void *data;
	
	struct {
		struct wl_listener output_commit;
		struct wl_listener output_destroy;
		struct wl_listener output_enable;
	} WLR_PRIVATE;
};

struct wlr_screencopy_manager_v1

struct wlr_screencopy_manager_v1 {
	struct wl_global *global;
	struct wl_list frames; // wlr_screencopy_frame_v1.link
	
	struct {
		struct wl_signal destroy;
	} events;
	
	void *data;
	
	struct {
		struct wl_listener display_destroy;
	} WLR_PRIVATE;
};

wlr_screencopy_manager_v1_create()

struct wlr_screencopy_manager_v1 *wlr_screencopy_manager_v1_create(​struct wl_display *display);

struct wlr_screencopy_v1_client

struct wlr_screencopy_v1_client {
	int ref;
	struct wlr_screencopy_manager_v1 *manager;
	struct wl_list damages;
};