mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-01 22:58:38 -04:00
output: add wlr_output_set_hardware_cursors_enabled
And use it in screencopy.
This commit is contained in:
parent
9288c827aa
commit
928572c14d
4 changed files with 62 additions and 11 deletions
|
|
@ -107,6 +107,7 @@ struct wlr_output {
|
|||
|
||||
struct wl_list cursors; // wlr_output_cursor::link
|
||||
struct wlr_output_cursor *hardware_cursor;
|
||||
int software_cursor_locks; // number of locks forcing software cursors
|
||||
|
||||
// the output position in layout space reported to clients
|
||||
int32_t lx, ly;
|
||||
|
|
@ -196,6 +197,14 @@ bool wlr_output_export_dmabuf(struct wlr_output *output,
|
|||
void wlr_output_set_fullscreen_surface(struct wlr_output *output,
|
||||
struct wlr_surface *surface);
|
||||
struct wlr_output *wlr_output_from_resource(struct wl_resource *resource);
|
||||
/**
|
||||
* Locks the output to only use software cursors instead of hardware cursors.
|
||||
* This is useful if hardware cursors need to be temporarily disabled (e.g.
|
||||
* during screen capture). There must be as many unlocks as there have been
|
||||
* locks to restore the original state. There should never be an unlock before
|
||||
* a lock.
|
||||
*/
|
||||
void wlr_output_lock_software_cursors(struct wlr_output *output, bool lock);
|
||||
|
||||
|
||||
struct wlr_output_cursor *wlr_output_cursor_create(struct wlr_output *output);
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
#ifndef WLR_TYPES_WLR_SCREENCOPY_V1_H
|
||||
#define WLR_TYPES_WLR_SCREENCOPY_V1_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <wayland-server.h>
|
||||
#include <wlr/types/wlr_box.h>
|
||||
|
||||
|
|
@ -35,6 +36,8 @@ struct wlr_screencopy_frame_v1 {
|
|||
struct wlr_box box;
|
||||
int stride;
|
||||
|
||||
bool overlay_cursor, cursor_locked;
|
||||
|
||||
struct wl_shm_buffer *buffer;
|
||||
struct wl_listener buffer_destroy;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue