wlr-screencopy-unstable-v1-client-protocol

wlr-screencopy-unstable-v1-client-protocol

Functions

Types and Values

Description

Functions

zwlr_screencopy_manager_v1_set_user_data ()

void
zwlr_screencopy_manager_v1_set_user_data
                               (struct zwlr_screencopy_manager_v1 *zwlr_screencopy_manager_v1,
                                void *user_data);

zwlr_screencopy_manager_v1_get_user_data ()

void *
zwlr_screencopy_manager_v1_get_user_data
                               (struct zwlr_screencopy_manager_v1 *zwlr_screencopy_manager_v1);

zwlr_screencopy_manager_v1_get_version ()

uint32_t
zwlr_screencopy_manager_v1_get_version
                               (struct zwlr_screencopy_manager_v1 *zwlr_screencopy_manager_v1);

zwlr_screencopy_manager_v1_capture_output ()

struct zwlr_screencopy_frame_v1 *
zwlr_screencopy_manager_v1_capture_output
                               (struct zwlr_screencopy_manager_v1 *zwlr_screencopy_manager_v1,
                                int32_t overlay_cursor,
                                struct wl_output *output);

zwlr_screencopy_manager_v1_capture_output_region ()

struct zwlr_screencopy_frame_v1 *
zwlr_screencopy_manager_v1_capture_output_region
                               (struct zwlr_screencopy_manager_v1 *zwlr_screencopy_manager_v1,
                                int32_t overlay_cursor,
                                struct wl_output *output,
                                int32_t x,
                                int32_t y,
                                int32_t width,
                                int32_t height);

zwlr_screencopy_manager_v1_destroy ()

void
zwlr_screencopy_manager_v1_destroy (struct zwlr_screencopy_manager_v1 *zwlr_screencopy_manager_v1);

zwlr_screencopy_frame_v1_add_listener ()

int
zwlr_screencopy_frame_v1_add_listener (struct zwlr_screencopy_frame_v1 *zwlr_screencopy_frame_v1,
                                       const struct zwlr_screencopy_frame_v1_listener *listener,
                                       void *data);

zwlr_screencopy_frame_v1_set_user_data ()

void
zwlr_screencopy_frame_v1_set_user_data
                               (struct zwlr_screencopy_frame_v1 *zwlr_screencopy_frame_v1,
                                void *user_data);

zwlr_screencopy_frame_v1_get_user_data ()

void *
zwlr_screencopy_frame_v1_get_user_data
                               (struct zwlr_screencopy_frame_v1 *zwlr_screencopy_frame_v1);

zwlr_screencopy_frame_v1_get_version ()

uint32_t
zwlr_screencopy_frame_v1_get_version (struct zwlr_screencopy_frame_v1 *zwlr_screencopy_frame_v1);

zwlr_screencopy_frame_v1_copy ()

void
zwlr_screencopy_frame_v1_copy (struct zwlr_screencopy_frame_v1 *zwlr_screencopy_frame_v1,
                               struct wl_buffer *buffer);

zwlr_screencopy_frame_v1_destroy ()

void
zwlr_screencopy_frame_v1_destroy (struct zwlr_screencopy_frame_v1 *zwlr_screencopy_frame_v1);

zwlr_screencopy_frame_v1_copy_with_damage ()

void
zwlr_screencopy_frame_v1_copy_with_damage
                               (struct zwlr_screencopy_frame_v1 *zwlr_screencopy_frame_v1,
                                struct wl_buffer *buffer);

Types and Values

ZWLR_SCREENCOPY_MANAGER_V1_CAPTURE_OUTPUT

#define             ZWLR_SCREENCOPY_MANAGER_V1_CAPTURE_OUTPUT

ZWLR_SCREENCOPY_MANAGER_V1_CAPTURE_OUTPUT_REGION

#define             ZWLR_SCREENCOPY_MANAGER_V1_CAPTURE_OUTPUT_REGION

ZWLR_SCREENCOPY_MANAGER_V1_DESTROY

#define             ZWLR_SCREENCOPY_MANAGER_V1_DESTROY

ZWLR_SCREENCOPY_MANAGER_V1_CAPTURE_OUTPUT_SINCE_VERSION

#define             ZWLR_SCREENCOPY_MANAGER_V1_CAPTURE_OUTPUT_SINCE_VERSION

ZWLR_SCREENCOPY_MANAGER_V1_CAPTURE_OUTPUT_REGION_SINCE_VERSION

#define             ZWLR_SCREENCOPY_MANAGER_V1_CAPTURE_OUTPUT_REGION_SINCE_VERSION

ZWLR_SCREENCOPY_MANAGER_V1_DESTROY_SINCE_VERSION

#define             ZWLR_SCREENCOPY_MANAGER_V1_DESTROY_SINCE_VERSION

ZWLR_SCREENCOPY_FRAME_V1_ERROR_ENUM

#define             ZWLR_SCREENCOPY_FRAME_V1_ERROR_ENUM

enum zwlr_screencopy_frame_v1_error

Members

ZWLR_SCREENCOPY_FRAME_V1_ERROR_ALREADY_USED

   

ZWLR_SCREENCOPY_FRAME_V1_ERROR_INVALID_BUFFER

   

ZWLR_SCREENCOPY_FRAME_V1_FLAGS_ENUM

#define             ZWLR_SCREENCOPY_FRAME_V1_FLAGS_ENUM

enum zwlr_screencopy_frame_v1_flags

Members

ZWLR_SCREENCOPY_FRAME_V1_FLAGS_Y_INVERT

   

struct zwlr_screencopy_frame_v1_listener

struct zwlr_screencopy_frame_v1_listener {
	/**
	 * buffer information
	 *
	 * Provides information about the frame's buffer. This event is
	 * sent once as soon as the frame is created.
	 *
	 * The client should then create a buffer with the provided
	 * attributes, and send a "copy" request.
	 * @param format buffer format
	 * @param width buffer width
	 * @param height buffer height
	 * @param stride buffer stride
	 */
	void (*buffer)(void *data,
		       struct zwlr_screencopy_frame_v1 *zwlr_screencopy_frame_v1,
		       uint32_t format,
		       uint32_t width,
		       uint32_t height,
		       uint32_t stride);
	/**
	 * frame flags
	 *
	 * Provides flags about the frame. This event is sent once before
	 * the "ready" event.
	 * @param flags frame flags
	 */
	void (*flags)(void *data,
		      struct zwlr_screencopy_frame_v1 *zwlr_screencopy_frame_v1,
		      uint32_t flags);
	/**
	 * indicates frame is available for reading
	 *
	 * Called as soon as the frame is copied, indicating it is
	 * available for reading. This event includes the time at which
	 * presentation happened at.
	 *
	 * The timestamp is expressed as tv_sec_hi, tv_sec_lo, tv_nsec
	 * triples, each component being an unsigned 32-bit value. Whole
	 * seconds are in tv_sec which is a 64-bit value combined from
	 * tv_sec_hi and tv_sec_lo, and the additional fractional part in
	 * tv_nsec as nanoseconds. Hence, for valid timestamps tv_nsec must
	 * be in [0, 999999999]. The seconds part may have an arbitrary
	 * offset at start.
	 *
	 * After receiving this event, the client should destroy the
	 * object.
	 * @param tv_sec_hi high 32 bits of the seconds part of the timestamp
	 * @param tv_sec_lo low 32 bits of the seconds part of the timestamp
	 * @param tv_nsec nanoseconds part of the timestamp
	 */
	void (*ready)(void *data,
		      struct zwlr_screencopy_frame_v1 *zwlr_screencopy_frame_v1,
		      uint32_t tv_sec_hi,
		      uint32_t tv_sec_lo,
		      uint32_t tv_nsec);
	/**
	 * frame copy failed
	 *
	 * This event indicates that the attempted frame copy has failed.
	 *
	 * After receiving this event, the client should destroy the
	 * object.
	 */
	void (*failed)(void *data,
		       struct zwlr_screencopy_frame_v1 *zwlr_screencopy_frame_v1);
	/**
	 * carries the coordinates of the damaged region
	 *
	 * This event is sent right before the ready event when
	 * copy_with_damage is requested. It may be generated multiple
	 * times for each copy_with_damage request.
	 *
	 * The arguments describe a box around an area that has changed
	 * since the last copy request that was derived from the current
	 * screencopy manager instance.
	 *
	 * The union of all regions received between the call to
	 * copy_with_damage and a ready event is the total damage since the
	 * prior ready event.
	 * @param x damaged x coordinates
	 * @param y damaged y coordinates
	 * @param width current width
	 * @param height current height
	 * @since 2
	 */
	void (*damage)(void *data,
		       struct zwlr_screencopy_frame_v1 *zwlr_screencopy_frame_v1,
		       uint32_t x,
		       uint32_t y,
		       uint32_t width,
		       uint32_t height);
};

ZWLR_SCREENCOPY_FRAME_V1_COPY

#define             ZWLR_SCREENCOPY_FRAME_V1_COPY

ZWLR_SCREENCOPY_FRAME_V1_DESTROY

#define             ZWLR_SCREENCOPY_FRAME_V1_DESTROY

ZWLR_SCREENCOPY_FRAME_V1_COPY_WITH_DAMAGE

#define             ZWLR_SCREENCOPY_FRAME_V1_COPY_WITH_DAMAGE

ZWLR_SCREENCOPY_FRAME_V1_BUFFER_SINCE_VERSION

#define             ZWLR_SCREENCOPY_FRAME_V1_BUFFER_SINCE_VERSION

ZWLR_SCREENCOPY_FRAME_V1_FLAGS_SINCE_VERSION

#define             ZWLR_SCREENCOPY_FRAME_V1_FLAGS_SINCE_VERSION

ZWLR_SCREENCOPY_FRAME_V1_READY_SINCE_VERSION

#define             ZWLR_SCREENCOPY_FRAME_V1_READY_SINCE_VERSION

ZWLR_SCREENCOPY_FRAME_V1_FAILED_SINCE_VERSION

#define             ZWLR_SCREENCOPY_FRAME_V1_FAILED_SINCE_VERSION

ZWLR_SCREENCOPY_FRAME_V1_DAMAGE_SINCE_VERSION

#define             ZWLR_SCREENCOPY_FRAME_V1_DAMAGE_SINCE_VERSION

ZWLR_SCREENCOPY_FRAME_V1_COPY_SINCE_VERSION

#define             ZWLR_SCREENCOPY_FRAME_V1_COPY_SINCE_VERSION

ZWLR_SCREENCOPY_FRAME_V1_DESTROY_SINCE_VERSION

#define             ZWLR_SCREENCOPY_FRAME_V1_DESTROY_SINCE_VERSION

ZWLR_SCREENCOPY_FRAME_V1_COPY_WITH_DAMAGE_SINCE_VERSION

#define             ZWLR_SCREENCOPY_FRAME_V1_COPY_WITH_DAMAGE_SINCE_VERSION

struct wl_buffer

struct wl_buffer;

struct wl_output

struct wl_output;

struct zwlr_screencopy_frame_v1

struct zwlr_screencopy_frame_v1;

struct zwlr_screencopy_manager_v1

struct zwlr_screencopy_manager_v1;