]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/unix/joystick.h
generate double click events in the native MSW version of wxCalendarCtrl
[wxWidgets.git] / include / wx / unix / joystick.h
index 131851f11718ba3d8bb9b13a682401e288de4ed8..614a9d8f53194b498dc0abcf11f8d46e3d11161f 100644 (file)
 /////////////////////////////////////////////////////////////////////////////
-// Name:        joystick.h
+// Name:        wx/unix/joystick.h
 // Purpose:     wxJoystick class
 // Author:      Guilhem Lavaux
 // Modified by:
 // Created:     01/02/97
 // RCS-ID:      $Id$
-// Copyright:
-// Licence:    wxWindows licence
+// Copyright:   (c) Guilhem Lavaux
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __JOYSTICKH__
-#define __JOYSTICKH__
-
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "joystick.h"
-#endif
+#ifndef _WX_UNIX_JOYSTICK_H_
+#define _WX_UNIX_JOYSTICK_H_
 
 #include "wx/event.h"
-#include "wx/thread.h"
-
-class WXDLLEXPORT wxJoystick: public wxObject, public wxThread
-{
-  DECLARE_DYNAMIC_CLASS(wxJoystick)
- public:
-  /*
-   * Public interface
-   */
-
-  wxJoystick(int joystick = wxJOYSTICK1);
-
-  // 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
-  ////////////////////////////////////////////////////////////////////////////
+class WXDLLIMPEXP_FWD_CORE wxJoystickThread;
 
-  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);
+class WXDLLIMPEXP_ADV wxJoystick: public wxObject
+{
+    DECLARE_DYNAMIC_CLASS(wxJoystick)
+        public:
+    /*
+     * Public interface
+     */
+
+    wxJoystick(int joystick = wxJOYSTICK1);
+    virtual ~wxJoystick();
+
+    // Attributes
+    ////////////////////////////////////////////////////////////////////////////
+
+    wxPoint GetPosition() const;
+    int GetPosition(unsigned axis) const;
+    bool GetButtonState(unsigned button) const;
+    int GetZPosition() const;
+    int GetButtonState() const;
+    int GetPOVPosition() const;
+    int GetPOVCTSPosition() const;
+    int GetRudderPosition() const;
+    int GetUPosition() const;
+    int GetVPosition() const;
+    int GetMovementThreshold() const;
+    void SetMovementThreshold(int threshold) ;
+
+    // Capabilities
+    ////////////////////////////////////////////////////////////////////////////
+
+    bool IsOk() const; // Checks that the joystick is functioning
+    static int GetNumberJoysticks() ;
+    int GetManufacturerId() const ;
+    int GetProductId() const ;
+    wxString GetProductName() const ;
+    int GetXMin() const;
+    int GetYMin() const;
+    int GetZMin() const;
+    int GetXMax() const;
+    int GetYMax() const;
+    int GetZMax() const;
+    int GetNumberButtons() const;
+    int GetNumberAxes() const;
+    int GetMaxButtons() const;
+    int GetMaxAxes() const;
+    int GetPollingMin() const;
+    int GetPollingMax() const;
+    int GetRudderMin() const;
+    int GetRudderMax() const;
+    int GetUMin() const;
+    int GetUMax() const;
+    int GetVMin() const;
+    int GetVMax() const;
+
+    bool HasRudder() const;
+    bool HasZ() const;
+    bool HasU() const;
+    bool HasV() const;
+    bool HasPOV() const;
+    bool HasPOV4Dir() const;
+    bool HasPOVCTS() 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();
 
 protected:
-  int       m_joystick;
-  wxPoint   m_lastposition;
-  int      m_axe[15];
-  int      m_buttons;
-  wxWindow *m_catchwin;
-  int      m_polling;
-
-  void    *Entry(void);
+    int                 m_device;
+    int                 m_joystick;
+    wxJoystickThread*   m_thread;
 };
 
-#endif
-    // __JOYSTICKH__
-
+#endif // _WX_UNIX_JOYSTICK_H_