X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ad5c34f309074eefe625b82e1203eec5b91247f5..7848088476db284a94f19eeb24411b45d676ac46:/src/msw/joystick.cpp?ds=sidebyside diff --git a/src/msw/joystick.cpp b/src/msw/joystick.cpp index 6f5dfcd0b5..ac154cde1b 100644 --- a/src/msw/joystick.cpp +++ b/src/msw/joystick.cpp @@ -5,11 +5,11 @@ // 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 @@ -20,18 +20,20 @@ #pragma hdrstop #endif -#include +#include "wx/string.h" +#include "wx/window.h" +#include "wx/msw/private.h" -#ifndef __GNUWIN32__ -#include +#if !defined(__GNUWIN32_OLD__) || defined(__CYGWIN10__) + #include #endif #if !defined(__WIN32__) && !defined(_MMRESULT_) typedef UINT MMRESULT; #endif -#ifdef __GNUWIN32__ -#include +#ifdef __GNUWIN32_OLD__ +#include "wx/msw/gnuwin32/extra.h" #endif // Why doesn't BC++ have joyGetPosEx? @@ -39,15 +41,46 @@ typedef UINT MMRESULT; #define NO_JOYGETPOSEX #endif -#include -#include +#include "wx/window.h" +#include "wx/msw/joystick.h" IMPLEMENT_DYNAMIC_CLASS(wxJoystick, wxObject) // Attributes //////////////////////////////////////////////////////////////////////////// -wxPoint wxJoystick::GetPosition(void) const +/** + 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 0) || (res == JOYERR_NOERROR)); -} - -int wxJoystick::GetNumberJoysticks(void) const + int i, maxsticks, actualsticks; + maxsticks = joyGetNumDevs(); + actualsticks = 0; + for( i=0; i