diff options
Diffstat (limited to 'apps/plugins/sdl/src/joystick/SDL_sysjoystick.h')
-rw-r--r-- | apps/plugins/sdl/src/joystick/SDL_sysjoystick.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/apps/plugins/sdl/src/joystick/SDL_sysjoystick.h b/apps/plugins/sdl/src/joystick/SDL_sysjoystick.h new file mode 100644 index 0000000000..6a1b76a62f --- /dev/null +++ b/apps/plugins/sdl/src/joystick/SDL_sysjoystick.h | |||
@@ -0,0 +1,82 @@ | |||
1 | /* | ||
2 | SDL - Simple DirectMedia Layer | ||
3 | Copyright (C) 1997-2012 Sam Lantinga | ||
4 | |||
5 | This library is SDL_free software; you can redistribute it and/or | ||
6 | modify it under the terms of the GNU Lesser General Public | ||
7 | License as published by the Free Software Foundation; either | ||
8 | version 2.1 of the License, or (at your option) any later version. | ||
9 | |||
10 | This library is distributed in the hope that it will be useful, | ||
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
13 | Lesser General Public License for more details. | ||
14 | |||
15 | You should have received a copy of the GNU Lesser General Public | ||
16 | License along with this library; if not, write to the Free Software | ||
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | |||
19 | Sam Lantinga | ||
20 | slouken@libsdl.org | ||
21 | */ | ||
22 | #include "SDL_config.h" | ||
23 | |||
24 | /* This is the system specific header for the SDL joystick API */ | ||
25 | |||
26 | #include "SDL_joystick.h" | ||
27 | |||
28 | /* The SDL joystick structure */ | ||
29 | struct _SDL_Joystick { | ||
30 | Uint8 index; /* Device index */ | ||
31 | const char *name; /* Joystick name - system dependent */ | ||
32 | |||
33 | int naxes; /* Number of axis controls on the joystick */ | ||
34 | Sint16 *axes; /* Current axis states */ | ||
35 | |||
36 | int nhats; /* Number of hats on the joystick */ | ||
37 | Uint8 *hats; /* Current hat states */ | ||
38 | |||
39 | int nballs; /* Number of trackballs on the joystick */ | ||
40 | struct balldelta { | ||
41 | int dx; | ||
42 | int dy; | ||
43 | } *balls; /* Current ball motion deltas */ | ||
44 | |||
45 | int nbuttons; /* Number of buttons on the joystick */ | ||
46 | Uint8 *buttons; /* Current button states */ | ||
47 | |||
48 | struct joystick_hwdata *hwdata; /* Driver dependent information */ | ||
49 | |||
50 | int ref_count; /* Reference count for multiple opens */ | ||
51 | }; | ||
52 | |||
53 | /* Function to scan the system for joysticks. | ||
54 | * Joystick 0 should be the system default joystick. | ||
55 | * This function should return the number of available joysticks, or -1 | ||
56 | * on an unrecoverable fatal error. | ||
57 | */ | ||
58 | extern int SDL_SYS_JoystickInit(void); | ||
59 | |||
60 | /* Function to get the device-dependent name of a joystick */ | ||
61 | extern const char *SDL_SYS_JoystickName(int index); | ||
62 | |||
63 | /* Function to open a joystick for use. | ||
64 | The joystick to open is specified by the index field of the joystick. | ||
65 | This should fill the nbuttons and naxes fields of the joystick structure. | ||
66 | It returns 0, or -1 if there is an error. | ||
67 | */ | ||
68 | extern int SDL_SYS_JoystickOpen(SDL_Joystick *joystick); | ||
69 | |||
70 | /* Function to update the state of a joystick - called as a device poll. | ||
71 | * This function shouldn't update the joystick structure directly, | ||
72 | * but instead should call SDL_PrivateJoystick*() to deliver events | ||
73 | * and update joystick device state. | ||
74 | */ | ||
75 | extern void SDL_SYS_JoystickUpdate(SDL_Joystick *joystick); | ||
76 | |||
77 | /* Function to close a joystick after use */ | ||
78 | extern void SDL_SYS_JoystickClose(SDL_Joystick *joystick); | ||
79 | |||
80 | /* Function to perform any system-specific joystick related cleanup */ | ||
81 | extern void SDL_SYS_JoystickQuit(void); | ||
82 | |||