// Modified by:
// Created: 04/01/98
// RCS-ID: $Id$
-// Copyright: (c) Julian Smart and Markus Holzem
-// Licence: wxWindows license
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "joystick.h"
#endif
typedef UINT MMRESULT;
#endif
-#ifndef __TWIN32__
#ifdef __GNUWIN32_OLD__
#include "wx/msw/gnuwin32/extra.h"
#endif
-#endif
// Why doesn't BC++ have joyGetPosEx?
-#if !defined(__WIN32__) || defined(__BORLANDC__) || defined(__TWIN32__)
+#if !defined(__WIN32__) || defined(__BORLANDC__)
#define NO_JOYGETPOSEX
#endif
////////////////////////////////////////////////////////////////////////////
/**
- johan@linkdata.se 2002-08-20:
- Now returns only valid, functioning
- joysticks, counting from the first
- available and upwards.
+ johan@linkdata.se 2002-08-20:
+ Now returns only valid, functioning
+ joysticks, counting from the first
+ available and upwards.
*/
wxJoystick::wxJoystick(int joystick)
{
JOYINFO joyInfo;
- int i, maxsticks;
-
- maxsticks = joyGetNumDevs();
- for( i=0; i<maxsticks; i++ )
- {
- if( joyGetPos(i, & joyInfo) == JOYERR_NOERROR )
- {
- if( !joystick )
- {
- /* Found the one we want, store actual OS id and return */
- m_joystick = i;
- return;
- }
- joystick --;
- }
- }
-
- /* No such joystick, return ID 0 */
- m_joystick = 0;
- return;
+ int i, maxsticks;
+
+ maxsticks = joyGetNumDevs();
+ for( i=0; i<maxsticks; i++ )
+ {
+ if( joyGetPos(i, & joyInfo) == JOYERR_NOERROR )
+ {
+ if( !joystick )
+ {
+ /* Found the one we want, store actual OS id and return */
+ m_joystick = i;
+ return;
+ }
+ joystick --;
+ }
+ }
+
+ /* No such joystick, return ID 0 */
+ m_joystick = 0;
+ return;
};
wxPoint wxJoystick::GetPosition() const
}
/**
- johan@linkdata.se 2002-08-20:
- Return a bitmap with all button states in it,
- like the GTK version does and Win32 does.
+ johan@linkdata.se 2002-08-20:
+ Return a bitmap with all button states in it,
+ like the GTK version does and Win32 does.
*/
int wxJoystick::GetButtonState() const
{
MMRESULT res = joyGetPos(m_joystick, & joyInfo);
if (res == JOYERR_NOERROR )
{
- return joyInfo.wButtons;
+ return joyInfo.wButtons;
#if 0
int buttons = 0;
}
/**
- JLI 2002-08-20:
- Returns -1 to signify error.
+ JLI 2002-08-20:
+ Returns -1 to signify error.
*/
int wxJoystick::GetPOVPosition() const
{
}
/**
- johan@linkdata.se 2002-08-20:
- Returns -1 to signify error.
+ johan@linkdata.se 2002-08-20:
+ Returns -1 to signify error.
*/
int wxJoystick::GetPOVCTSPosition() const
{
////////////////////////////////////////////////////////////////////////////
/**
- johan@linkdata.se 2002-08-20:
- Now returns the number of connected, functioning
- joysticks, as intended.
+ johan@linkdata.se 2002-08-20:
+ Now returns the number of connected, functioning
+ joysticks, as intended.
*/
int wxJoystick::GetNumberJoysticks()
{
JOYINFO joyInfo;
- int i, maxsticks, actualsticks;
- maxsticks = joyGetNumDevs();
- actualsticks = 0;
- for( i=0; i<maxsticks; i++ )
- {
- if( joyGetPos( i, & joyInfo ) == JOYERR_NOERROR )
- {
- actualsticks ++;
- }
- }
+ int i, maxsticks, actualsticks;
+ maxsticks = joyGetNumDevs();
+ actualsticks = 0;
+ for( i=0; i<maxsticks; i++ )
+ {
+ if( joyGetPos( i, & joyInfo ) == JOYERR_NOERROR )
+ {
+ actualsticks ++;
+ }
+ }
return actualsticks;
}
/**
- johan@linkdata.se 2002-08-20:
- The old code returned true if there were any
- joystick capable drivers loaded (=always).
+ johan@linkdata.se 2002-08-20:
+ The old code returned true if there were any
+ joystick capable drivers loaded (=always).
*/
bool wxJoystick::IsOk() const
{
{
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
- return wxString("");
+ return wxEmptyString;
else
return wxString(joyCaps.szPname);
}
int wxJoystick::GetNumberAxes() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
return 0;
int wxJoystick::GetMaxButtons() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
return 0;
int wxJoystick::GetMaxAxes() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
return 0;
int wxJoystick::GetRudderMin() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
return 0;
int wxJoystick::GetRudderMax() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
return 0;
int wxJoystick::GetUMin() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
return 0;
int wxJoystick::GetUMax() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
return 0;
int wxJoystick::GetVMin() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
return 0;
int wxJoystick::GetVMax() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
return 0;
bool wxJoystick::HasRudder() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
- return FALSE;
+ return false;
else
return ((joyCaps.wCaps & JOYCAPS_HASR) == JOYCAPS_HASR);
#else
- return FALSE;
+ return false;
#endif
}
bool wxJoystick::HasZ() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
- return FALSE;
+ return false;
else
return ((joyCaps.wCaps & JOYCAPS_HASZ) == JOYCAPS_HASZ);
#else
- return FALSE;
+ return false;
#endif
}
bool wxJoystick::HasU() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
- return FALSE;
+ return false;
else
return ((joyCaps.wCaps & JOYCAPS_HASU) == JOYCAPS_HASU);
#else
- return FALSE;
+ return false;
#endif
}
bool wxJoystick::HasV() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
- return FALSE;
+ return false;
else
return ((joyCaps.wCaps & JOYCAPS_HASV) == JOYCAPS_HASV);
#else
- return FALSE;
+ return false;
#endif
}
bool wxJoystick::HasPOV() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
- return FALSE;
+ return false;
else
return ((joyCaps.wCaps & JOYCAPS_HASPOV) == JOYCAPS_HASPOV);
#else
- return FALSE;
+ return false;
#endif
}
bool wxJoystick::HasPOV4Dir() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
- return FALSE;
+ return false;
else
return ((joyCaps.wCaps & JOYCAPS_POV4DIR) == JOYCAPS_POV4DIR);
#else
- return FALSE;
+ return false;
#endif
}
bool wxJoystick::HasPOVCTS() const
{
-#if defined(__WIN32__) && !defined(__TWIN32__)
+#if defined(__WIN32__)
JOYCAPS joyCaps;
if (joyGetDevCaps(m_joystick, & joyCaps, sizeof(JOYCAPS)) != JOYERR_NOERROR)
- return FALSE;
+ return false;
else
return ((joyCaps.wCaps & JOYCAPS_POVCTS) == JOYCAPS_POVCTS);
#else
- return FALSE;
+ return false;
#endif
}