SDL_HapticCustom(3type)

NAME
SDL_HapticCustom - A structure containing a template for the SDL_HAPTIC_CUSTOM
 effect.

HEADER FILE
Defined in SDL3/SDL_haptic.h

SYNOPSIS
#include "SDL3/SDL.h"

typedef struct SDL_HapticCustom
{
    /* Header */
    Uint16 type;            /**< SDL_HAPTIC_CUSTOM */
    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. */

    /* Custom */
    Uint8 channels;         /**< Axes to use, minimum of one. */
    Uint16 period;          /**< Sample periods. */
    Uint16 samples;         /**< Amount of samples. */
    Uint16 *data;           /**< Should contain channels*samples items. */

    /* 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_HapticCustom;

DESCRIPTION
This struct is exclusively for the SDL_HAPTIC_CUSTOM effect. A custom force feedback effect is much like a periodic effect, where the application can define its exact shape. You will have to allocate the data yourself. Data should consist of channels * samples Uint16 samples. If channels is one, the effect is rotated using the defined direction. Otherwise it uses the samples in data for the different axes.

AVAILABILITY
This struct is available since SDL 3.0.0.

SEE ALSO
SDL_HAPTIC_CUSTOM(3), SDL_HapticEffect(3type)