annotate touchTest/Iphone Test/touchTestIPhone2/touchTestIPhone/include/SDL_haptic.h @ 4680:229529693289

Fixed sending motion and finger up events
author Sam Lantinga <slouken@libsdl.org>
date Sat, 31 Jul 2010 20:55:33 -0700
parents 31607094315c
children
rev   line source
4677
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1 /*
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
2 SDL - Simple DirectMedia Layer
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
3 Copyright (C) 2008 Edgar Simo
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
4
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
5 This library is free software; you can redistribute it and/or
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
6 modify it under the terms of the GNU Lesser General Public
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
7 License as published by the Free Software Foundation; either
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
8 version 2.1 of the License, or (at your option) any later version.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
9
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
10 This library is distributed in the hope that it will be useful,
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
13 Lesser General Public License for more details.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
14
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
15 You should have received a copy of the GNU Lesser General Public
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
16 License along with this library; if not, write to the Free Software
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
18
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
19 Sam Lantinga
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
20 slouken@libsdl.org
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
21 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
22
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
23 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
24 * \file SDL_haptic.h
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
25 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
26 * \brief The SDL Haptic subsystem allows you to control haptic (force feedback)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
27 * devices.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
28 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
29 * The basic usage is as follows:
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
30 * - Initialize the Subsystem (::SDL_INIT_HAPTIC).
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
31 * - Open a Haptic Device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
32 * - SDL_HapticOpen() to open from index.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
33 * - SDL_HapticOpenFromJoystick() to open from an existing joystick.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
34 * - Create an effect (::SDL_HapticEffect).
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
35 * - Upload the effect with SDL_HapticNewEffect().
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
36 * - Run the effect with SDL_HapticRunEffect().
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
37 * - (optional) Free the effect with SDL_HapticDestroyEffect().
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
38 * - Close the haptic device with SDL_HapticClose().
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
39 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
40 * \par Example:
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
41 * \code
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
42 * int test_haptic( SDL_Joystick * joystick ) {
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
43 * SDL_Haptic *haptic;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
44 * SDL_HapticEffect effect;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
45 * int effect_id;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
46 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
47 * // Open the device
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
48 * haptic = SDL_HapticOpenFromJoystick( joystick );
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
49 * if (haptic == NULL) return -1; // Most likely joystick isn't haptic
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
50 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
51 * // See if it can do sine waves
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
52 * if ((SDL_HapticQuery(haptic) & SDL_HAPTIC_SINE)==0) {
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
53 * SDL_HapticClose(haptic); // No sine effect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
54 * return -1;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
55 * }
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
56 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
57 * // Create the effect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
58 * memset( &effect, 0, sizeof(SDL_HapticEffect) ); // 0 is safe default
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
59 * effect.type = SDL_HAPTIC_SINE;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
60 * effect.periodic.direction.type = SDL_HAPTIC_POLAR; // Polar coordinates
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
61 * effect.periodic.direction.dir[0] = 18000; // Force comes from south
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
62 * effect.periodic.period = 1000; // 1000 ms
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
63 * effect.periodic.magnitude = 20000; // 20000/32767 strength
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
64 * effect.periodic.length = 5000; // 5 seconds long
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
65 * effect.periodic.attack_length = 1000; // Takes 1 second to get max strength
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
66 * effect.periodic.fade_length = 1000; // Takes 1 second to fade away
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
67 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
68 * // Upload the effect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
69 * effect_id = SDL_HapticNewEffect( haptic, &effect );
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
70 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
71 * // Test the effect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
72 * SDL_HapticRunEffect( haptic, effect_id, 1 );
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
73 * SDL_Delay( 5000); // Wait for the effect to finish
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
74 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
75 * // We destroy the effect, although closing the device also does this
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
76 * SDL_HapticDestroyEffect( haptic, effect_id );
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
77 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
78 * // Close the device
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
79 * SDL_HapticClose(haptic);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
80 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
81 * return 0; // Success
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
82 * }
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
83 * \endcode
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
84 * \author Edgar Simo Serra
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
85 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
86
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
87 #ifndef _SDL_haptic_h
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
88 #define _SDL_haptic_h
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
89
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
90 #include "SDL_stdinc.h"
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
91 #include "SDL_error.h"
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
92 #include "SDL_joystick.h"
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
93
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
94 #include "begin_code.h"
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
95 /* Set up for C function definitions, even when using C++ */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
96 #ifdef __cplusplus
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
97 /* *INDENT-OFF* */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
98 extern "C" {
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
99 /* *INDENT-ON* */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
100 #endif /* __cplusplus */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
101
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
102 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
103 * \typedef SDL_Haptic
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
104 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
105 * \brief The haptic structure used to identify an SDL haptic.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
106 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
107 * \sa SDL_HapticOpen
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
108 * \sa SDL_HapticOpenFromJoystick
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
109 * \sa SDL_HapticClose
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
110 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
111 struct _SDL_Haptic;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
112 typedef struct _SDL_Haptic SDL_Haptic;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
113
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
114
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
115 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
116 * \name Haptic features
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
117 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
118 * Different haptic features a device can have.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
119 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
120 /*@{*/
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
121
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
122 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
123 * \name Haptic effects
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
124 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
125 /*@{*/
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
126
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
127 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
128 * \brief Constant effect supported.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
129 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
130 * Constant haptic effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
131 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
132 * \sa SDL_HapticCondition
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
133 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
134 #define SDL_HAPTIC_CONSTANT (1<<0)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
135
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
136 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
137 * \brief Sine wave effect supported.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
138 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
139 * Periodic haptic effect that simulates sine waves.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
140 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
141 * \sa SDL_HapticPeriodic
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
142 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
143 #define SDL_HAPTIC_SINE (1<<1)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
144
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
145 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
146 * \brief Square wave effect supported.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
147 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
148 * Periodic haptic effect that simulates square waves.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
149 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
150 * \sa SDL_HapticPeriodic
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
151 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
152 #define SDL_HAPTIC_SQUARE (1<<2)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
153
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
154 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
155 * \brief Triangle wave effect supported.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
156 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
157 * Periodic haptic effect that simulates triangular waves.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
158 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
159 * \sa SDL_HapticPeriodic
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
160 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
161 #define SDL_HAPTIC_TRIANGLE (1<<3)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
162
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
163 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
164 * \brief Sawtoothup wave effect supported.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
165 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
166 * Periodic haptic effect that simulates saw tooth up waves.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
167 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
168 * \sa SDL_HapticPeriodic
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
169 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
170 #define SDL_HAPTIC_SAWTOOTHUP (1<<4)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
171
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
172 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
173 * \brief Sawtoothdown wave effect supported.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
174 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
175 * Periodic haptic effect that simulates saw tooth down waves.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
176 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
177 * \sa SDL_HapticPeriodic
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
178 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
179 #define SDL_HAPTIC_SAWTOOTHDOWN (1<<5)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
180
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
181 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
182 * \brief Ramp effect supported.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
183 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
184 * Ramp haptic effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
185 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
186 * \sa SDL_HapticRamp
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
187 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
188 #define SDL_HAPTIC_RAMP (1<<6)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
189
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
190 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
191 * \brief Spring effect supported - uses axes position.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
192 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
193 * Condition haptic effect that simulates a spring. Effect is based on the
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
194 * axes position.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
195 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
196 * \sa SDL_HapticCondition
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
197 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
198 #define SDL_HAPTIC_SPRING (1<<7)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
199
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
200 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
201 * \brief Damper effect supported - uses axes velocity.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
202 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
203 * Condition haptic effect that simulates dampening. Effect is based on the
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
204 * axes velocity.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
205 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
206 * \sa SDL_HapticCondition
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
207 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
208 #define SDL_HAPTIC_DAMPER (1<<8)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
209
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
210 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
211 * \brief Inertia effect supported - uses axes acceleration.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
212 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
213 * Condition haptic effect that simulates inertia. Effect is based on the axes
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
214 * acceleration.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
215 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
216 * \sa SDL_HapticCondition
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
217 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
218 #define SDL_HAPTIC_INERTIA (1<<9)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
219
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
220 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
221 * \brief Friction effect supported - uses axes movement.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
222 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
223 * Condition haptic effect that simulates friction. Effect is based on the
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
224 * axes movement.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
225 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
226 * \sa SDL_HapticCondition
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
227 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
228 #define SDL_HAPTIC_FRICTION (1<<10)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
229
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
230 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
231 * \brief Custom effect is supported.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
232 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
233 * User defined custom haptic effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
234 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
235 #define SDL_HAPTIC_CUSTOM (1<<11)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
236
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
237 /*@}*//*Haptic effects*/
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
238
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
239 /* These last few are features the device has, not effects */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
240
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
241 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
242 * \brief Device can set global gain.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
243 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
244 * Device supports setting the global gain.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
245 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
246 * \sa SDL_HapticSetGain
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
247 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
248 #define SDL_HAPTIC_GAIN (1<<12)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
249
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
250 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
251 * \brief Device can set autocenter.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
252 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
253 * Device supports setting autocenter.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
254 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
255 * \sa SDL_HapticSetAutocenter
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
256 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
257 #define SDL_HAPTIC_AUTOCENTER (1<<13)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
258
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
259 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
260 * \brief Device can be queried for effect status.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
261 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
262 * Device can be queried for effect status.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
263 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
264 * \sa SDL_HapticGetEffectStatus
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
265 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
266 #define SDL_HAPTIC_STATUS (1<<14)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
267
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
268 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
269 * \brief Device can be paused.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
270 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
271 * \sa SDL_HapticPause
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
272 * \sa SDL_HapticUnpause
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
273 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
274 #define SDL_HAPTIC_PAUSE (1<<15)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
275
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
276
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
277 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
278 * \name Direction encodings
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
279 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
280 /*@{*/
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
281
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
282 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
283 * \brief Uses polar coordinates for the direction.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
284 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
285 * \sa SDL_HapticDirection
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
286 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
287 #define SDL_HAPTIC_POLAR 0
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
288
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
289 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
290 * \brief Uses cartesian coordinates for the direction.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
291 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
292 * \sa SDL_HapticDirection
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
293 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
294 #define SDL_HAPTIC_CARTESIAN 1
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
295
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
296 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
297 * \brief Uses spherical coordinates for the direction.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
298 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
299 * \sa SDL_HapticDirection
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
300 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
301 #define SDL_HAPTIC_SPHERICAL 2
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
302
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
303 /*@}*//*Direction encodings*/
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
304
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
305 /*@}*//*Haptic features*/
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
306
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
307 /*
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
308 * Misc defines.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
309 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
310
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
311 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
312 * \brief Used to play a device an infinite number of times.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
313 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
314 * \sa SDL_HapticRunEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
315 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
316 #define SDL_HAPTIC_INFINITY 4294967295U
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
317
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
318
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
319 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
320 * \brief Structure that represents a haptic direction.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
321 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
322 * Directions can be specified by:
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
323 * - ::SDL_HAPTIC_POLAR : Specified by polar coordinates.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
324 * - ::SDL_HAPTIC_CARTESIAN : Specified by cartesian coordinates.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
325 * - ::SDL_HAPTIC_SPHERICAL : Specified by spherical coordinates.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
326 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
327 * Cardinal directions of the haptic device are relative to the positioning
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
328 * of the device. North is considered to be away from the user.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
329 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
330 * The following diagram represents the cardinal directions:
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
331 * \verbatim
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
332 .--.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
333 |__| .-------.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
334 |=.| |.-----.|
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
335 |--| || ||
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
336 | | |'-----'|
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
337 |__|~')_____('
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
338 [ COMPUTER ]
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
339
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
340
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
341 North (0,-1)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
342 ^
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
343 |
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
344 |
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
345 (1,0) West <----[ HAPTIC ]----> East (-1,0)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
346 |
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
347 |
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
348 v
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
349 South (0,1)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
350
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
351
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
352 [ USER ]
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
353 \|||/
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
354 (o o)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
355 ---ooO-(_)-Ooo---
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
356 \endverbatim
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
357 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
358 * If type is ::SDL_HAPTIC_POLAR, direction is encoded by hundredths of a
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
359 * degree starting north and turning clockwise. ::SDL_HAPTIC_POLAR only uses
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
360 * the first \c dir parameter. The cardinal directions would be:
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
361 * - North: 0 (0 degrees)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
362 * - East: 9000 (90 degrees)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
363 * - South: 18000 (180 degrees)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
364 * - West: 27000 (270 degrees)
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
365 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
366 * If type is ::SDL_HAPTIC_CARTESIAN, direction is encoded by three positions
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
367 * (X axis, Y axis and Z axis (with 3 axes)). ::SDL_HAPTIC_CARTESIAN uses
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
368 * the first three \c dir parameters. The cardinal directions would be:
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
369 * - North: 0,-1, 0
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
370 * - East: -1, 0, 0
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
371 * - South: 0, 1, 0
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
372 * - West: 1, 0, 0
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
373 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
374 * The Z axis represents the height of the effect if supported, otherwise
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
375 * it's unused. In cartesian encoding (1, 2) would be the same as (2, 4), you
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
376 * can use any multiple you want, only the direction matters.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
377 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
378 * If type is ::SDL_HAPTIC_SPHERICAL, direction is encoded by two rotations.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
379 * The first two \c dir parameters are used. The \c dir parameters are as
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
380 * follows (all values are in hundredths of degrees):
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
381 * - Degrees from (1, 0) rotated towards (0, 1).
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
382 * - Degrees towards (0, 0, 1) (device needs at least 3 axes).
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
383 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
384 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
385 * Example of force coming from the south with all encodings (force coming
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
386 * from the south means the user will have to pull the stick to counteract):
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
387 * \code
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
388 * SDL_HapticDirection direction;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
389 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
390 * // Cartesian directions
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
391 * direction.type = SDL_HAPTIC_CARTESIAN; // Using cartesian direction encoding.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
392 * direction.dir[0] = 0; // X position
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
393 * direction.dir[1] = 1; // Y position
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
394 * // Assuming the device has 2 axes, we don't need to specify third parameter.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
395 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
396 * // Polar directions
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
397 * direction.type = SDL_HAPTIC_POLAR; // We'll be using polar direction encoding.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
398 * direction.dir[0] = 18000; // Polar only uses first parameter
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
399 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
400 * // Spherical coordinates
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
401 * direction.type = SDL_HAPTIC_SPHERICAL; // Spherical encoding
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
402 * direction.dir[0] = 9000; // Since we only have two axes we don't need more parameters.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
403 * \endcode
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
404 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
405 * \sa SDL_HAPTIC_POLAR
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
406 * \sa SDL_HAPTIC_CARTESIAN
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
407 * \sa SDL_HAPTIC_SPHERICAL
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
408 * \sa SDL_HapticEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
409 * \sa SDL_HapticNumAxes
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
410 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
411 typedef struct SDL_HapticDirection
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
412 {
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
413 Uint8 type; /**< The type of encoding. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
414 Sint32 dir[3]; /**< The encoded direction. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
415 } SDL_HapticDirection;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
416
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
417
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
418 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
419 * \brief A structure containing a template for a Constant effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
420 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
421 * The struct is exclusive to the ::SDL_HAPTIC_CONSTANT effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
422 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
423 * A constant effect applies a constant force in the specified direction
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
424 * to the joystick.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
425 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
426 * \sa SDL_HAPTIC_CONSTANT
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
427 * \sa SDL_HapticEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
428 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
429 typedef struct SDL_HapticConstant
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
430 {
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
431 /* Header */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
432 Uint16 type; /**< ::SDL_HAPTIC_CONSTANT */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
433 SDL_HapticDirection direction; /**< Direction of the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
434
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
435 /* Replay */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
436 Uint32 length; /**< Duration of the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
437 Uint16 delay; /**< Delay before starting the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
438
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
439 /* Trigger */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
440 Uint16 button; /**< Button that triggers the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
441 Uint16 interval; /**< How soon it can be triggered again after button. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
442
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
443 /* Constant */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
444 Sint16 level; /**< Strength of the constant effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
445
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
446 /* Envelope */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
447 Uint16 attack_length; /**< Duration of the attack. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
448 Uint16 attack_level; /**< Level at the start of the attack. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
449 Uint16 fade_length; /**< Duration of the fade. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
450 Uint16 fade_level; /**< Level at the end of the fade. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
451 } SDL_HapticConstant;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
452
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
453 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
454 * \brief A structure containing a template for a Periodic effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
455 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
456 * The struct handles the following effects:
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
457 * - ::SDL_HAPTIC_SINE
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
458 * - ::SDL_HAPTIC_SQUARE
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
459 * - ::SDL_HAPTIC_TRIANGLE
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
460 * - ::SDL_HAPTIC_SAWTOOTHUP
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
461 * - ::SDL_HAPTIC_SAWTOOTHDOWN
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
462 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
463 * A periodic effect consists in a wave-shaped effect that repeats itself
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
464 * over time. The type determines the shape of the wave and the parameters
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
465 * determine the dimensions of the wave.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
466 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
467 * Phase is given by hundredth of a cyle meaning that giving the phase a value
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
468 * of 9000 will displace it 25% of it's period. Here are sample values:
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
469 * - 0: No phase displacement.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
470 * - 9000: Displaced 25% of it's period.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
471 * - 18000: Displaced 50% of it's period.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
472 * - 27000: Displaced 75% of it's period.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
473 * - 36000: Displaced 100% of it's period, same as 0, but 0 is preffered.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
474 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
475 * Examples:
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
476 * \verbatim
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
477 SDL_HAPTIC_SINE
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
478 __ __ __ __
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
479 / \ / \ / \ /
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
480 / \__/ \__/ \__/
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
481
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
482 SDL_HAPTIC_SQUARE
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
483 __ __ __ __ __
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
484 | | | | | | | | | |
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
485 | |__| |__| |__| |__| |
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
486
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
487 SDL_HAPTIC_TRIANGLE
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
488 /\ /\ /\ /\ /\
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
489 / \ / \ / \ / \ /
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
490 / \/ \/ \/ \/
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
491
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
492 SDL_HAPTIC_SAWTOOTHUP
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
493 /| /| /| /| /| /| /|
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
494 / | / | / | / | / | / | / |
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
495 / |/ |/ |/ |/ |/ |/ |
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
496
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
497 SDL_HAPTIC_SAWTOOTHDOWN
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
498 \ |\ |\ |\ |\ |\ |\ |
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
499 \ | \ | \ | \ | \ | \ | \ |
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
500 \| \| \| \| \| \| \|
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
501 \endverbatim
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
502 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
503 * \sa SDL_HAPTIC_SINE
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
504 * \sa SDL_HAPTIC_SQUARE
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
505 * \sa SDL_HAPTIC_TRIANGLE
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
506 * \sa SDL_HAPTIC_SAWTOOTHUP
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
507 * \sa SDL_HAPTIC_SAWTOOTHDOWN
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
508 * \sa SDL_HapticEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
509 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
510 typedef struct SDL_HapticPeriodic
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
511 {
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
512 /* Header */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
513 Uint16 type; /**< ::SDL_HAPTIC_SINE, ::SDL_HAPTIC_SQUARE,
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
514 ::SDL_HAPTIC_TRIANGLE, ::SDL_HAPTIC_SAWTOOTHUP or
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
515 ::SDL_HAPTIC_SAWTOOTHDOWN */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
516 SDL_HapticDirection direction; /**< Direction of the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
517
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
518 /* Replay */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
519 Uint32 length; /**< Duration of the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
520 Uint16 delay; /**< Delay before starting the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
521
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
522 /* Trigger */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
523 Uint16 button; /**< Button that triggers the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
524 Uint16 interval; /**< How soon it can be triggered again after button. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
525
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
526 /* Periodic */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
527 Uint16 period; /**< Period of the wave. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
528 Sint16 magnitude; /**< Peak value. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
529 Sint16 offset; /**< Mean value of the wave. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
530 Uint16 phase; /**< Horizontal shift given by hundredth of a cycle. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
531
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
532 /* Envelope */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
533 Uint16 attack_length; /**< Duration of the attack. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
534 Uint16 attack_level; /**< Level at the start of the attack. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
535 Uint16 fade_length; /**< Duration of the fade. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
536 Uint16 fade_level; /**< Level at the end of the fade. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
537 } SDL_HapticPeriodic;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
538
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
539 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
540 * \brief A structure containing a template for a Condition effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
541 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
542 * The struct handles the following effects:
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
543 * - ::SDL_HAPTIC_SPRING: Effect based on axes position.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
544 * - ::SDL_HAPTIC_DAMPER: Effect based on axes velocity.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
545 * - ::SDL_HAPTIC_INERTIA: Effect based on axes acceleration.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
546 * - ::SDL_HAPTIC_FRICTION: Effect based on axes movement.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
547 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
548 * Direction is handled by condition internals instead of a direction member.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
549 * The condition effect specific members have three parameters. The first
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
550 * refers to the X axis, the second refers to the Y axis and the third
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
551 * refers to the Z axis. The right terms refer to the positive side of the
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
552 * axis and the left terms refer to the negative side of the axis. Please
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
553 * refer to the ::SDL_HapticDirection diagram for which side is positive and
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
554 * which is negative.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
555 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
556 * \sa SDL_HapticDirection
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
557 * \sa SDL_HAPTIC_SPRING
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
558 * \sa SDL_HAPTIC_DAMPER
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
559 * \sa SDL_HAPTIC_INERTIA
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
560 * \sa SDL_HAPTIC_FRICTION
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
561 * \sa SDL_HapticEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
562 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
563 typedef struct SDL_HapticCondition
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
564 {
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
565 /* Header */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
566 Uint16 type; /**< ::SDL_HAPTIC_SPRING, ::SDL_HAPTIC_DAMPER,
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
567 ::SDL_HAPTIC_INERTIA or ::SDL_HAPTIC_FRICTION */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
568 SDL_HapticDirection direction; /**< Direction of the effect - Not used ATM. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
569
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
570 /* Replay */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
571 Uint32 length; /**< Duration of the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
572 Uint16 delay; /**< Delay before starting the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
573
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
574 /* Trigger */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
575 Uint16 button; /**< Button that triggers the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
576 Uint16 interval; /**< How soon it can be triggered again after button. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
577
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
578 /* Condition */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
579 Uint16 right_sat[3]; /**< Level when joystick is to the positive side. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
580 Uint16 left_sat[3]; /**< Level when joystick is to the negative side. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
581 Sint16 right_coeff[3]; /**< How fast to increase the force towards the positive side. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
582 Sint16 left_coeff[3]; /**< How fast to increase the force towards the negative side. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
583 Uint16 deadband[3]; /**< Size of the dead zone. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
584 Sint16 center[3]; /**< Position of the dead zone. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
585 } SDL_HapticCondition;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
586
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
587 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
588 * \brief A structure containing a template for a Ramp effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
589 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
590 * This struct is exclusively for the ::SDL_HAPTIC_RAMP effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
591 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
592 * The ramp effect starts at start strength and ends at end strength.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
593 * It augments in linear fashion. If you use attack and fade with a ramp
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
594 * they effects get added to the ramp effect making the effect become
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
595 * quadratic instead of linear.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
596 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
597 * \sa SDL_HAPTIC_RAMP
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
598 * \sa SDL_HapticEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
599 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
600 typedef struct SDL_HapticRamp
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
601 {
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
602 /* Header */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
603 Uint16 type; /**< ::SDL_HAPTIC_RAMP */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
604 SDL_HapticDirection direction; /**< Direction of the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
605
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
606 /* Replay */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
607 Uint32 length; /**< Duration of the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
608 Uint16 delay; /**< Delay before starting the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
609
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
610 /* Trigger */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
611 Uint16 button; /**< Button that triggers the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
612 Uint16 interval; /**< How soon it can be triggered again after button. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
613
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
614 /* Ramp */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
615 Sint16 start; /**< Beginning strength level. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
616 Sint16 end; /**< Ending strength level. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
617
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
618 /* Envelope */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
619 Uint16 attack_length; /**< Duration of the attack. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
620 Uint16 attack_level; /**< Level at the start of the attack. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
621 Uint16 fade_length; /**< Duration of the fade. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
622 Uint16 fade_level; /**< Level at the end of the fade. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
623 } SDL_HapticRamp;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
624
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
625 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
626 * \brief A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
627 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
628 * A custom force feedback effect is much like a periodic effect, where the
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
629 * application can define it's exact shape. You will have to allocate the
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
630 * data yourself. Data should consist of channels * samples Uint16 samples.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
631 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
632 * If channels is one, the effect is rotated using the defined direction.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
633 * Otherwise it uses the samples in data for the different axes.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
634 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
635 * \sa SDL_HAPTIC_CUSTOM
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
636 * \sa SDL_HapticEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
637 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
638 typedef struct SDL_HapticCustom
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
639 {
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
640 /* Header */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
641 Uint16 type; /**< ::SDL_HAPTIC_CUSTOM */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
642 SDL_HapticDirection direction; /**< Direction of the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
643
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
644 /* Replay */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
645 Uint32 length; /**< Duration of the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
646 Uint16 delay; /**< Delay before starting the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
647
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
648 /* Trigger */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
649 Uint16 button; /**< Button that triggers the effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
650 Uint16 interval; /**< How soon it can be triggered again after button. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
651
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
652 /* Custom */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
653 Uint8 channels; /**< Axes to use, minimum of one. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
654 Uint16 period; /**< Sample periods. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
655 Uint16 samples; /**< Amount of samples. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
656 Uint16 *data; /**< Should contain channels*samples items. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
657
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
658 /* Envelope */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
659 Uint16 attack_length; /**< Duration of the attack. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
660 Uint16 attack_level; /**< Level at the start of the attack. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
661 Uint16 fade_length; /**< Duration of the fade. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
662 Uint16 fade_level; /**< Level at the end of the fade. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
663 } SDL_HapticCustom;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
664
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
665 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
666 * \brief The generic template for any haptic effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
667 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
668 * All values max at 32767 (0x7FFF). Signed values also can be negative.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
669 * Time values unless specified otherwise are in milliseconds.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
670 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
671 * You can also pass ::SDL_HAPTIC_INFINITY to length instead of a 0-32767
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
672 * value. Neither delay, interval, attack_length nor fade_length support
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
673 * ::SDL_HAPTIC_INFINITY. Fade will also not be used since effect never ends.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
674 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
675 * Additionally, the ::SDL_HAPTIC_RAMP effect does not support a duration of
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
676 * ::SDL_HAPTIC_INFINITY.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
677 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
678 * Button triggers may not be supported on all devices, it is advised to not
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
679 * use them if possible. Buttons start at index 1 instead of index 0 like
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
680 * they joystick.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
681 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
682 * If both attack_length and fade_level are 0, the envelope is not used,
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
683 * otherwise both values are used.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
684 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
685 * Common parts:
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
686 * \code
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
687 * // Replay - All effects have this
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
688 * Uint32 length; // Duration of effect (ms).
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
689 * Uint16 delay; // Delay before starting effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
690 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
691 * // Trigger - All effects have this
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
692 * Uint16 button; // Button that triggers effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
693 * Uint16 interval; // How soon before effect can be triggered again.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
694 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
695 * // Envelope - All effects except condition effects have this
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
696 * Uint16 attack_length; // Duration of the attack (ms).
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
697 * Uint16 attack_level; // Level at the start of the attack.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
698 * Uint16 fade_length; // Duration of the fade out (ms).
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
699 * Uint16 fade_level; // Level at the end of the fade.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
700 * \endcode
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
701 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
702 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
703 * Here we have an example of a constant effect evolution in time:
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
704 * \verbatim
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
705 Strength
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
706 ^
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
707 |
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
708 | effect level --> _________________
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
709 | / \
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
710 | / \
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
711 | / \
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
712 | / \
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
713 | attack_level --> | \
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
714 | | | <--- fade_level
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
715 |
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
716 +--------------------------------------------------> Time
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
717 [--] [---]
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
718 attack_length fade_length
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
719
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
720 [------------------][-----------------------]
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
721 delay length
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
722 \endverbatim
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
723 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
724 * Note either the attack_level or the fade_level may be above the actual
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
725 * effect level.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
726 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
727 * \sa SDL_HapticConstant
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
728 * \sa SDL_HapticPeriodic
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
729 * \sa SDL_HapticCondition
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
730 * \sa SDL_HapticRamp
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
731 * \sa SDL_HapticCustom
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
732 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
733 typedef union SDL_HapticEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
734 {
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
735 /* Common for all force feedback effects */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
736 Uint16 type; /**< Effect type. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
737 SDL_HapticConstant constant; /**< Constant effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
738 SDL_HapticPeriodic periodic; /**< Periodic effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
739 SDL_HapticCondition condition; /**< Condition effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
740 SDL_HapticRamp ramp; /**< Ramp effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
741 SDL_HapticCustom custom; /**< Custom effect. */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
742 } SDL_HapticEffect;
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
743
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
744
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
745 /* Function prototypes */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
746 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
747 * \brief Count the number of joysticks attached to the system.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
748 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
749 * \return Number of haptic devices detected on the system.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
750 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
751 extern DECLSPEC int SDLCALL SDL_NumHaptics(void);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
752
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
753 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
754 * \brief Get the implementation dependent name of a Haptic device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
755 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
756 * This can be called before any joysticks are opened.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
757 * If no name can be found, this function returns NULL.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
758 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
759 * \param device_index Index of the device to get it's name.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
760 * \return Name of the device or NULL on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
761 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
762 * \sa SDL_NumHaptics
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
763 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
764 extern DECLSPEC const char *SDLCALL SDL_HapticName(int device_index);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
765
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
766 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
767 * \brief Opens a Haptic device for usage.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
768 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
769 * The index passed as an argument refers to the N'th Haptic device on this
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
770 * system.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
771 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
772 * When opening a haptic device, it's gain will be set to maximum and
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
773 * autocenter will be disabled. To modify these values use
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
774 * SDL_HapticSetGain() and SDL_HapticSetAutocenter().
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
775 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
776 * \param device_index Index of the device to open.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
777 * \return Device identifier or NULL on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
778 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
779 * \sa SDL_HapticIndex
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
780 * \sa SDL_HapticOpenFromMouse
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
781 * \sa SDL_HapticOpenFromJoystick
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
782 * \sa SDL_HapticClose
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
783 * \sa SDL_HapticSetGain
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
784 * \sa SDL_HapticSetAutocenter
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
785 * \sa SDL_HapticPause
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
786 * \sa SDL_HapticStopAll
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
787 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
788 extern DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpen(int device_index);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
789
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
790 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
791 * \brief Checks if the haptic device at index has been opened.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
792 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
793 * \param device_index Index to check to see if it has been opened.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
794 * \return 1 if it has been opened or 0 if it hasn't.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
795 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
796 * \sa SDL_HapticOpen
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
797 * \sa SDL_HapticIndex
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
798 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
799 extern DECLSPEC int SDLCALL SDL_HapticOpened(int device_index);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
800
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
801 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
802 * \brief Gets the index of a haptic device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
803 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
804 * \param haptic Haptic device to get the index of.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
805 * \return The index of the haptic device or -1 on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
806 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
807 * \sa SDL_HapticOpen
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
808 * \sa SDL_HapticOpened
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
809 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
810 extern DECLSPEC int SDLCALL SDL_HapticIndex(SDL_Haptic * haptic);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
811
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
812 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
813 * \brief Gets whether or not the current mouse has haptic capabilities.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
814 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
815 * \return SDL_TRUE if the mouse is haptic, SDL_FALSE if it isn't.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
816 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
817 * \sa SDL_HapticOpenFromMouse
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
818 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
819 extern DECLSPEC int SDLCALL SDL_MouseIsHaptic(void);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
820
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
821 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
822 * \brief Tries to open a haptic device from the current mouse.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
823 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
824 * \return The haptic device identifier or NULL on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
825 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
826 * \sa SDL_MouseIsHaptic
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
827 * \sa SDL_HapticOpen
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
828 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
829 extern DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpenFromMouse(void);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
830
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
831 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
832 * \brief Checks to see if a joystick has haptic features.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
833 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
834 * \param joystick Joystick to test for haptic capabilities.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
835 * \return 1 if the joystick is haptic, 0 if it isn't
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
836 * or -1 if an error ocurred.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
837 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
838 * \sa SDL_HapticOpenFromJoystick
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
839 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
840 extern DECLSPEC int SDLCALL SDL_JoystickIsHaptic(SDL_Joystick * joystick);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
841
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
842 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
843 * \brief Opens a Haptic device for usage from a Joystick device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
844 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
845 * You must still close the haptic device seperately. It will not be closed
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
846 * with the joystick.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
847 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
848 * When opening from a joystick you should first close the haptic device before
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
849 * closing the joystick device. If not, on some implementations the haptic
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
850 * device will also get unallocated and you'll be unable to use force feedback
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
851 * on that device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
852 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
853 * \param joystick Joystick to create a haptic device from.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
854 * \return A valid haptic device identifier on success or NULL on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
855 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
856 * \sa SDL_HapticOpen
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
857 * \sa SDL_HapticClose
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
858 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
859 extern DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpenFromJoystick(SDL_Joystick *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
860 joystick);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
861
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
862 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
863 * \brief Closes a Haptic device previously opened with SDL_HapticOpen().
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
864 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
865 * \param haptic Haptic device to close.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
866 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
867 extern DECLSPEC void SDLCALL SDL_HapticClose(SDL_Haptic * haptic);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
868
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
869 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
870 * \brief Returns the number of effects a haptic device can store.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
871 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
872 * On some platforms this isn't fully supported, and therefore is an
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
873 * aproximation. Always check to see if your created effect was actually
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
874 * created and do not rely solely on SDL_HapticNumEffects().
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
875 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
876 * \param haptic The haptic device to query effect max.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
877 * \return The number of effects the haptic device can store or
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
878 * -1 on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
879 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
880 * \sa SDL_HapticNumEffectsPlaying
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
881 * \sa SDL_HapticQuery
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
882 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
883 extern DECLSPEC int SDLCALL SDL_HapticNumEffects(SDL_Haptic * haptic);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
884
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
885 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
886 * \brief Returns the number of effects a haptic device can play at the same
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
887 * time.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
888 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
889 * This is not supported on all platforms, but will always return a value.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
890 * Added here for the sake of completness.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
891 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
892 * \param haptic The haptic device to query maximum playing effects.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
893 * \return The number of effects the haptic device can play at the same time
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
894 * or -1 on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
895 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
896 * \sa SDL_HapticNumEffects
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
897 * \sa SDL_HapticQuery
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
898 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
899 extern DECLSPEC int SDLCALL SDL_HapticNumEffectsPlaying(SDL_Haptic * haptic);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
900
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
901 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
902 * \brief Gets the haptic devices supported features in bitwise matter.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
903 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
904 * Example:
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
905 * \code
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
906 * if (SDL_HapticQueryEffects(haptic) & SDL_HAPTIC_CONSTANT) {
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
907 * printf("We have constant haptic effect!");
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
908 * }
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
909 * \endcode
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
910 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
911 * \param haptic The haptic device to query.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
912 * \return Haptic features in bitwise manner (OR'd).
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
913 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
914 * \sa SDL_HapticNumEffects
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
915 * \sa SDL_HapticEffectSupported
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
916 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
917 extern DECLSPEC unsigned int SDLCALL SDL_HapticQuery(SDL_Haptic * haptic);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
918
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
919
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
920 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
921 * \brief Gets the number of haptic axes the device has.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
922 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
923 * \sa SDL_HapticDirection
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
924 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
925 extern DECLSPEC int SDLCALL SDL_HapticNumAxes(SDL_Haptic * haptic);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
926
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
927 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
928 * \brief Checks to see if effect is supported by haptic.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
929 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
930 * \param haptic Haptic device to check on.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
931 * \param effect Effect to check to see if it is supported.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
932 * \return 1 if effect is supported, 0 if it isn't or -1 on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
933 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
934 * \sa SDL_HapticQuery
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
935 * \sa SDL_HapticNewEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
936 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
937 extern DECLSPEC int SDLCALL SDL_HapticEffectSupported(SDL_Haptic * haptic,
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
938 SDL_HapticEffect *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
939 effect);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
940
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
941 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
942 * \brief Creates a new haptic effect on the device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
943 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
944 * \param haptic Haptic device to create the effect on.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
945 * \param effect Properties of the effect to create.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
946 * \return The id of the effect on success or -1 on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
947 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
948 * \sa SDL_HapticUpdateEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
949 * \sa SDL_HapticRunEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
950 * \sa SDL_HapticDestroyEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
951 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
952 extern DECLSPEC int SDLCALL SDL_HapticNewEffect(SDL_Haptic * haptic,
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
953 SDL_HapticEffect * effect);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
954
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
955 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
956 * \brief Updates the properties of an effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
957 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
958 * Can be used dynamically, although behaviour when dynamically changing
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
959 * direction may be strange. Specifically the effect may reupload itself
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
960 * and start playing from the start. You cannot change the type either when
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
961 * running SDL_HapticUpdateEffect().
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
962 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
963 * \param haptic Haptic device that has the effect.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
964 * \param effect Effect to update.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
965 * \param data New effect properties to use.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
966 * \return The id of the effect on success or -1 on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
967 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
968 * \sa SDL_HapticNewEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
969 * \sa SDL_HapticRunEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
970 * \sa SDL_HapticDestroyEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
971 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
972 extern DECLSPEC int SDLCALL SDL_HapticUpdateEffect(SDL_Haptic * haptic,
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
973 int effect,
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
974 SDL_HapticEffect * data);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
975
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
976 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
977 * \brief Runs the haptic effect on it's assosciated haptic device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
978 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
979 * If iterations are ::SDL_HAPTIC_INFINITY, it'll run the effect over and over
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
980 * repeating the envelope (attack and fade) every time. If you only want the
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
981 * effect to last forever, set ::SDL_HAPTIC_INFINITY in the effect's length
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
982 * parameter.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
983 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
984 * \param haptic Haptic device to run the effect on.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
985 * \param effect Identifier of the haptic effect to run.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
986 * \param iterations Number of iterations to run the effect. Use
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
987 * ::SDL_HAPTIC_INFINITY for infinity.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
988 * \return 0 on success or -1 on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
989 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
990 * \sa SDL_HapticStopEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
991 * \sa SDL_HapticDestroyEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
992 * \sa SDL_HapticGetEffectStatus
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
993 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
994 extern DECLSPEC int SDLCALL SDL_HapticRunEffect(SDL_Haptic * haptic,
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
995 int effect,
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
996 Uint32 iterations);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
997
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
998 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
999 * \brief Stops the haptic effect on it's assosciated haptic device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1000 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1001 * \param haptic Haptic device to stop the effect on.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1002 * \param effect Identifier of the effect to stop.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1003 * \return 0 on success or -1 on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1004 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1005 * \sa SDL_HapticRunEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1006 * \sa SDL_HapticDestroyEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1007 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1008 extern DECLSPEC int SDLCALL SDL_HapticStopEffect(SDL_Haptic * haptic,
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1009 int effect);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1010
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1011 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1012 * \brief Destroys a haptic effect on the device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1013 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1014 * This will stop the effect if it's running. Effects are automatically
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1015 * destroyed when the device is closed.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1016 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1017 * \param haptic Device to destroy the effect on.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1018 * \param effect Identifier of the effect to destroy.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1019 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1020 * \sa SDL_HapticNewEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1021 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1022 extern DECLSPEC void SDLCALL SDL_HapticDestroyEffect(SDL_Haptic * haptic,
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1023 int effect);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1024
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1025 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1026 * \brief Gets the status of the current effect on the haptic device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1027 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1028 * Device must support the ::SDL_HAPTIC_STATUS feature.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1029 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1030 * \param haptic Haptic device to query the effect status on.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1031 * \param effect Identifier of the effect to query it's status.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1032 * \return 0 if it isn't playing, ::SDL_HAPTIC_PLAYING if it is playing
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1033 * or -1 on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1034 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1035 * \sa SDL_HapticRunEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1036 * \sa SDL_HapticStopEffect
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1037 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1038 extern DECLSPEC int SDLCALL SDL_HapticGetEffectStatus(SDL_Haptic * haptic,
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1039 int effect);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1040
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1041 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1042 * \brief Sets the global gain of the device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1043 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1044 * Device must support the ::SDL_HAPTIC_GAIN feature.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1045 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1046 * The user may specify the maxmimum gain by setting the environment variable
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1047 * ::SDL_HAPTIC_GAIN_MAX which should be between 0 and 100. All calls to
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1048 * SDL_HapticSetGain() will scale linearly using ::SDL_HAPTIC_GAIN_MAX as the
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1049 * maximum.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1050 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1051 * \param haptic Haptic device to set the gain on.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1052 * \param gain Value to set the gain to, should be between 0 and 100.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1053 * \return 0 on success or -1 on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1054 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1055 * \sa SDL_HapticQuery
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1056 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1057 extern DECLSPEC int SDLCALL SDL_HapticSetGain(SDL_Haptic * haptic, int gain);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1058
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1059 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1060 * \brief Sets the global autocenter of the device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1061 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1062 * Autocenter should be between 0 and 100. Setting it to 0 will disable
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1063 * autocentering.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1064 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1065 * Device must support the ::SDL_HAPTIC_AUTOCENTER feature.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1066 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1067 * \param haptic Haptic device to set autocentering on.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1068 * \param autocenter Value to set autocenter to, 0 disables autocentering.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1069 * \return 0 on success or -1 on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1070 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1071 * \sa SDL_HapticQuery
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1072 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1073 extern DECLSPEC int SDLCALL SDL_HapticSetAutocenter(SDL_Haptic * haptic,
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1074 int autocenter);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1075
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1076 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1077 * \brief Pauses a haptic device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1078 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1079 * Device must support the ::SDL_HAPTIC_PAUSE feature. Call
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1080 * SDL_HapticUnpause() to resume playback.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1081 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1082 * Do not modify the effects nor add new ones while the device is paused.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1083 * That can cause all sorts of weird errors.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1084 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1085 * \param haptic Haptic device to pause.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1086 * \return 0 on success or -1 on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1087 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1088 * \sa SDL_HapticUnpause
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1089 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1090 extern DECLSPEC int SDLCALL SDL_HapticPause(SDL_Haptic * haptic);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1091
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1092 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1093 * \brief Unpauses a haptic device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1094 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1095 * Call to unpause after SDL_HapticPause().
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1096 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1097 * \param haptic Haptic device to pause.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1098 * \return 0 on success or -1 on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1099 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1100 * \sa SDL_HapticPause
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1101 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1102 extern DECLSPEC int SDLCALL SDL_HapticUnpause(SDL_Haptic * haptic);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1103
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1104 /**
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1105 * \brief Stops all the currently playing effects on a haptic device.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1106 *
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1107 * \param haptic Haptic device to stop.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1108 * \return 0 on success or -1 on error.
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1109 */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1110 extern DECLSPEC int SDLCALL SDL_HapticStopAll(SDL_Haptic * haptic);
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1111
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1112
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1113 /* Ends C function definitions when using C++ */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1114 #ifdef __cplusplus
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1115 /* *INDENT-OFF* */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1116 }
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1117 /* *INDENT-ON* */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1118 #endif
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1119 #include "close_code.h"
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1120
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1121 #endif /* _SDL_haptic_h */
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1122
31607094315c Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
diff changeset
1123 /* vi: set ts=4 sw=4 expandtab: */