Add and use typedefs SDL_HapticEffectType and SDL_HapticDirectionType

This commit is contained in:
Maia
2025-04-23 17:31:59 +02:00
committed by Sam Lantinga
parent a1332d77f6
commit 2b16c961ea

View File

@@ -149,6 +149,19 @@ extern "C" {
*/ */
typedef struct SDL_Haptic SDL_Haptic; typedef struct SDL_Haptic SDL_Haptic;
/*
* Misc defines.
*/
/**
* Used to play a device an infinite number of times.
*
* \since This macro is available since SDL 3.2.0.
*
* \sa SDL_RunHapticEffect
*/
#define SDL_HAPTIC_INFINITY 4294967295U
/** /**
* \name Haptic features * \name Haptic features
@@ -162,6 +175,11 @@ typedef struct SDL_Haptic SDL_Haptic;
*/ */
/* @{ */ /* @{ */
/**
* Type of haptic effect.
*/
typedef Uint16 SDL_HapticEffectType;
/** /**
* Constant effect supported. * Constant effect supported.
* *
@@ -383,6 +401,11 @@ typedef struct SDL_Haptic SDL_Haptic;
*/ */
/* @{ */ /* @{ */
/**
* Type of coordinates used for haptic direction.
*/
typedef Uint8 SDL_HapticDirectionType;
/** /**
* Uses polar coordinates for the direction. * Uses polar coordinates for the direction.
* *
@@ -426,19 +449,6 @@ typedef struct SDL_Haptic SDL_Haptic;
/* @} *//* Haptic features */ /* @} *//* Haptic features */
/*
* Misc defines.
*/
/**
* Used to play a device an infinite number of times.
*
* \since This macro is available since SDL 3.2.0.
*
* \sa SDL_RunHapticEffect
*/
#define SDL_HAPTIC_INFINITY 4294967295U
/** /**
* Structure that represents a haptic direction. * Structure that represents a haptic direction.
@@ -545,8 +555,8 @@ typedef struct SDL_Haptic SDL_Haptic;
*/ */
typedef struct SDL_HapticDirection typedef struct SDL_HapticDirection
{ {
Uint8 type; /**< The type of encoding. */ SDL_HapticDirectionType type; /**< The type of encoding. */
Sint32 dir[3]; /**< The encoded direction. */ Sint32 dir[3]; /**< The encoded direction. */
} SDL_HapticDirection; } SDL_HapticDirection;
@@ -566,7 +576,7 @@ typedef struct SDL_HapticDirection
typedef struct SDL_HapticConstant typedef struct SDL_HapticConstant
{ {
/* Header */ /* Header */
Uint16 type; /**< SDL_HAPTIC_CONSTANT */ SDL_HapticEffectType type; /**< SDL_HAPTIC_CONSTANT */
SDL_HapticDirection direction; /**< Direction of the effect. */ SDL_HapticDirection direction; /**< Direction of the effect. */
/* Replay */ /* Replay */
@@ -652,9 +662,9 @@ typedef struct SDL_HapticConstant
typedef struct SDL_HapticPeriodic typedef struct SDL_HapticPeriodic
{ {
/* Header */ /* Header */
Uint16 type; /**< SDL_HAPTIC_SINE, SDL_HAPTIC_SQUARE SDL_HapticEffectType type; /**< SDL_HAPTIC_SINE, SDL_HAPTIC_SQUARE
SDL_HAPTIC_TRIANGLE, SDL_HAPTIC_SAWTOOTHUP or SDL_HAPTIC_TRIANGLE, SDL_HAPTIC_SAWTOOTHUP or
SDL_HAPTIC_SAWTOOTHDOWN */ SDL_HAPTIC_SAWTOOTHDOWN */
SDL_HapticDirection direction; /**< Direction of the effect. */ SDL_HapticDirection direction; /**< Direction of the effect. */
/* Replay */ /* Replay */
@@ -708,8 +718,8 @@ typedef struct SDL_HapticPeriodic
typedef struct SDL_HapticCondition typedef struct SDL_HapticCondition
{ {
/* Header */ /* Header */
Uint16 type; /**< SDL_HAPTIC_SPRING, SDL_HAPTIC_DAMPER, SDL_HapticEffectType type; /**< SDL_HAPTIC_SPRING, SDL_HAPTIC_DAMPER,
SDL_HAPTIC_INERTIA or SDL_HAPTIC_FRICTION */ SDL_HAPTIC_INERTIA or SDL_HAPTIC_FRICTION */
SDL_HapticDirection direction; /**< Direction of the effect. */ SDL_HapticDirection direction; /**< Direction of the effect. */
/* Replay */ /* Replay */
@@ -747,7 +757,7 @@ typedef struct SDL_HapticCondition
typedef struct SDL_HapticRamp typedef struct SDL_HapticRamp
{ {
/* Header */ /* Header */
Uint16 type; /**< SDL_HAPTIC_RAMP */ SDL_HapticEffectType type; /**< SDL_HAPTIC_RAMP */
SDL_HapticDirection direction; /**< Direction of the effect. */ SDL_HapticDirection direction; /**< Direction of the effect. */
/* Replay */ /* Replay */
@@ -786,7 +796,7 @@ typedef struct SDL_HapticRamp
typedef struct SDL_HapticLeftRight typedef struct SDL_HapticLeftRight
{ {
/* Header */ /* Header */
Uint16 type; /**< SDL_HAPTIC_LEFTRIGHT */ SDL_HapticEffectType type; /**< SDL_HAPTIC_LEFTRIGHT */
/* Replay */ /* Replay */
Uint32 length; /**< Duration of the effect in milliseconds. */ Uint32 length; /**< Duration of the effect in milliseconds. */
@@ -816,7 +826,7 @@ typedef struct SDL_HapticLeftRight
typedef struct SDL_HapticCustom typedef struct SDL_HapticCustom
{ {
/* Header */ /* Header */
Uint16 type; /**< SDL_HAPTIC_CUSTOM */ SDL_HapticEffectType type; /**< SDL_HAPTIC_CUSTOM */
SDL_HapticDirection direction; /**< Direction of the effect. */ SDL_HapticDirection direction; /**< Direction of the effect. */
/* Replay */ /* Replay */
@@ -915,7 +925,7 @@ typedef struct SDL_HapticCustom
typedef union SDL_HapticEffect typedef union SDL_HapticEffect
{ {
/* Common for all force feedback effects */ /* Common for all force feedback effects */
Uint16 type; /**< Effect type. */ SDL_HapticEffectType type; /**< Effect type. */
SDL_HapticConstant constant; /**< Constant effect. */ SDL_HapticConstant constant; /**< Constant effect. */
SDL_HapticPeriodic periodic; /**< Periodic effect. */ SDL_HapticPeriodic periodic; /**< Periodic effect. */
SDL_HapticCondition condition; /**< Condition effect. */ SDL_HapticCondition condition; /**< Condition effect. */