107 #ifndef SDL_haptic_h_
108 #define SDL_haptic_h_
163 #define SDL_HAPTIC_CONSTANT (1u<<0)
172 #define SDL_HAPTIC_SINE (1u<<1)
183 #define SDL_HAPTIC_LEFTRIGHT (1u<<2)
195 #define SDL_HAPTIC_TRIANGLE (1u<<3)
204 #define SDL_HAPTIC_SAWTOOTHUP (1u<<4)
213 #define SDL_HAPTIC_SAWTOOTHDOWN (1u<<5)
222 #define SDL_HAPTIC_RAMP (1u<<6)
232 #define SDL_HAPTIC_SPRING (1u<<7)
242 #define SDL_HAPTIC_DAMPER (1u<<8)
252 #define SDL_HAPTIC_INERTIA (1u<<9)
262 #define SDL_HAPTIC_FRICTION (1u<<10)
269 #define SDL_HAPTIC_CUSTOM (1u<<11)
282 #define SDL_HAPTIC_GAIN (1u<<12)
291 #define SDL_HAPTIC_AUTOCENTER (1u<<13)
300 #define SDL_HAPTIC_STATUS (1u<<14)
310 #define SDL_HAPTIC_PAUSE (1u<<15)
323 #define SDL_HAPTIC_POLAR 0
330 #define SDL_HAPTIC_CARTESIAN 1
337 #define SDL_HAPTIC_SPHERICAL 2
345 #define SDL_HAPTIC_STEERING_AXIS 3
360 #define SDL_HAPTIC_INFINITY 4294967295U
DECLSPEC int SDLCALL SDL_HapticSetAutocenter(SDL_Haptic *haptic, int autocenter)
Sets the global autocenter of the device.
DECLSPEC void SDLCALL SDL_HapticDestroyEffect(SDL_Haptic *haptic, int effect)
Destroys a haptic effect on the device.
struct SDL_HapticPeriodic SDL_HapticPeriodic
A structure containing a template for a Periodic effect.
DECLSPEC int SDLCALL SDL_HapticNewEffect(SDL_Haptic *haptic, SDL_HapticEffect *effect)
Creates a new haptic effect on the device.
DECLSPEC int SDLCALL SDL_HapticRunEffect(SDL_Haptic *haptic, int effect, Uint32 iterations)
Runs the haptic effect on its associated haptic device.
DECLSPEC int SDLCALL SDL_HapticOpened(int device_index)
Checks if the haptic device at index has been opened.
DECLSPEC int SDLCALL SDL_HapticNumEffectsPlaying(SDL_Haptic *haptic)
Returns the number of effects a haptic device can play at the same time.
DECLSPEC int SDLCALL SDL_HapticStopEffect(SDL_Haptic *haptic, int effect)
Stops the haptic effect on its associated haptic device.
DECLSPEC int SDLCALL SDL_HapticSetGain(SDL_Haptic *haptic, int gain)
Sets the global gain of the device.
DECLSPEC int SDLCALL SDL_HapticUnpause(SDL_Haptic *haptic)
Unpauses a haptic device.
DECLSPEC int SDLCALL SDL_HapticUpdateEffect(SDL_Haptic *haptic, int effect, SDL_HapticEffect *data)
Updates the properties of an effect.
DECLSPEC void SDLCALL SDL_HapticClose(SDL_Haptic *haptic)
Closes a haptic device previously opened with SDL_HapticOpen().
struct SDL_HapticDirection SDL_HapticDirection
Structure that represents a haptic direction.
DECLSPEC int SDLCALL SDL_NumHaptics(void)
Count the number of haptic devices attached to the system.
struct _SDL_Haptic SDL_Haptic
The haptic structure used to identify an SDL haptic.
Definition: SDL_haptic.h:141
union SDL_HapticEffect SDL_HapticEffect
The generic template for any haptic effect.
DECLSPEC unsigned int SDLCALL SDL_HapticQuery(SDL_Haptic *haptic)
Gets the haptic device's supported features in bitwise manner.
DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpenFromJoystick(SDL_Joystick *joystick)
Opens a haptic device for use from a joystick device.
DECLSPEC const char *SDLCALL SDL_HapticName(int device_index)
Get the implementation dependent name of a haptic device.
DECLSPEC int SDLCALL SDL_JoystickIsHaptic(SDL_Joystick *joystick)
Checks to see if a joystick has haptic features.
DECLSPEC int SDLCALL SDL_MouseIsHaptic(void)
Gets whether or not the current mouse has haptic capabilities.
DECLSPEC int SDLCALL SDL_HapticRumblePlay(SDL_Haptic *haptic, float strength, Uint32 length)
Runs simple rumble on a haptic device.
DECLSPEC int SDLCALL SDL_HapticRumbleStop(SDL_Haptic *haptic)
Stops the simple rumble on a haptic device.
DECLSPEC int SDLCALL SDL_HapticRumbleSupported(SDL_Haptic *haptic)
Checks to see if rumble is supported on a haptic device.
DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpenFromMouse(void)
Tries to open a haptic device from the current mouse.
DECLSPEC int SDLCALL SDL_HapticIndex(SDL_Haptic *haptic)
Gets the index of a haptic device.
DECLSPEC int SDLCALL SDL_HapticStopAll(SDL_Haptic *haptic)
Stops all the currently playing effects on a haptic device.
struct SDL_HapticCustom SDL_HapticCustom
A structure containing a template for the SDL_HAPTIC_CUSTOM effect.
DECLSPEC int SDLCALL SDL_HapticNumAxes(SDL_Haptic *haptic)
Gets the number of haptic axes the device has.
struct SDL_HapticConstant SDL_HapticConstant
A structure containing a template for a Constant effect.
struct SDL_HapticLeftRight SDL_HapticLeftRight
A structure containing a template for a Left/Right effect.
DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpen(int device_index)
Opens a haptic device for use.
DECLSPEC int SDLCALL SDL_HapticGetEffectStatus(SDL_Haptic *haptic, int effect)
Gets the status of the current effect on the haptic device.
DECLSPEC int SDLCALL SDL_HapticEffectSupported(SDL_Haptic *haptic, SDL_HapticEffect *effect)
Checks to see if effect is supported by haptic.
DECLSPEC int SDLCALL SDL_HapticPause(SDL_Haptic *haptic)
Pauses a haptic device.
DECLSPEC int SDLCALL SDL_HapticRumbleInit(SDL_Haptic *haptic)
Initializes the haptic device for simple rumble playback.
struct SDL_HapticCondition SDL_HapticCondition
A structure containing a template for a Condition effect.
struct SDL_HapticRamp SDL_HapticRamp
A structure containing a template for a Ramp effect.
DECLSPEC int SDLCALL SDL_HapticNumEffects(SDL_Haptic *haptic)
Returns the number of effects a haptic device can store.
A structure containing a template for a Condition effect.
Definition: SDL_haptic.h:612
Sint16 left_coeff[3]
Definition: SDL_haptic.h:630
Sint16 right_coeff[3]
Definition: SDL_haptic.h:629
SDL_HapticDirection direction
Definition: SDL_haptic.h:616
Uint16 type
Definition: SDL_haptic.h:614
Sint16 center[3]
Definition: SDL_haptic.h:632
Uint16 right_sat[3]
Definition: SDL_haptic.h:627
Uint16 left_sat[3]
Definition: SDL_haptic.h:628
Uint16 delay
Definition: SDL_haptic.h:620
Uint16 interval
Definition: SDL_haptic.h:624
Uint16 button
Definition: SDL_haptic.h:623
Uint32 length
Definition: SDL_haptic.h:619
Uint16 deadband[3]
Definition: SDL_haptic.h:631
A structure containing a template for a Constant effect.
Definition: SDL_haptic.h:478
Uint16 attack_level
Definition: SDL_haptic.h:496
Uint16 delay
Definition: SDL_haptic.h:485
SDL_HapticDirection direction
Definition: SDL_haptic.h:481
Uint16 fade_level
Definition: SDL_haptic.h:498
Sint16 level
Definition: SDL_haptic.h:492
Uint16 type
Definition: SDL_haptic.h:480
Uint16 fade_length
Definition: SDL_haptic.h:497
Uint16 attack_length
Definition: SDL_haptic.h:495
Uint16 button
Definition: SDL_haptic.h:488
Uint16 interval
Definition: SDL_haptic.h:489
Uint32 length
Definition: SDL_haptic.h:484
A structure containing a template for the SDL_HAPTIC_CUSTOM effect.
Definition: SDL_haptic.h:714
Uint16 attack_length
Definition: SDL_haptic.h:734
Uint16 delay
Definition: SDL_haptic.h:721
Uint8 channels
Definition: SDL_haptic.h:728
Uint16 samples
Definition: SDL_haptic.h:730
Uint16 fade_level
Definition: SDL_haptic.h:737
Uint16 type
Definition: SDL_haptic.h:716
Uint16 button
Definition: SDL_haptic.h:724
Uint16 fade_length
Definition: SDL_haptic.h:736
Uint16 period
Definition: SDL_haptic.h:729
Uint16 * data
Definition: SDL_haptic.h:731
Uint16 attack_level
Definition: SDL_haptic.h:735
Uint32 length
Definition: SDL_haptic.h:720
SDL_HapticDirection direction
Definition: SDL_haptic.h:717
Uint16 interval
Definition: SDL_haptic.h:725
Structure that represents a haptic direction.
Definition: SDL_haptic.h:460
Sint32 dir[3]
Definition: SDL_haptic.h:462
Uint8 type
Definition: SDL_haptic.h:461
A structure containing a template for a Left/Right effect.
Definition: SDL_haptic.h:686
Uint32 length
Definition: SDL_haptic.h:691
Uint16 large_magnitude
Definition: SDL_haptic.h:694
Uint16 small_magnitude
Definition: SDL_haptic.h:695
Uint16 type
Definition: SDL_haptic.h:688
A structure containing a template for a Periodic effect.
Definition: SDL_haptic.h:559
Uint16 interval
Definition: SDL_haptic.h:572
Uint16 period
Definition: SDL_haptic.h:575
Uint32 length
Definition: SDL_haptic.h:567
Uint16 phase
Definition: SDL_haptic.h:578
SDL_HapticDirection direction
Definition: SDL_haptic.h:564
Uint16 attack_level
Definition: SDL_haptic.h:582
Uint16 delay
Definition: SDL_haptic.h:568
Uint16 button
Definition: SDL_haptic.h:571
Sint16 magnitude
Definition: SDL_haptic.h:576
Uint16 attack_length
Definition: SDL_haptic.h:581
Sint16 offset
Definition: SDL_haptic.h:577
Uint16 type
Definition: SDL_haptic.h:561
Uint16 fade_length
Definition: SDL_haptic.h:583
Uint16 fade_level
Definition: SDL_haptic.h:584
A structure containing a template for a Ramp effect.
Definition: SDL_haptic.h:649
Sint16 end
Definition: SDL_haptic.h:664
Uint16 button
Definition: SDL_haptic.h:659
Uint16 interval
Definition: SDL_haptic.h:660
Uint32 length
Definition: SDL_haptic.h:655
Uint16 fade_level
Definition: SDL_haptic.h:670
SDL_HapticDirection direction
Definition: SDL_haptic.h:652
Uint16 attack_level
Definition: SDL_haptic.h:668
Uint16 delay
Definition: SDL_haptic.h:656
Uint16 type
Definition: SDL_haptic.h:651
Sint16 start
Definition: SDL_haptic.h:663
Uint16 fade_length
Definition: SDL_haptic.h:669
Uint16 attack_length
Definition: SDL_haptic.h:667
The generic template for any haptic effect.
Definition: SDL_haptic.h:810
SDL_HapticCustom custom
Definition: SDL_haptic.h:818
SDL_HapticRamp ramp
Definition: SDL_haptic.h:816
SDL_HapticLeftRight leftright
Definition: SDL_haptic.h:817
Uint16 type
Definition: SDL_haptic.h:812
SDL_HapticPeriodic periodic
Definition: SDL_haptic.h:814
SDL_HapticCondition condition
Definition: SDL_haptic.h:815
SDL_HapticConstant constant
Definition: SDL_haptic.h:813