1998-05-20 10:12:05 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: joystick.h
|
|
|
|
// Purpose: wxJoystick class
|
|
|
|
// Author: Julian Smart
|
|
|
|
// Modified by:
|
|
|
|
// Created: 01/02/97
|
|
|
|
// RCS-ID: $Id$
|
1998-08-07 19:52:45 -04:00
|
|
|
// Copyright: (c) Julian Smart
|
|
|
|
// Licence: wxWindows licence
|
1998-05-20 10:12:05 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
1998-08-07 19:52:45 -04:00
|
|
|
#ifndef _WX_JOYSTICK_H_
|
|
|
|
#define _WX_JOYSTICK_H_
|
1998-05-20 10:12:05 -04:00
|
|
|
|
|
|
|
#ifdef __GNUG__
|
|
|
|
#pragma interface "joystick.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include "wx/event.h"
|
|
|
|
|
|
|
|
class WXDLLEXPORT wxJoystick: public wxObject
|
|
|
|
{
|
|
|
|
DECLARE_DYNAMIC_CLASS(wxJoystick)
|
|
|
|
public:
|
|
|
|
/*
|
|
|
|
* Public interface
|
|
|
|
*/
|
|
|
|
|
|
|
|
wxJoystick(int joystick = wxJOYSTICK1) { m_joystick = joystick; };
|
|
|
|
|
|
|
|
// Attributes
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
wxPoint GetPosition(void) const;
|
|
|
|
int GetZPosition(void) const;
|
|
|
|
int GetButtonState(void) const;
|
|
|
|
int GetPOVPosition(void) const;
|
|
|
|
int GetPOVCTSPosition(void) const;
|
|
|
|
int GetRudderPosition(void) const;
|
|
|
|
int GetUPosition(void) const;
|
|
|
|
int GetVPosition(void) const;
|
|
|
|
int GetMovementThreshold(void) const;
|
|
|
|
void SetMovementThreshold(int threshold) ;
|
|
|
|
|
|
|
|
// Capabilities
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
bool IsOk(void) const; // Checks that the joystick is functioning
|
|
|
|
int GetNumberJoysticks(void) const ;
|
|
|
|
int GetManufacturerId(void) const ;
|
|
|
|
int GetProductId(void) const ;
|
|
|
|
wxString GetProductName(void) const ;
|
|
|
|
int GetXMin(void) const;
|
|
|
|
int GetYMin(void) const;
|
|
|
|
int GetZMin(void) const;
|
|
|
|
int GetXMax(void) const;
|
|
|
|
int GetYMax(void) const;
|
|
|
|
int GetZMax(void) const;
|
|
|
|
int GetNumberButtons(void) const;
|
|
|
|
int GetNumberAxes(void) const;
|
|
|
|
int GetMaxButtons(void) const;
|
|
|
|
int GetMaxAxes(void) const;
|
|
|
|
int GetPollingMin(void) const;
|
|
|
|
int GetPollingMax(void) const;
|
|
|
|
int GetRudderMin(void) const;
|
|
|
|
int GetRudderMax(void) const;
|
|
|
|
int GetUMin(void) const;
|
|
|
|
int GetUMax(void) const;
|
|
|
|
int GetVMin(void) const;
|
|
|
|
int GetVMax(void) const;
|
|
|
|
|
|
|
|
bool HasRudder(void) const;
|
|
|
|
bool HasZ(void) const;
|
|
|
|
bool HasU(void) const;
|
|
|
|
bool HasV(void) const;
|
|
|
|
bool HasPOV(void) const;
|
|
|
|
bool HasPOV4Dir(void) const;
|
|
|
|
bool HasPOVCTS(void) const;
|
|
|
|
|
|
|
|
// Operations
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
// pollingFreq = 0 means that movement events are sent when above the threshold.
|
|
|
|
// If pollingFreq > 0, events are received every this many milliseconds.
|
|
|
|
bool SetCapture(wxWindow* win, int pollingFreq = 0);
|
|
|
|
bool ReleaseCapture(void);
|
|
|
|
|
|
|
|
protected:
|
|
|
|
int m_joystick;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|
1998-08-07 19:52:45 -04:00
|
|
|
// _WX_JOYSTICK_H_
|