1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: joystick.h 3 // Purpose: wxJoystick class 4 // Author: Julian Smart 5 // Modified by: 6 // Created: 01/02/97 7 // RCS-ID: $Id: joystick.h 35650 2005-09-23 12:56:45Z MR $ 8 // Copyright: (c) Julian Smart 9 // Licence: wxWindows licence 10 ///////////////////////////////////////////////////////////////////////////// 11 12 #ifndef _WX_JOYSTICK_H_ 13 #define _WX_JOYSTICK_H_ 14 15 #include "wx/event.h" 16 17 class WXDLLIMPEXP_ADV wxJoystick: public wxObject 18 { 19 DECLARE_DYNAMIC_CLASS(wxJoystick) 20 public: 21 /* 22 * Public interface 23 */ 24 25 wxJoystick(int joystick = wxJOYSTICK1); 26 27 // Attributes 28 //////////////////////////////////////////////////////////////////////////// 29 30 wxPoint GetPosition(void) const; 31 int GetZPosition(void) const; 32 int GetButtonState(void) const; 33 int GetPOVPosition(void) const; 34 int GetPOVCTSPosition(void) const; 35 int GetRudderPosition(void) const; 36 int GetUPosition(void) const; 37 int GetVPosition(void) const; 38 int GetMovementThreshold(void) const; 39 void SetMovementThreshold(int threshold) ; 40 41 // Capabilities 42 //////////////////////////////////////////////////////////////////////////// 43 44 static int GetNumberJoysticks(void); 45 46 bool IsOk(void) const; // Checks that the joystick is functioning 47 int GetManufacturerId(void) const ; 48 int GetProductId(void) const ; 49 wxString GetProductName(void) const ; 50 int GetXMin(void) const; 51 int GetYMin(void) const; 52 int GetZMin(void) const; 53 int GetXMax(void) const; 54 int GetYMax(void) const; 55 int GetZMax(void) const; 56 int GetNumberButtons(void) const; 57 int GetNumberAxes(void) const; 58 int GetMaxButtons(void) const; 59 int GetMaxAxes(void) const; 60 int GetPollingMin(void) const; 61 int GetPollingMax(void) const; 62 int GetRudderMin(void) const; 63 int GetRudderMax(void) const; 64 int GetUMin(void) const; 65 int GetUMax(void) const; 66 int GetVMin(void) const; 67 int GetVMax(void) const; 68 69 bool HasRudder(void) const; 70 bool HasZ(void) const; 71 bool HasU(void) const; 72 bool HasV(void) const; 73 bool HasPOV(void) const; 74 bool HasPOV4Dir(void) const; 75 bool HasPOVCTS(void) const; 76 77 // Operations 78 //////////////////////////////////////////////////////////////////////////// 79 80 // pollingFreq = 0 means that movement events are sent when above the threshold. 81 // If pollingFreq > 0, events are received every this many milliseconds. 82 bool SetCapture(wxWindow* win, int pollingFreq = 0); 83 bool ReleaseCapture(void); 84 85 protected: 86 int m_joystick; 87 }; 88 89 #endif 90 // _WX_JOYSTICK_H_ 91