Fix -nomouse

This commit is contained in:
Ronald Kinard 2014-11-13 01:04:17 -06:00
parent a721528c50
commit b7e8d7d044
1 changed files with 23 additions and 20 deletions

View File

@ -818,30 +818,33 @@ static void Impl_HandleMouseMotionEvent(SDL_MouseMotionEvent evt)
event_t event; event_t event;
int wwidth, wheight; int wwidth, wheight;
SDL_GetWindowSize(window, &wwidth, &wheight); if (USE_MOUSEINPUT)
if ((SDL_GetMouseFocus() != window && SDL_GetKeyboardFocus() != window))
{ {
SDLdoUngrabMouse(); SDL_GetWindowSize(window, &wwidth, &wheight);
return;
}
if ((evt.x == realwidth/2) && (evt.y == realheight/2)) if ((SDL_GetMouseFocus() != window && SDL_GetKeyboardFocus() != window))
{ {
return; SDLdoUngrabMouse();
} return;
else }
{
event.data2 = (evt.xrel) * (wwidth / realwidth);
event.data3 = -evt.yrel * (wheight / realheight);
}
event.type = ev_mouse; if ((evt.x == realwidth/2) && (evt.y == realheight/2))
{
return;
}
else
{
event.data2 = (int)round((evt.xrel) * ((float)wwidth / (float)realwidth));
event.data3 = (int)round(-evt.yrel * ((float)wheight / (float)realheight));
}
if (SDL_GetMouseFocus() == window && SDL_GetKeyboardFocus() == window) event.type = ev_mouse;
{
D_PostEvent(&event); if (SDL_GetMouseFocus() == window && SDL_GetKeyboardFocus() == window)
HalfWarpMouse(wwidth, wheight); {
D_PostEvent(&event);
HalfWarpMouse(wwidth, wheight);
}
} }
} }