mirror of https://github.com/ppy/SDL3-CS.git
Add new SDL_haptic typedefs and enums
While SDL_HapticEffectType has flag-like values, it's publicly not a [Flags] enum as the possible values are exclusive. See for example https://wiki.libsdl.org/SDL3/SDL_HapticPeriodic.
This commit is contained in:
parent
29c7e9c126
commit
53bedf11e3
|
|
@ -34,8 +34,7 @@ namespace SDL
|
|||
|
||||
public partial struct SDL_HapticDirection
|
||||
{
|
||||
[NativeTypeName("SDL_HapticDirectionType")]
|
||||
public byte type;
|
||||
public SDL_HapticDirectionType type;
|
||||
|
||||
[NativeTypeName("Sint32[3]")]
|
||||
public _dir_e__FixedBuffer dir;
|
||||
|
|
@ -49,8 +48,7 @@ namespace SDL
|
|||
|
||||
public partial struct SDL_HapticConstant
|
||||
{
|
||||
[NativeTypeName("SDL_HapticEffectType")]
|
||||
public ushort type;
|
||||
public SDL_HapticEffectType type;
|
||||
|
||||
public SDL_HapticDirection direction;
|
||||
|
||||
|
|
@ -84,8 +82,7 @@ namespace SDL
|
|||
|
||||
public partial struct SDL_HapticPeriodic
|
||||
{
|
||||
[NativeTypeName("SDL_HapticEffectType")]
|
||||
public ushort type;
|
||||
public SDL_HapticEffectType type;
|
||||
|
||||
public SDL_HapticDirection direction;
|
||||
|
||||
|
|
@ -128,8 +125,7 @@ namespace SDL
|
|||
|
||||
public partial struct SDL_HapticCondition
|
||||
{
|
||||
[NativeTypeName("SDL_HapticEffectType")]
|
||||
public ushort type;
|
||||
public SDL_HapticEffectType type;
|
||||
|
||||
public SDL_HapticDirection direction;
|
||||
|
||||
|
|
@ -202,8 +198,7 @@ namespace SDL
|
|||
|
||||
public partial struct SDL_HapticRamp
|
||||
{
|
||||
[NativeTypeName("SDL_HapticEffectType")]
|
||||
public ushort type;
|
||||
public SDL_HapticEffectType type;
|
||||
|
||||
public SDL_HapticDirection direction;
|
||||
|
||||
|
|
@ -240,8 +235,7 @@ namespace SDL
|
|||
|
||||
public partial struct SDL_HapticLeftRight
|
||||
{
|
||||
[NativeTypeName("SDL_HapticEffectType")]
|
||||
public ushort type;
|
||||
public SDL_HapticEffectType type;
|
||||
|
||||
[NativeTypeName("Uint32")]
|
||||
public uint length;
|
||||
|
|
@ -255,8 +249,7 @@ namespace SDL
|
|||
|
||||
public unsafe partial struct SDL_HapticCustom
|
||||
{
|
||||
[NativeTypeName("SDL_HapticEffectType")]
|
||||
public ushort type;
|
||||
public SDL_HapticEffectType type;
|
||||
|
||||
public SDL_HapticDirection direction;
|
||||
|
||||
|
|
@ -301,8 +294,7 @@ namespace SDL
|
|||
public partial struct SDL_HapticEffect
|
||||
{
|
||||
[FieldOffset(0)]
|
||||
[NativeTypeName("SDL_HapticEffectType")]
|
||||
public ushort type;
|
||||
public SDL_HapticEffectType type;
|
||||
|
||||
[FieldOffset(0)]
|
||||
public SDL_HapticConstant constant;
|
||||
|
|
@ -380,27 +372,26 @@ namespace SDL
|
|||
public static extern SDLBool SDL_HapticEffectSupported(SDL_Haptic* haptic, [NativeTypeName("const SDL_HapticEffect *")] SDL_HapticEffect* effect);
|
||||
|
||||
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
[return: NativeTypeName("SDL_HapticEffectID")]
|
||||
public static extern int SDL_CreateHapticEffect(SDL_Haptic* haptic, [NativeTypeName("const SDL_HapticEffect *")] SDL_HapticEffect* effect);
|
||||
public static extern SDL_HapticEffectID SDL_CreateHapticEffect(SDL_Haptic* haptic, [NativeTypeName("const SDL_HapticEffect *")] SDL_HapticEffect* effect);
|
||||
|
||||
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
[return: NativeTypeName("bool")]
|
||||
public static extern SDLBool SDL_UpdateHapticEffect(SDL_Haptic* haptic, [NativeTypeName("SDL_HapticEffectID")] int effect, [NativeTypeName("const SDL_HapticEffect *")] SDL_HapticEffect* data);
|
||||
public static extern SDLBool SDL_UpdateHapticEffect(SDL_Haptic* haptic, SDL_HapticEffectID effect, [NativeTypeName("const SDL_HapticEffect *")] SDL_HapticEffect* data);
|
||||
|
||||
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
[return: NativeTypeName("bool")]
|
||||
public static extern SDLBool SDL_RunHapticEffect(SDL_Haptic* haptic, [NativeTypeName("SDL_HapticEffectID")] int effect, [NativeTypeName("Uint32")] uint iterations);
|
||||
public static extern SDLBool SDL_RunHapticEffect(SDL_Haptic* haptic, SDL_HapticEffectID effect, [NativeTypeName("Uint32")] uint iterations);
|
||||
|
||||
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
[return: NativeTypeName("bool")]
|
||||
public static extern SDLBool SDL_StopHapticEffect(SDL_Haptic* haptic, [NativeTypeName("SDL_HapticEffectID")] int effect);
|
||||
public static extern SDLBool SDL_StopHapticEffect(SDL_Haptic* haptic, SDL_HapticEffectID effect);
|
||||
|
||||
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
public static extern void SDL_DestroyHapticEffect(SDL_Haptic* haptic, [NativeTypeName("SDL_HapticEffectID")] int effect);
|
||||
public static extern void SDL_DestroyHapticEffect(SDL_Haptic* haptic, SDL_HapticEffectID effect);
|
||||
|
||||
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
[return: NativeTypeName("bool")]
|
||||
public static extern SDLBool SDL_GetHapticEffectStatus(SDL_Haptic* haptic, [NativeTypeName("SDL_HapticEffectID")] int effect);
|
||||
public static extern SDLBool SDL_GetHapticEffectStatus(SDL_Haptic* haptic, SDL_HapticEffectID effect);
|
||||
|
||||
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
[return: NativeTypeName("bool")]
|
||||
|
|
|
|||
|
|
@ -9,6 +9,39 @@ namespace SDL
|
|||
[Typedef]
|
||||
public enum SDL_HapticID : UInt32;
|
||||
|
||||
[Typedef]
|
||||
public enum SDL_HapticEffectType : UInt16
|
||||
{
|
||||
SDL_HAPTIC_CONSTANT = (UInt16)SDL3.SDL_HAPTIC_CONSTANT,
|
||||
SDL_HAPTIC_SINE = (UInt16)SDL3.SDL_HAPTIC_SINE,
|
||||
SDL_HAPTIC_SQUARE = (UInt16)SDL3.SDL_HAPTIC_SQUARE,
|
||||
SDL_HAPTIC_TRIANGLE = (UInt16)SDL3.SDL_HAPTIC_TRIANGLE,
|
||||
SDL_HAPTIC_SAWTOOTHUP = (UInt16)SDL3.SDL_HAPTIC_SAWTOOTHUP,
|
||||
SDL_HAPTIC_SAWTOOTHDOWN = (UInt16)SDL3.SDL_HAPTIC_SAWTOOTHDOWN,
|
||||
SDL_HAPTIC_RAMP = (UInt16)SDL3.SDL_HAPTIC_RAMP,
|
||||
SDL_HAPTIC_SPRING = (UInt16)SDL3.SDL_HAPTIC_SPRING,
|
||||
SDL_HAPTIC_DAMPER = (UInt16)SDL3.SDL_HAPTIC_DAMPER,
|
||||
SDL_HAPTIC_INERTIA = (UInt16)SDL3.SDL_HAPTIC_INERTIA,
|
||||
SDL_HAPTIC_FRICTION = (UInt16)SDL3.SDL_HAPTIC_FRICTION,
|
||||
SDL_HAPTIC_LEFTRIGHT = (UInt16)SDL3.SDL_HAPTIC_LEFTRIGHT,
|
||||
SDL_HAPTIC_RESERVED1 = (UInt16)SDL3.SDL_HAPTIC_RESERVED1,
|
||||
SDL_HAPTIC_RESERVED2 = (UInt16)SDL3.SDL_HAPTIC_RESERVED2,
|
||||
SDL_HAPTIC_RESERVED3 = (UInt16)SDL3.SDL_HAPTIC_RESERVED3,
|
||||
SDL_HAPTIC_CUSTOM = (UInt16)SDL3.SDL_HAPTIC_CUSTOM,
|
||||
}
|
||||
|
||||
[Typedef]
|
||||
public enum SDL_HapticDirectionType : byte
|
||||
{
|
||||
SDL_HAPTIC_POLAR = SDL3.SDL_HAPTIC_POLAR,
|
||||
SDL_HAPTIC_CARTESIAN = SDL3.SDL_HAPTIC_CARTESIAN,
|
||||
SDL_HAPTIC_SPHERICAL = SDL3.SDL_HAPTIC_SPHERICAL,
|
||||
SDL_HAPTIC_STEERING_AXIS = SDL3.SDL_HAPTIC_STEERING_AXIS,
|
||||
}
|
||||
|
||||
[Typedef]
|
||||
public enum SDL_HapticEffectID : int;
|
||||
|
||||
public static partial class SDL3
|
||||
{
|
||||
[MustDisposeResource]
|
||||
|
|
|
|||
Loading…
Reference in New Issue