events
This commit is contained in:
@@ -17,6 +17,7 @@ LowLevelWindow_SDL::LowLevelWindow_SDL()
|
||||
|
||||
SDL_EventState( SDL_VIDEORESIZE, SDL_ENABLE );
|
||||
SDL_EventState( SDL_ACTIVEEVENT, SDL_ENABLE );
|
||||
SDL_EventState( SDL_QUIT, SDL_ENABLE );
|
||||
}
|
||||
|
||||
LowLevelWindow_SDL::~LowLevelWindow_SDL()
|
||||
@@ -24,6 +25,7 @@ LowLevelWindow_SDL::~LowLevelWindow_SDL()
|
||||
SDL_QuitSubSystem(SDL_INIT_VIDEO);
|
||||
mySDL_EventState( SDL_VIDEORESIZE, SDL_IGNORE );
|
||||
mySDL_EventState( SDL_ACTIVEEVENT, SDL_IGNORE );
|
||||
mySDL_EventState( SDL_QUIT, SDL_IGNORE );
|
||||
}
|
||||
|
||||
void *LowLevelWindow_SDL::GetProcAddress(CString s)
|
||||
@@ -197,10 +199,11 @@ void LowLevelWindow_SDL::SwapBuffers()
|
||||
|
||||
void LowLevelWindow_SDL::Update(float fDeltaTime)
|
||||
{
|
||||
HandleSDLEvents();
|
||||
/* This needs to be called before anything that handles SDL events. */
|
||||
SDL_PumpEvents();
|
||||
|
||||
SDL_Event event;
|
||||
while(SDL_GetEvent(event, SDL_VIDEORESIZEMASK|SDL_ACTIVEEVENTMASK))
|
||||
while(SDL_GetEvent(event, SDL_VIDEORESIZEMASK|SDL_ACTIVEEVENTMASK|SDL_QUITMASK))
|
||||
{
|
||||
switch(event.type)
|
||||
{
|
||||
@@ -233,6 +236,10 @@ void LowLevelWindow_SDL::Update(float fDeltaTime)
|
||||
FocusChanged( i&SDL_APPINPUTFOCUS && i&SDL_APPACTIVE );
|
||||
}
|
||||
break;
|
||||
case SDL_QUIT:
|
||||
LOG->Trace("SDL_QUIT: shutting down");
|
||||
ExitGame();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user