From 076a9a84abeca8776bdebacc4f3b3ada22b31aa3 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Tue, 25 Nov 2003 21:57:00 +0000 Subject: [PATCH] SM_GainFocus, SM_LoseFocus --- stepmania/src/ScreenManager.cpp | 5 ++++- stepmania/src/ScreenMessage.h | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/stepmania/src/ScreenManager.cpp b/stepmania/src/ScreenManager.cpp index 91a1ec2fa1..c30a3b0fc9 100644 --- a/stepmania/src/ScreenManager.cpp +++ b/stepmania/src/ScreenManager.cpp @@ -529,6 +529,8 @@ void ScreenManager::SetNewScreen( Screen *pNewScreen ) m_ScreenStack.clear(); m_ScreenStack.push_back( pNewScreen ); + + PostMessageToTopScreen( SM_GainFocus, 0 ); } void ScreenManager::SetNewScreen( CString sClassName ) @@ -629,12 +631,13 @@ void ScreenManager::MiniMenu( Menu* pDef, ScreenMessage SM_SendOnOK, ScreenMessa void ScreenManager::PopTopScreen( ScreenMessage SM ) { Screen* pScreenToPop = m_ScreenStack.back(); // top menu - //pScreenToPop->HandleScreenMessage( SM_LosingInputFocus ); + pScreenToPop->HandleScreenMessage( SM_LoseFocus ); m_ScreenStack.erase(m_ScreenStack.end()-1, m_ScreenStack.end()); m_ScreensToDelete.push_back( pScreenToPop ); // post to the new top PostMessageToTopScreen( SM, 0 ); + PostMessageToTopScreen( SM_GainFocus, 0 ); PostMessageToTopScreen( m_MessageSendOnPop, 0 ); m_MessageSendOnPop = SM_None; } diff --git a/stepmania/src/ScreenMessage.h b/stepmania/src/ScreenMessage.h index 1fc4863277..83ff28d9ae 100644 --- a/stepmania/src/ScreenMessage.h +++ b/stepmania/src/ScreenMessage.h @@ -23,6 +23,8 @@ enum ScreenMessage { SM_BeginFadingOut, SM_GoToNextScreen, SM_GoToPrevScreen, + SM_GainFocus, + SM_LoseFocus, SM_User = 100 };