sdlRunHapticEffect function

bool sdlRunHapticEffect(
  1. Pointer<SdlHaptic> haptic,
  2. int effect,
  3. int iterations
)

Run the haptic effect on its associated haptic device.

To repeat the effect over and over indefinitely, set iterations to SDL_HAPTIC_INFINITY. (Repeats the envelope - attack and fade.) To make one instance of the effect last indefinitely (so the effect does not fade), set the effect's length in its structure/union to SDL_HAPTIC_INFINITY instead.

\param haptic the SDL_Haptic device to run the effect on. \param effect the ID of the haptic effect to run. \param iterations the number of iterations to run the effect; use SDL_HAPTIC_INFINITY to repeat forever. \returns true on success or false on failure; call SDL_GetError() for more information.

\since This function is available since SDL 3.1.3.

\sa SDL_GetHapticEffectStatus \sa SDL_StopHapticEffect \sa SDL_StopHapticEffects

extern SDL_DECLSPEC bool SDLCALL SDL_RunHapticEffect(SDL_Haptic *haptic, int effect, Uint32 iterations)

Implementation

bool sdlRunHapticEffect(Pointer<SdlHaptic> haptic, int effect, int iterations) {
  final sdlRunHapticEffectLookupFunction = libSdl3.lookupFunction<
      Uint8 Function(
          Pointer<SdlHaptic> haptic, Int32 effect, Uint32 iterations),
      int Function(Pointer<SdlHaptic> haptic, int effect,
          int iterations)>('SDL_RunHapticEffect');
  return sdlRunHapticEffectLookupFunction(haptic, effect, iterations) == 1;
}