arsa  2.7
cdxinput.h
Go to the documentation of this file.
1 #ifndef __CDXINPUT_H__
2 #define __CDXINPUT_H__
3 
4 #include "cdx.h"
5 
7 #define CDXKEY_NONE 0
8 #define CDXKEY_RELEASE 1
9 #define CDXKEY_PRESS 2
10 #define CDXKEY_REPEAT 3
11 
12 #define _MAX_JOYSTICK_BUTTONS 10
13 #define MAX_JOYSTICKS 10
14 
16 enum
17 {
19  //CDXKEY_MOUSELEFT = SDLK_LAST+1,
23 
35 
39 
43 
47 
51 
54 };
55 
56 typedef void ControlEvents(void*, void*, DWORD, BYTE);
58 
60 {
61 public:
62  CDXInput( );
63  virtual ~CDXInput( );
64 
65  virtual BOOL Create( void );
66  virtual void Destroy( void );
67  virtual void Update( void );
68  virtual BYTE GetKeyState( WORD key );
70  virtual BYTE GetDPadState( int iJoyNum, WORD key );
71  /*void ClearBuffer( void );
72 
73  void SetMousePos(long x, long y) { m_mouse_x = x; m_mouse_y = y; }
74  void GetMousePos(long* x, long* y) { *x = m_mouse_x; *y = m_mouse_y; };
75 
76  // JoySticks
77  int GetNumJoysticks() { return m_num_joysticks; }
78  BOOL HasJoystick( void ) { if(m_num_joysticks>0) return TRUE; else return FALSE; }
79  void GetJoystickDeltas(int iJoyNum, long* x, long* y);
80  void SetControlEvents( ControlEventsP control_events, void* data1, void* data2 );
81  //*/
82 private:
83  /*int m_mouse_x, m_mouse_y;
84  int m_num_joysticks, m_num_joysticks_buttons;
85  SDL_Joystick* joystick[MAX_JOYSTICKS];
86  BYTE m_keyStates[CDXKEY_NUMKEYS];
87  BYTE m_dpadStates[MAX_JOYSTICKS][4]; // up ,down, left, right only
88  int m_joystickDeltaX[MAX_JOYSTICKS], m_joystickDeltaY[MAX_JOYSTICKS];
89  ControlEventsP m_control_events;
90  void* m_control_events_data1;
91  void* m_control_events_data2;
92 
93  void CheckKeyEvents( DWORD key, BOOL isPressed );
94  void CheckDPadEvents( int iJoyNum, DWORD key, BOOL isPressed );
95  BYTE GetDPadSlot( DWORD key );//*/
96 
97 };
98 
99 #endif
ControlEvents * ControlEventsP
Definition: cdxinput.h:57
last keytype defined
Definition: cdxinput.h:53
void ControlEvents(void *, void *, DWORD, BYTE)
Definition: cdxinput.h:56
#define _MAX_JOYSTICK_BUTTONS
Definition: cdxinput.h:12
joystick
Definition: cdxinput.h:25
#define BYTE
Definition: cdx.h:156
#define ARSA_API
#define WORD
Definition: cdx.h:158
characters 256 and up used for mouse and joystick buttons etc.
Definition: cdxinput.h:20
#define BOOL
Definition: cdx.h:160
#define DWORD
Definition: cdx.h:162