THIS PAGE IS A WORK IN PROGRESS ... Please make edits to this page to improve it!
A structure containing a template for a Periodic effect.
Defined in [SDL_haptic.h](https://github.com/libsdl-org/SDL/blob/SDL2/include/SDL_haptic.h), but apps should _only_ `#include "SDL.h"`!
typedef struct SDL_HapticPeriodic
{/* Header */
/**< ::SDL_HAPTIC_SINE, ::SDL_HAPTIC_LEFTRIGHT,
Uint16 type; ::SDL_HAPTIC_TRIANGLE, ::SDL_HAPTIC_SAWTOOTHUP or
::SDL_HAPTIC_SAWTOOTHDOWN */
/**< Direction of the effect. */
SDL_HapticDirection direction;
/* Replay */
/**< Duration of the effect. */
Uint32 length; /**< Delay before starting the effect. */
Uint16 delay;
/* Trigger */
/**< Button that triggers the effect. */
Uint16 button; /**< How soon it can be triggered again after button. */
Uint16 interval;
/* Periodic */
/**< Period of the wave. */
Uint16 period; /**< Peak value; if negative, equivalent to 180 degrees extra phase shift. */
Sint16 magnitude; /**< Mean value of the wave. */
Sint16 offset; /**< Positive phase shift given by hundredth of a degree. */
Uint16 phase;
/* Envelope */
/**< Duration of the attack. */
Uint16 attack_length; /**< Level at the start of the attack. */
Uint16 attack_level; /**< Duration of the fade. */
Uint16 fade_length; /**< Level at the end of the fade. */
Uint16 fade_level; } SDL_HapticPeriodic;
The struct handles the following effects: ::SDL_HAPTIC_SINE
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:
<bgcolor="#EDEDED">Header |
||
Uint16 |
type |
the shape of the waves; see Remarks for details |
direction |
direction of the effect (relative to the user) |
|
<bgcolor="#EDEDED">Replay |
||
Uint32 |
length |
duration of the effect |
Uint16 |
delay |
delay before starting the effect |
<bgcolor="#EDEDED">Trigger |
||
Uint16 |
button |
button that triggers the effect |
Uint16 |
interval |
how soon it can be triggered again after button |
<bgcolor="#EDEDED">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; see Remarks for details |
<bgcolor="#EDEDED">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 |
CategoryAPI, CategoryAPIStruct, CategoryStruct, CategoryForceFeedback, CategoryDraft