diff options
author | emersion <contact@emersion.fr> | 2018-05-04 19:00:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-04 19:00:45 +0100 |
commit | caf9f9022c32216da562f4ca6f6d8fb5c101d0ae (patch) | |
tree | 5f0dd41e9527ef15f41f66a8bf4d8993c887e9d6 /include | |
parent | 2959fcce1ac410904ebb2d1b11bbc954d0c00c26 (diff) | |
parent | 6b3eac37f14ee5d903a347699f85f6cbfa4f2e6c (diff) |
Merge pull request #936 from emersion/full-hardware-cursors
output: always use hardware cursors if available
Diffstat (limited to 'include')
-rw-r--r-- | include/backend/wayland.h | 17 | ||||
-rw-r--r-- | include/wlr/interfaces/wlr_output.h | 5 |
2 files changed, 9 insertions, 13 deletions
diff --git a/include/backend/wayland.h b/include/backend/wayland.h index 38c7ee32..fec328ba 100644 --- a/include/backend/wayland.h +++ b/include/backend/wayland.h @@ -40,25 +40,22 @@ struct wlr_wl_output { struct wlr_output wlr_output; struct wlr_wl_backend *backend; + struct wl_list link; + struct wl_surface *surface; + struct wl_callback *frame_callback; struct zxdg_surface_v6 *xdg_surface; struct zxdg_toplevel_v6 *xdg_toplevel; struct wl_egl_window *egl_window; - struct wl_callback *frame_callback; + EGLSurface egl_surface; + + uint32_t enter_serial; struct { - struct wl_shm_pool *pool; - void *buffer; // actually a (client-side) struct wl_buffer * - uint32_t buf_size; - uint8_t *data; struct wl_surface *surface; + struct wl_egl_window *egl_window; int32_t hotspot_x, hotspot_y; } cursor; - - uint32_t enter_serial; - - void *egl_surface; - struct wl_list link; }; struct wlr_wl_input_device { diff --git a/include/wlr/interfaces/wlr_output.h b/include/wlr/interfaces/wlr_output.h index c9ddf615..d8c54067 100644 --- a/include/wlr/interfaces/wlr_output.h +++ b/include/wlr/interfaces/wlr_output.h @@ -13,9 +13,8 @@ struct wlr_output_impl { int32_t height, int32_t refresh); void (*transform)(struct wlr_output *output, enum wl_output_transform transform); - bool (*set_cursor)(struct wlr_output *output, const uint8_t *buf, - int32_t stride, uint32_t width, uint32_t height, - int32_t hotspot_x, int32_t hotspot_y, bool update_pixels); + bool (*set_cursor)(struct wlr_output *output, struct wlr_texture *texture, + int32_t hotspot_x, int32_t hotspot_y, bool update_texture); bool (*move_cursor)(struct wlr_output *output, int x, int y); void (*destroy)(struct wlr_output *output); bool (*make_current)(struct wlr_output *output, int *buffer_age); |