sdl3-bindgen-sys
Safe HaskellNone
LanguageGHC2021

SDL3.Sys.Bindgen.Haptic

Description

The SDL haptic subsystem manages haptic (force feedback) devices.

The basic usage is as follows:

  • Initialize the subsystem (SDL_INIT_HAPTIC).
  • Open a haptic device.
  • SDL_OpenHaptic() to open from index.
  • SDL_OpenHapticFromJoystick() to open from an existing joystick.
  • Create an effect (SDL_HapticEffect).
  • Upload the effect with SDL_CreateHapticEffect().
  • Run the effect with SDL_RunHapticEffect().
  • (optional) Free the effect with SDL_DestroyHapticEffect().
  • Close the haptic device with SDL_CloseHaptic().

Simple rumble example:

    SDL_Haptic *haptic = NULL;

    // Open the device
    SDL_HapticID *haptics = SDL_GetHaptics(NULL);
    if (haptics) {
        haptic = SDL_OpenHaptic(haptics[0]);
        SDL_free(haptics);
    }
    if (haptic == NULL)
       return;

    // Initialize simple rumble
    if (!SDL_InitHapticRumble(haptic))
       return;

    // Play effect at 50% strength for 2 seconds
    if (!SDL_PlayHapticRumble(haptic, 0.5, 2000))
       return;
    SDL_Delay(2000);

    // Clean up
    SDL_CloseHaptic(haptic);
    

Complete example:

    bool test_haptic(SDL_Joystick *joystick)
    {
       SDL_Haptic *haptic;
       SDL_HapticEffect effect;
       SDL_HapticEffectID effect_id;

       // Open the device
       haptic = SDL_OpenHapticFromJoystick(joystick);
       if (haptic == NULL) return false; // Most likely joystick isn't haptic

       // See if it can do sine waves
       if ((SDL_GetHapticFeatures(haptic) & SDL_HAPTIC_SINE)==0) {
          SDL_CloseHaptic(haptic); // No sine effect
          return false;
       }

       // Create the effect
       SDL_memset(&effect, 0, sizeof(SDL_HapticEffect)); // 0 is safe default
       effect.type = SDL_HAPTIC_SINE;
       effect.periodic.direction.type = SDL_HAPTIC_POLAR; // Polar coordinates
       effect.periodic.direction.dir[0] = 18000; // Force comes from south
       effect.periodic.period = 1000; // 1000 ms
       effect.periodic.magnitude = 20000; // 20000/32767 strength
       effect.periodic.length = 5000; // 5 seconds long
       effect.periodic.attack_length = 1000; // Takes 1 second to get max strength
       effect.periodic.fade_length = 1000; // Takes 1 second to fade away

       // Upload the effect
       effect_id = SDL_CreateHapticEffect(haptic, &effect);

       // Test the effect
       SDL_RunHapticEffect(haptic, effect_id, 1);
       SDL_Delay(5000); // Wait for the effect to finish

       // We destroy the effect, although closing the device also does this
       SDL_DestroyHapticEffect(haptic, effect_id);

       // Close the device
       SDL_CloseHaptic(haptic);

       return true; // Success
    }
    

Note that the SDL haptic subsystem is not thread-safe. The haptic structure used to identify an SDL haptic.

See also
sDL_OpenHaptic, sDL_OpenHapticFromJoystick, sDL_CloseHaptic

Since: 3.2.0

Synopsis

Documentation

data SDL_Haptic Source #

C declaration
struct SDL_Haptic, defined at SDL3/SDL_haptic.h 150:16

sDL_HAPTIC_INFINITY :: CUInt Source #

Used to play a device an infinite number of times.

See also
sDL_RunHapticEffect
C declaration
macro SDL_HAPTIC_INFINITY, defined at SDL3/SDL_haptic.h 163:9

Since: 3.2.0

newtype SDL_HapticEffectType Source #

Type of haptic effect.

C declaration
SDL_HapticEffectType, defined at SDL3/SDL_haptic.h 181:16

Constructors

SDL_HapticEffectType 

Fields

Instances

Instances details
Bits SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

FiniteBits SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Bounded SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Enum SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Storable SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Generic SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type Rep SDL_HapticEffectType 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticEffectType = D1 ('MetaData "SDL_HapticEffectType" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'True) (C1 ('MetaCons "SDL_HapticEffectType" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Uint16)))
Ix SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Num SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Read SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Integral SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Real SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Show SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Eq SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Ord SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Prim SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasFFIType SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type FFIType SDL_HapticEffectType 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ReadRaw SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

StaticSize SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

WriteRaw SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Bitfield SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasCField SDL_HapticEffectType "unwrap" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticEffectType "unwrap" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticEffectType -> Proxy# "unwrap" -> Int #

ty ~ Uint16 => HasField "unwrap" SDL_HapticEffectType ty Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "unwrap" (Ptr SDL_HapticEffectType) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticEffectType = D1 ('MetaData "SDL_HapticEffectType" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'True) (C1 ('MetaCons "SDL_HapticEffectType" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Uint16)))
type FFIType SDL_HapticEffectType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticEffectType "unwrap" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

sDL_HAPTIC_CONSTANT :: CUInt Source #

Constant effect supported.

Constant haptic effect.

See also
SDL_HapticCondition
C declaration
macro SDL_HAPTIC_CONSTANT, defined at SDL3/SDL_haptic.h 192:9

Since: 3.2.0

sDL_HAPTIC_SINE :: CUInt Source #

Sine wave effect supported.

Periodic haptic effect that simulates sine waves.

See also
SDL_HapticPeriodic
C declaration
macro SDL_HAPTIC_SINE, defined at SDL3/SDL_haptic.h 203:9

Since: 3.2.0

sDL_HAPTIC_SQUARE :: CUInt Source #

Square wave effect supported.

Periodic haptic effect that simulates square waves.

See also
SDL_HapticPeriodic
C declaration
macro SDL_HAPTIC_SQUARE, defined at SDL3/SDL_haptic.h 214:9

Since: 3.2.0

sDL_HAPTIC_TRIANGLE :: CUInt Source #

Triangle wave effect supported.

Periodic haptic effect that simulates triangular waves.

See also
SDL_HapticPeriodic
C declaration
macro SDL_HAPTIC_TRIANGLE, defined at SDL3/SDL_haptic.h 225:9

Since: 3.2.0

sDL_HAPTIC_SAWTOOTHUP :: CUInt Source #

Sawtoothup wave effect supported.

Periodic haptic effect that simulates saw tooth up waves.

See also
SDL_HapticPeriodic
C declaration
macro SDL_HAPTIC_SAWTOOTHUP, defined at SDL3/SDL_haptic.h 236:9

Since: 3.2.0

sDL_HAPTIC_SAWTOOTHDOWN :: CUInt Source #

Sawtoothdown wave effect supported.

Periodic haptic effect that simulates saw tooth down waves.

See also
SDL_HapticPeriodic
C declaration
macro SDL_HAPTIC_SAWTOOTHDOWN, defined at SDL3/SDL_haptic.h 247:9

Since: 3.2.0

sDL_HAPTIC_RAMP :: CUInt Source #

Ramp effect supported.

Ramp haptic effect.

See also
SDL_HapticRamp
C declaration
macro SDL_HAPTIC_RAMP, defined at SDL3/SDL_haptic.h 258:9

Since: 3.2.0

sDL_HAPTIC_SPRING :: CUInt Source #

Spring effect supported - uses axes position.

Condition haptic effect that simulates a spring. Effect is based on the axes position.

See also
SDL_HapticCondition
C declaration
macro SDL_HAPTIC_SPRING, defined at SDL3/SDL_haptic.h 270:9

Since: 3.2.0

sDL_HAPTIC_DAMPER :: CUInt Source #

Damper effect supported - uses axes velocity.

Condition haptic effect that simulates dampening. Effect is based on the axes velocity.

See also
SDL_HapticCondition
C declaration
macro SDL_HAPTIC_DAMPER, defined at SDL3/SDL_haptic.h 282:9

Since: 3.2.0

sDL_HAPTIC_INERTIA :: CUInt Source #

Inertia effect supported - uses axes acceleration.

Condition haptic effect that simulates inertia. Effect is based on the axes acceleration.

See also
SDL_HapticCondition
C declaration
macro SDL_HAPTIC_INERTIA, defined at SDL3/SDL_haptic.h 294:9

Since: 3.2.0

sDL_HAPTIC_FRICTION :: CUInt Source #

Friction effect supported - uses axes movement.

Condition haptic effect that simulates friction. Effect is based on the axes movement.

See also
SDL_HapticCondition
C declaration
macro SDL_HAPTIC_FRICTION, defined at SDL3/SDL_haptic.h 306:9

Since: 3.2.0

sDL_HAPTIC_LEFTRIGHT :: CUInt Source #

Left/Right effect supported.

Haptic effect for direct control over high/low frequency motors.

See also
SDL_HapticLeftRight
C declaration
macro SDL_HAPTIC_LEFTRIGHT, defined at SDL3/SDL_haptic.h 317:9

Since: 3.2.0

sDL_HAPTIC_RESERVED1 :: CUInt Source #

Reserved for future use.

C declaration
macro SDL_HAPTIC_RESERVED1, defined at SDL3/SDL_haptic.h 324:9

Since: 3.2.0

sDL_HAPTIC_RESERVED2 :: CUInt Source #

Reserved for future use.

C declaration
macro SDL_HAPTIC_RESERVED2, defined at SDL3/SDL_haptic.h 331:9

Since: 3.2.0

sDL_HAPTIC_RESERVED3 :: CUInt Source #

Reserved for future use.

C declaration
macro SDL_HAPTIC_RESERVED3, defined at SDL3/SDL_haptic.h 338:9

Since: 3.2.0

sDL_HAPTIC_CUSTOM :: CUInt Source #

Custom effect is supported.

User defined custom haptic effect.

C declaration
macro SDL_HAPTIC_CUSTOM, defined at SDL3/SDL_haptic.h 347:9

Since: 3.2.0

sDL_HAPTIC_GAIN :: CUInt Source #

Device can set global gain.

Device supports setting the global gain.

See also
sDL_SetHapticGain
C declaration
macro SDL_HAPTIC_GAIN, defined at SDL3/SDL_haptic.h 362:9

Since: 3.2.0

sDL_HAPTIC_AUTOCENTER :: CUInt Source #

Device can set autocenter.

Device supports setting autocenter.

See also
sDL_SetHapticAutocenter
C declaration
macro SDL_HAPTIC_AUTOCENTER, defined at SDL3/SDL_haptic.h 373:9

Since: 3.2.0

sDL_HAPTIC_STATUS :: CUInt Source #

Device can be queried for effect status.

Device supports querying effect status.

See also
sDL_GetHapticEffectStatus
C declaration
macro SDL_HAPTIC_STATUS, defined at SDL3/SDL_haptic.h 384:9

Since: 3.2.0

sDL_HAPTIC_PAUSE :: CUInt Source #

Device can be paused.

Devices supports being paused.

See also
sDL_PauseHaptic, sDL_ResumeHaptic
C declaration
macro SDL_HAPTIC_PAUSE, defined at SDL3/SDL_haptic.h 396:9

Since: 3.2.0

newtype SDL_HapticDirectionType Source #

Type of coordinates used for haptic direction.

C declaration
SDL_HapticDirectionType, defined at SDL3/SDL_haptic.h 407:15

Constructors

SDL_HapticDirectionType 

Fields

Instances

Instances details
Bits SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

FiniteBits SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Bounded SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Enum SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Storable SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Generic SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type Rep SDL_HapticDirectionType 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticDirectionType = D1 ('MetaData "SDL_HapticDirectionType" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'True) (C1 ('MetaCons "SDL_HapticDirectionType" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Uint8)))
Ix SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Num SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Read SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Integral SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Real SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Show SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Eq SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Ord SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Prim SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasFFIType SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ReadRaw SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

StaticSize SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

WriteRaw SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Bitfield SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasCField SDL_HapticDirectionType "unwrap" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticDirectionType "unwrap" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint8 => HasField "unwrap" SDL_HapticDirectionType ty Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint8 => HasField "unwrap" (Ptr SDL_HapticDirectionType) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticDirectionType = D1 ('MetaData "SDL_HapticDirectionType" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'True) (C1 ('MetaCons "SDL_HapticDirectionType" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Uint8)))
type FFIType SDL_HapticDirectionType Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticDirectionType "unwrap" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

sDL_HAPTIC_POLAR :: CInt Source #

Uses polar coordinates for the direction.

See also
SDL_HapticDirection
C declaration
macro SDL_HAPTIC_POLAR, defined at SDL3/SDL_haptic.h 416:9

Since: 3.2.0

sDL_HAPTIC_CARTESIAN :: CInt Source #

Uses cartesian coordinates for the direction.

See also
SDL_HapticDirection
C declaration
macro SDL_HAPTIC_CARTESIAN, defined at SDL3/SDL_haptic.h 425:9

Since: 3.2.0

sDL_HAPTIC_SPHERICAL :: CInt Source #

Uses spherical coordinates for the direction.

See also
SDL_HapticDirection
C declaration
macro SDL_HAPTIC_SPHERICAL, defined at SDL3/SDL_haptic.h 434:9

Since: 3.2.0

sDL_HAPTIC_STEERING_AXIS :: CInt Source #

Use this value to play an effect on the steering wheel axis.

This provides better compatibility across platforms and devices as SDL will guess the correct axis.

See also
SDL_HapticDirection
C declaration
macro SDL_HAPTIC_STEERING_AXIS, defined at SDL3/SDL_haptic.h 446:9

Since: 3.2.0

newtype SDL_HapticEffectID Source #

ID for haptic effects.

This is -1 if the ID is invalid.

See also
sDL_CreateHapticEffect
C declaration
SDL_HapticEffectID, defined at SDL3/SDL_haptic.h 460:13

Constructors

SDL_HapticEffectID 

Fields

Instances

Instances details
Bits SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

FiniteBits SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Bounded SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Enum SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Storable SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Generic SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type Rep SDL_HapticEffectID 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticEffectID = D1 ('MetaData "SDL_HapticEffectID" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'True) (C1 ('MetaCons "SDL_HapticEffectID" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CInt)))
Ix SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Num SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Read SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Integral SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Real SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Show SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Eq SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Ord SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Prim SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasFFIType SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type FFIType SDL_HapticEffectID 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ReadRaw SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

StaticSize SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

WriteRaw SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Bitfield SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasCField SDL_HapticEffectID "unwrap" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticEffectID "unwrap" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticEffectID -> Proxy# "unwrap" -> Int #

ty ~ CInt => HasField "unwrap" SDL_HapticEffectID ty Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ CInt => HasField "unwrap" (Ptr SDL_HapticEffectID) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticEffectID = D1 ('MetaData "SDL_HapticEffectID" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'True) (C1 ('MetaCons "SDL_HapticEffectID" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CInt)))
type FFIType SDL_HapticEffectID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticEffectID "unwrap" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

data SDL_HapticDirection Source #

Structure that represents a haptic direction.

This is the direction where the force comes from, instead of the direction in which the force is exerted.

Directions can be specified by:

  • SDL_HAPTIC_POLAR : Specified by polar coordinates.
  • SDL_HAPTIC_CARTESIAN : Specified by cartesian coordinates.
  • SDL_HAPTIC_SPHERICAL : Specified by spherical coordinates.

Cardinal directions of the haptic device are relative to the positioning of the device. North is considered to be away from the user.

The following diagram represents the cardinal directions:

                  .--.
                  |__| .-------.
                  |=.| |.-----.|
                  |--| ||     ||
                  |  | |'-----'|
                  ||~')___('
                    [ COMPUTER ]


                      North (0,-1)
                          ^
                          |
                          |
    (-1,0)  West <----[ HAPTIC ]----> East (1,0)
                          |
                          |
                          v
                       South (0,1)


                       [ USER ]
                         \|||/
                         (o o)
                   ---ooO-(_)-Ooo---
    

If type is SDL_HAPTIC_POLAR, direction is encoded by hundredths of a degree starting north and turning clockwise. SDL_HAPTIC_POLAR only uses the first dir parameter. The cardinal directions would be:

  • North: 0 (0 degrees)
  • East: 9000 (90 degrees)
  • South: 18000 (180 degrees)
  • West: 27000 (270 degrees)

If type is SDL_HAPTIC_CARTESIAN, direction is encoded by three positions (X axis, Y axis and Z axis (with 3 axes)). SDL_HAPTIC_CARTESIAN uses the first three dir parameters. The cardinal directions would be:

  • North: 0,-1, 0
  • East: 1, 0, 0
  • South: 0, 1, 0
  • West: -1, 0, 0

The Z axis represents the height of the effect if supported, otherwise it's unused. In cartesian encoding (1, 2) would be the same as (2, 4), you can use any multiple you want, only the direction matters.

If type is SDL_HAPTIC_SPHERICAL, direction is encoded by two rotations. The first two dir parameters are used. The dir parameters are as follows (all values are in hundredths of degrees):

  • Degrees from (1, 0) rotated towards (0, 1).
  • Degrees towards (0, 0, 1) (device needs at least 3 axes).

Example of force coming from the south with all encodings (force coming from the south means the user will have to pull the stick to counteract):

    SDL_HapticDirection direction;

    // Cartesian directions
    direction.type = SDL_HAPTIC_CARTESIAN; // Using cartesian direction encoding.
    direction.dir[0] = 0; // X position
    direction.dir[1] = 1; // Y position
    // Assuming the device has 2 axes, we don't need to specify third parameter.

    // Polar directions
    direction.type = SDL_HAPTIC_POLAR; // We'll be using polar direction encoding.
    direction.dir[0] = 18000; // Polar only uses first parameter

    // Spherical coordinates
    direction.type = SDL_HAPTIC_SPHERICAL; // Spherical encoding
    direction.dir[0] = 9000; // Since we only have two axes we don't need more parameters.
    
See also
sDL_HAPTIC_POLAR, sDL_HAPTIC_CARTESIAN, sDL_HAPTIC_SPHERICAL, sDL_HAPTIC_STEERING_AXIS, SDL_HapticEffect, sDL_GetNumHapticAxes
C declaration
struct SDL_HapticDirection, defined at SDL3/SDL_haptic.h 566:16

Since: 3.2.0

Constructors

SDL_HapticDirection 

Fields

Instances

Instances details
Storable SDL_HapticDirection Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Generic SDL_HapticDirection Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type Rep SDL_HapticDirection 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticDirection = D1 ('MetaData "SDL_HapticDirection" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SDL_HapticDirection" 'PrefixI 'True) (S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticDirectionType) :*: S1 ('MetaSel ('Just "dir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (ConstantArray 3 Sint32))))
Show SDL_HapticDirection Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Eq SDL_HapticDirection Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ReadRaw SDL_HapticDirection Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

StaticSize SDL_HapticDirection Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

WriteRaw SDL_HapticDirection Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

IsStruct SDL_HapticDirection Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasCField SDL_HapticDirection "dir" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticDirection "dir" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasCField SDL_HapticDirection "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticDirection "type'" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticDirection -> Proxy# "type'" -> Int #

ty ~ ConstantArray 3 Sint32 => HasField "dir" SDL_HapticDirection ty Source #

The encoded direction.

C declaration
dir, defined at SDL3/SDL_haptic.h 569:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticDirectionType => HasField "type'" SDL_HapticDirection ty Source #

The type of encoding.

C declaration
type, defined at SDL3/SDL_haptic.h 568:29
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ ConstantArray 3 Sint32 => HasField "dir" (Ptr SDL_HapticDirection) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticDirectionType => HasField "type'" (Ptr SDL_HapticDirection) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticDirection Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticDirection = D1 ('MetaData "SDL_HapticDirection" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SDL_HapticDirection" 'PrefixI 'True) (S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticDirectionType) :*: S1 ('MetaSel ('Just "dir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (ConstantArray 3 Sint32))))
type CFieldType SDL_HapticDirection "dir" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticDirection "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

data SDL_HapticConstant Source #

A structure containing a template for a Constant effect.

This struct is exclusively for the SDL_HAPTIC_CONSTANT effect.

A constant effect applies a constant force in the specified direction to the joystick.

See also
sDL_HAPTIC_CONSTANT, SDL_HapticEffect
C declaration
struct SDL_HapticConstant, defined at SDL3/SDL_haptic.h 586:16

Since: 3.2.0

Constructors

SDL_HapticConstant 

Fields

  • type' :: SDL_HapticEffectType

    SDL_HAPTIC_CONSTANT

    C declaration
    type, defined at SDL3/SDL_haptic.h 589:26
  • direction :: SDL_HapticDirection

    Direction of the effect.

    C declaration
    direction, defined at SDL3/SDL_haptic.h 590:25
  • length :: Uint32

    Duration of the effect.

    C declaration
    length, defined at SDL3/SDL_haptic.h 593:12
  • delay :: Uint16

    Delay before starting the effect.

    C declaration
    delay, defined at SDL3/SDL_haptic.h 594:12
  • button :: Uint16

    Button that triggers the effect.

    C declaration
    button, defined at SDL3/SDL_haptic.h 597:12
  • interval :: Uint16

    How soon it can be triggered again after button.

    C declaration
    interval, defined at SDL3/SDL_haptic.h 598:12
  • level :: Sint16

    Strength of the constant effect.

    C declaration
    level, defined at SDL3/SDL_haptic.h 601:12
  • attack_length :: Uint16

    Duration of the attack.

    C declaration
    attack_length, defined at SDL3/SDL_haptic.h 604:12
  • attack_level :: Uint16

    Level at the start of the attack.

    C declaration
    attack_level, defined at SDL3/SDL_haptic.h 605:12
  • fade_length :: Uint16

    Duration of the fade.

    C declaration
    fade_length, defined at SDL3/SDL_haptic.h 606:12
  • fade_level :: Uint16

    Level at the end of the fade.

    C declaration
    fade_level, defined at SDL3/SDL_haptic.h 607:12

Instances

Instances details
Storable SDL_HapticConstant Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Generic SDL_HapticConstant Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type Rep SDL_HapticConstant 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Show SDL_HapticConstant Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Eq SDL_HapticConstant Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ReadRaw SDL_HapticConstant Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

StaticSize SDL_HapticConstant Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

WriteRaw SDL_HapticConstant Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

IsStruct SDL_HapticConstant Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasCField SDL_HapticConstant "attack_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticConstant "attack_length" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticConstant "attack_length" = Uint16

Methods

offset# :: Proxy# SDL_HapticConstant -> Proxy# "attack_length" -> Int #

HasCField SDL_HapticConstant "attack_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticConstant "attack_level" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticConstant "attack_level" = Uint16

Methods

offset# :: Proxy# SDL_HapticConstant -> Proxy# "attack_level" -> Int #

HasCField SDL_HapticConstant "button" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticConstant "button" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticConstant -> Proxy# "button" -> Int #

HasCField SDL_HapticConstant "delay" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticConstant "delay" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticConstant -> Proxy# "delay" -> Int #

HasCField SDL_HapticConstant "direction" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticConstant "direction" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticConstant -> Proxy# "direction" -> Int #

HasCField SDL_HapticConstant "fade_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticConstant "fade_length" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticConstant "fade_length" = Uint16

Methods

offset# :: Proxy# SDL_HapticConstant -> Proxy# "fade_length" -> Int #

HasCField SDL_HapticConstant "fade_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticConstant "fade_level" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticConstant -> Proxy# "fade_level" -> Int #

HasCField SDL_HapticConstant "interval" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticConstant "interval" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticConstant -> Proxy# "interval" -> Int #

HasCField SDL_HapticConstant "length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticConstant "length" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticConstant -> Proxy# "length" -> Int #

HasCField SDL_HapticConstant "level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticConstant "level" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticConstant -> Proxy# "level" -> Int #

HasCField SDL_HapticConstant "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticConstant "type'" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticConstant -> Proxy# "type'" -> Int #

ty ~ Uint16 => HasField "attack_length" SDL_HapticConstant ty Source #

Duration of the attack.

C declaration
attack_length, defined at SDL3/SDL_haptic.h 604:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "attack_level" SDL_HapticConstant ty Source #

Level at the start of the attack.

C declaration
attack_level, defined at SDL3/SDL_haptic.h 605:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "button" SDL_HapticConstant ty Source #

Button that triggers the effect.

C declaration
button, defined at SDL3/SDL_haptic.h 597:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "delay" SDL_HapticConstant ty Source #

Delay before starting the effect.

C declaration
delay, defined at SDL3/SDL_haptic.h 594:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticDirection => HasField "direction" SDL_HapticConstant ty Source #

Direction of the effect.

C declaration
direction, defined at SDL3/SDL_haptic.h 590:25
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "fade_length" SDL_HapticConstant ty Source #

Duration of the fade.

C declaration
fade_length, defined at SDL3/SDL_haptic.h 606:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "fade_level" SDL_HapticConstant ty Source #

Level at the end of the fade.

C declaration
fade_level, defined at SDL3/SDL_haptic.h 607:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "interval" SDL_HapticConstant ty Source #

How soon it can be triggered again after button.

C declaration
interval, defined at SDL3/SDL_haptic.h 598:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint32 => HasField "length" SDL_HapticConstant ty Source #

Duration of the effect.

C declaration
length, defined at SDL3/SDL_haptic.h 593:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Sint16 => HasField "level" SDL_HapticConstant ty Source #

Strength of the constant effect.

C declaration
level, defined at SDL3/SDL_haptic.h 601:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticEffectType => HasField "type'" SDL_HapticConstant ty Source #

SDL_HAPTIC_CONSTANT

C declaration
type, defined at SDL3/SDL_haptic.h 589:26
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "attack_length" (Ptr SDL_HapticConstant) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "attack_level" (Ptr SDL_HapticConstant) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "button" (Ptr SDL_HapticConstant) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "delay" (Ptr SDL_HapticConstant) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticDirection => HasField "direction" (Ptr SDL_HapticConstant) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "fade_length" (Ptr SDL_HapticConstant) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "fade_level" (Ptr SDL_HapticConstant) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "interval" (Ptr SDL_HapticConstant) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint32 => HasField "length" (Ptr SDL_HapticConstant) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Sint16 => HasField "level" (Ptr SDL_HapticConstant) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticEffectType => HasField "type'" (Ptr SDL_HapticConstant) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticConstant Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticConstant "attack_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticConstant "attack_length" = Uint16
type CFieldType SDL_HapticConstant "attack_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticConstant "attack_level" = Uint16
type CFieldType SDL_HapticConstant "button" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticConstant "delay" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticConstant "direction" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticConstant "fade_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticConstant "fade_length" = Uint16
type CFieldType SDL_HapticConstant "fade_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticConstant "interval" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticConstant "length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticConstant "level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticConstant "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

data SDL_HapticPeriodic Source #

A structure containing a template for a Periodic effect.

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
    \  |\  |\  |\  |\  |\  |\  |
     \ | \ | \ | \ | \ | \ | \ |
      \|  \|  \|  \|  \|  \|  \|
    
See also
sDL_HAPTIC_SINE, sDL_HAPTIC_SQUARE, sDL_HAPTIC_TRIANGLE, sDL_HAPTIC_SAWTOOTHUP, sDL_HAPTIC_SAWTOOTHDOWN, SDL_HapticEffect
C declaration
struct SDL_HapticPeriodic, defined at SDL3/SDL_haptic.h 672:16

Since: 3.2.0

Constructors

SDL_HapticPeriodic 

Fields

  • type' :: SDL_HapticEffectType

    SDL_HAPTIC_SINE, SDL_HAPTIC_SQUARE SDL_HAPTIC_TRIANGLE, SDL_HAPTIC_SAWTOOTHUP or SDL_HAPTIC_SAWTOOTHDOWN

    C declaration
    type, defined at SDL3/SDL_haptic.h 675:26
  • direction :: SDL_HapticDirection

    Direction of the effect.

    C declaration
    direction, defined at SDL3/SDL_haptic.h 678:25
  • length :: Uint32

    Duration of the effect.

    C declaration
    length, defined at SDL3/SDL_haptic.h 681:12
  • delay :: Uint16

    Delay before starting the effect.

    C declaration
    delay, defined at SDL3/SDL_haptic.h 682:12
  • button :: Uint16

    Button that triggers the effect.

    C declaration
    button, defined at SDL3/SDL_haptic.h 685:12
  • interval :: Uint16

    How soon it can be triggered again after button.

    C declaration
    interval, defined at SDL3/SDL_haptic.h 686:12
  • period :: Uint16

    Period of the wave.

    C declaration
    period, defined at SDL3/SDL_haptic.h 689:12
  • magnitude :: Sint16

    Peak value; if negative, equivalent to 180 degrees extra phase shift.

    C declaration
    magnitude, defined at SDL3/SDL_haptic.h 690:12
  • offset :: Sint16

    Mean value of the wave.

    C declaration
    offset, defined at SDL3/SDL_haptic.h 691:12
  • phase :: Uint16

    Positive phase shift given by hundredth of a degree.

    C declaration
    phase, defined at SDL3/SDL_haptic.h 692:12
  • attack_length :: Uint16

    Duration of the attack.

    C declaration
    attack_length, defined at SDL3/SDL_haptic.h 695:12
  • attack_level :: Uint16

    Level at the start of the attack.

    C declaration
    attack_level, defined at SDL3/SDL_haptic.h 696:12
  • fade_length :: Uint16

    Duration of the fade.

    C declaration
    fade_length, defined at SDL3/SDL_haptic.h 697:12
  • fade_level :: Uint16

    Level at the end of the fade.

    C declaration
    fade_level, defined at SDL3/SDL_haptic.h 698:12

Instances

Instances details
Storable SDL_HapticPeriodic Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Generic SDL_HapticPeriodic Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type Rep SDL_HapticPeriodic 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticPeriodic = D1 ('MetaData "SDL_HapticPeriodic" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SDL_HapticPeriodic" 'PrefixI 'True) (((S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticEffectType) :*: (S1 ('MetaSel ('Just "direction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticDirection) :*: S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint32))) :*: ((S1 ('MetaSel ('Just "delay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "button") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16)) :*: (S1 ('MetaSel ('Just "interval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "period") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16)))) :*: ((S1 ('MetaSel ('Just "magnitude") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Sint16) :*: (S1 ('MetaSel ('Just "offset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Sint16) :*: S1 ('MetaSel ('Just "phase") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16))) :*: ((S1 ('MetaSel ('Just "attack_length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "attack_level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16)) :*: (S1 ('MetaSel ('Just "fade_length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "fade_level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16))))))
Show SDL_HapticPeriodic Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Eq SDL_HapticPeriodic Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ReadRaw SDL_HapticPeriodic Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

StaticSize SDL_HapticPeriodic Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

WriteRaw SDL_HapticPeriodic Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

IsStruct SDL_HapticPeriodic Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasCField SDL_HapticPeriodic "attack_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticPeriodic "attack_length" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "attack_length" = Uint16

Methods

offset# :: Proxy# SDL_HapticPeriodic -> Proxy# "attack_length" -> Int #

HasCField SDL_HapticPeriodic "attack_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticPeriodic "attack_level" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "attack_level" = Uint16

Methods

offset# :: Proxy# SDL_HapticPeriodic -> Proxy# "attack_level" -> Int #

HasCField SDL_HapticPeriodic "button" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticPeriodic "button" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticPeriodic -> Proxy# "button" -> Int #

HasCField SDL_HapticPeriodic "delay" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticPeriodic "delay" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticPeriodic -> Proxy# "delay" -> Int #

HasCField SDL_HapticPeriodic "direction" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticPeriodic "direction" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticPeriodic -> Proxy# "direction" -> Int #

HasCField SDL_HapticPeriodic "fade_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticPeriodic "fade_length" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "fade_length" = Uint16

Methods

offset# :: Proxy# SDL_HapticPeriodic -> Proxy# "fade_length" -> Int #

HasCField SDL_HapticPeriodic "fade_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticPeriodic "fade_level" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticPeriodic -> Proxy# "fade_level" -> Int #

HasCField SDL_HapticPeriodic "interval" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticPeriodic "interval" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticPeriodic -> Proxy# "interval" -> Int #

HasCField SDL_HapticPeriodic "length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticPeriodic "length" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticPeriodic -> Proxy# "length" -> Int #

HasCField SDL_HapticPeriodic "magnitude" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticPeriodic "magnitude" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticPeriodic -> Proxy# "magnitude" -> Int #

HasCField SDL_HapticPeriodic "offset" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticPeriodic "offset" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticPeriodic -> Proxy# "offset" -> Int #

HasCField SDL_HapticPeriodic "period" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticPeriodic "period" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticPeriodic -> Proxy# "period" -> Int #

HasCField SDL_HapticPeriodic "phase" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticPeriodic "phase" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticPeriodic -> Proxy# "phase" -> Int #

HasCField SDL_HapticPeriodic "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticPeriodic "type'" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticPeriodic -> Proxy# "type'" -> Int #

ty ~ Uint16 => HasField "attack_length" SDL_HapticPeriodic ty Source #

Duration of the attack.

C declaration
attack_length, defined at SDL3/SDL_haptic.h 695:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "attack_level" SDL_HapticPeriodic ty Source #

Level at the start of the attack.

C declaration
attack_level, defined at SDL3/SDL_haptic.h 696:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "button" SDL_HapticPeriodic ty Source #

Button that triggers the effect.

C declaration
button, defined at SDL3/SDL_haptic.h 685:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "delay" SDL_HapticPeriodic ty Source #

Delay before starting the effect.

C declaration
delay, defined at SDL3/SDL_haptic.h 682:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticDirection => HasField "direction" SDL_HapticPeriodic ty Source #

Direction of the effect.

C declaration
direction, defined at SDL3/SDL_haptic.h 678:25
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "fade_length" SDL_HapticPeriodic ty Source #

Duration of the fade.

C declaration
fade_length, defined at SDL3/SDL_haptic.h 697:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "fade_level" SDL_HapticPeriodic ty Source #

Level at the end of the fade.

C declaration
fade_level, defined at SDL3/SDL_haptic.h 698:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "interval" SDL_HapticPeriodic ty Source #

How soon it can be triggered again after button.

C declaration
interval, defined at SDL3/SDL_haptic.h 686:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint32 => HasField "length" SDL_HapticPeriodic ty Source #

Duration of the effect.

C declaration
length, defined at SDL3/SDL_haptic.h 681:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Sint16 => HasField "magnitude" SDL_HapticPeriodic ty Source #

Peak value; if negative, equivalent to 180 degrees extra phase shift.

C declaration
magnitude, defined at SDL3/SDL_haptic.h 690:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Sint16 => HasField "offset" SDL_HapticPeriodic ty Source #

Mean value of the wave.

C declaration
offset, defined at SDL3/SDL_haptic.h 691:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "period" SDL_HapticPeriodic ty Source #

Period of the wave.

C declaration
period, defined at SDL3/SDL_haptic.h 689:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "phase" SDL_HapticPeriodic ty Source #

Positive phase shift given by hundredth of a degree.

C declaration
phase, defined at SDL3/SDL_haptic.h 692:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticEffectType => HasField "type'" SDL_HapticPeriodic ty Source #

SDL_HAPTIC_SINE, SDL_HAPTIC_SQUARE SDL_HAPTIC_TRIANGLE, SDL_HAPTIC_SAWTOOTHUP or SDL_HAPTIC_SAWTOOTHDOWN

C declaration
type, defined at SDL3/SDL_haptic.h 675:26
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "attack_length" (Ptr SDL_HapticPeriodic) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "attack_level" (Ptr SDL_HapticPeriodic) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "button" (Ptr SDL_HapticPeriodic) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "delay" (Ptr SDL_HapticPeriodic) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticDirection => HasField "direction" (Ptr SDL_HapticPeriodic) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "fade_length" (Ptr SDL_HapticPeriodic) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "fade_level" (Ptr SDL_HapticPeriodic) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "interval" (Ptr SDL_HapticPeriodic) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint32 => HasField "length" (Ptr SDL_HapticPeriodic) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Sint16 => HasField "magnitude" (Ptr SDL_HapticPeriodic) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Sint16 => HasField "offset" (Ptr SDL_HapticPeriodic) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "period" (Ptr SDL_HapticPeriodic) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "phase" (Ptr SDL_HapticPeriodic) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticEffectType => HasField "type'" (Ptr SDL_HapticPeriodic) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticPeriodic Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticPeriodic = D1 ('MetaData "SDL_HapticPeriodic" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SDL_HapticPeriodic" 'PrefixI 'True) (((S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticEffectType) :*: (S1 ('MetaSel ('Just "direction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticDirection) :*: S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint32))) :*: ((S1 ('MetaSel ('Just "delay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "button") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16)) :*: (S1 ('MetaSel ('Just "interval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "period") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16)))) :*: ((S1 ('MetaSel ('Just "magnitude") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Sint16) :*: (S1 ('MetaSel ('Just "offset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Sint16) :*: S1 ('MetaSel ('Just "phase") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16))) :*: ((S1 ('MetaSel ('Just "attack_length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "attack_level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16)) :*: (S1 ('MetaSel ('Just "fade_length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "fade_level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16))))))
type CFieldType SDL_HapticPeriodic "attack_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "attack_length" = Uint16
type CFieldType SDL_HapticPeriodic "attack_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "attack_level" = Uint16
type CFieldType SDL_HapticPeriodic "button" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "delay" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "direction" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "fade_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "fade_length" = Uint16
type CFieldType SDL_HapticPeriodic "fade_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "interval" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "magnitude" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "offset" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "period" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "phase" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticPeriodic "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

data SDL_HapticCondition Source #

A structure containing a template for a Condition effect.

The struct handles the following effects:

  • SDL_HAPTIC_SPRING: Effect based on axes position.
  • SDL_HAPTIC_DAMPER: Effect based on axes velocity.
  • SDL_HAPTIC_INERTIA: Effect based on axes acceleration.
  • SDL_HAPTIC_FRICTION: Effect based on axes movement.

Direction is handled by condition internals instead of a direction member. The condition effect specific members have three parameters. The first refers to the X axis, the second refers to the Y axis and the third refers to the Z axis. The right terms refer to the positive side of the axis and the left terms refer to the negative side of the axis. Please refer to the SDL_HapticDirection diagram for which side is positive and which is negative.

See also
SDL_HapticDirection, sDL_HAPTIC_SPRING, sDL_HAPTIC_DAMPER, sDL_HAPTIC_INERTIA, sDL_HAPTIC_FRICTION, SDL_HapticEffect
C declaration
struct SDL_HapticCondition, defined at SDL3/SDL_haptic.h 728:16

Since: 3.2.0

Constructors

SDL_HapticCondition 

Fields

  • type' :: SDL_HapticEffectType

    SDL_HAPTIC_SPRING, SDL_HAPTIC_DAMPER, SDL_HAPTIC_INERTIA or SDL_HAPTIC_FRICTION

    C declaration
    type, defined at SDL3/SDL_haptic.h 731:26
  • direction :: SDL_HapticDirection

    Direction of the effect.

    C declaration
    direction, defined at SDL3/SDL_haptic.h 733:25
  • length :: Uint32

    Duration of the effect.

    C declaration
    length, defined at SDL3/SDL_haptic.h 736:12
  • delay :: Uint16

    Delay before starting the effect.

    C declaration
    delay, defined at SDL3/SDL_haptic.h 737:12
  • button :: Uint16

    Button that triggers the effect.

    C declaration
    button, defined at SDL3/SDL_haptic.h 740:12
  • interval :: Uint16

    How soon it can be triggered again after button.

    C declaration
    interval, defined at SDL3/SDL_haptic.h 741:12
  • right_sat :: ConstantArray 3 Uint16

    Level when joystick is to the positive side; max 0xFFFF.

    C declaration
    right_sat, defined at SDL3/SDL_haptic.h 744:12
  • left_sat :: ConstantArray 3 Uint16

    Level when joystick is to the negative side; max 0xFFFF.

    C declaration
    left_sat, defined at SDL3/SDL_haptic.h 745:12
  • right_coeff :: ConstantArray 3 Sint16

    How fast to increase the force towards the positive side.

    C declaration
    right_coeff, defined at SDL3/SDL_haptic.h 746:12
  • left_coeff :: ConstantArray 3 Sint16

    How fast to increase the force towards the negative side.

    C declaration
    left_coeff, defined at SDL3/SDL_haptic.h 747:12
  • deadband :: ConstantArray 3 Uint16

    Size of the dead zone; max 0xFFFF: whole axis-range when 0-centered.

    C declaration
    deadband, defined at SDL3/SDL_haptic.h 748:12
  • center :: ConstantArray 3 Sint16

    Position of the dead zone.

    C declaration
    center, defined at SDL3/SDL_haptic.h 749:12

Instances

Instances details
Storable SDL_HapticCondition Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Generic SDL_HapticCondition Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type Rep SDL_HapticCondition 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticCondition = D1 ('MetaData "SDL_HapticCondition" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SDL_HapticCondition" 'PrefixI 'True) (((S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticEffectType) :*: (S1 ('MetaSel ('Just "direction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticDirection) :*: S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint32))) :*: (S1 ('MetaSel ('Just "delay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: (S1 ('MetaSel ('Just "button") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "interval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16)))) :*: ((S1 ('MetaSel ('Just "right_sat") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (ConstantArray 3 Uint16)) :*: (S1 ('MetaSel ('Just "left_sat") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (ConstantArray 3 Uint16)) :*: S1 ('MetaSel ('Just "right_coeff") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (ConstantArray 3 Sint16)))) :*: (S1 ('MetaSel ('Just "left_coeff") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (ConstantArray 3 Sint16)) :*: (S1 ('MetaSel ('Just "deadband") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (ConstantArray 3 Uint16)) :*: S1 ('MetaSel ('Just "center") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (ConstantArray 3 Sint16)))))))
Show SDL_HapticCondition Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Eq SDL_HapticCondition Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ReadRaw SDL_HapticCondition Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

StaticSize SDL_HapticCondition Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

WriteRaw SDL_HapticCondition Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

IsStruct SDL_HapticCondition Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasCField SDL_HapticCondition "button" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCondition "button" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCondition -> Proxy# "button" -> Int #

HasCField SDL_HapticCondition "center" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCondition "center" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCondition -> Proxy# "center" -> Int #

HasCField SDL_HapticCondition "deadband" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCondition "deadband" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCondition -> Proxy# "deadband" -> Int #

HasCField SDL_HapticCondition "delay" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCondition "delay" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCondition -> Proxy# "delay" -> Int #

HasCField SDL_HapticCondition "direction" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCondition "direction" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCondition -> Proxy# "direction" -> Int #

HasCField SDL_HapticCondition "interval" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCondition "interval" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCondition -> Proxy# "interval" -> Int #

HasCField SDL_HapticCondition "left_coeff" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCondition "left_coeff" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCondition -> Proxy# "left_coeff" -> Int #

HasCField SDL_HapticCondition "left_sat" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCondition "left_sat" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCondition -> Proxy# "left_sat" -> Int #

HasCField SDL_HapticCondition "length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCondition "length" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCondition -> Proxy# "length" -> Int #

HasCField SDL_HapticCondition "right_coeff" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCondition "right_coeff" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCondition -> Proxy# "right_coeff" -> Int #

HasCField SDL_HapticCondition "right_sat" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCondition "right_sat" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCondition -> Proxy# "right_sat" -> Int #

HasCField SDL_HapticCondition "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCondition "type'" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCondition -> Proxy# "type'" -> Int #

ty ~ Uint16 => HasField "button" SDL_HapticCondition ty Source #

Button that triggers the effect.

C declaration
button, defined at SDL3/SDL_haptic.h 740:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ ConstantArray 3 Sint16 => HasField "center" SDL_HapticCondition ty Source #

Position of the dead zone.

C declaration
center, defined at SDL3/SDL_haptic.h 749:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ ConstantArray 3 Uint16 => HasField "deadband" SDL_HapticCondition ty Source #

Size of the dead zone; max 0xFFFF: whole axis-range when 0-centered.

C declaration
deadband, defined at SDL3/SDL_haptic.h 748:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "delay" SDL_HapticCondition ty Source #

Delay before starting the effect.

C declaration
delay, defined at SDL3/SDL_haptic.h 737:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticDirection => HasField "direction" SDL_HapticCondition ty Source #

Direction of the effect.

C declaration
direction, defined at SDL3/SDL_haptic.h 733:25
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "interval" SDL_HapticCondition ty Source #

How soon it can be triggered again after button.

C declaration
interval, defined at SDL3/SDL_haptic.h 741:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ ConstantArray 3 Sint16 => HasField "left_coeff" SDL_HapticCondition ty Source #

How fast to increase the force towards the negative side.

C declaration
left_coeff, defined at SDL3/SDL_haptic.h 747:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ ConstantArray 3 Uint16 => HasField "left_sat" SDL_HapticCondition ty Source #

Level when joystick is to the negative side; max 0xFFFF.

C declaration
left_sat, defined at SDL3/SDL_haptic.h 745:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint32 => HasField "length" SDL_HapticCondition ty Source #

Duration of the effect.

C declaration
length, defined at SDL3/SDL_haptic.h 736:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ ConstantArray 3 Sint16 => HasField "right_coeff" SDL_HapticCondition ty Source #

How fast to increase the force towards the positive side.

C declaration
right_coeff, defined at SDL3/SDL_haptic.h 746:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ ConstantArray 3 Uint16 => HasField "right_sat" SDL_HapticCondition ty Source #

Level when joystick is to the positive side; max 0xFFFF.

C declaration
right_sat, defined at SDL3/SDL_haptic.h 744:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticEffectType => HasField "type'" SDL_HapticCondition ty Source #

SDL_HAPTIC_SPRING, SDL_HAPTIC_DAMPER, SDL_HAPTIC_INERTIA or SDL_HAPTIC_FRICTION

C declaration
type, defined at SDL3/SDL_haptic.h 731:26
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "button" (Ptr SDL_HapticCondition) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ ConstantArray 3 Sint16 => HasField "center" (Ptr SDL_HapticCondition) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ ConstantArray 3 Uint16 => HasField "deadband" (Ptr SDL_HapticCondition) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "delay" (Ptr SDL_HapticCondition) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticDirection => HasField "direction" (Ptr SDL_HapticCondition) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "interval" (Ptr SDL_HapticCondition) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ ConstantArray 3 Sint16 => HasField "left_coeff" (Ptr SDL_HapticCondition) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ ConstantArray 3 Uint16 => HasField "left_sat" (Ptr SDL_HapticCondition) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint32 => HasField "length" (Ptr SDL_HapticCondition) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ ConstantArray 3 Sint16 => HasField "right_coeff" (Ptr SDL_HapticCondition) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ ConstantArray 3 Uint16 => HasField "right_sat" (Ptr SDL_HapticCondition) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticEffectType => HasField "type'" (Ptr SDL_HapticCondition) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticCondition Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticCondition = D1 ('MetaData "SDL_HapticCondition" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SDL_HapticCondition" 'PrefixI 'True) (((S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticEffectType) :*: (S1 ('MetaSel ('Just "direction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticDirection) :*: S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint32))) :*: (S1 ('MetaSel ('Just "delay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: (S1 ('MetaSel ('Just "button") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "interval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16)))) :*: ((S1 ('MetaSel ('Just "right_sat") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (ConstantArray 3 Uint16)) :*: (S1 ('MetaSel ('Just "left_sat") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (ConstantArray 3 Uint16)) :*: S1 ('MetaSel ('Just "right_coeff") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (ConstantArray 3 Sint16)))) :*: (S1 ('MetaSel ('Just "left_coeff") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (ConstantArray 3 Sint16)) :*: (S1 ('MetaSel ('Just "deadband") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (ConstantArray 3 Uint16)) :*: S1 ('MetaSel ('Just "center") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (ConstantArray 3 Sint16)))))))
type CFieldType SDL_HapticCondition "button" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCondition "center" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCondition "deadband" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCondition "delay" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCondition "direction" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCondition "interval" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCondition "left_coeff" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCondition "left_sat" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCondition "length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCondition "right_coeff" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCondition "right_sat" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCondition "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

data SDL_HapticRamp Source #

A structure containing a template for a Ramp effect.

This struct is exclusively for the SDL_HAPTIC_RAMP effect.

The ramp effect starts at start strength and ends at end strength. It augments in linear fashion. If you use attack and fade with a ramp the effects get added to the ramp effect making the effect become quadratic instead of linear.

See also
sDL_HAPTIC_RAMP, SDL_HapticEffect
C declaration
struct SDL_HapticRamp, defined at SDL3/SDL_haptic.h 767:16

Since: 3.2.0

Constructors

SDL_HapticRamp 

Fields

  • type' :: SDL_HapticEffectType

    SDL_HAPTIC_RAMP

    C declaration
    type, defined at SDL3/SDL_haptic.h 770:26
  • direction :: SDL_HapticDirection

    Direction of the effect.

    C declaration
    direction, defined at SDL3/SDL_haptic.h 771:25
  • length :: Uint32

    Duration of the effect.

    C declaration
    length, defined at SDL3/SDL_haptic.h 774:12
  • delay :: Uint16

    Delay before starting the effect.

    C declaration
    delay, defined at SDL3/SDL_haptic.h 775:12
  • button :: Uint16

    Button that triggers the effect.

    C declaration
    button, defined at SDL3/SDL_haptic.h 778:12
  • interval :: Uint16

    How soon it can be triggered again after button.

    C declaration
    interval, defined at SDL3/SDL_haptic.h 779:12
  • start :: Sint16

    Beginning strength level.

    C declaration
    start, defined at SDL3/SDL_haptic.h 782:12
  • end :: Sint16

    Ending strength level.

    C declaration
    end, defined at SDL3/SDL_haptic.h 783:12
  • attack_length :: Uint16

    Duration of the attack.

    C declaration
    attack_length, defined at SDL3/SDL_haptic.h 786:12
  • attack_level :: Uint16

    Level at the start of the attack.

    C declaration
    attack_level, defined at SDL3/SDL_haptic.h 787:12
  • fade_length :: Uint16

    Duration of the fade.

    C declaration
    fade_length, defined at SDL3/SDL_haptic.h 788:12
  • fade_level :: Uint16

    Level at the end of the fade.

    C declaration
    fade_level, defined at SDL3/SDL_haptic.h 789:12

Instances

Instances details
Storable SDL_HapticRamp Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Generic SDL_HapticRamp Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type Rep SDL_HapticRamp 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticRamp = D1 ('MetaData "SDL_HapticRamp" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SDL_HapticRamp" 'PrefixI 'True) (((S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticEffectType) :*: (S1 ('MetaSel ('Just "direction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticDirection) :*: S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint32))) :*: (S1 ('MetaSel ('Just "delay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: (S1 ('MetaSel ('Just "button") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "interval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16)))) :*: ((S1 ('MetaSel ('Just "start") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Sint16) :*: (S1 ('MetaSel ('Just "end") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Sint16) :*: S1 ('MetaSel ('Just "attack_length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16))) :*: (S1 ('MetaSel ('Just "attack_level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: (S1 ('MetaSel ('Just "fade_length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "fade_level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16))))))
Show SDL_HapticRamp Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Eq SDL_HapticRamp Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ReadRaw SDL_HapticRamp Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

StaticSize SDL_HapticRamp Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

WriteRaw SDL_HapticRamp Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

IsStruct SDL_HapticRamp Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasCField SDL_HapticRamp "attack_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticRamp "attack_length" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "attack_length" = Uint16

Methods

offset# :: Proxy# SDL_HapticRamp -> Proxy# "attack_length" -> Int #

HasCField SDL_HapticRamp "attack_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticRamp "attack_level" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "attack_level" = Uint16

Methods

offset# :: Proxy# SDL_HapticRamp -> Proxy# "attack_level" -> Int #

HasCField SDL_HapticRamp "button" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticRamp "button" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticRamp -> Proxy# "button" -> Int #

HasCField SDL_HapticRamp "delay" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticRamp "delay" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticRamp -> Proxy# "delay" -> Int #

HasCField SDL_HapticRamp "direction" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticRamp "direction" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticRamp -> Proxy# "direction" -> Int #

HasCField SDL_HapticRamp "end" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticRamp "end" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticRamp -> Proxy# "end" -> Int #

HasCField SDL_HapticRamp "fade_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticRamp "fade_length" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "fade_length" = Uint16

Methods

offset# :: Proxy# SDL_HapticRamp -> Proxy# "fade_length" -> Int #

HasCField SDL_HapticRamp "fade_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticRamp "fade_level" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "fade_level" = Uint16

Methods

offset# :: Proxy# SDL_HapticRamp -> Proxy# "fade_level" -> Int #

HasCField SDL_HapticRamp "interval" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticRamp "interval" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "interval" = Uint16

Methods

offset# :: Proxy# SDL_HapticRamp -> Proxy# "interval" -> Int #

HasCField SDL_HapticRamp "length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticRamp "length" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticRamp -> Proxy# "length" -> Int #

HasCField SDL_HapticRamp "start" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticRamp "start" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticRamp -> Proxy# "start" -> Int #

HasCField SDL_HapticRamp "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticRamp "type'" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticRamp -> Proxy# "type'" -> Int #

ty ~ Uint16 => HasField "attack_length" SDL_HapticRamp ty Source #

Duration of the attack.

C declaration
attack_length, defined at SDL3/SDL_haptic.h 786:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticRamp -> (ty -> SDL_HapticRamp, ty) #

ty ~ Uint16 => HasField "attack_level" SDL_HapticRamp ty Source #

Level at the start of the attack.

C declaration
attack_level, defined at SDL3/SDL_haptic.h 787:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticRamp -> (ty -> SDL_HapticRamp, ty) #

ty ~ Uint16 => HasField "button" SDL_HapticRamp ty Source #

Button that triggers the effect.

C declaration
button, defined at SDL3/SDL_haptic.h 778:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticRamp -> (ty -> SDL_HapticRamp, ty) #

ty ~ Uint16 => HasField "delay" SDL_HapticRamp ty Source #

Delay before starting the effect.

C declaration
delay, defined at SDL3/SDL_haptic.h 775:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticRamp -> (ty -> SDL_HapticRamp, ty) #

ty ~ SDL_HapticDirection => HasField "direction" SDL_HapticRamp ty Source #

Direction of the effect.

C declaration
direction, defined at SDL3/SDL_haptic.h 771:25
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticRamp -> (ty -> SDL_HapticRamp, ty) #

ty ~ Sint16 => HasField "end" SDL_HapticRamp ty Source #

Ending strength level.

C declaration
end, defined at SDL3/SDL_haptic.h 783:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticRamp -> (ty -> SDL_HapticRamp, ty) #

ty ~ Uint16 => HasField "fade_length" SDL_HapticRamp ty Source #

Duration of the fade.

C declaration
fade_length, defined at SDL3/SDL_haptic.h 788:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticRamp -> (ty -> SDL_HapticRamp, ty) #

ty ~ Uint16 => HasField "fade_level" SDL_HapticRamp ty Source #

Level at the end of the fade.

C declaration
fade_level, defined at SDL3/SDL_haptic.h 789:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticRamp -> (ty -> SDL_HapticRamp, ty) #

ty ~ Uint16 => HasField "interval" SDL_HapticRamp ty Source #

How soon it can be triggered again after button.

C declaration
interval, defined at SDL3/SDL_haptic.h 779:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticRamp -> (ty -> SDL_HapticRamp, ty) #

ty ~ Uint32 => HasField "length" SDL_HapticRamp ty Source #

Duration of the effect.

C declaration
length, defined at SDL3/SDL_haptic.h 774:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticRamp -> (ty -> SDL_HapticRamp, ty) #

ty ~ Sint16 => HasField "start" SDL_HapticRamp ty Source #

Beginning strength level.

C declaration
start, defined at SDL3/SDL_haptic.h 782:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticRamp -> (ty -> SDL_HapticRamp, ty) #

ty ~ SDL_HapticEffectType => HasField "type'" SDL_HapticRamp ty Source #

SDL_HAPTIC_RAMP

C declaration
type, defined at SDL3/SDL_haptic.h 770:26
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticRamp -> (ty -> SDL_HapticRamp, ty) #

ty ~ Uint16 => HasField "attack_length" (Ptr SDL_HapticRamp) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: Ptr SDL_HapticRamp -> Ptr ty #

ty ~ Uint16 => HasField "attack_level" (Ptr SDL_HapticRamp) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: Ptr SDL_HapticRamp -> Ptr ty #

ty ~ Uint16 => HasField "button" (Ptr SDL_HapticRamp) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: Ptr SDL_HapticRamp -> Ptr ty #

ty ~ Uint16 => HasField "delay" (Ptr SDL_HapticRamp) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: Ptr SDL_HapticRamp -> Ptr ty #

ty ~ SDL_HapticDirection => HasField "direction" (Ptr SDL_HapticRamp) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: Ptr SDL_HapticRamp -> Ptr ty #

ty ~ Sint16 => HasField "end" (Ptr SDL_HapticRamp) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: Ptr SDL_HapticRamp -> Ptr ty #

ty ~ Uint16 => HasField "fade_length" (Ptr SDL_HapticRamp) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: Ptr SDL_HapticRamp -> Ptr ty #

ty ~ Uint16 => HasField "fade_level" (Ptr SDL_HapticRamp) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: Ptr SDL_HapticRamp -> Ptr ty #

ty ~ Uint16 => HasField "interval" (Ptr SDL_HapticRamp) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: Ptr SDL_HapticRamp -> Ptr ty #

ty ~ Uint32 => HasField "length" (Ptr SDL_HapticRamp) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: Ptr SDL_HapticRamp -> Ptr ty #

ty ~ Sint16 => HasField "start" (Ptr SDL_HapticRamp) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: Ptr SDL_HapticRamp -> Ptr ty #

ty ~ SDL_HapticEffectType => HasField "type'" (Ptr SDL_HapticRamp) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: Ptr SDL_HapticRamp -> Ptr ty #

type Rep SDL_HapticRamp Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticRamp = D1 ('MetaData "SDL_HapticRamp" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SDL_HapticRamp" 'PrefixI 'True) (((S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticEffectType) :*: (S1 ('MetaSel ('Just "direction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticDirection) :*: S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint32))) :*: (S1 ('MetaSel ('Just "delay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: (S1 ('MetaSel ('Just "button") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "interval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16)))) :*: ((S1 ('MetaSel ('Just "start") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Sint16) :*: (S1 ('MetaSel ('Just "end") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Sint16) :*: S1 ('MetaSel ('Just "attack_length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16))) :*: (S1 ('MetaSel ('Just "attack_level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: (S1 ('MetaSel ('Just "fade_length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "fade_level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16))))))
type CFieldType SDL_HapticRamp "attack_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "attack_length" = Uint16
type CFieldType SDL_HapticRamp "attack_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "attack_level" = Uint16
type CFieldType SDL_HapticRamp "button" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "delay" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "direction" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "end" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "fade_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "fade_length" = Uint16
type CFieldType SDL_HapticRamp "fade_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "fade_level" = Uint16
type CFieldType SDL_HapticRamp "interval" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "interval" = Uint16
type CFieldType SDL_HapticRamp "length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "start" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticRamp "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

data SDL_HapticLeftRight Source #

A structure containing a template for a Left/Right effect.

This struct is exclusively for the SDL_HAPTIC_LEFTRIGHT effect.

The Left/Right effect is used to explicitly control the large and small motors, commonly found in modern game controllers. The small (right) motor is high frequency, and the large (left) motor is low frequency.

See also
sDL_HAPTIC_LEFTRIGHT, SDL_HapticEffect
C declaration
struct SDL_HapticLeftRight, defined at SDL3/SDL_haptic.h 806:16

Since: 3.2.0

Constructors

SDL_HapticLeftRight 

Fields

  • type' :: SDL_HapticEffectType

    SDL_HAPTIC_LEFTRIGHT

    C declaration
    type, defined at SDL3/SDL_haptic.h 809:26
  • length :: Uint32

    Duration of the effect in milliseconds.

    C declaration
    length, defined at SDL3/SDL_haptic.h 812:12
  • large_magnitude :: Uint16

    Control of the large controller motor.

    C declaration
    large_magnitude, defined at SDL3/SDL_haptic.h 815:12
  • small_magnitude :: Uint16

    Control of the small controller motor.

    C declaration
    small_magnitude, defined at SDL3/SDL_haptic.h 816:12

Instances

Instances details
Storable SDL_HapticLeftRight Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Generic SDL_HapticLeftRight Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type Rep SDL_HapticLeftRight 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticLeftRight = D1 ('MetaData "SDL_HapticLeftRight" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SDL_HapticLeftRight" 'PrefixI 'True) ((S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticEffectType) :*: S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint32)) :*: (S1 ('MetaSel ('Just "large_magnitude") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "small_magnitude") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16))))
Show SDL_HapticLeftRight Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Eq SDL_HapticLeftRight Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ReadRaw SDL_HapticLeftRight Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

StaticSize SDL_HapticLeftRight Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

WriteRaw SDL_HapticLeftRight Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

IsStruct SDL_HapticLeftRight Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasCField SDL_HapticLeftRight "large_magnitude" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticLeftRight "large_magnitude" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticLeftRight "large_magnitude" = Uint16

Methods

offset# :: Proxy# SDL_HapticLeftRight -> Proxy# "large_magnitude" -> Int #

HasCField SDL_HapticLeftRight "length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticLeftRight "length" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticLeftRight -> Proxy# "length" -> Int #

HasCField SDL_HapticLeftRight "small_magnitude" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticLeftRight "small_magnitude" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticLeftRight "small_magnitude" = Uint16

Methods

offset# :: Proxy# SDL_HapticLeftRight -> Proxy# "small_magnitude" -> Int #

HasCField SDL_HapticLeftRight "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticLeftRight "type'" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticLeftRight -> Proxy# "type'" -> Int #

ty ~ Uint16 => HasField "large_magnitude" SDL_HapticLeftRight ty Source #

Control of the large controller motor.

C declaration
large_magnitude, defined at SDL3/SDL_haptic.h 815:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint32 => HasField "length" SDL_HapticLeftRight ty Source #

Duration of the effect in milliseconds.

C declaration
length, defined at SDL3/SDL_haptic.h 812:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "small_magnitude" SDL_HapticLeftRight ty Source #

Control of the small controller motor.

C declaration
small_magnitude, defined at SDL3/SDL_haptic.h 816:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticEffectType => HasField "type'" SDL_HapticLeftRight ty Source #

SDL_HAPTIC_LEFTRIGHT

C declaration
type, defined at SDL3/SDL_haptic.h 809:26
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "large_magnitude" (Ptr SDL_HapticLeftRight) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint32 => HasField "length" (Ptr SDL_HapticLeftRight) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "small_magnitude" (Ptr SDL_HapticLeftRight) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticEffectType => HasField "type'" (Ptr SDL_HapticLeftRight) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticLeftRight Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticLeftRight = D1 ('MetaData "SDL_HapticLeftRight" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SDL_HapticLeftRight" 'PrefixI 'True) ((S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticEffectType) :*: S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint32)) :*: (S1 ('MetaSel ('Just "large_magnitude") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "small_magnitude") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16))))
type CFieldType SDL_HapticLeftRight "large_magnitude" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticLeftRight "large_magnitude" = Uint16
type CFieldType SDL_HapticLeftRight "length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticLeftRight "small_magnitude" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticLeftRight "small_magnitude" = Uint16
type CFieldType SDL_HapticLeftRight "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

data SDL_HapticCustom Source #

A structure containing a template for the SDL_HAPTIC_CUSTOM effect.

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.

See also
sDL_HAPTIC_CUSTOM, SDL_HapticEffect
C declaration
struct SDL_HapticCustom, defined at SDL3/SDL_haptic.h 836:16

Since: 3.2.0

Constructors

SDL_HapticCustom 

Fields

  • type' :: SDL_HapticEffectType

    SDL_HAPTIC_CUSTOM

    C declaration
    type, defined at SDL3/SDL_haptic.h 839:26
  • direction :: SDL_HapticDirection

    Direction of the effect.

    C declaration
    direction, defined at SDL3/SDL_haptic.h 840:25
  • length :: Uint32

    Duration of the effect.

    C declaration
    length, defined at SDL3/SDL_haptic.h 843:12
  • delay :: Uint16

    Delay before starting the effect.

    C declaration
    delay, defined at SDL3/SDL_haptic.h 844:12
  • button :: Uint16

    Button that triggers the effect.

    C declaration
    button, defined at SDL3/SDL_haptic.h 847:12
  • interval :: Uint16

    How soon it can be triggered again after button.

    C declaration
    interval, defined at SDL3/SDL_haptic.h 848:12
  • channels :: Uint8

    Axes to use, minimum of one.

    C declaration
    channels, defined at SDL3/SDL_haptic.h 851:11
  • period :: Uint16

    Sample periods.

    C declaration
    period, defined at SDL3/SDL_haptic.h 852:12
  • samples :: Uint16

    Amount of samples.

    C declaration
    samples, defined at SDL3/SDL_haptic.h 853:12
  • data' :: Ptr Uint16

    Should contain channels*samples items.

    C declaration
    data, defined at SDL3/SDL_haptic.h 854:13
  • attack_length :: Uint16

    Duration of the attack.

    C declaration
    attack_length, defined at SDL3/SDL_haptic.h 857:12
  • attack_level :: Uint16

    Level at the start of the attack.

    C declaration
    attack_level, defined at SDL3/SDL_haptic.h 858:12
  • fade_length :: Uint16

    Duration of the fade.

    C declaration
    fade_length, defined at SDL3/SDL_haptic.h 859:12
  • fade_level :: Uint16

    Level at the end of the fade.

    C declaration
    fade_level, defined at SDL3/SDL_haptic.h 860:12

Instances

Instances details
Storable SDL_HapticCustom Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Generic SDL_HapticCustom Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type Rep SDL_HapticCustom 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticCustom = D1 ('MetaData "SDL_HapticCustom" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SDL_HapticCustom" 'PrefixI 'True) (((S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticEffectType) :*: (S1 ('MetaSel ('Just "direction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticDirection) :*: S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint32))) :*: ((S1 ('MetaSel ('Just "delay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "button") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16)) :*: (S1 ('MetaSel ('Just "interval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "channels") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint8)))) :*: ((S1 ('MetaSel ('Just "period") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: (S1 ('MetaSel ('Just "samples") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "data'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Ptr Uint16)))) :*: ((S1 ('MetaSel ('Just "attack_length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "attack_level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16)) :*: (S1 ('MetaSel ('Just "fade_length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "fade_level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16))))))
Show SDL_HapticCustom Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Eq SDL_HapticCustom Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ReadRaw SDL_HapticCustom Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

StaticSize SDL_HapticCustom Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

WriteRaw SDL_HapticCustom Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

IsStruct SDL_HapticCustom Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasCField SDL_HapticCustom "attack_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCustom "attack_length" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "attack_length" = Uint16

Methods

offset# :: Proxy# SDL_HapticCustom -> Proxy# "attack_length" -> Int #

HasCField SDL_HapticCustom "attack_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCustom "attack_level" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "attack_level" = Uint16

Methods

offset# :: Proxy# SDL_HapticCustom -> Proxy# "attack_level" -> Int #

HasCField SDL_HapticCustom "button" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCustom "button" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCustom -> Proxy# "button" -> Int #

HasCField SDL_HapticCustom "channels" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCustom "channels" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCustom -> Proxy# "channels" -> Int #

HasCField SDL_HapticCustom "data'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCustom "data'" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCustom -> Proxy# "data'" -> Int #

HasCField SDL_HapticCustom "delay" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCustom "delay" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCustom -> Proxy# "delay" -> Int #

HasCField SDL_HapticCustom "direction" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCustom "direction" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCustom -> Proxy# "direction" -> Int #

HasCField SDL_HapticCustom "fade_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCustom "fade_length" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "fade_length" = Uint16

Methods

offset# :: Proxy# SDL_HapticCustom -> Proxy# "fade_length" -> Int #

HasCField SDL_HapticCustom "fade_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCustom "fade_level" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "fade_level" = Uint16

Methods

offset# :: Proxy# SDL_HapticCustom -> Proxy# "fade_level" -> Int #

HasCField SDL_HapticCustom "interval" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCustom "interval" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCustom -> Proxy# "interval" -> Int #

HasCField SDL_HapticCustom "length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCustom "length" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCustom -> Proxy# "length" -> Int #

HasCField SDL_HapticCustom "period" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCustom "period" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCustom -> Proxy# "period" -> Int #

HasCField SDL_HapticCustom "samples" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCustom "samples" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCustom -> Proxy# "samples" -> Int #

HasCField SDL_HapticCustom "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticCustom "type'" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticCustom -> Proxy# "type'" -> Int #

ty ~ Uint16 => HasField "attack_length" SDL_HapticCustom ty Source #

Duration of the attack.

C declaration
attack_length, defined at SDL3/SDL_haptic.h 857:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticCustom -> (ty -> SDL_HapticCustom, ty) #

ty ~ Uint16 => HasField "attack_level" SDL_HapticCustom ty Source #

Level at the start of the attack.

C declaration
attack_level, defined at SDL3/SDL_haptic.h 858:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticCustom -> (ty -> SDL_HapticCustom, ty) #

ty ~ Uint16 => HasField "button" SDL_HapticCustom ty Source #

Button that triggers the effect.

C declaration
button, defined at SDL3/SDL_haptic.h 847:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticCustom -> (ty -> SDL_HapticCustom, ty) #

ty ~ Uint8 => HasField "channels" SDL_HapticCustom ty Source #

Axes to use, minimum of one.

C declaration
channels, defined at SDL3/SDL_haptic.h 851:11
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticCustom -> (ty -> SDL_HapticCustom, ty) #

ty ~ Ptr Uint16 => HasField "data'" SDL_HapticCustom ty Source #

Should contain channels*samples items.

C declaration
data, defined at SDL3/SDL_haptic.h 854:13
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticCustom -> (ty -> SDL_HapticCustom, ty) #

ty ~ Uint16 => HasField "delay" SDL_HapticCustom ty Source #

Delay before starting the effect.

C declaration
delay, defined at SDL3/SDL_haptic.h 844:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticCustom -> (ty -> SDL_HapticCustom, ty) #

ty ~ SDL_HapticDirection => HasField "direction" SDL_HapticCustom ty Source #

Direction of the effect.

C declaration
direction, defined at SDL3/SDL_haptic.h 840:25
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticCustom -> (ty -> SDL_HapticCustom, ty) #

ty ~ Uint16 => HasField "fade_length" SDL_HapticCustom ty Source #

Duration of the fade.

C declaration
fade_length, defined at SDL3/SDL_haptic.h 859:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticCustom -> (ty -> SDL_HapticCustom, ty) #

ty ~ Uint16 => HasField "fade_level" SDL_HapticCustom ty Source #

Level at the end of the fade.

C declaration
fade_level, defined at SDL3/SDL_haptic.h 860:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticCustom -> (ty -> SDL_HapticCustom, ty) #

ty ~ Uint16 => HasField "interval" SDL_HapticCustom ty Source #

How soon it can be triggered again after button.

C declaration
interval, defined at SDL3/SDL_haptic.h 848:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticCustom -> (ty -> SDL_HapticCustom, ty) #

ty ~ Uint32 => HasField "length" SDL_HapticCustom ty Source #

Duration of the effect.

C declaration
length, defined at SDL3/SDL_haptic.h 843:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticCustom -> (ty -> SDL_HapticCustom, ty) #

ty ~ Uint16 => HasField "period" SDL_HapticCustom ty Source #

Sample periods.

C declaration
period, defined at SDL3/SDL_haptic.h 852:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticCustom -> (ty -> SDL_HapticCustom, ty) #

ty ~ Uint16 => HasField "samples" SDL_HapticCustom ty Source #

Amount of samples.

C declaration
samples, defined at SDL3/SDL_haptic.h 853:12
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticCustom -> (ty -> SDL_HapticCustom, ty) #

ty ~ SDL_HapticEffectType => HasField "type'" SDL_HapticCustom ty Source #

SDL_HAPTIC_CUSTOM

C declaration
type, defined at SDL3/SDL_haptic.h 839:26
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticCustom -> (ty -> SDL_HapticCustom, ty) #

ty ~ Uint16 => HasField "attack_length" (Ptr SDL_HapticCustom) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "attack_level" (Ptr SDL_HapticCustom) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "button" (Ptr SDL_HapticCustom) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint8 => HasField "channels" (Ptr SDL_HapticCustom) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Ptr Uint16 => HasField "data'" (Ptr SDL_HapticCustom) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "delay" (Ptr SDL_HapticCustom) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticDirection => HasField "direction" (Ptr SDL_HapticCustom) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "fade_length" (Ptr SDL_HapticCustom) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "fade_level" (Ptr SDL_HapticCustom) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "interval" (Ptr SDL_HapticCustom) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint32 => HasField "length" (Ptr SDL_HapticCustom) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "period" (Ptr SDL_HapticCustom) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ Uint16 => HasField "samples" (Ptr SDL_HapticCustom) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticEffectType => HasField "type'" (Ptr SDL_HapticCustom) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticCustom Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticCustom = D1 ('MetaData "SDL_HapticCustom" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SDL_HapticCustom" 'PrefixI 'True) (((S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticEffectType) :*: (S1 ('MetaSel ('Just "direction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_HapticDirection) :*: S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint32))) :*: ((S1 ('MetaSel ('Just "delay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "button") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16)) :*: (S1 ('MetaSel ('Just "interval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "channels") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint8)))) :*: ((S1 ('MetaSel ('Just "period") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: (S1 ('MetaSel ('Just "samples") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "data'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Ptr Uint16)))) :*: ((S1 ('MetaSel ('Just "attack_length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "attack_level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16)) :*: (S1 ('MetaSel ('Just "fade_length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16) :*: S1 ('MetaSel ('Just "fade_level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Uint16))))))
type CFieldType SDL_HapticCustom "attack_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "attack_length" = Uint16
type CFieldType SDL_HapticCustom "attack_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "attack_level" = Uint16
type CFieldType SDL_HapticCustom "button" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "channels" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "data'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "delay" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "direction" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "fade_length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "fade_length" = Uint16
type CFieldType SDL_HapticCustom "fade_level" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "fade_level" = Uint16
type CFieldType SDL_HapticCustom "interval" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "length" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "period" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "samples" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticCustom "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

newtype SDL_HapticEffect Source #

The generic template for any haptic effect.

All values max at 32767 (0x7FFF). Signed values also can be negative. Time values unless specified otherwise are in milliseconds.

You can also pass SDL_HAPTIC_INFINITY to length instead of a 0-32767 value. Neither delay, interval, attack_length nor fade_length support SDL_HAPTIC_INFINITY. Fade will also not be used since effect never ends.

Additionally, the SDL_HAPTIC_RAMP effect does not support a duration of SDL_HAPTIC_INFINITY.

Button triggers may not be supported on all devices, it is advised to not use them if possible. Buttons start at index 1 instead of index 0 like the joystick.

If both attack_length and fade_level are 0, the envelope is not used, otherwise both values are used.

Common parts:

    // Replay - All effects have this
    Uint32 length;        // Duration of effect (ms).
    Uint16 delay;         // Delay before starting effect.

    // Trigger - All effects have this
    Uint16 button;        // Button that triggers effect.
    Uint16 interval;      // How soon before effect can be triggered again.

    // Envelope - All effects except condition effects have this
    Uint16 attack_length; // Duration of the attack (ms).
    Uint16 attack_level;  // Level at the start of the attack.
    Uint16 fade_length;   // Duration of the fade out (ms).
    Uint16 fade_level;    // Level at the end of the fade.
    

Here we have an example of a constant effect evolution in time:

    Strength
    ^
    |
    |    effect level -->  _________________
    |                     /                 \
    |                    /                   \
    |                   /                     \
    |                  /                       \
    | attack_level --> |                        \
    |                  |                        |  <---  fade_level
    |
    +--------------------------------------------------> Time
                       [--]                 [---]
                       attack_length        fade_length

    [------------------][-----------------------]
    delay               length
    

Note either the attack_level or the fade_level may be above the actual effect level.

See also
SDL_HapticConstant, SDL_HapticPeriodic, SDL_HapticCondition, SDL_HapticRamp, SDL_HapticLeftRight, SDL_HapticCustom
C declaration
union SDL_HapticEffect, defined at SDL3/SDL_haptic.h 935:15

Since: 3.2.0

Constructors

SDL_HapticEffect 

Fields

Instances

Instances details
Storable SDL_HapticEffect Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Generic SDL_HapticEffect Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type Rep SDL_HapticEffect 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticEffect = D1 ('MetaData "SDL_HapticEffect" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'True) (C1 ('MetaCons "SDL_HapticEffect" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteArray)))
ReadRaw SDL_HapticEffect Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

StaticSize SDL_HapticEffect Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

WriteRaw SDL_HapticEffect Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

IsUnion SDL_HapticEffect Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasCField SDL_HapticEffect "condition" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticEffect "condition" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticEffect -> Proxy# "condition" -> Int #

HasCField SDL_HapticEffect "constant" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticEffect "constant" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticEffect -> Proxy# "constant" -> Int #

HasCField SDL_HapticEffect "custom" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticEffect "custom" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticEffect -> Proxy# "custom" -> Int #

HasCField SDL_HapticEffect "leftright" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticEffect "leftright" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticEffect -> Proxy# "leftright" -> Int #

HasCField SDL_HapticEffect "periodic" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticEffect "periodic" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticEffect -> Proxy# "periodic" -> Int #

HasCField SDL_HapticEffect "ramp" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticEffect "ramp" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticEffect -> Proxy# "ramp" -> Int #

HasCField SDL_HapticEffect "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticEffect "type'" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticEffect -> Proxy# "type'" -> Int #

ty ~ SDL_HapticCondition => HasField "condition" SDL_HapticEffect ty Source #

Condition effect.

C declaration
condition, defined at SDL3/SDL_haptic.h 941:25
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticEffect -> (ty -> SDL_HapticEffect, ty) #

ty ~ SDL_HapticConstant => HasField "constant" SDL_HapticEffect ty Source #

Constant effect.

C declaration
constant, defined at SDL3/SDL_haptic.h 939:24
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticEffect -> (ty -> SDL_HapticEffect, ty) #

ty ~ SDL_HapticCustom => HasField "custom" SDL_HapticEffect ty Source #

Custom effect.

C declaration
custom, defined at SDL3/SDL_haptic.h 944:22
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticEffect -> (ty -> SDL_HapticEffect, ty) #

ty ~ SDL_HapticLeftRight => HasField "leftright" SDL_HapticEffect ty Source #

Left/Right effect.

C declaration
leftright, defined at SDL3/SDL_haptic.h 943:25
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticEffect -> (ty -> SDL_HapticEffect, ty) #

ty ~ SDL_HapticPeriodic => HasField "periodic" SDL_HapticEffect ty Source #

Periodic effect.

C declaration
periodic, defined at SDL3/SDL_haptic.h 940:24
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticEffect -> (ty -> SDL_HapticEffect, ty) #

ty ~ SDL_HapticRamp => HasField "ramp" SDL_HapticEffect ty Source #

Ramp effect.

C declaration
ramp, defined at SDL3/SDL_haptic.h 942:20
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticEffect -> (ty -> SDL_HapticEffect, ty) #

ty ~ SDL_HapticEffectType => HasField "type'" SDL_HapticEffect ty Source #

Effect type.

C declaration
type, defined at SDL3/SDL_haptic.h 938:26
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticEffect -> (ty -> SDL_HapticEffect, ty) #

ty ~ SDL_HapticCondition => HasField "condition" SDL_HapticEffect (ty :: Type) Source #

Condition effect.

C declaration
condition, defined at SDL3/SDL_haptic.h 941:25
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: SDL_HapticEffect -> ty #

ty ~ SDL_HapticConstant => HasField "constant" SDL_HapticEffect (ty :: Type) Source #

Constant effect.

C declaration
constant, defined at SDL3/SDL_haptic.h 939:24
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: SDL_HapticEffect -> ty #

ty ~ SDL_HapticCustom => HasField "custom" SDL_HapticEffect (ty :: Type) Source #

Custom effect.

C declaration
custom, defined at SDL3/SDL_haptic.h 944:22
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: SDL_HapticEffect -> ty #

ty ~ SDL_HapticLeftRight => HasField "leftright" SDL_HapticEffect (ty :: Type) Source #

Left/Right effect.

C declaration
leftright, defined at SDL3/SDL_haptic.h 943:25
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: SDL_HapticEffect -> ty #

ty ~ SDL_HapticPeriodic => HasField "periodic" SDL_HapticEffect (ty :: Type) Source #

Periodic effect.

C declaration
periodic, defined at SDL3/SDL_haptic.h 940:24
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: SDL_HapticEffect -> ty #

ty ~ SDL_HapticRamp => HasField "ramp" SDL_HapticEffect (ty :: Type) Source #

Ramp effect.

C declaration
ramp, defined at SDL3/SDL_haptic.h 942:20
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: SDL_HapticEffect -> ty #

ty ~ SDL_HapticEffectType => HasField "type'" SDL_HapticEffect (ty :: Type) Source #

Effect type.

C declaration
type, defined at SDL3/SDL_haptic.h 938:26
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: SDL_HapticEffect -> ty #

ty ~ SDL_HapticCondition => HasField "condition" (Ptr SDL_HapticEffect) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticConstant => HasField "constant" (Ptr SDL_HapticEffect) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticCustom => HasField "custom" (Ptr SDL_HapticEffect) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticLeftRight => HasField "leftright" (Ptr SDL_HapticEffect) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticPeriodic => HasField "periodic" (Ptr SDL_HapticEffect) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticRamp => HasField "ramp" (Ptr SDL_HapticEffect) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ty ~ SDL_HapticEffectType => HasField "type'" (Ptr SDL_HapticEffect) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticEffect Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticEffect = D1 ('MetaData "SDL_HapticEffect" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'True) (C1 ('MetaCons "SDL_HapticEffect" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteArray)))
type CFieldType SDL_HapticEffect "condition" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticEffect "constant" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticEffect "custom" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticEffect "leftright" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticEffect "periodic" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticEffect "ramp" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticEffect "type'" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

newtype SDL_HapticID Source #

This is a unique ID for a haptic device for the time it is connected to the system, and is never reused for the lifetime of the application.

If the haptic device is disconnected and reconnected, it will get a new ID.

The value 0 is an invalid ID.

C declaration
SDL_HapticID, defined at SDL3/SDL_haptic.h 957:16

Since: 3.2.0

Constructors

SDL_HapticID 

Fields

Instances

Instances details
Bits SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

FiniteBits SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Bounded SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Enum SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Storable SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Generic SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type Rep SDL_HapticID 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticID = D1 ('MetaData "SDL_HapticID" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'True) (C1 ('MetaCons "SDL_HapticID" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Uint32)))
Ix SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Num SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Read SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Integral SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Real SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Show SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Eq SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Ord SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Prim SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasFFIType SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type FFIType SDL_HapticID 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

ReadRaw SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

StaticSize SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

WriteRaw SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Bitfield SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

HasCField SDL_HapticID "unwrap" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Associated Types

type CFieldType SDL_HapticID "unwrap" 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

offset# :: Proxy# SDL_HapticID -> Proxy# "unwrap" -> Int #

ty ~ Uint32 => HasField "unwrap" SDL_HapticID ty Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

hasField :: SDL_HapticID -> (ty -> SDL_HapticID, ty) #

ty ~ Uint32 => HasField "unwrap" (Ptr SDL_HapticID) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

Methods

getField :: Ptr SDL_HapticID -> Ptr ty #

type Rep SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type Rep SDL_HapticID = D1 ('MetaData "SDL_HapticID" "SDL3.Sys.Bindgen.Haptic" "sdl3-bindgen-sys-0.0.1.0-inplace" 'True) (C1 ('MetaCons "SDL_HapticID" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Uint32)))
type FFIType SDL_HapticID Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic

type CFieldType SDL_HapticID "unwrap" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Haptic