diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/backend/wayland.h | 17 | ||||
-rw-r--r-- | include/wlr/interfaces/wlr_output.h | 5 | ||||
-rw-r--r-- | include/wlr/types/wlr_layer_shell.h | 8 | ||||
-rw-r--r-- | include/wlr/types/wlr_output_damage.h | 1 | ||||
-rw-r--r-- | include/wlr/xwayland.h | 1 |
5 files changed, 19 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); diff --git a/include/wlr/types/wlr_layer_shell.h b/include/wlr/types/wlr_layer_shell.h index 22352906..1477989d 100644 --- a/include/wlr/types/wlr_layer_shell.h +++ b/include/wlr/types/wlr_layer_shell.h @@ -113,4 +113,12 @@ struct wlr_layer_surface *wlr_layer_surface_from_wlr_surface( void wlr_layer_surface_for_each_surface(struct wlr_layer_surface *surface, wlr_surface_iterator_func_t iterator, void *user_data); +/** + * Find a surface within this layer-surface tree at the given surface-local + * coordinates. Returns the surface and coordinates in the leaf surface + * coordinate system or NULL if no surface is found at that location. + */ +struct wlr_surface *wlr_layer_surface_surface_at( + struct wlr_layer_surface *surface, double sx, double sy, + double *sub_x, double *sub_y); #endif diff --git a/include/wlr/types/wlr_output_damage.h b/include/wlr/types/wlr_output_damage.h index beba2f6c..a4333c1a 100644 --- a/include/wlr/types/wlr_output_damage.h +++ b/include/wlr/types/wlr_output_damage.h @@ -23,6 +23,7 @@ */ struct wlr_output_damage { struct wlr_output *output; + int max_rects; // max number of damaged rectangles pixman_region32_t current; // in output-local coordinates diff --git a/include/wlr/xwayland.h b/include/wlr/xwayland.h index d0f37834..3507e547 100644 --- a/include/wlr/xwayland.h +++ b/include/wlr/xwayland.h @@ -109,6 +109,7 @@ struct wlr_xwayland_surface { char *class; char *instance; pid_t pid; + bool has_utf8_title; struct wl_list children; // wlr_xwayland_surface::parent_link struct wlr_xwayland_surface *parent; |