···24022402#define SDL_HINT_MOUSE_DOUBLE_CLICK_TIME "SDL_MOUSE_DOUBLE_CLICK_TIME"
2403240324042404/**
24052405+ * A variable setting which system cursor to use as the default cursor.
24062406+ * This should be an integer corresponding to the SDL_SystemCursor enum.
24072407+ * The default value is zero (SDL_SYSTEM_CURSOR_DEFAULT).
24082408+ *
24092409+ * This hint needs to be set before SDL_Init().
24102410+ *
24112411+ * \since This hint is available since SDL 3.1.3.
24122412+ */
24132413+#define SDL_HINT_MOUSE_DEFAULT_SYSTEM_CURSOR "SDL_MOUSE_DEFAULT_SYSTEM_CURSOR"
24142414+24152415+/**
24052416 * A variable controlling whether warping a hidden mouse cursor will activate
24062417 * relative mouse mode.
24072418 *
+13
src/events/SDL_mouse.c
···440440 }
441441}
442442443443+SDL_SystemCursor SDL_GetDefaultSystemCursor(void)
444444+{
445445+ SDL_SystemCursor id = SDL_SYSTEM_CURSOR_DEFAULT;
446446+ const char *value = SDL_GetHint(SDL_HINT_MOUSE_DEFAULT_SYSTEM_CURSOR);
447447+ if (value) {
448448+ int index = SDL_atoi(value);
449449+ if (0 <= index && index < (int)SDL_SYSTEM_CURSOR_COUNT) {
450450+ id = (SDL_SystemCursor)index;
451451+ }
452452+ }
453453+ return id;
454454+}
455455+443456SDL_Mouse *SDL_GetMouse(void)
444457{
445458 return &SDL_mouse;
+3
src/events/SDL_mouse_c.h
···158158// Set the default mouse cursor
159159extern void SDL_SetDefaultCursor(SDL_Cursor *cursor);
160160161161+// Get the preferred default system cursor
162162+extern SDL_SystemCursor SDL_GetDefaultSystemCursor(void);
163163+161164// Set the mouse focus window
162165extern void SDL_SetMouseFocus(SDL_Window *window);
163166
+2-1
src/video/android/SDL_androidmouse.c
···75757676static SDL_Cursor *Android_CreateDefaultCursor(void)
7777{
7878- return Android_WrapCursor(0, SDL_SYSTEM_CURSOR_DEFAULT);
7878+ SDL_SystemCursor id = SDL_GetDefaultSystemCursor();
7979+ return Android_WrapCursor(0, id);
7980}
80818182static SDL_Cursor *Android_CreateCursor(SDL_Surface *surface, int hot_x, int hot_y)