Split event_toggle_focus

This commit is contained in:
Kp 2015-05-09 17:39:03 +00:00
parent 67240cea48
commit 38e8967fba
2 changed files with 21 additions and 2 deletions

View file

@ -92,7 +92,15 @@ void event_send(const d_event &event);
// Sends input, idle and draw events to event handlers
void event_process();
void event_toggle_focus(int activate_focus);
void event_enable_focus();
void event_disable_focus();
static inline void event_toggle_focus(int activate_focus)
{
if (activate_focus)
event_enable_focus();
else
event_disable_focus();
}
// See how long we were idle for
void event_reset_idle_seconds();

View file

@ -174,7 +174,8 @@ void event_process(void)
gr_flip();
}
void event_toggle_focus(int activate_focus)
template <bool activate_focus>
static void event_change_focus()
{
if (activate_focus && GameCfg.Grabinput && !GameArg.DbgForbidConsoleGrab)
SDL_WM_GrabInput(SDL_GRAB_ON);
@ -183,6 +184,16 @@ void event_toggle_focus(int activate_focus)
mouse_toggle_cursor(!activate_focus);
}
void event_enable_focus()
{
event_change_focus<true>();
}
void event_disable_focus()
{
event_change_focus<false>();
}
static fix64 last_event = 0;
void event_reset_idle_seconds()