X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7e04489676d7e69ffa876664232ecbf4c060a21f..d91eb06e9c6626c246e4b18587165bcda5126644:/src/msw/joystick.cpp diff --git a/src/msw/joystick.cpp b/src/msw/joystick.cpp index 294447cb0a..1b9f8b04ce 100644 --- a/src/msw/joystick.cpp +++ b/src/msw/joystick.cpp @@ -13,14 +13,18 @@ #include "wx/wxprec.h" #ifdef __BORLANDC__ -#pragma hdrstop + #pragma hdrstop #endif #if wxUSE_JOYSTICK #include "wx/joystick.h" -#include "wx/string.h" -#include "wx/window.h" + +#ifndef WX_PRECOMP + #include "wx/string.h" + #include "wx/window.h" +#endif + #include "wx/msw/private.h" #if !defined(__GNUWIN32_OLD__) || defined(__CYGWIN10__) @@ -32,7 +36,6 @@ #define NO_JOYGETPOSEX #endif -#include "wx/window.h" #include "wx/msw/registry.h" #include @@ -83,6 +86,26 @@ wxPoint wxJoystick::GetPosition() const return wxPoint(0,0); } +int wxJoystick::GetPosition(unsigned axis) const +{ + switch (axis) { + case 0: + return GetPosition().x; + case 1: + return GetPosition().y; + case 2: + return GetZPosition(); + case 3: + return GetRudderPosition(); + case 4: + return GetUPosition(); + case 5: + return GetVPosition(); + default: + return 0; + } +} + int wxJoystick::GetZPosition() const { JOYINFO joyInfo; @@ -124,6 +147,14 @@ int wxJoystick::GetButtonState() const return 0; } +bool wxJoystick::GetButtonState(unsigned id) const +{ + if (id > sizeof(int) * 8) + return false; + + return (GetButtonState() & (1 << id)) != 0; +} + /** JLI 2002-08-20: Returns -1 to signify error.