case EVENT_TEXTINPUT:
HandleTextEvent((TextEvent *) &event);
break;
+
+ case SDL_APP_WILLENTERBACKGROUND:
+ case SDL_APP_DIDENTERBACKGROUND:
+ case SDL_APP_WILLENTERFOREGROUND:
+ case SDL_APP_DIDENTERFOREGROUND:
+ HandlePauseResumeEvent((PauseResumeEvent *) &event);
+ break;
#endif
case EVENT_KEYPRESS:
HandleKey(key, KEY_RELEASED);
}
}
+
+void HandlePauseResumeEvent(PauseResumeEvent *event)
+{
+ if (event->type == SDL_APP_WILLENTERBACKGROUND)
+ {
+ Mix_PauseMusic();
+ }
+ else if (event->type == SDL_APP_DIDENTERFOREGROUND)
+ {
+ Mix_ResumeMusic();
+ }
+}
+
#endif
void HandleKeyEvent(KeyEvent *event)
if (key_status == KEY_RELEASED)
return;
- if ((key == KSYM_Return || key == KSYM_KP_Enter) &&
- (GetKeyModState() & KMOD_Alt) && video.fullscreen_available)
+ if ((key == KSYM_F11 ||
+ ((key == KSYM_Return ||
+ key == KSYM_KP_Enter) && (GetKeyModState() & KMOD_Alt))) &&
+ video.fullscreen_available)
{
setup.fullscreen = !setup.fullscreen;
return;
}
- if ((key == KSYM_minus || key == KSYM_plus || key == KSYM_0) &&
- (GetKeyModState() & KMOD_Alt) && video.window_scaling_available &&
+ if ((key == KSYM_minus ||
+ key == KSYM_plus ||
+ key == KSYM_0) &&
+ ((GetKeyModState() & KMOD_Control) ||
+ (GetKeyModState() & KMOD_Alt)) &&
+ video.window_scaling_available &&
!video.fullscreen_enabled)
{
if (key == KSYM_0)