From 2b16c961ea5e6b50973fd0d44f9a9d158a827356 Mon Sep 17 00:00:00 2001
From: Maia <[EMAIL REDACTED]>
Date: Wed, 23 Apr 2025 17:31:59 +0200
Subject: [PATCH] Add and use typedefs SDL_HapticEffectType and
SDL_HapticDirectionType
---
include/SDL3/SDL_haptic.h | 60 +++++++++++++++++++++++----------------
1 file changed, 35 insertions(+), 25 deletions(-)
diff --git a/include/SDL3/SDL_haptic.h b/include/SDL3/SDL_haptic.h
index a45335b2858a1..776b3ac80b079 100644
--- a/include/SDL3/SDL_haptic.h
+++ b/include/SDL3/SDL_haptic.h
@@ -149,6 +149,19 @@ extern "C" {
*/
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
@@ -162,6 +175,11 @@ typedef struct SDL_Haptic SDL_Haptic;
*/
/* @{ */
+/**
+ * Type of haptic effect.
+ */
+typedef Uint16 SDL_HapticEffectType;
+
/**
* 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.
*
@@ -426,19 +449,6 @@ typedef struct SDL_Haptic SDL_Haptic;
/* @} *//* 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.
@@ -545,8 +555,8 @@ typedef struct SDL_Haptic SDL_Haptic;
*/
typedef struct SDL_HapticDirection
{
- Uint8 type; /**< The type of encoding. */
- Sint32 dir[3]; /**< The encoded direction. */
+ SDL_HapticDirectionType type; /**< The type of encoding. */
+ Sint32 dir[3]; /**< The encoded direction. */
} SDL_HapticDirection;
@@ -566,7 +576,7 @@ typedef struct SDL_HapticDirection
typedef struct SDL_HapticConstant
{
/* Header */
- Uint16 type; /**< SDL_HAPTIC_CONSTANT */
+ SDL_HapticEffectType type; /**< SDL_HAPTIC_CONSTANT */
SDL_HapticDirection direction; /**< Direction of the effect. */
/* Replay */
@@ -652,9 +662,9 @@ typedef struct SDL_HapticConstant
typedef struct SDL_HapticPeriodic
{
/* Header */
- Uint16 type; /**< SDL_HAPTIC_SINE, SDL_HAPTIC_SQUARE
- SDL_HAPTIC_TRIANGLE, SDL_HAPTIC_SAWTOOTHUP or
- SDL_HAPTIC_SAWTOOTHDOWN */
+ SDL_HapticEffectType type; /**< SDL_HAPTIC_SINE, SDL_HAPTIC_SQUARE
+ SDL_HAPTIC_TRIANGLE, SDL_HAPTIC_SAWTOOTHUP or
+ SDL_HAPTIC_SAWTOOTHDOWN */
SDL_HapticDirection direction; /**< Direction of the effect. */
/* Replay */
@@ -708,8 +718,8 @@ typedef struct SDL_HapticPeriodic
typedef struct SDL_HapticCondition
{
/* Header */
- Uint16 type; /**< SDL_HAPTIC_SPRING, SDL_HAPTIC_DAMPER,
- SDL_HAPTIC_INERTIA or SDL_HAPTIC_FRICTION */
+ SDL_HapticEffectType type; /**< SDL_HAPTIC_SPRING, SDL_HAPTIC_DAMPER,
+ SDL_HAPTIC_INERTIA or SDL_HAPTIC_FRICTION */
SDL_HapticDirection direction; /**< Direction of the effect. */
/* Replay */
@@ -747,7 +757,7 @@ typedef struct SDL_HapticCondition
typedef struct SDL_HapticRamp
{
/* Header */
- Uint16 type; /**< SDL_HAPTIC_RAMP */
+ SDL_HapticEffectType type; /**< SDL_HAPTIC_RAMP */
SDL_HapticDirection direction; /**< Direction of the effect. */
/* Replay */
@@ -786,7 +796,7 @@ typedef struct SDL_HapticRamp
typedef struct SDL_HapticLeftRight
{
/* Header */
- Uint16 type; /**< SDL_HAPTIC_LEFTRIGHT */
+ SDL_HapticEffectType type; /**< SDL_HAPTIC_LEFTRIGHT */
/* Replay */
Uint32 length; /**< Duration of the effect in milliseconds. */
@@ -816,7 +826,7 @@ typedef struct SDL_HapticLeftRight
typedef struct SDL_HapticCustom
{
/* Header */
- Uint16 type; /**< SDL_HAPTIC_CUSTOM */
+ SDL_HapticEffectType type; /**< SDL_HAPTIC_CUSTOM */
SDL_HapticDirection direction; /**< Direction of the effect. */
/* Replay */
@@ -915,7 +925,7 @@ typedef struct SDL_HapticCustom
typedef union SDL_HapticEffect
{
/* Common for all force feedback effects */
- Uint16 type; /**< Effect type. */
+ SDL_HapticEffectType type; /**< Effect type. */
SDL_HapticConstant constant; /**< Constant effect. */
SDL_HapticPeriodic periodic; /**< Periodic effect. */
SDL_HapticCondition condition; /**< Condition effect. */