Reworked InputImpl::IsMouseButtonPressed Windows code

Former-commit-id: 216192b459f4b0ce6dcceb06d954eb883ced2410
This commit is contained in:
Lynix 2014-03-01 12:23:17 +01:00
parent 02275293ee
commit 5018787e3e
1 changed files with 13 additions and 14 deletions

View File

@ -224,7 +224,7 @@ NzVector2i NzEventImpl::GetMousePosition(const NzWindow& relativeTo)
{ {
NazaraError("Window's handle is invalid"); NazaraError("Window's handle is invalid");
// Attention que (-1, -1) est une position tout à fait valide et ne doit pas être utilisée pour tester l'erreur // Attention que (-1, -1) est une position tout à fait valide et ne doit pas servir de test
return NzVector2i(-1, -1); return NzVector2i(-1, -1);
} }
} }
@ -254,22 +254,21 @@ bool NzEventImpl::IsMouseButtonPressed(NzMouse::Button button)
}; };
// Gestion de l'inversement des boutons de la souris // Gestion de l'inversement des boutons de la souris
switch (button) if (GetSystemMetrics(SM_SWAPBUTTON))
{ {
case NzMouse::Left: switch (button)
if (GetSystemMetrics(SM_SWAPBUTTON)) {
return (GetAsyncKeyState(VK_RBUTTON) & 0x8000) != 0; case NzMouse::Left:
button = NzMouse::Right;
break;
break; case NzMouse::Right:
button = NzMouse::Left;
break;
case NzMouse::Right: default:
if (GetSystemMetrics(SM_SWAPBUTTON)) break;
return (GetAsyncKeyState(VK_LBUTTON) & 0x8000) != 0; }
break;
default:
break;
} }
return (GetAsyncKeyState(vButtons[button]) & 0x8000) != 0; return (GetAsyncKeyState(vButtons[button]) & 0x8000) != 0;