NoGUI: Implement mouse cursor hiding in fullscreen

This commit is contained in:
Connor McLaughlin 2021-05-18 02:29:56 +10:00
parent 6f38e171b2
commit f3cceca805
3 changed files with 9 additions and 5 deletions

View file

@ -97,6 +97,9 @@ bool SDLHostInterface::SetFullscreen(bool enabled)
SDL_SetWindowFullscreen(m_window, enabled ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0); SDL_SetWindowFullscreen(m_window, enabled ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0);
m_fullscreen = enabled; m_fullscreen = enabled;
const bool hide_cursor = (enabled && GetBoolSettingValue("Main", "HideCursorInFullscreen", true));
SDL_ShowCursor(hide_cursor ? SDL_DISABLE : SDL_ENABLE);
return true; return true;
} }
@ -145,10 +148,7 @@ bool SDLHostInterface::CreatePlatformWindow(bool fullscreen)
} }
if (fullscreen || m_fullscreen) if (fullscreen || m_fullscreen)
{ SetFullscreen(true);
SDL_SetWindowFullscreen(m_window, SDL_WINDOW_FULLSCREEN_DESKTOP);
m_fullscreen = true;
}
ImGui_ImplSDL2_Init(m_window); ImGui_ImplSDL2_Init(m_window);

View file

@ -514,7 +514,8 @@ void CommonHostInterface::CreateImGuiContext()
ImGui::GetIO().IniFilename = nullptr; ImGui::GetIO().IniFilename = nullptr;
#ifndef __ANDROID__ #ifndef __ANDROID__
// Android has no keyboard, nor are we using ImGui for any actual user-interactable windows. // Android has no keyboard, nor are we using ImGui for any actual user-interactable windows.
ImGui::GetIO().ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard | ImGuiConfigFlags_NavEnableGamepad; ImGui::GetIO().ConfigFlags |=
ImGuiConfigFlags_NavEnableKeyboard | ImGuiConfigFlags_NavEnableGamepad | ImGuiConfigFlags_NoMouseCursorChange;
#endif #endif
} }

View file

@ -1297,6 +1297,9 @@ void DrawSettingsWindow()
settings_changed |= settings_changed |=
ToggleButton("Start Fullscreen", "Automatically switches to fullscreen mode when the program is started.", ToggleButton("Start Fullscreen", "Automatically switches to fullscreen mode when the program is started.",
&s_settings_copy.start_fullscreen); &s_settings_copy.start_fullscreen);
settings_changed |= ToggleButtonForNonSetting(
"Hide Cursor In Fullscreen", "Hides the mouse pointer/cursor when the emulator is in fullscreen mode.",
"Main", "HideCursorInFullscreen", true);
settings_changed |= settings_changed |=
ToggleButton("Load Devices From Save States", ToggleButton("Load Devices From Save States",
"When enabled, memory cards and controllers will be overwritten when save states are loaded.", "When enabled, memory cards and controllers will be overwritten when save states are loaded.",