diff options
Diffstat (limited to 'extern/sdlew/include/SDL2/SDL_haptic.h')
-rw-r--r-- | extern/sdlew/include/SDL2/SDL_haptic.h | 302 |
1 files changed, 302 insertions, 0 deletions
diff --git a/extern/sdlew/include/SDL2/SDL_haptic.h b/extern/sdlew/include/SDL2/SDL_haptic.h new file mode 100644 index 00000000000..88fee82e549 --- /dev/null +++ b/extern/sdlew/include/SDL2/SDL_haptic.h @@ -0,0 +1,302 @@ + +#ifndef _SDL_haptic_h +#define _SDL_haptic_h + +#include "SDL_stdinc.h" +#include "SDL_error.h" +#include "SDL_joystick.h" + +#include "begin_code.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct _SDL_Haptic; +typedef struct _SDL_Haptic SDL_Haptic; + +#define SDL_HAPTIC_CONSTANT (1<<0) + +#define SDL_HAPTIC_SINE (1<<1) + +#define SDL_HAPTIC_LEFTRIGHT (1<<2) + +#define SDL_HAPTIC_TRIANGLE (1<<3) + +#define SDL_HAPTIC_SAWTOOTHUP (1<<4) + +#define SDL_HAPTIC_SAWTOOTHDOWN (1<<5) + +#define SDL_HAPTIC_RAMP (1<<6) + +#define SDL_HAPTIC_SPRING (1<<7) + +#define SDL_HAPTIC_DAMPER (1<<8) + +#define SDL_HAPTIC_INERTIA (1<<9) + +#define SDL_HAPTIC_FRICTION (1<<10) + +#define SDL_HAPTIC_CUSTOM (1<<11) + +#define SDL_HAPTIC_GAIN (1<<12) + +#define SDL_HAPTIC_AUTOCENTER (1<<13) + +#define SDL_HAPTIC_STATUS (1<<14) + +#define SDL_HAPTIC_PAUSE (1<<15) + +#define SDL_HAPTIC_POLAR 0 + +#define SDL_HAPTIC_CARTESIAN 1 + +#define SDL_HAPTIC_SPHERICAL 2 + +#define SDL_HAPTIC_INFINITY 4294967295U + +typedef struct SDL_HapticDirection +{ + Uint8 type; + Sint32 dir[3]; +} SDL_HapticDirection; + +typedef struct SDL_HapticConstant +{ + + Uint16 type; + SDL_HapticDirection direction; + + Uint32 length; + Uint16 delay; + + Uint16 button; + Uint16 interval; + + Sint16 level; + + Uint16 attack_length; + Uint16 attack_level; + Uint16 fade_length; + Uint16 fade_level; +} SDL_HapticConstant; + +typedef struct SDL_HapticPeriodic +{ + + Uint16 type; + SDL_HapticDirection direction; + + Uint32 length; + Uint16 delay; + + Uint16 button; + Uint16 interval; + + Uint16 period; + Sint16 magnitude; + Sint16 offset; + Uint16 phase; + + Uint16 attack_length; + Uint16 attack_level; + Uint16 fade_length; + Uint16 fade_level; +} SDL_HapticPeriodic; + +typedef struct SDL_HapticCondition +{ + + Uint16 type; + SDL_HapticDirection direction; + + Uint32 length; + Uint16 delay; + + Uint16 button; + Uint16 interval; + + Uint16 right_sat[3]; + Uint16 left_sat[3]; + Sint16 right_coeff[3]; + Sint16 left_coeff[3]; + Uint16 deadband[3]; + Sint16 center[3]; +} SDL_HapticCondition; + +typedef struct SDL_HapticRamp +{ + + Uint16 type; + SDL_HapticDirection direction; + + Uint32 length; + Uint16 delay; + + Uint16 button; + Uint16 interval; + + Sint16 start; + Sint16 end; + + Uint16 attack_length; + Uint16 attack_level; + Uint16 fade_length; + Uint16 fade_level; +} SDL_HapticRamp; + +typedef struct SDL_HapticLeftRight +{ + + Uint16 type; + + Uint32 length; + + Uint16 large_magnitude; + Uint16 small_magnitude; +} SDL_HapticLeftRight; + +typedef struct SDL_HapticCustom +{ + + Uint16 type; + SDL_HapticDirection direction; + + Uint32 length; + Uint16 delay; + + Uint16 button; + Uint16 interval; + + Uint8 channels; + Uint16 period; + Uint16 samples; + Uint16 *data; + + Uint16 attack_length; + Uint16 attack_level; + Uint16 fade_length; + Uint16 fade_level; +} SDL_HapticCustom; + +typedef union SDL_HapticEffect +{ + + Uint16 type; + SDL_HapticConstant constant; + SDL_HapticPeriodic periodic; + SDL_HapticCondition condition; + SDL_HapticRamp ramp; + SDL_HapticLeftRight leftright; + SDL_HapticCustom custom; +} SDL_HapticEffect; + +typedef int SDLCALL tSDL_NumHaptics(void); + +typedef const char * SDLCALL tSDL_HapticName(int device_index); + +typedef SDL_Haptic * SDLCALL tSDL_HapticOpen(int device_index); + +typedef int SDLCALL tSDL_HapticOpened(int device_index); + +typedef int SDLCALL tSDL_HapticIndex(SDL_Haptic * haptic); + +typedef int SDLCALL tSDL_MouseIsHaptic(void); + +typedef SDL_Haptic * SDLCALL tSDL_HapticOpenFromMouse(void); + +typedef int SDLCALL tSDL_JoystickIsHaptic(SDL_Joystick * joystick); + +typedef SDL_Haptic * SDLCALL tSDL_HapticOpenFromJoystick(SDL_Joystick * + joystick); + +typedef void SDLCALL tSDL_HapticClose(SDL_Haptic * haptic); + +typedef int SDLCALL tSDL_HapticNumEffects(SDL_Haptic * haptic); + +typedef int SDLCALL tSDL_HapticNumEffectsPlaying(SDL_Haptic * haptic); + +extern DECLSPEC unsigned int SDLCALL SDL_HapticQuery(SDL_Haptic * haptic); + +typedef int SDLCALL tSDL_HapticNumAxes(SDL_Haptic * haptic); + +typedef int SDLCALL tSDL_HapticEffectSupported(SDL_Haptic * haptic, + SDL_HapticEffect * + effect); + +typedef int SDLCALL tSDL_HapticNewEffect(SDL_Haptic * haptic, + SDL_HapticEffect * effect); + +typedef int SDLCALL tSDL_HapticUpdateEffect(SDL_Haptic * haptic, + int effect, + SDL_HapticEffect * data); + +typedef int SDLCALL tSDL_HapticRunEffect(SDL_Haptic * haptic, + int effect, + Uint32 iterations); + +typedef int SDLCALL tSDL_HapticStopEffect(SDL_Haptic * haptic, + int effect); + +typedef void SDLCALL tSDL_HapticDestroyEffect(SDL_Haptic * haptic, + int effect); + +typedef int SDLCALL tSDL_HapticGetEffectStatus(SDL_Haptic * haptic, + int effect); + +typedef int SDLCALL tSDL_HapticSetGain(SDL_Haptic * haptic, int gain); + +typedef int SDLCALL tSDL_HapticSetAutocenter(SDL_Haptic * haptic, + int autocenter); + +typedef int SDLCALL tSDL_HapticPause(SDL_Haptic * haptic); + +typedef int SDLCALL tSDL_HapticUnpause(SDL_Haptic * haptic); + +typedef int SDLCALL tSDL_HapticStopAll(SDL_Haptic * haptic); + +typedef int SDLCALL tSDL_HapticRumbleSupported(SDL_Haptic * haptic); + +typedef int SDLCALL tSDL_HapticRumbleInit(SDL_Haptic * haptic); + +typedef int SDLCALL tSDL_HapticRumblePlay(SDL_Haptic * haptic, float strength, Uint32 length ); + +typedef int SDLCALL tSDL_HapticRumbleStop(SDL_Haptic * haptic); + +extern tSDL_NumHaptics *SDL_NumHaptics; +extern tSDL_HapticName *SDL_HapticName; +extern tSDL_HapticOpen *SDL_HapticOpen; +extern tSDL_HapticOpened *SDL_HapticOpened; +extern tSDL_HapticIndex *SDL_HapticIndex; +extern tSDL_MouseIsHaptic *SDL_MouseIsHaptic; +extern tSDL_HapticOpenFromMouse *SDL_HapticOpenFromMouse; +extern tSDL_JoystickIsHaptic *SDL_JoystickIsHaptic; +extern tSDL_HapticOpenFromJoystick *SDL_HapticOpenFromJoystick; +extern tSDL_HapticClose *SDL_HapticClose; +extern tSDL_HapticNumEffects *SDL_HapticNumEffects; +extern tSDL_HapticNumEffectsPlaying *SDL_HapticNumEffectsPlaying; +extern tSDL_HapticNumAxes *SDL_HapticNumAxes; +extern tSDL_HapticEffectSupported *SDL_HapticEffectSupported; +extern tSDL_HapticNewEffect *SDL_HapticNewEffect; +extern tSDL_HapticUpdateEffect *SDL_HapticUpdateEffect; +extern tSDL_HapticRunEffect *SDL_HapticRunEffect; +extern tSDL_HapticStopEffect *SDL_HapticStopEffect; +extern tSDL_HapticDestroyEffect *SDL_HapticDestroyEffect; +extern tSDL_HapticGetEffectStatus *SDL_HapticGetEffectStatus; +extern tSDL_HapticSetGain *SDL_HapticSetGain; +extern tSDL_HapticSetAutocenter *SDL_HapticSetAutocenter; +extern tSDL_HapticPause *SDL_HapticPause; +extern tSDL_HapticUnpause *SDL_HapticUnpause; +extern tSDL_HapticStopAll *SDL_HapticStopAll; +extern tSDL_HapticRumbleSupported *SDL_HapticRumbleSupported; +extern tSDL_HapticRumbleInit *SDL_HapticRumbleInit; +extern tSDL_HapticRumblePlay *SDL_HapticRumblePlay; +extern tSDL_HapticRumbleStop *SDL_HapticRumbleStop; + +#ifdef __cplusplus +} +#endif +#include "close_code.h" + +#endif + |