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