| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: joystick.h
- // Purpose: interface of wxJoystick
- // Author: wxWidgets team
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- /**
- @class wxJoystick
- wxJoystick allows an application to control one or more joysticks.
- @library{wxadv}
- @category{misc}
- @see wxJoystickEvent
- */
- class wxJoystick : public wxObject
- {
- public:
- /**
- Constructor.
- @a joystick may be one of wxJOYSTICK1, wxJOYSTICK2, indicating the joystick
- controller of interest.
- */
- wxJoystick(int joystick = wxJOYSTICK1);
- /**
- Destroys the wxJoystick object.
- */
- virtual ~wxJoystick();
- /**
- Returns the state of the joystick buttons.
- Every button is mapped to a single bit in the returned integer, with the
- first button being mapped to the least significant bit, and so on.
- A bitlist of wxJOY_BUTTONn identifiers, where n is 1, 2, 3 or 4 is available
- for historical reasons.
- */
- int GetButtonState() const;
- /**
- Returns the state of the specified joystick button.
- @param id
- The button id to report, from 0 to GetNumberButtons() - 1
- */
- bool GetButtonState(unsigned int id) const;
- /**
- Returns the manufacturer id.
- */
- int GetManufacturerId() const;
- /**
- Returns the movement threshold, the number of steps outside which the joystick
- is deemed to have
- moved.
- */
- int GetMovementThreshold() const;
- /**
- Returns the number of axes for this joystick.
- */
- int GetNumberAxes() const;
- /**
- Returns the number of buttons for this joystick.
- */
- int GetNumberButtons() const;
- /**
- Returns the number of joysticks currently attached to the computer.
- */
- static int GetNumberJoysticks();
- /**
- Returns the point-of-view position, expressed in continuous, one-hundredth of a
- degree units.
- Returns -1 on error.
- */
- int GetPOVCTSPosition() const;
- /**
- Returns the point-of-view position, expressed in continuous, one-hundredth of a
- degree units, but limited to return 0, 9000, 18000 or 27000.
- Returns -1 on error.
- */
- int GetPOVPosition() const;
- /**
- Returns the maximum polling frequency.
- */
- int GetPollingMax() const;
- /**
- Returns the minimum polling frequency.
- */
- int GetPollingMin() const;
- /**
- Returns the x, y position of the joystick.
- */
- wxPoint GetPosition() const;
- /**
- Returns the position of the specified joystick axis.
- @param axis
- The joystick axis to report, from 0 to GetNumberAxes() - 1.
- */
- int GetPosition(unsigned int axis) const;
- /**
- Returns the product id for the joystick.
- */
- int GetProductId() const;
- /**
- Returns the product name for the joystick.
- */
- wxString GetProductName() const;
- /**
- Returns the maximum rudder position.
- */
- int GetRudderMax() const;
- /**
- Returns the minimum rudder position.
- */
- int GetRudderMin() const;
- /**
- Returns the rudder position.
- */
- int GetRudderPosition() const;
- /**
- Returns the maximum U position.
- */
- int GetUMax() const;
- /**
- Returns the minimum U position.
- */
- int GetUMin() const;
- /**
- Gets the position of the fifth axis of the joystick, if it exists.
- */
- int GetUPosition() const;
- /**
- Returns the maximum V position.
- */
- int GetVMax() const;
- /**
- Returns the minimum V position.
- */
- int GetVMin() const;
- /**
- Gets the position of the sixth axis of the joystick, if it exists.
- */
- int GetVPosition() const;
- /**
- Returns the maximum x position.
- */
- int GetXMax() const;
- /**
- Returns the minimum x position.
- */
- int GetXMin() const;
- /**
- Returns the maximum y position.
- */
- int GetYMax() const;
- /**
- Returns the minimum y position.
- */
- int GetYMin() const;
- /**
- Returns the maximum z position.
- */
- int GetZMax() const;
- /**
- Returns the minimum z position.
- */
- int GetZMin() const;
- /**
- Returns the z position of the joystick.
- */
- int GetZPosition() const;
- /**
- Returns @true if the joystick has a point of view control.
- */
- bool HasPOV() const;
- /**
- Returns @true if the joystick point-of-view supports discrete values
- (centered, forward, backward, left, and right).
- */
- bool HasPOV4Dir() const;
- /**
- Returns @true if the joystick point-of-view supports continuous degree bearings.
- */
- bool HasPOVCTS() const;
- /**
- Returns @true if there is a rudder attached to the computer.
- */
- bool HasRudder() const;
- /**
- Returns @true if the joystick has a U axis.
- */
- bool HasU() const;
- /**
- Returns @true if the joystick has a V axis.
- */
- bool HasV() const;
- /**
- Returns @true if the joystick has a Z axis.
- */
- bool HasZ() const;
- /**
- Returns @true if the joystick is functioning.
- */
- bool IsOk() const;
- /**
- Releases the capture set by @b SetCapture.
- @return @true if the capture release succeeded.
- @see SetCapture(), wxJoystickEvent
- */
- bool ReleaseCapture();
- /**
- Sets the capture to direct joystick events to @a win.
- @param win
- The window that will receive joystick events.
- @param pollingFreq
- If zero, movement events are sent when above the threshold.
- If greater than zero, events are received every @a pollingFreq milliseconds.
- @return @true if the capture succeeded.
- @see ReleaseCapture(), wxJoystickEvent
- */
- bool SetCapture(wxWindow* win, int pollingFreq = 0);
- /**
- Sets the movement threshold, the number of steps outside which the joystick is
- deemed to have moved.
- */
- void SetMovementThreshold(int threshold);
- };
|