mirror of
https://github.com/86Box/86Box.git
synced 2026-02-22 09:35:32 -07:00
Automatically release mouse; recapture mouse
This commit is contained in:
@@ -2218,6 +2218,20 @@ MainWindow::toggleFullscreenUI()
|
||||
return;
|
||||
|
||||
fullscreen_ui_visible ^= 1;
|
||||
|
||||
if (fullscreen_ui_visible) {
|
||||
// UI is being shown - save mouse capture state and release if captured
|
||||
mouse_was_captured = (mouse_capture != 0);
|
||||
if (mouse_was_captured) {
|
||||
plat_mouse_capture(0);
|
||||
}
|
||||
} else {
|
||||
// UI is being hidden - restore previous mouse capture state
|
||||
if (mouse_was_captured) {
|
||||
plat_mouse_capture(1);
|
||||
}
|
||||
}
|
||||
|
||||
ui->menubar->setVisible(fullscreen_ui_visible);
|
||||
ui->statusbar->setVisible(fullscreen_ui_visible && !hide_status_bar);
|
||||
ui->toolBar->setVisible(fullscreen_ui_visible && !hide_tool_bar);
|
||||
|
||||
@@ -201,6 +201,9 @@ private:
|
||||
/* Fullscreen UI visibility state */
|
||||
bool fullscreen_ui_visible = false;
|
||||
|
||||
/* Mouse capture state before showing fullscreen UI */
|
||||
bool mouse_was_captured = false;
|
||||
|
||||
friend class SpecifyDimensions;
|
||||
friend class ProgSettings;
|
||||
friend class RendererCommon;
|
||||
|
||||
Reference in New Issue
Block a user