aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-05-04 19:00:45 +0100
committerGitHub <noreply@github.com>2018-05-04 19:00:45 +0100
commitcaf9f9022c32216da562f4ca6f6d8fb5c101d0ae (patch)
tree5f0dd41e9527ef15f41f66a8bf4d8993c887e9d6 /include
parent2959fcce1ac410904ebb2d1b11bbc954d0c00c26 (diff)
parent6b3eac37f14ee5d903a347699f85f6cbfa4f2e6c (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.h17
-rw-r--r--include/wlr/interfaces/wlr_output.h5
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);