mirror of
https://github.com/mpv-player/mpv
synced 2024-12-26 17:12:36 +00:00
wayland_common: adjust default cursor size and scale its buffer
It turns out compositors which do scaling scale the cursor as well, so every single surface needs to get scaled too. Also, 32 corresponds to the default size for both GTK+ and KDE.
This commit is contained in:
parent
1abac5f4aa
commit
7c66c2bb75
@ -49,13 +49,14 @@ static int set_cursor_visibility(struct vo_wayland_state *wl, int on)
|
||||
if (!wl->pointer)
|
||||
return VO_NOTAVAIL;
|
||||
if (on) {
|
||||
struct wl_cursor_image *image = wl->default_cursor->images[0];
|
||||
struct wl_cursor_image *image = wl->default_cursor->images[0];
|
||||
struct wl_buffer *buffer = wl_cursor_image_get_buffer(image);
|
||||
if (!buffer)
|
||||
return VO_FALSE;
|
||||
wl_pointer_set_cursor(wl->pointer, wl->pointer_id, wl->cursor_surface,
|
||||
image->hotspot_x, image->hotspot_y);
|
||||
wl_surface_attach(wl->cursor_surface, buffer, 0, 0);
|
||||
wl_surface_set_buffer_scale(wl->cursor_surface, wl->scaling);
|
||||
wl_surface_damage(wl->cursor_surface, 0, 0, image->width, image->height);
|
||||
wl_surface_commit(wl->cursor_surface);
|
||||
} else {
|
||||
@ -834,7 +835,7 @@ static const struct wl_registry_listener registry_listener = {
|
||||
|
||||
static int spawn_cursor(struct vo_wayland_state *wl)
|
||||
{
|
||||
wl->cursor_theme = wl_cursor_theme_load(NULL, 24, wl->shm);
|
||||
wl->cursor_theme = wl_cursor_theme_load(NULL, 32, wl->shm);
|
||||
if (!wl->cursor_theme) {
|
||||
MP_ERR(wl, "Unable to load cursor theme!\n");
|
||||
return 1;
|
||||
|
Loading…
Reference in New Issue
Block a user