mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-02 09:01:38 -05:00
screencopy: add support for frame flags
This commit is contained in:
parent
bd8be19b79
commit
2b9cbaddf3
9 changed files with 77 additions and 32 deletions
|
|
@ -43,8 +43,9 @@ static void frame_handle_output_swap_buffers(struct wl_listener *listener,
|
|||
|
||||
wl_shm_buffer_begin_access(buffer);
|
||||
void *data = wl_shm_buffer_get_data(buffer);
|
||||
bool ok = wlr_renderer_read_pixels(renderer, fmt, stride, width, height,
|
||||
0, 0, 0, 0, data);
|
||||
uint32_t flags = 0;
|
||||
bool ok = wlr_renderer_read_pixels(renderer, fmt, &flags, stride,
|
||||
width, height, 0, 0, 0, 0, data);
|
||||
wl_shm_buffer_end_access(buffer);
|
||||
|
||||
if (!ok) {
|
||||
|
|
@ -52,6 +53,8 @@ static void frame_handle_output_swap_buffers(struct wl_listener *listener,
|
|||
return;
|
||||
}
|
||||
|
||||
zwlr_screencopy_frame_v1_send_flags(frame->resource, flags);
|
||||
|
||||
uint32_t tv_sec_hi = event->when->tv_sec >> 32;
|
||||
uint32_t tv_sec_lo = event->when->tv_sec & 0xFFFFFFFF;
|
||||
zwlr_screencopy_frame_v1_send_ready(frame->resource,
|
||||
|
|
@ -172,7 +175,7 @@ static void manager_handle_capture_output(struct wl_client *client,
|
|||
frame->height = output->height;
|
||||
// TODO: don't send zero
|
||||
zwlr_screencopy_frame_v1_send_buffer(frame->resource,
|
||||
frame->width, frame->height, 0, 0, 0);
|
||||
frame->width, frame->height, 0, 0);
|
||||
}
|
||||
|
||||
static void manager_handle_destroy(struct wl_client *client,
|
||||
|
|
|
|||
|
|
@ -50,8 +50,8 @@ static void output_handle_frame(struct wl_listener *listener, void *_data) {
|
|||
int32_t stride = wl_shm_buffer_get_stride(shm_buffer);
|
||||
wl_shm_buffer_begin_access(shm_buffer);
|
||||
void *data = wl_shm_buffer_get_data(shm_buffer);
|
||||
bool ok = wlr_renderer_read_pixels(renderer, format, stride, width, height,
|
||||
0, 0, 0, 0, data);
|
||||
bool ok = wlr_renderer_read_pixels(renderer, format, NULL, stride,
|
||||
width, height, 0, 0, 0, 0, data);
|
||||
wl_shm_buffer_end_access(shm_buffer);
|
||||
|
||||
if (!ok) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue