changeset 2491:10bc7aaf5114 gsoc2008_force_feedback

Commented SDL_syshaptic.h. Removed SDL_haptic_c.h (no private functions). Fixed bug with SDL_HapticFromJoystick().
author Edgar Simo <bobbens@gmail.com>
date Wed, 02 Jul 2008 10:26:35 +0000
parents be9b206d44af
children 31444718601e
files src/haptic/SDL_haptic.c src/haptic/SDL_haptic_c.h src/haptic/SDL_syshaptic.h src/haptic/linux/SDL_syshaptic.c
diffstat 4 files changed, 101 insertions(+), 43 deletions(-) [+]
line wrap: on
line diff
--- a/src/haptic/SDL_haptic.c	Wed Jul 02 09:52:44 2008 +0000
+++ b/src/haptic/SDL_haptic.c	Wed Jul 02 10:26:35 2008 +0000
@@ -21,7 +21,6 @@
 */
 #include "SDL_config.h"
 
-#include "SDL_haptic_c.h"
 #include "SDL_syshaptic.h"
 #include "../joystick/SDL_joystick_c.h" /* For SDL_PrivateJoystickValid */
 
@@ -173,7 +172,7 @@
 
    /* Check to see if joystick's haptic is already open */
    for (i=0; SDL_haptics[i]; i++) {
-      if (SDL_SYS_JoystickSameHaptic(&SDL_haptics[i],joystick)) {
+      if (SDL_SYS_JoystickSameHaptic(SDL_haptics[i],joystick)) {
          haptic = SDL_haptics[i];
          ++haptic->ref_count;
          return haptic;
--- a/src/haptic/SDL_haptic_c.h	Wed Jul 02 09:52:44 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-    SDL - Simple DirectMedia Layer
-    Copyright (C) 2008 Edgar Simo
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-    Sam Lantinga
-    slouken@libsdl.org
-*/
-
-#include "SDL_haptic.h"
-
-struct _SDL_Haptic;
-
-extern int SDL_HapticInit(void);
-extern int SDL_NumHaptics(void);
-extern const char * SDL_HapticName(int device_index);
-extern struct _SDL_Haptic * SDL_HapticOpen(int device_index);
-extern int SDL_HapticOpened(int device_index);
-extern int SDL_HapticIndex(SDL_Haptic * haptic);
-extern void SDL_HapticClose(SDL_Haptic * haptic);
-extern void SDL_HapticQuit(void);
--- 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);
 
 
--- a/src/haptic/linux/SDL_syshaptic.c	Wed Jul 02 09:52:44 2008 +0000
+++ b/src/haptic/linux/SDL_syshaptic.c	Wed Jul 02 10:26:35 2008 +0000
@@ -24,7 +24,6 @@
 #ifdef SDL_JOYSTICK_LINUX
 
 #include "SDL_haptic.h"
-#include "../SDL_haptic_c.h"
 #include "../SDL_syshaptic.h"
 #include "SDL_joystick.h"
 #include "../../joystick/SDL_sysjoystick.h" /* For the real SDL_Joystick */