Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Latest commit

 

History

History
196 lines (164 loc) · 5.27 KB

SDL_syshaptic.h

File metadata and controls

196 lines (164 loc) · 5.27 KB
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*
SDL - Simple DirectMedia Layer
Copyright (C) 2008 Edgar Simo
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Sam Lantinga
slouken@libsdl.org
*/
#include "SDL_config.h"
#include "SDL_haptic.h"
Jul 10, 2008
Jul 10, 2008
28
29
30
31
32
33
/*
* Number of haptic devices on the system.
*/
extern Uint8 SDL_numhaptics;
Jun 30, 2008
Jun 30, 2008
34
35
36
37
38
39
40
struct haptic_effect
{
SDL_HapticEffect effect; /* The current event */
struct haptic_hweffect *hweffect; /* The hardware behind the event */
};
/*
Jul 10, 2008
Jul 10, 2008
41
* The real SDL_Haptic struct.
Jun 30, 2008
Jun 30, 2008
42
*/
43
44
struct _SDL_Haptic
{
Jun 30, 2008
Jun 30, 2008
45
Uint8 index; /* Stores index it is attached to */
Jun 30, 2008
Jun 30, 2008
47
48
struct haptic_effect *effects; /* Allocated effects */
int neffects; /* Maximum amount of effects */
Jul 10, 2008
Jul 10, 2008
49
int nplaying; /* Maximum amount of effects to play at the same time */
Jun 30, 2008
Jun 30, 2008
50
unsigned int supported; /* Supported effects */
Jul 17, 2008
Jul 17, 2008
51
int naxes; /* Number of axes on the device. */
Jun 30, 2008
Jun 30, 2008
53
54
struct haptic_hwdata *hwdata; /* Driver dependent */
int ref_count; /* Count for multiple opens */
55
56
};
Jul 2, 2008
Jul 2, 2008
57
58
59
60
61
/*
* Scans the system for haptic devices.
*
* Returns 0 on success, -1 on error.
*/
62
extern int SDL_SYS_HapticInit(void);
Jul 2, 2008
Jul 2, 2008
63
64
65
66
/*
* Gets the device dependent name of the haptic device
*/
67
extern const char * SDL_SYS_HapticName(int index);
Jul 2, 2008
Jul 2, 2008
68
69
70
71
72
73
74
/*
* Opens the haptic device for usage. The haptic device should have
* the index value set previously.
*
* Returns 0 on success, -1 on error.
*/
Jun 1, 2008
Jun 1, 2008
75
extern int SDL_SYS_HapticOpen(SDL_Haptic * haptic);
Jul 2, 2008
Jul 2, 2008
76
Jul 10, 2008
Jul 10, 2008
77
78
79
80
81
/*
* Returns the index of the haptic core pointer or -1 if none is found.
*/
int SDL_SYS_HapticMouse(void);
Jul 2, 2008
Jul 2, 2008
82
83
84
85
86
87
/*
* Checks to see if the joystick has haptic capabilities.
*
* Returns >0 if haptic capabilities are detected, 0 if haptic
* capabilities aren't detected and -1 on error.
*/
Aug 6, 2008
Aug 6, 2008
88
extern int SDL_SYS_JoystickIsHaptic(SDL_Joystick * joystick);
Jul 2, 2008
Jul 2, 2008
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/*
* Opens the haptic device for usage using the same device as
* the joystick.
*
* Returns 0 on success, -1 on error.
*/
extern int SDL_SYS_HapticOpenFromJoystick(SDL_Haptic * haptic,
SDL_Joystick * joystick);
/*
* Checks to see if haptic device and joystick device are the same.
*
* Returns 1 if they are the same, 0 if they aren't.
*/
extern int SDL_SYS_JoystickSameHaptic(SDL_Haptic * haptic,
SDL_Joystick * joystick);
/*
* Closes a haptic device after usage.
*/
Jun 1, 2008
Jun 1, 2008
109
extern void SDL_SYS_HapticClose(SDL_Haptic * haptic);
Jul 2, 2008
Jul 2, 2008
110
111
112
113
/*
* Performs a cleanup on the haptic subsystem.
*/
Jun 1, 2008
Jun 1, 2008
114
extern void SDL_SYS_HapticQuit(void);
Jul 2, 2008
Jul 2, 2008
115
116
117
118
119
120
121
/*
* Creates a new haptic effect on the haptic device using base
* as a template for the effect.
*
* Returns 0 on success, -1 on error.
*/
Jun 30, 2008
Jun 30, 2008
122
extern int SDL_SYS_HapticNewEffect(SDL_Haptic * haptic,
Jul 2, 2008
Jul 2, 2008
123
124
125
126
127
128
129
130
131
struct haptic_effect * effect,
SDL_HapticEffect * base);
/*
* Updates the haptic effect on the haptic device using data
* as a template.
*
* Returns 0 on success, -1 on error.
*/
Jul 1, 2008
Jul 1, 2008
132
extern int SDL_SYS_HapticUpdateEffect(SDL_Haptic * haptic,
Jul 2, 2008
Jul 2, 2008
133
134
135
136
137
138
139
140
struct haptic_effect * effect,
SDL_HapticEffect * data);
/*
* Runs the effect on the haptic device.
*
* Returns 0 on success, -1 on error.
*/
Jun 30, 2008
Jun 30, 2008
141
extern int SDL_SYS_HapticRunEffect(SDL_Haptic * haptic,
Jul 10, 2008
Jul 10, 2008
142
struct haptic_effect * effect,
Jul 15, 2008
Jul 15, 2008
143
Uint32 iterations);
Jul 2, 2008
Jul 2, 2008
144
145
146
147
148
149
/*
* Stops the effect on the haptic device.
*
* Returns 0 on success, -1 on error.
*/
Jul 1, 2008
Jul 1, 2008
150
extern int SDL_SYS_HapticStopEffect(SDL_Haptic * haptic,
Jul 2, 2008
Jul 2, 2008
151
152
153
154
155
struct haptic_effect * effect);
/*
* Cleanups up the effect on the haptic device.
*/
Jun 30, 2008
Jun 30, 2008
156
extern void SDL_SYS_HapticDestroyEffect(SDL_Haptic * haptic,
Jul 2, 2008
Jul 2, 2008
157
158
struct haptic_effect * effect);
Jul 3, 2008
Jul 3, 2008
159
160
161
162
163
164
165
166
167
/*
* Queries the device for the status of effect.
*
* Returns 0 if device is stopped, >0 if device is playing and
* -1 on error.
*/
extern int SDL_SYS_HapticGetEffectStatus(SDL_Haptic * haptic,
struct haptic_effect * effect);
Jul 2, 2008
Jul 2, 2008
168
169
170
171
172
/*
* Sets the global gain of the haptic device.
*
* Returns 0 on success, -1 on error.
*/
Jul 1, 2008
Jul 1, 2008
173
extern int SDL_SYS_HapticSetGain(SDL_Haptic * haptic, int gain);
Jul 2, 2008
Jul 2, 2008
174
175
176
177
178
179
180
181
/*
* Sets the autocenter feature of the haptic device.
*
* Returns 0 on success, -1 on error.
*/
extern int SDL_SYS_HapticSetAutocenter(SDL_Haptic * haptic,
int autocenter);
Jun 30, 2008
Jun 30, 2008
182
Aug 24, 2008
Aug 24, 2008
183
184
185
186
187
188
189
190
191
192
193
194
195
/*
* Pauses the haptic device.
*
* Returns 0 on success, -1 on error.
*/
extern int SDL_SYS_HapticPause(SDL_Haptic * haptic);
/*
* Unpauses the haptic device.
*
* Returns 0 on success, -1 on error.
*/
extern int SDL_SYS_HapticUnpause(SDL_Haptic * haptic);