From 8884a50e5e313e5a50f1b1fc9499de003910e631 Mon Sep 17 00:00:00 2001 From: Edgar Simo Date: Wed, 2 Jul 2008 10:26:35 +0000 Subject: [PATCH] Commented SDL_syshaptic.h. Removed SDL_haptic_c.h (no private functions). Fixed bug with SDL_HapticFromJoystick(). --- src/haptic/SDL_haptic.c | 3 +- src/haptic/SDL_haptic_c.h | 34 ---------- src/haptic/SDL_syshaptic.h | 106 +++++++++++++++++++++++++++++-- src/haptic/linux/SDL_syshaptic.c | 1 - 4 files changed, 101 insertions(+), 43 deletions(-) delete mode 100644 src/haptic/SDL_haptic_c.h diff --git a/src/haptic/SDL_haptic.c b/src/haptic/SDL_haptic.c index f293cfa1b..0e51311eb 100644 --- a/src/haptic/SDL_haptic.c +++ b/src/haptic/SDL_haptic.c @@ -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 @@ SDL_HapticOpenFromJoystick(SDL_Joystick * joystick) /* 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; diff --git a/src/haptic/SDL_haptic_c.h b/src/haptic/SDL_haptic_c.h deleted file mode 100644 index 0d29b4d0d..000000000 --- a/src/haptic/SDL_haptic_c.h +++ /dev/null @@ -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); diff --git a/src/haptic/SDL_syshaptic.h b/src/haptic/SDL_syshaptic.h index 66dbcd6bc..296e60217 100644 --- a/src/haptic/SDL_syshaptic.h +++ b/src/haptic/SDL_syshaptic.h @@ -47,22 +47,116 @@ struct _SDL_Haptic 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); diff --git a/src/haptic/linux/SDL_syshaptic.c b/src/haptic/linux/SDL_syshaptic.c index a14285038..c3d037264 100644 --- a/src/haptic/linux/SDL_syshaptic.c +++ b/src/haptic/linux/SDL_syshaptic.c @@ -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 */