From 341e7e9d8ff6c77d7eaba4d47e56044203ee80e2 Mon Sep 17 00:00:00 2001 From: Gerik Kubiak Date: Mon, 16 Mar 2015 20:28:17 -0700 Subject: Added the ability to pause the emulator by moving the mouse outside the window. --- Source/Core/DolphinWX/Frame.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'Source/Core/DolphinWX/Frame.cpp') diff --git a/Source/Core/DolphinWX/Frame.cpp b/Source/Core/DolphinWX/Frame.cpp index ff82e1cd65..3678d349c5 100644 --- a/Source/Core/DolphinWX/Frame.cpp +++ b/Source/Core/DolphinWX/Frame.cpp @@ -1121,6 +1121,33 @@ void CFrame::OnKeyUp(wxKeyEvent& event) void CFrame::OnMouse(wxMouseEvent& event) { + if (SConfig::GetInstance().m_PauseOnFocusLost && + event.GetEventObject() == (wxObject*)m_RenderParent) + { + if (event.Leaving()) + { + if (Core::GetState() == Core::CORE_RUN) + { + Core::SetState(Core::CORE_PAUSE); + if (SConfig::GetInstance().m_LocalCoreStartupParameter.bHideCursor) + m_RenderParent->SetCursor(wxNullCursor); + Core::UpdateTitle(); + } + UpdateGUI(); + } + else if (event.Entering()) + { + if (Core::GetState() == Core::CORE_PAUSE) + { + Core::SetState(Core::CORE_RUN); + if (SConfig::GetInstance().m_LocalCoreStartupParameter.bHideCursor) + m_RenderParent->SetCursor(wxCURSOR_BLANK); + } + UpdateGUI(); + } + } + + // next handlers are all for FreeLook, so we don't need to check them if disabled if (!g_Config.bFreeLook) { -- cgit v1.2.3 From 88fb8edf8e9a253c7163e6aad893e2af4c857978 Mon Sep 17 00:00:00 2001 From: Gerik Kubiak Date: Mon, 16 Mar 2015 21:31:13 -0700 Subject: Change behavior so emulation is paused when window focus is lost. --- Source/Core/DolphinWX/Frame.cpp | 56 +++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 27 deletions(-) (limited to 'Source/Core/DolphinWX/Frame.cpp') diff --git a/Source/Core/DolphinWX/Frame.cpp b/Source/Core/DolphinWX/Frame.cpp index 3678d349c5..f96aa04267 100644 --- a/Source/Core/DolphinWX/Frame.cpp +++ b/Source/Core/DolphinWX/Frame.cpp @@ -1121,33 +1121,6 @@ void CFrame::OnKeyUp(wxKeyEvent& event) void CFrame::OnMouse(wxMouseEvent& event) { - if (SConfig::GetInstance().m_PauseOnFocusLost && - event.GetEventObject() == (wxObject*)m_RenderParent) - { - if (event.Leaving()) - { - if (Core::GetState() == Core::CORE_RUN) - { - Core::SetState(Core::CORE_PAUSE); - if (SConfig::GetInstance().m_LocalCoreStartupParameter.bHideCursor) - m_RenderParent->SetCursor(wxNullCursor); - Core::UpdateTitle(); - } - UpdateGUI(); - } - else if (event.Entering()) - { - if (Core::GetState() == Core::CORE_PAUSE) - { - Core::SetState(Core::CORE_RUN); - if (SConfig::GetInstance().m_LocalCoreStartupParameter.bHideCursor) - m_RenderParent->SetCursor(wxCURSOR_BLANK); - } - UpdateGUI(); - } - } - - // next handlers are all for FreeLook, so we don't need to check them if disabled if (!g_Config.bFreeLook) { @@ -1203,6 +1176,35 @@ void CFrame::OnMouse(wxMouseEvent& event) event.Skip(); } +void CFrame::OnFocusChange(wxFocusEvent& event) +{ + if (SConfig::GetInstance().m_PauseOnFocusLost) + { + if (RendererHasFocus()) + { + if (Core::GetState() == Core::CORE_PAUSE) + { + Core::SetState(Core::CORE_RUN); + if (SConfig::GetInstance().m_LocalCoreStartupParameter.bHideCursor) + m_RenderParent->SetCursor(wxCURSOR_BLANK); + } + UpdateGUI(); + + } + else + { + if (Core::GetState() == Core::CORE_RUN) + { + Core::SetState(Core::CORE_PAUSE); + if (SConfig::GetInstance().m_LocalCoreStartupParameter.bHideCursor) + m_RenderParent->SetCursor(wxNullCursor); + Core::UpdateTitle(); + } + UpdateGUI(); + } + } +} + void CFrame::DoFullscreen(bool enable_fullscreen) { if (g_Config.bExclusiveMode && Core::GetState() == Core::CORE_PAUSE) -- cgit v1.2.3 From ae4e8b63587ab2c7377bac120c63e3bb7e386b7d Mon Sep 17 00:00:00 2001 From: Gerik Kubiak Date: Tue, 17 Mar 2015 12:14:14 -0700 Subject: Changed screen to window. Moved UpdateGUI to a more general scope. --- Source/Core/DolphinWX/Frame.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'Source/Core/DolphinWX/Frame.cpp') diff --git a/Source/Core/DolphinWX/Frame.cpp b/Source/Core/DolphinWX/Frame.cpp index f96aa04267..b21bbd866d 100644 --- a/Source/Core/DolphinWX/Frame.cpp +++ b/Source/Core/DolphinWX/Frame.cpp @@ -1188,8 +1188,6 @@ void CFrame::OnFocusChange(wxFocusEvent& event) if (SConfig::GetInstance().m_LocalCoreStartupParameter.bHideCursor) m_RenderParent->SetCursor(wxCURSOR_BLANK); } - UpdateGUI(); - } else { @@ -1200,8 +1198,8 @@ void CFrame::OnFocusChange(wxFocusEvent& event) m_RenderParent->SetCursor(wxNullCursor); Core::UpdateTitle(); } - UpdateGUI(); } + UpdateGUI(); } } -- cgit v1.2.3