From 3176aa887df7f9f98057dcf87ac467618fd6640d Mon Sep 17 00:00:00 2001 From: kanjitalk755 Date: Thu, 11 Jan 2024 11:00:04 +0900 Subject: [PATCH] Add prefs item init_grab --- BasiliskII/src/SDL/video_sdl2.cpp | 2 ++ BasiliskII/src/SDL/video_sdl3.cpp | 2 ++ BasiliskII/src/prefs_items.cpp | 1 + SheepShaver/src/prefs_items.cpp | 1 + 4 files changed, 6 insertions(+) diff --git a/BasiliskII/src/SDL/video_sdl2.cpp b/BasiliskII/src/SDL/video_sdl2.cpp index 9e017900..880d120a 100644 --- a/BasiliskII/src/SDL/video_sdl2.cpp +++ b/BasiliskII/src/SDL/video_sdl2.cpp @@ -1097,6 +1097,8 @@ void driver_base::init() sdl_palette = SDL_AllocPalette(256); sdl_palette->colors[1] = (SDL_Color){ .r = 0, .g = 0, .b = 0, .a = 255 }; SDL_SetSurfacePalette(s, sdl_palette); + + if (PrefsFindBool("init_grab") && !PrefsFindBool("hardcursor")) grab_mouse(); } void driver_base::adapt_to_video_mode() { diff --git a/BasiliskII/src/SDL/video_sdl3.cpp b/BasiliskII/src/SDL/video_sdl3.cpp index 902763b8..3ab913a8 100644 --- a/BasiliskII/src/SDL/video_sdl3.cpp +++ b/BasiliskII/src/SDL/video_sdl3.cpp @@ -1084,6 +1084,8 @@ void driver_base::init() sdl_palette = SDL_CreatePalette(256); sdl_palette->colors[1] = (SDL_Color){ .r = 0, .g = 0, .b = 0, .a = 255 }; SDL_SetSurfacePalette(s, sdl_palette); + + if (PrefsFindBool("init_grab") && !PrefsFindBool("hardcursor")) grab_mouse(); } void driver_base::adapt_to_video_mode() { diff --git a/BasiliskII/src/prefs_items.cpp b/BasiliskII/src/prefs_items.cpp index 3d749292..c82b1d08 100644 --- a/BasiliskII/src/prefs_items.cpp +++ b/BasiliskII/src/prefs_items.cpp @@ -86,6 +86,7 @@ prefs_desc common_prefs_items[] = { {"sound_buffer", TYPE_INT32, false, "sound buffer length"}, {"name_encoding", TYPE_INT32, false, "file name encoding"}, {"delay", TYPE_INT32, false, "additional delay [uS] every 64k instructions"}, + {"init_grab", TYPE_BOOLEAN, false, "initially grabbing mouse"}, {NULL, TYPE_END, false, NULL} // End of list }; diff --git a/SheepShaver/src/prefs_items.cpp b/SheepShaver/src/prefs_items.cpp index 0169357b..98f8db6d 100644 --- a/SheepShaver/src/prefs_items.cpp +++ b/SheepShaver/src/prefs_items.cpp @@ -73,6 +73,7 @@ prefs_desc common_prefs_items[] = { {"title", TYPE_STRING, false, "window title"}, {"sound_buffer", TYPE_INT32, false, "sound buffer length"}, {"name_encoding", TYPE_INT32, false, "file name encoding"}, + {"init_grab", TYPE_BOOLEAN, false, "initially grabbing mouse"}, {NULL, TYPE_END, false, NULL} // End of list };