Make size cursors be double arrows on Wayland

I added fallbacks as they are listed under "to be discussed" in the spec
but I don't know if they're necessary.

https://www.freedesktop.org/wiki/Specifications/cursor-spec/
main
Zack Middleton 2023-11-20 21:34:55 -06:00 committed by Sam Lantinga
parent 5e9b0820f3
commit fd91178d7f
1 changed files with 19 additions and 5 deletions

View File

@ -336,19 +336,33 @@ static SDL_bool wayland_get_system_cursor(SDL_VideoData *vdata, Wayland_CursorDa
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "progress");
break;
case SDL_SYSTEM_CURSOR_SIZENWSE:
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "nw-resize");
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "nwse-resize");
if (!cursor) {
/* only a single arrow */
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "nw-resize");
}
break;
case SDL_SYSTEM_CURSOR_SIZENESW:
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "ne-resize");
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "nesw-resize");
if (!cursor) {
/* only a single arrow */
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "ne-resize");
}
break;
case SDL_SYSTEM_CURSOR_SIZEWE:
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "e-resize");
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "ew-resize");
if (!cursor) {
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "col-resize");
}
break;
case SDL_SYSTEM_CURSOR_SIZENS:
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "n-resize");
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "ns-resize");
if (!cursor) {
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "row-resize");
}
break;
case SDL_SYSTEM_CURSOR_SIZEALL:
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "fleur"); // ?
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "all-scroll");
break;
case SDL_SYSTEM_CURSOR_NO:
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "not-allowed");