#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__)
#define NO_JOYGETPOSEX
#endif
-#include "wx/window.h"
#include "wx/msw/registry.h"
#include <regstr.h>
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;
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.
bool wxJoystick::SetCapture(wxWindow* win, int pollingFreq)
{
+#ifdef __WXMSW__
BOOL changed = (pollingFreq == 0);
MMRESULT res = joySetCapture((HWND) win->GetHWND(), m_joystick, pollingFreq, changed);
return (res == JOYERR_NOERROR);
+#else
+ wxUnusedVar(win);
+ wxUnusedVar(pollingFreq);
+ return false;
+#endif
}
bool wxJoystick::ReleaseCapture()