--- a/src/haptic/SDL_syshaptic.h Wed Jul 02 09:52:44 2008 +0000
+++ b/src/haptic/SDL_syshaptic.h Wed Jul 02 10:26:35 2008 +0000
@@ -47,22 +47,116 @@
int ref_count; /* Count for multiple opens */
};
+/*
+ * Scans the system for haptic devices.
+ *
+ * Returns 0 on success, -1 on error.
+ */
extern int SDL_SYS_HapticInit(void);
+
+/*
+ * Gets the device dependent name of the haptic device
+ */
extern const char * SDL_SYS_HapticName(int index);
+
+/*
+ * Opens the haptic device for usage. The haptic device should have
+ * the index value set previously.
+ *
+ * Returns 0 on success, -1 on error.
+ */
extern int SDL_SYS_HapticOpen(SDL_Haptic * haptic);
+
+/*
+ * Checks to see if the joystick has haptic capabilities.
+ *
+ * Returns >0 if haptic capabilities are detected, 0 if haptic
+ * capabilities aren't detected and -1 on error.
+ */
+extern int SDL_JoystickIsHaptic(SDL_Joystick * joystick);
+
+/*
+ * Opens the haptic device for usage using the same device as
+ * the joystick.
+ *
+ * Returns 0 on success, -1 on error.
+ */
+extern int SDL_SYS_HapticOpenFromJoystick(SDL_Haptic * haptic,
+ SDL_Joystick * joystick);
+
+/*
+ * Checks to see if haptic device and joystick device are the same.
+ *
+ * Returns 1 if they are the same, 0 if they aren't.
+ */
+extern int SDL_SYS_JoystickSameHaptic(SDL_Haptic * haptic,
+ SDL_Joystick * joystick);
+
+/*
+ * Closes a haptic device after usage.
+ */
extern void SDL_SYS_HapticClose(SDL_Haptic * haptic);
+
+/*
+ * Performs a cleanup on the haptic subsystem.
+ */
extern void SDL_SYS_HapticQuit(void);
+
+/*
+ * Creates a new haptic effect on the haptic device using base
+ * as a template for the effect.
+ *
+ * Returns 0 on success, -1 on error.
+ */
extern int SDL_SYS_HapticNewEffect(SDL_Haptic * haptic,
- struct haptic_effect * effect, SDL_HapticEffect * base);
+ struct haptic_effect * effect,
+ SDL_HapticEffect * base);
+
+/*
+ * Updates the haptic effect on the haptic device using data
+ * as a template.
+ *
+ * Returns 0 on success, -1 on error.
+ */
extern int SDL_SYS_HapticUpdateEffect(SDL_Haptic * haptic,
- struct haptic_effect * effect, SDL_HapticEffect * data);
+ struct haptic_effect * effect,
+ SDL_HapticEffect * data);
+
+/*
+ * Runs the effect on the haptic device.
+ *
+ * Returns 0 on success, -1 on error.
+ */
extern int SDL_SYS_HapticRunEffect(SDL_Haptic * haptic,
- struct haptic_effect * effect);
+ struct haptic_effect * effect);
+
+/*
+ * Stops the effect on the haptic device.
+ *
+ * Returns 0 on success, -1 on error.
+ */
extern int SDL_SYS_HapticStopEffect(SDL_Haptic * haptic,
- struct haptic_effect * effect);
+ struct haptic_effect * effect);
+
+/*
+ * Cleanups up the effect on the haptic device.
+ */
extern void SDL_SYS_HapticDestroyEffect(SDL_Haptic * haptic,
- struct haptic_effect * effect);
+ struct haptic_effect * effect);
+
+/*
+ * Sets the global gain of the haptic device.
+ *
+ * Returns 0 on success, -1 on error.
+ */
extern int SDL_SYS_HapticSetGain(SDL_Haptic * haptic, int gain);
-extern int SDL_SYS_HapticSetAutocenter(SDL_Haptic * haptic, int autocenter);
+
+/*
+ * Sets the autocenter feature of the haptic device.
+ *
+ * Returns 0 on success, -1 on error.
+ */
+extern int SDL_SYS_HapticSetAutocenter(SDL_Haptic * haptic,
+ int autocenter);