Mercurial > sdl-ios-xcode
diff include/SDL_haptic.h @ 2481:5d0ea4576f20 gsoc2008_force_feedback
More comments.
Clamped values in struct ff_effect.
Added waveforms.
author | Edgar Simo <bobbens@gmail.com> |
---|---|
date | Tue, 01 Jul 2008 10:44:42 +0000 |
parents | b883974445fc |
children | b51ad78812d5 |
line wrap: on
line diff
--- a/include/SDL_haptic.h Tue Jul 01 09:22:22 2008 +0000 +++ b/include/SDL_haptic.h Tue Jul 01 10:44:42 2008 +0000 @@ -57,9 +57,38 @@ #define SDL_HAPTIC_GAIN (1<<8) #define SDL_HAPTIC_AUTOCENTER (1<<9) +typedef enum SDL_waveform { + SDL_WAVEFORM_SINE, + SDL_WAVEFORM_SQUARE, + SDL_WAVEFORM_TRIANGLE, + SDL_WAVEFORM_SAWTOOTHUP, + SDL_WAVEFORM_SAWTOOTHDOWN +} SDL_waveform; + + +/* + * All values max at 32767 (0x7fff). Signed values also can be negative. + * Time values unless specified otherwise are in milliseconds. + * + * Common parts: + * + * Replay: + * Uint16 length; Duration of effect. + * Uint16 delay; Delay before starting effect. + * + * Trigger: + * Uint16 button; Button that triggers effect. + * Uint16 interval; How soon before effect can be triggered again. + * + * Envelope: + * Uint16 attack_length; Duration of the attack. + * Uint16 attack_level; Level at the start of the attack. + * Uint16 fade_length; Duration of the fade out. + * Uint16 fade_level; Level at the end of the fade. + */ typedef struct SDL_HapticConstant { /* Header */ - Uint16 type; + Uint16 type; /* SDL_HAPTIC_CONSTANT */ Uint16 direction; /* Replay */ @@ -71,7 +100,7 @@ Uint16 interval; /* Constant */ - Sint16 level; + Sint16 level; /* Strength of the constant effect. */ /* Envelope */ Uint16 attack_length; @@ -81,7 +110,7 @@ } SDL_HapticConstant; typedef struct SDL_HapticPeriodic { /* Header */ - Uint16 type; + Uint16 type; /* SDL_HAPTIC_PERIODIC */ Uint16 direction; /* Replay */ @@ -93,11 +122,11 @@ Uint16 interval; /* Periodic */ - Uint16 waveform; - Uint16 period; - Sint16 magnitude; - Sint16 offset; - Uint16 phase; + SDL_waveform waveform; /* Type of effect */ + Uint16 period; /* Period of the wave */ + Sint16 magnitude; /* Peak value */ + Sint16 offset; /* Mean value of the wave */ + Uint16 phase; /* Horizontal shift */ /* Envelope */ Uint16 attack_length;