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 17class 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 85protected: 86 int m_joystick; 87}; 88 89#endif 90 // _WX_JOYSTICK_H_ 91