Reference

SDL_HapticPeriodic(3type)

A structure containing a template for a Periodic effect.

NAME

SDL_HapticPeriodic - A structure containing a template for a Periodic effect.

HEADER FILE

Defined in SDL3/SDL_haptic.h

SYNOPSIS

#include "SDL3/SDL.h"

typedef struct SDL_HapticPeriodic { /* Header */ Uint16 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 */ Uint32 length; /**< Duration of the effect. */ Uint16 delay; /**< Delay before starting the effect. */ /* Trigger */ Uint16 button; /**< Button that triggers the effect. */ Uint16 interval; /**< How soon it can be triggered again after button. */ /* Periodic */ Uint16 period; /**< Period of the wave. */ Sint16 magnitude; /**< Peak value; if negative, equivalent to 180 degrees extra phase shift. */ Sint16 offset; /**< Mean value of the wave. */ Uint16 phase; /**< Positive phase shift given by hundredth of a degree. */ /* Envelope */ Uint16 attack_length; /**< Duration of the attack. */ Uint16 attack_level; /**< Level at the start of the attack. */ Uint16 fade_length; /**< Duration of the fade. */ Uint16 fade_level; /**< Level at the end of the fade. */ } SDL_HapticPeriodic;

DESCRIPTION

The struct handles the following effects:

• SDL_HAPTIC_SINE

• SDL_HAPTIC_SQUARE

• SDL_HAPTIC_TRIANGLE

• SDL_HAPTIC_SAWTOOTHUP

• SDL_HAPTIC_SAWTOOTHDOWN

A periodic effect consists in a wave-shaped effect that repeats itself over time. The type determines the shape of the wave and the parameters determine the dimensions of the wave.

Phase is given by hundredth of a degree meaning that giving the phase a value of 9000 will displace it 25% of its period. Here are sample values:

• 0: No phase displacement.

• 9000: Displaced 25% of its period.

• 18000: Displaced 50% of its period.

• 27000: Displaced 75% of its period.

• 36000: Displaced 100% of its period, same as 0, but 0 is preferred.

Examples:

  SDL_HAPTIC_SINE
    __      __      __      __
   /      /      /      /
  /    __/    __/    __/
  SDL_HAPTIC_SQUARE
   __    __    __    __    __
  |  |  |  |  |  |  |  |  |  |
  |  |__|  |__|  |__|  |__|  |
  SDL_HAPTIC_TRIANGLE
    /    /    /    /    /   /    /    /    /    /
  /                
  SDL_HAPTIC_SAWTOOTHUP
    /|  /|  /|  /|  /|  /|  /|
   / | / | / | / | / | / | / |
  /  |/  |/  |/  |/  |/  |/  |
  SDL_HAPTIC_SAWTOOTHDOWN
    |  |  |  |  |  |  |
    |  |  |  |  |  |  |
                

AVAILABILITY

This struct is available since SDL 3.2.0.

SEE ALSO

•(3), SDL_HAPTIC_SINE(3), •(3), SDL_HAPTIC_SQUARE(3), •(3), SDL_HAPTIC_TRIANGLE(3), •(3), SDL_HAPTIC_SAWTOOTHUP(3), •(3), SDL_HAPTIC_SAWTOOTHDOWN(3), •(3), SDL_HapticEffect(3type)