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