summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinWX/Frame.cpp
diff options
context:
space:
mode:
authorskidau <skidau@gmail.com>2015-03-19 12:48:03 +1100
committerskidau <skidau@gmail.com>2015-03-19 12:48:03 +1100
commit7d800b6180510c8e3d4d894c44bb9442be21b9e0 (patch)
treeb399950243883fd233578e78c64c44193b264899 /Source/Core/DolphinWX/Frame.cpp
parent4b11aeacb94ee0aec06c769497f76cacb0158603 (diff)
parentae4e8b63587ab2c7377bac120c63e3bb7e386b7d (diff)
Merge pull request #2224 from gerikkub/AutoFocus
Pause the emulator based on mouse focus
Diffstat (limited to 'Source/Core/DolphinWX/Frame.cpp')
-rw-r--r--Source/Core/DolphinWX/Frame.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/Source/Core/DolphinWX/Frame.cpp b/Source/Core/DolphinWX/Frame.cpp
index dc95d0d7e8..f143d5faa0 100644
--- a/Source/Core/DolphinWX/Frame.cpp
+++ b/Source/Core/DolphinWX/Frame.cpp
@@ -1176,6 +1176,33 @@ 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);
+ }
+ }
+ 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)