{ "header": "SDL_haptic.h", "opaque_types": [ { "name": "SDL_Haptic" } ], "typedefs": [ { "name": "SDL_HapticID", "underlying_type": "Uint32" } ], "function_pointers": [], "c_type_aliases": [], "enums": [], "structs": [ { "name": "SDL_HapticDirection", "fields": [ { "name": "_type", "type": "Uint8", "comment": "The type of encoding." }, { "name": "dir", "type": "Sint32[3]", "comment": "The encoded direction." } ] }, { "name": "SDL_HapticConstant", "fields": [ { "name": "_type", "type": "Uint16", "comment": "SDL_HAPTIC_CONSTANT" }, { "name": "direction", "type": "SDL_HapticDirection", "comment": "Direction of the effect." }, { "name": "length", "type": "Uint32", "comment": "Duration of the effect." }, { "name": "delay", "type": "Uint16", "comment": "Delay before starting the effect." }, { "name": "button", "type": "Uint16", "comment": "Button that triggers the effect." }, { "name": "interval", "type": "Uint16", "comment": "How soon it can be triggered again after button." }, { "name": "level", "type": "Sint16", "comment": "Strength of the constant effect." }, { "name": "attack_length", "type": "Uint16", "comment": "Duration of the attack." }, { "name": "attack_level", "type": "Uint16", "comment": "Level at the start of the attack." }, { "name": "fade_length", "type": "Uint16", "comment": "Duration of the fade." }, { "name": "fade_level", "type": "Uint16", "comment": "Level at the end of the fade." } ] }, { "name": "SDL_HapticPeriodic", "fields": [ { "name": "direction", "type": "SDL_HapticDirection", "comment": "Direction of the effect." }, { "name": "length", "type": "Uint32", "comment": "Duration of the effect." }, { "name": "delay", "type": "Uint16", "comment": "Delay before starting the effect." }, { "name": "button", "type": "Uint16", "comment": "Button that triggers the effect." }, { "name": "interval", "type": "Uint16", "comment": "How soon it can be triggered again after button." }, { "name": "period", "type": "Uint16", "comment": "Period of the wave." }, { "name": "magnitude", "type": "Sint16", "comment": "Peak value; if negative, equivalent to 180 degrees extra phase shift." }, { "name": "offset", "type": "Sint16", "comment": "Mean value of the wave." }, { "name": "phase", "type": "Uint16", "comment": "Positive phase shift given by hundredth of a degree." }, { "name": "attack_length", "type": "Uint16", "comment": "Duration of the attack." }, { "name": "attack_level", "type": "Uint16", "comment": "Level at the start of the attack." }, { "name": "fade_length", "type": "Uint16", "comment": "Duration of the fade." }, { "name": "fade_level", "type": "Uint16", "comment": "Level at the end of the fade." } ] }, { "name": "SDL_HapticCondition", "fields": [ { "name": "direction", "type": "SDL_HapticDirection", "comment": "Direction of the effect - Not used ATM." }, { "name": "length", "type": "Uint32", "comment": "Duration of the effect." }, { "name": "delay", "type": "Uint16", "comment": "Delay before starting the effect." }, { "name": "button", "type": "Uint16", "comment": "Button that triggers the effect." }, { "name": "interval", "type": "Uint16", "comment": "How soon it can be triggered again after button." }, { "name": "right_sat", "type": "Uint16[3]", "comment": "Level when joystick is to the positive side; max 0xFFFF." }, { "name": "left_sat", "type": "Uint16[3]", "comment": "Level when joystick is to the negative side; max 0xFFFF." }, { "name": "right_coeff", "type": "Sint16[3]", "comment": "How fast to increase the force towards the positive side." }, { "name": "left_coeff", "type": "Sint16[3]", "comment": "How fast to increase the force towards the negative side." }, { "name": "deadband", "type": "Uint16[3]", "comment": "Size of the dead zone; max 0xFFFF: whole axis-range when 0-centered." }, { "name": "center", "type": "Sint16[3]", "comment": "Position of the dead zone." } ] }, { "name": "SDL_HapticRamp", "fields": [ { "name": "_type", "type": "Uint16", "comment": "SDL_HAPTIC_RAMP" }, { "name": "direction", "type": "SDL_HapticDirection", "comment": "Direction of the effect." }, { "name": "length", "type": "Uint32", "comment": "Duration of the effect." }, { "name": "delay", "type": "Uint16", "comment": "Delay before starting the effect." }, { "name": "button", "type": "Uint16", "comment": "Button that triggers the effect." }, { "name": "interval", "type": "Uint16", "comment": "How soon it can be triggered again after button." }, { "name": "start", "type": "Sint16", "comment": "Beginning strength level." }, { "name": "end", "type": "Sint16", "comment": "Ending strength level." }, { "name": "attack_length", "type": "Uint16", "comment": "Duration of the attack." }, { "name": "attack_level", "type": "Uint16", "comment": "Level at the start of the attack." }, { "name": "fade_length", "type": "Uint16", "comment": "Duration of the fade." }, { "name": "fade_level", "type": "Uint16", "comment": "Level at the end of the fade." } ] }, { "name": "SDL_HapticLeftRight", "fields": [ { "name": "_type", "type": "Uint16", "comment": "SDL_HAPTIC_LEFTRIGHT" }, { "name": "length", "type": "Uint32", "comment": "Duration of the effect in milliseconds." }, { "name": "large_magnitude", "type": "Uint16", "comment": "Control of the large controller motor." }, { "name": "small_magnitude", "type": "Uint16", "comment": "Control of the small controller motor." } ] }, { "name": "SDL_HapticCustom", "fields": [ { "name": "_type", "type": "Uint16", "comment": "SDL_HAPTIC_CUSTOM" }, { "name": "direction", "type": "SDL_HapticDirection", "comment": "Direction of the effect." }, { "name": "length", "type": "Uint32", "comment": "Duration of the effect." }, { "name": "delay", "type": "Uint16", "comment": "Delay before starting the effect." }, { "name": "button", "type": "Uint16", "comment": "Button that triggers the effect." }, { "name": "interval", "type": "Uint16", "comment": "How soon it can be triggered again after button." }, { "name": "channels", "type": "Uint8", "comment": "Axes to use, minimum of one." }, { "name": "period", "type": "Uint16", "comment": "Sample periods." }, { "name": "samples", "type": "Uint16", "comment": "Amount of samples." }, { "name": "data", "type": "Uint16 *", "comment": "Should contain channels*samples items." }, { "name": "attack_length", "type": "Uint16", "comment": "Duration of the attack." }, { "name": "attack_level", "type": "Uint16", "comment": "Level at the start of the attack." }, { "name": "fade_length", "type": "Uint16", "comment": "Duration of the fade." }, { "name": "fade_level", "type": "Uint16", "comment": "Level at the end of the fade." } ] } ], "unions": [ { "name": "SDL_HapticEffect", "fields": [ { "name": "_type", "type": "Uint16", "comment": "Effect type." }, { "name": "constant", "type": "SDL_HapticConstant", "comment": "Constant effect." }, { "name": "periodic", "type": "SDL_HapticPeriodic", "comment": "Periodic effect." }, { "name": "condition", "type": "SDL_HapticCondition", "comment": "Condition effect." }, { "name": "ramp", "type": "SDL_HapticRamp", "comment": "Ramp effect." }, { "name": "leftright", "type": "SDL_HapticLeftRight", "comment": "Left/Right effect." }, { "name": "custom", "type": "SDL_HapticCustom", "comment": "Custom effect." } ] } ], "flags": [], "functions": [ { "name": "SDL_GetHaptics", "return_type": "SDL_HapticID *", "parameters": [ { "name": "count", "type": "int *" } ] }, { "name": "SDL_GetHapticNameForID", "return_type": "const char *", "parameters": [ { "name": "instance_id", "type": "SDL_HapticID" } ] }, { "name": "SDL_OpenHaptic", "return_type": "SDL_Haptic *", "parameters": [ { "name": "instance_id", "type": "SDL_HapticID" } ] }, { "name": "SDL_GetHapticFromID", "return_type": "SDL_Haptic *", "parameters": [ { "name": "instance_id", "type": "SDL_HapticID" } ] }, { "name": "SDL_GetHapticID", "return_type": "SDL_HapticID", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" } ] }, { "name": "SDL_GetHapticName", "return_type": "const char *", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" } ] }, { "name": "SDL_IsMouseHaptic", "return_type": "bool", "parameters": [] }, { "name": "SDL_OpenHapticFromMouse", "return_type": "SDL_Haptic *", "parameters": [] }, { "name": "SDL_IsJoystickHaptic", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_OpenHapticFromJoystick", "return_type": "SDL_Haptic *", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_CloseHaptic", "return_type": "void", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" } ] }, { "name": "SDL_GetMaxHapticEffects", "return_type": "int", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" } ] }, { "name": "SDL_GetMaxHapticEffectsPlaying", "return_type": "int", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" } ] }, { "name": "SDL_GetHapticFeatures", "return_type": "Uint32", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" } ] }, { "name": "SDL_GetNumHapticAxes", "return_type": "int", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" } ] }, { "name": "SDL_HapticEffectSupported", "return_type": "bool", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" }, { "name": "effect", "type": "const SDL_HapticEffect *" } ] }, { "name": "SDL_CreateHapticEffect", "return_type": "int", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" }, { "name": "effect", "type": "const SDL_HapticEffect *" } ] }, { "name": "SDL_UpdateHapticEffect", "return_type": "bool", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" }, { "name": "effect", "type": "int" }, { "name": "data", "type": "const SDL_HapticEffect *" } ] }, { "name": "SDL_RunHapticEffect", "return_type": "bool", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" }, { "name": "effect", "type": "int" }, { "name": "iterations", "type": "Uint32" } ] }, { "name": "SDL_StopHapticEffect", "return_type": "bool", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" }, { "name": "effect", "type": "int" } ] }, { "name": "SDL_DestroyHapticEffect", "return_type": "void", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" }, { "name": "effect", "type": "int" } ] }, { "name": "SDL_GetHapticEffectStatus", "return_type": "bool", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" }, { "name": "effect", "type": "int" } ] }, { "name": "SDL_SetHapticGain", "return_type": "bool", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" }, { "name": "gain", "type": "int" } ] }, { "name": "SDL_SetHapticAutocenter", "return_type": "bool", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" }, { "name": "autocenter", "type": "int" } ] }, { "name": "SDL_PauseHaptic", "return_type": "bool", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" } ] }, { "name": "SDL_ResumeHaptic", "return_type": "bool", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" } ] }, { "name": "SDL_StopHapticEffects", "return_type": "bool", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" } ] }, { "name": "SDL_HapticRumbleSupported", "return_type": "bool", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" } ] }, { "name": "SDL_InitHapticRumble", "return_type": "bool", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" } ] }, { "name": "SDL_PlayHapticRumble", "return_type": "bool", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" }, { "name": "strength", "type": "float" }, { "name": "length", "type": "Uint32" } ] }, { "name": "SDL_StopHapticRumble", "return_type": "bool", "parameters": [ { "name": "haptic", "type": "SDL_Haptic *" } ] } ] }