sdl3-bindgen-sys-0.0.0.1: src/SDL3/Sys/Bindgen/Joystick.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE ExplicitForAll #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UnboxedTuples #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE NoFieldSelectors #-}
-- | SDL joystick support.
--
-- This is the lower-level joystick handling. If you want the simpler option, where what each button does is well-defined, you should use the gamepad API instead.
--
-- The term \"instance_id\" is the current instantiation of a joystick device in the system. If the joystick is removed and then re-inserted then it will get a new instance_id. instance_id\'s are monotonically increasing identifiers of a joystick plugged in.
--
-- The term \"player_index\" is the number assigned to a player on a specific controller. For XInput controllers this returns the XInput user index. Many joysticks will not be able to supply this information.
--
-- SDL_GUID is used as a stable 128-bit identifier for a joystick device that does not change over time. It identifies class of the device (a X360 wired controller for example). This identifier is platform dependent.
--
-- In order to use these functions, SDL_Init() must have been called with the SDL_INIT_JOYSTICK flag. This causes SDL to scan the system for joysticks, and load appropriate drivers.
--
-- If you would like to receive joystick updates while the application is in the background, you should set the following hint before calling SDL_Init(): SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS
--
-- SDL can provide virtual joysticks as well: the app defines an imaginary controller with @SDL_AttachVirtualJoystick()@, and then can provide inputs for it via @SDL_SetJoystickVirtualAxis()@, @SDL_SetJoystickVirtualButton()@, etc. As this data is supplied, it will look like a normal joystick to SDL, just not backed by a hardware driver. This has been used to make unusual devices, like VR headset controllers, look like normal joysticks, or provide recording\/playback of game inputs, etc. The joystick structure used to identify an SDL joystick.
--
-- This is opaque data.
--
-- @since 3.2.0
module SDL3.Sys.Bindgen.Joystick (
SDL3.Sys.Bindgen.Joystick.SDL_Joystick,
SDL3.Sys.Bindgen.Joystick.SDL_JoystickID (..),
SDL3.Sys.Bindgen.Joystick.SDL_JoystickType (..),
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_TYPE_UNKNOWN,
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_TYPE_GAMEPAD,
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_TYPE_WHEEL,
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_TYPE_ARCADE_STICK,
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_TYPE_FLIGHT_STICK,
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_TYPE_DANCE_PAD,
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_TYPE_GUITAR,
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_TYPE_DRUM_KIT,
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_TYPE_ARCADE_PAD,
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_TYPE_THROTTLE,
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_TYPE_COUNT,
SDL3.Sys.Bindgen.Joystick.SDL_JoystickConnectionState (..),
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_CONNECTION_INVALID,
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_CONNECTION_UNKNOWN,
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_CONNECTION_WIRED,
pattern SDL3.Sys.Bindgen.Joystick.SDL_JOYSTICK_CONNECTION_WIRELESS,
SDL3.Sys.Bindgen.Joystick.sDL_JOYSTICK_AXIS_MAX,
SDL3.Sys.Bindgen.Joystick.sDL_JOYSTICK_AXIS_MIN,
SDL3.Sys.Bindgen.Joystick.SDL_VirtualJoystickTouchpadDesc (..),
SDL3.Sys.Bindgen.Joystick.SDL_VirtualJoystickSensorDesc (..),
SDL3.Sys.Bindgen.Joystick.SDL_VirtualJoystickDesc (..),
SDL3.Sys.Bindgen.Joystick.sDL_PROP_JOYSTICK_CAP_MONO_LED_BOOLEAN,
SDL3.Sys.Bindgen.Joystick.sDL_PROP_JOYSTICK_CAP_RGB_LED_BOOLEAN,
SDL3.Sys.Bindgen.Joystick.sDL_PROP_JOYSTICK_CAP_PLAYER_LED_BOOLEAN,
SDL3.Sys.Bindgen.Joystick.sDL_PROP_JOYSTICK_CAP_RUMBLE_BOOLEAN,
SDL3.Sys.Bindgen.Joystick.sDL_PROP_JOYSTICK_CAP_TRIGGER_RUMBLE_BOOLEAN,
SDL3.Sys.Bindgen.Joystick.sDL_HAT_CENTERED,
SDL3.Sys.Bindgen.Joystick.sDL_HAT_UP,
SDL3.Sys.Bindgen.Joystick.sDL_HAT_RIGHT,
SDL3.Sys.Bindgen.Joystick.sDL_HAT_DOWN,
SDL3.Sys.Bindgen.Joystick.sDL_HAT_LEFT,
SDL3.Sys.Bindgen.Joystick.sDL_HAT_RIGHTUP,
SDL3.Sys.Bindgen.Joystick.sDL_HAT_RIGHTDOWN,
SDL3.Sys.Bindgen.Joystick.sDL_HAT_LEFTUP,
SDL3.Sys.Bindgen.Joystick.sDL_HAT_LEFTDOWN,
)
where
import C.Expr.HostPlatform qualified
import HsBindgen.Runtime.CEnum qualified as CEnum
import HsBindgen.Runtime.ConstantArray qualified as CA
import HsBindgen.Runtime.HasCField qualified as HasCField
import HsBindgen.Runtime.Marshal qualified as Marshal
import HsBindgen.Runtime.PtrConst qualified as PtrConst
import HsBindgen.Runtime.Support qualified as BG
import HsBindgen.Runtime.Support.CompatHasField qualified as BG.CompatHasField
import SDL3.Sys.Bindgen.Sensor qualified
import SDL3.Sys.Bindgen.Stdinc qualified
-- | [C declaration]: @struct SDL_Joystick@, defined at @SDL3\/SDL_joystick.h 94:16@
data SDL_Joystick
-- | This is a unique ID for a joystick for the time it is connected to the system, and is never reused for the lifetime of the application.
--
-- If the joystick is disconnected and reconnected, it will get a new ID.
--
-- The value 0 is an invalid ID.
--
-- @since 3.2.0
--
-- [C declaration]: @SDL_JoystickID@, defined at @SDL3\/SDL_joystick.h 106:16@
newtype SDL_JoystickID = SDL_JoystickID
{ unwrap :: SDL3.Sys.Bindgen.Stdinc.Uint32
}
deriving stock (BG.Generic, Eq, Ord, Read, Show)
deriving newtype
( BG.Bitfield
, BG.Bits
, BG.FiniteBits
, BG.HasFFIType
, BG.Ix
, BG.Prim
, BG.Storable
, Bounded
, Enum
, Integral
, Marshal.ReadRaw
, Marshal.StaticSize
, Marshal.WriteRaw
, Num
, Real
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint32)
=> BG.CompatHasField.HasField "unwrap" SDL_JoystickID ty
where
hasField =
\x0 ->
( \y1 ->
SDL_JoystickID{unwrap = y1}
, BG.getField @"unwrap" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint32)
=> BG.HasField "unwrap" (BG.Ptr SDL_JoystickID) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"unwrap")
instance HasCField.HasCField SDL_JoystickID "unwrap" where
type
CFieldType SDL_JoystickID "unwrap" =
SDL3.Sys.Bindgen.Stdinc.Uint32
offset# = \_ -> \_ -> 0
-- | An enum of some common joystick types.
--
-- In some cases, SDL can identify a low-level joystick as being a certain type of device, and will report it through SDL_GetJoystickType (or SDL_GetJoystickTypeForID).
--
-- This is by no means a complete list of everything that can be plugged into a computer.
--
-- You may refer to [XInput Controller Types](https://learn.microsoft.com/en-us/windows/win32/xinput/xinput-and-controller-subtypes) table for a general understanding of each joystick type.
--
-- @since 3.2.0
--
-- [C declaration]: @enum SDL_JoystickType@, defined at @SDL3\/SDL_joystick.h 124:14@
newtype SDL_JoystickType = SDL_JoystickType
{ unwrap :: BG.CUInt
}
deriving stock (BG.Generic, Eq, Ord)
deriving newtype (BG.HasFFIType)
instance Marshal.StaticSize SDL_JoystickType where
staticSizeOf = \_ -> (4 :: Int)
staticAlignment = \_ -> (4 :: Int)
instance Marshal.ReadRaw SDL_JoystickType where
readRaw =
\ptr0 ->
pure SDL_JoystickType
<*> Marshal.readRawByteOff ptr0 (0 :: Int)
instance Marshal.WriteRaw SDL_JoystickType where
writeRaw =
\ptr0 ->
\s1 ->
case s1 of
SDL_JoystickType unwrap2 ->
Marshal.writeRawByteOff ptr0 (0 :: Int) unwrap2
deriving via Marshal.EquivStorable SDL_JoystickType instance BG.Storable SDL_JoystickType
deriving via BG.CUInt instance BG.Prim SDL_JoystickType
instance CEnum.CEnum SDL_JoystickType where
type CEnumZ SDL_JoystickType = BG.CUInt
toCEnum = SDL_JoystickType
fromCEnum = BG.getField @"unwrap"
declaredValues =
\_ ->
CEnum.declaredValuesFromList
[ (0, BG.singleton "SDL_JOYSTICK_TYPE_UNKNOWN")
, (1, BG.singleton "SDL_JOYSTICK_TYPE_GAMEPAD")
, (2, BG.singleton "SDL_JOYSTICK_TYPE_WHEEL")
, (3, BG.singleton "SDL_JOYSTICK_TYPE_ARCADE_STICK")
, (4, BG.singleton "SDL_JOYSTICK_TYPE_FLIGHT_STICK")
, (5, BG.singleton "SDL_JOYSTICK_TYPE_DANCE_PAD")
, (6, BG.singleton "SDL_JOYSTICK_TYPE_GUITAR")
, (7, BG.singleton "SDL_JOYSTICK_TYPE_DRUM_KIT")
, (8, BG.singleton "SDL_JOYSTICK_TYPE_ARCADE_PAD")
, (9, BG.singleton "SDL_JOYSTICK_TYPE_THROTTLE")
, (10, BG.singleton "SDL_JOYSTICK_TYPE_COUNT")
]
showsUndeclared =
CEnum.showsWrappedUndeclared "SDL_JoystickType"
readPrecUndeclared =
CEnum.readPrecWrappedUndeclared "SDL_JoystickType"
isDeclared = CEnum.seqIsDeclared
mkDeclared = CEnum.seqMkDeclared
instance CEnum.SequentialCEnum SDL_JoystickType where
minDeclaredValue = SDL_JOYSTICK_TYPE_UNKNOWN
maxDeclaredValue = SDL_JOYSTICK_TYPE_COUNT
instance Show SDL_JoystickType where
showsPrec = CEnum.shows
instance Read SDL_JoystickType where
readPrec = CEnum.readPrec
readList = BG.readListDefault
readListPrec = BG.readListPrecDefault
instance
(ty ~ BG.CUInt)
=> BG.CompatHasField.HasField "unwrap" SDL_JoystickType ty
where
hasField =
\x0 ->
( \y1 ->
SDL_JoystickType{unwrap = y1}
, BG.getField @"unwrap" x0
)
instance
(ty ~ BG.CUInt)
=> BG.HasField "unwrap" (BG.Ptr SDL_JoystickType) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"unwrap")
instance HasCField.HasCField SDL_JoystickType "unwrap" where
type CFieldType SDL_JoystickType "unwrap" = BG.CUInt
offset# = \_ -> \_ -> 0
-- | [C declaration]: @SDL_JOYSTICK_TYPE_UNKNOWN@, defined at @SDL3\/SDL_joystick.h 126:5@
pattern SDL_JOYSTICK_TYPE_UNKNOWN :: SDL_JoystickType
pattern SDL_JOYSTICK_TYPE_UNKNOWN = SDL_JoystickType 0
-- | [C declaration]: @SDL_JOYSTICK_TYPE_GAMEPAD@, defined at @SDL3\/SDL_joystick.h 127:5@
pattern SDL_JOYSTICK_TYPE_GAMEPAD :: SDL_JoystickType
pattern SDL_JOYSTICK_TYPE_GAMEPAD = SDL_JoystickType 1
-- | [C declaration]: @SDL_JOYSTICK_TYPE_WHEEL@, defined at @SDL3\/SDL_joystick.h 128:5@
pattern SDL_JOYSTICK_TYPE_WHEEL :: SDL_JoystickType
pattern SDL_JOYSTICK_TYPE_WHEEL = SDL_JoystickType 2
-- | [C declaration]: @SDL_JOYSTICK_TYPE_ARCADE_STICK@, defined at @SDL3\/SDL_joystick.h 129:5@
pattern SDL_JOYSTICK_TYPE_ARCADE_STICK :: SDL_JoystickType
pattern SDL_JOYSTICK_TYPE_ARCADE_STICK = SDL_JoystickType 3
-- | [C declaration]: @SDL_JOYSTICK_TYPE_FLIGHT_STICK@, defined at @SDL3\/SDL_joystick.h 130:5@
pattern SDL_JOYSTICK_TYPE_FLIGHT_STICK :: SDL_JoystickType
pattern SDL_JOYSTICK_TYPE_FLIGHT_STICK = SDL_JoystickType 4
-- | [C declaration]: @SDL_JOYSTICK_TYPE_DANCE_PAD@, defined at @SDL3\/SDL_joystick.h 131:5@
pattern SDL_JOYSTICK_TYPE_DANCE_PAD :: SDL_JoystickType
pattern SDL_JOYSTICK_TYPE_DANCE_PAD = SDL_JoystickType 5
-- | [C declaration]: @SDL_JOYSTICK_TYPE_GUITAR@, defined at @SDL3\/SDL_joystick.h 132:5@
pattern SDL_JOYSTICK_TYPE_GUITAR :: SDL_JoystickType
pattern SDL_JOYSTICK_TYPE_GUITAR = SDL_JoystickType 6
-- | [C declaration]: @SDL_JOYSTICK_TYPE_DRUM_KIT@, defined at @SDL3\/SDL_joystick.h 133:5@
pattern SDL_JOYSTICK_TYPE_DRUM_KIT :: SDL_JoystickType
pattern SDL_JOYSTICK_TYPE_DRUM_KIT = SDL_JoystickType 7
-- | [C declaration]: @SDL_JOYSTICK_TYPE_ARCADE_PAD@, defined at @SDL3\/SDL_joystick.h 134:5@
pattern SDL_JOYSTICK_TYPE_ARCADE_PAD :: SDL_JoystickType
pattern SDL_JOYSTICK_TYPE_ARCADE_PAD = SDL_JoystickType 8
-- | [C declaration]: @SDL_JOYSTICK_TYPE_THROTTLE@, defined at @SDL3\/SDL_joystick.h 135:5@
pattern SDL_JOYSTICK_TYPE_THROTTLE :: SDL_JoystickType
pattern SDL_JOYSTICK_TYPE_THROTTLE = SDL_JoystickType 9
-- | [C declaration]: @SDL_JOYSTICK_TYPE_COUNT@, defined at @SDL3\/SDL_joystick.h 136:5@
pattern SDL_JOYSTICK_TYPE_COUNT :: SDL_JoystickType
pattern SDL_JOYSTICK_TYPE_COUNT = SDL_JoystickType 10
-- | Possible connection states for a joystick device.
--
-- This is used by SDL_GetJoystickConnectionState to report how a device is connected to the system.
--
-- @since 3.2.0
--
-- [C declaration]: @enum SDL_JoystickConnectionState@, defined at @SDL3\/SDL_joystick.h 147:14@
newtype SDL_JoystickConnectionState = SDL_JoystickConnectionState
{ unwrap :: BG.CInt
}
deriving stock (BG.Generic, Eq, Ord)
deriving newtype (BG.HasFFIType)
instance Marshal.StaticSize SDL_JoystickConnectionState where
staticSizeOf = \_ -> (4 :: Int)
staticAlignment = \_ -> (4 :: Int)
instance Marshal.ReadRaw SDL_JoystickConnectionState where
readRaw =
\ptr0 ->
pure SDL_JoystickConnectionState
<*> Marshal.readRawByteOff ptr0 (0 :: Int)
instance Marshal.WriteRaw SDL_JoystickConnectionState where
writeRaw =
\ptr0 ->
\s1 ->
case s1 of
SDL_JoystickConnectionState unwrap2 ->
Marshal.writeRawByteOff ptr0 (0 :: Int) unwrap2
deriving via
Marshal.EquivStorable SDL_JoystickConnectionState
instance
BG.Storable SDL_JoystickConnectionState
deriving via BG.CInt instance BG.Prim SDL_JoystickConnectionState
instance CEnum.CEnum SDL_JoystickConnectionState where
type CEnumZ SDL_JoystickConnectionState = BG.CInt
toCEnum = SDL_JoystickConnectionState
fromCEnum = BG.getField @"unwrap"
declaredValues =
\_ ->
CEnum.declaredValuesFromList
[ (-1, BG.singleton "SDL_JOYSTICK_CONNECTION_INVALID")
, (0, BG.singleton "SDL_JOYSTICK_CONNECTION_UNKNOWN")
, (1, BG.singleton "SDL_JOYSTICK_CONNECTION_WIRED")
, (2, BG.singleton "SDL_JOYSTICK_CONNECTION_WIRELESS")
]
showsUndeclared =
CEnum.showsWrappedUndeclared "SDL_JoystickConnectionState"
readPrecUndeclared =
CEnum.readPrecWrappedUndeclared "SDL_JoystickConnectionState"
isDeclared = CEnum.seqIsDeclared
mkDeclared = CEnum.seqMkDeclared
instance CEnum.SequentialCEnum SDL_JoystickConnectionState where
minDeclaredValue = SDL_JOYSTICK_CONNECTION_INVALID
maxDeclaredValue = SDL_JOYSTICK_CONNECTION_WIRELESS
instance Show SDL_JoystickConnectionState where
showsPrec = CEnum.shows
instance Read SDL_JoystickConnectionState where
readPrec = CEnum.readPrec
readList = BG.readListDefault
readListPrec = BG.readListPrecDefault
instance
(ty ~ BG.CInt)
=> BG.CompatHasField.HasField "unwrap" SDL_JoystickConnectionState ty
where
hasField =
\x0 ->
( \y1 ->
SDL_JoystickConnectionState{unwrap = y1}
, BG.getField @"unwrap" x0
)
instance
(ty ~ BG.CInt)
=> BG.HasField "unwrap" (BG.Ptr SDL_JoystickConnectionState) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"unwrap")
instance HasCField.HasCField SDL_JoystickConnectionState "unwrap" where
type
CFieldType SDL_JoystickConnectionState "unwrap" =
BG.CInt
offset# = \_ -> \_ -> 0
-- | [C declaration]: @SDL_JOYSTICK_CONNECTION_INVALID@, defined at @SDL3\/SDL_joystick.h 149:5@
pattern SDL_JOYSTICK_CONNECTION_INVALID :: SDL_JoystickConnectionState
pattern SDL_JOYSTICK_CONNECTION_INVALID = SDL_JoystickConnectionState (-1)
-- | [C declaration]: @SDL_JOYSTICK_CONNECTION_UNKNOWN@, defined at @SDL3\/SDL_joystick.h 150:5@
pattern SDL_JOYSTICK_CONNECTION_UNKNOWN :: SDL_JoystickConnectionState
pattern SDL_JOYSTICK_CONNECTION_UNKNOWN = SDL_JoystickConnectionState 0
-- | [C declaration]: @SDL_JOYSTICK_CONNECTION_WIRED@, defined at @SDL3\/SDL_joystick.h 151:5@
pattern SDL_JOYSTICK_CONNECTION_WIRED :: SDL_JoystickConnectionState
pattern SDL_JOYSTICK_CONNECTION_WIRED = SDL_JoystickConnectionState 1
-- | [C declaration]: @SDL_JOYSTICK_CONNECTION_WIRELESS@, defined at @SDL3\/SDL_joystick.h 152:5@
pattern SDL_JOYSTICK_CONNECTION_WIRELESS :: SDL_JoystickConnectionState
pattern SDL_JOYSTICK_CONNECTION_WIRELESS = SDL_JoystickConnectionState 2
-- | The largest value an 'SDL_Joystick' \'s axis can report.
--
-- @since 3.2.0
--
-- [See also]: 'sDL_JOYSTICK_AXIS_MIN'
--
-- [C declaration]: @macro SDL_JOYSTICK_AXIS_MAX@, defined at @SDL3\/SDL_joystick.h 162:9@
sDL_JOYSTICK_AXIS_MAX :: BG.CInt
sDL_JOYSTICK_AXIS_MAX = (32767 :: BG.CInt)
-- | The smallest value an 'SDL_Joystick' \'s axis can report.
--
-- This is a negative number!
--
-- @since 3.2.0
--
-- [See also]: 'sDL_JOYSTICK_AXIS_MAX'
--
-- [C declaration]: @macro SDL_JOYSTICK_AXIS_MIN@, defined at @SDL3\/SDL_joystick.h 173:9@
sDL_JOYSTICK_AXIS_MIN :: BG.CInt
sDL_JOYSTICK_AXIS_MIN =
C.Expr.HostPlatform.negate (32768 :: BG.CInt)
-- | The structure that describes a virtual joystick touchpad.
--
-- @since 3.2.0
--
-- [See also]: 'SDL_VirtualJoystickDesc'
--
-- [C declaration]: @struct SDL_VirtualJoystickTouchpadDesc@, defined at @SDL3\/SDL_joystick.h 433:16@
data SDL_VirtualJoystickTouchpadDesc = SDL_VirtualJoystickTouchpadDesc
{ nfingers :: SDL3.Sys.Bindgen.Stdinc.Uint16
-- ^ the number of simultaneous fingers on this touchpad
--
-- [C declaration]: @nfingers@, defined at @SDL3\/SDL_joystick.h 435:12@
, padding :: CA.ConstantArray 3 SDL3.Sys.Bindgen.Stdinc.Uint16
-- ^ [C declaration]: @padding@, defined at @SDL3\/SDL_joystick.h 436:12@
}
deriving stock (BG.Generic, Eq, Show)
instance Marshal.StaticSize SDL_VirtualJoystickTouchpadDesc where
staticSizeOf = \_ -> (8 :: Int)
staticAlignment = \_ -> (2 :: Int)
instance Marshal.ReadRaw SDL_VirtualJoystickTouchpadDesc where
readRaw =
\ptr0 ->
pure SDL_VirtualJoystickTouchpadDesc
<*> HasCField.readRaw (BG.Proxy @"nfingers") ptr0
<*> HasCField.readRaw (BG.Proxy @"padding") ptr0
instance Marshal.WriteRaw SDL_VirtualJoystickTouchpadDesc where
writeRaw =
\ptr0 ->
\s1 ->
case s1 of
SDL_VirtualJoystickTouchpadDesc nfingers2 padding3 ->
HasCField.writeRaw (BG.Proxy @"nfingers") ptr0 nfingers2
>> HasCField.writeRaw (BG.Proxy @"padding") ptr0 padding3
deriving via
Marshal.EquivStorable SDL_VirtualJoystickTouchpadDesc
instance
BG.Storable SDL_VirtualJoystickTouchpadDesc
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.CompatHasField.HasField "nfingers" SDL_VirtualJoystickTouchpadDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickTouchpadDesc{nfingers = y1, padding = BG.getField @"padding" x0}
, BG.getField @"nfingers" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.HasField "nfingers" (BG.Ptr SDL_VirtualJoystickTouchpadDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"nfingers")
instance HasCField.HasCField SDL_VirtualJoystickTouchpadDesc "nfingers" where
type
CFieldType SDL_VirtualJoystickTouchpadDesc "nfingers" =
SDL3.Sys.Bindgen.Stdinc.Uint16
offset# = \_ -> \_ -> 0
instance
(ty ~ CA.ConstantArray 3 SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.CompatHasField.HasField "padding" SDL_VirtualJoystickTouchpadDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickTouchpadDesc{padding = y1, nfingers = BG.getField @"nfingers" x0}
, BG.getField @"padding" x0
)
instance
(ty ~ CA.ConstantArray 3 SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.HasField "padding" (BG.Ptr SDL_VirtualJoystickTouchpadDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"padding")
instance HasCField.HasCField SDL_VirtualJoystickTouchpadDesc "padding" where
type
CFieldType SDL_VirtualJoystickTouchpadDesc "padding" =
CA.ConstantArray 3 SDL3.Sys.Bindgen.Stdinc.Uint16
offset# = \_ -> \_ -> 2
-- | The structure that describes a virtual joystick sensor.
--
-- @since 3.2.0
--
-- [See also]: 'SDL_VirtualJoystickDesc'
--
-- [C declaration]: @struct SDL_VirtualJoystickSensorDesc@, defined at @SDL3\/SDL_joystick.h 446:16@
data SDL_VirtualJoystickSensorDesc = SDL_VirtualJoystickSensorDesc
{ type' :: SDL3.Sys.Bindgen.Sensor.SDL_SensorType
-- ^ the type of this sensor
--
-- [C declaration]: @type@, defined at @SDL3\/SDL_joystick.h 448:20@
, rate :: BG.CFloat
-- ^ the update frequency of this sensor, may be 0.0f
--
-- [C declaration]: @rate@, defined at @SDL3\/SDL_joystick.h 449:11@
}
deriving stock (BG.Generic, Eq, Show)
instance Marshal.StaticSize SDL_VirtualJoystickSensorDesc where
staticSizeOf = \_ -> (8 :: Int)
staticAlignment = \_ -> (4 :: Int)
instance Marshal.ReadRaw SDL_VirtualJoystickSensorDesc where
readRaw =
\ptr0 ->
pure SDL_VirtualJoystickSensorDesc
<*> HasCField.readRaw (BG.Proxy @"type'") ptr0
<*> HasCField.readRaw (BG.Proxy @"rate") ptr0
instance Marshal.WriteRaw SDL_VirtualJoystickSensorDesc where
writeRaw =
\ptr0 ->
\s1 ->
case s1 of
SDL_VirtualJoystickSensorDesc type'2 rate3 ->
HasCField.writeRaw (BG.Proxy @"type'") ptr0 type'2
>> HasCField.writeRaw (BG.Proxy @"rate") ptr0 rate3
deriving via
Marshal.EquivStorable SDL_VirtualJoystickSensorDesc
instance
BG.Storable SDL_VirtualJoystickSensorDesc
instance
(ty ~ SDL3.Sys.Bindgen.Sensor.SDL_SensorType)
=> BG.CompatHasField.HasField "type'" SDL_VirtualJoystickSensorDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickSensorDesc{type' = y1, rate = BG.getField @"rate" x0}
, BG.getField @"type'" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Sensor.SDL_SensorType)
=> BG.HasField "type'" (BG.Ptr SDL_VirtualJoystickSensorDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"type'")
instance HasCField.HasCField SDL_VirtualJoystickSensorDesc "type'" where
type
CFieldType SDL_VirtualJoystickSensorDesc "type'" =
SDL3.Sys.Bindgen.Sensor.SDL_SensorType
offset# = \_ -> \_ -> 0
instance
(ty ~ BG.CFloat)
=> BG.CompatHasField.HasField "rate" SDL_VirtualJoystickSensorDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickSensorDesc{rate = y1, type' = BG.getField @"type'" x0}
, BG.getField @"rate" x0
)
instance
(ty ~ BG.CFloat)
=> BG.HasField "rate" (BG.Ptr SDL_VirtualJoystickSensorDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"rate")
instance HasCField.HasCField SDL_VirtualJoystickSensorDesc "rate" where
type
CFieldType SDL_VirtualJoystickSensorDesc "rate" =
BG.CFloat
offset# = \_ -> \_ -> 4
-- | The structure that describes a virtual joystick.
--
-- This structure should be initialized using SDL_INIT_INTERFACE(). All elements of this structure are optional.
--
-- @since 3.2.0
--
-- [See also]: 'sDL_AttachVirtualJoystick', SDL_INIT_INTERFACE, 'SDL_VirtualJoystickSensorDesc', 'SDL_VirtualJoystickTouchpadDesc'
--
-- [C declaration]: @struct SDL_VirtualJoystickDesc@, defined at @SDL3\/SDL_joystick.h 465:16@
data SDL_VirtualJoystickDesc = SDL_VirtualJoystickDesc
{ version :: SDL3.Sys.Bindgen.Stdinc.Uint32
-- ^ the version of this interface
--
-- [C declaration]: @version@, defined at @SDL3\/SDL_joystick.h 467:12@
, type' :: SDL3.Sys.Bindgen.Stdinc.Uint16
-- ^ @'SDL_JoystickType'@
--
-- [C declaration]: @type@, defined at @SDL3\/SDL_joystick.h 468:12@
, padding :: SDL3.Sys.Bindgen.Stdinc.Uint16
-- ^ unused
--
-- [C declaration]: @padding@, defined at @SDL3\/SDL_joystick.h 469:12@
, vendor_id :: SDL3.Sys.Bindgen.Stdinc.Uint16
-- ^ the USB vendor ID of this joystick
--
-- [C declaration]: @vendor_id@, defined at @SDL3\/SDL_joystick.h 470:12@
, product_id :: SDL3.Sys.Bindgen.Stdinc.Uint16
-- ^ the USB product ID of this joystick
--
-- [C declaration]: @product_id@, defined at @SDL3\/SDL_joystick.h 471:12@
, naxes :: SDL3.Sys.Bindgen.Stdinc.Uint16
-- ^ the number of axes on this joystick
--
-- [C declaration]: @naxes@, defined at @SDL3\/SDL_joystick.h 472:12@
, nbuttons :: SDL3.Sys.Bindgen.Stdinc.Uint16
-- ^ the number of buttons on this joystick
--
-- [C declaration]: @nbuttons@, defined at @SDL3\/SDL_joystick.h 473:12@
, nballs :: SDL3.Sys.Bindgen.Stdinc.Uint16
-- ^ the number of balls on this joystick
--
-- [C declaration]: @nballs@, defined at @SDL3\/SDL_joystick.h 474:12@
, nhats :: SDL3.Sys.Bindgen.Stdinc.Uint16
-- ^ the number of hats on this joystick
--
-- [C declaration]: @nhats@, defined at @SDL3\/SDL_joystick.h 475:12@
, ntouchpads :: SDL3.Sys.Bindgen.Stdinc.Uint16
-- ^ the number of touchpads on this joystick, requires @touchpads@ to point at valid descriptions
--
-- [C declaration]: @ntouchpads@, defined at @SDL3\/SDL_joystick.h 476:12@
, nsensors :: SDL3.Sys.Bindgen.Stdinc.Uint16
-- ^ the number of sensors on this joystick, requires @sensors@ to point at valid descriptions
--
-- [C declaration]: @nsensors@, defined at @SDL3\/SDL_joystick.h 477:12@
, padding2 :: CA.ConstantArray 2 SDL3.Sys.Bindgen.Stdinc.Uint16
-- ^ unused
--
-- [C declaration]: @padding2@, defined at @SDL3\/SDL_joystick.h 478:12@
, button_mask :: SDL3.Sys.Bindgen.Stdinc.Uint32
-- ^ A mask of which buttons are valid for this controller e.g. (1 \<\< SDL_GAMEPAD_BUTTON_SOUTH)
--
-- [C declaration]: @button_mask@, defined at @SDL3\/SDL_joystick.h 479:12@
, axis_mask :: SDL3.Sys.Bindgen.Stdinc.Uint32
-- ^ A mask of which axes are valid for this controller e.g. (1 \<\< SDL_GAMEPAD_AXIS_LEFTX)
--
-- [C declaration]: @axis_mask@, defined at @SDL3\/SDL_joystick.h 481:12@
, name :: PtrConst.PtrConst BG.CChar
-- ^ the name of the joystick
--
-- [C declaration]: @name@, defined at @SDL3\/SDL_joystick.h 483:17@
, touchpads :: PtrConst.PtrConst SDL_VirtualJoystickTouchpadDesc
-- ^ A pointer to an array of touchpad descriptions, required if @ntouchpads@ is > 0
--
-- [C declaration]: @touchpads@, defined at @SDL3\/SDL_joystick.h 484:44@
, sensors :: PtrConst.PtrConst SDL_VirtualJoystickSensorDesc
-- ^ A pointer to an array of sensor descriptions, required if @nsensors@ is > 0
--
-- [C declaration]: @sensors@, defined at @SDL3\/SDL_joystick.h 485:42@
, userdata :: BG.Ptr BG.Void
-- ^ User data pointer passed to callbacks
--
-- [C declaration]: @userdata@, defined at @SDL3\/SDL_joystick.h 487:11@
, update :: BG.FunPtr (BG.Ptr BG.Void -> IO ())
-- ^ [C declaration]: @Update@, defined at @SDL3\/SDL_joystick.h 488:20@
, setPlayerIndex :: BG.FunPtr (BG.Ptr BG.Void -> BG.CInt -> IO ())
-- ^ [C declaration]: @SetPlayerIndex@, defined at @SDL3\/SDL_joystick.h 489:20@
, rumble
:: BG.FunPtr
(BG.Ptr BG.Void -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> IO BG.CBool)
-- ^ [C declaration]: @Rumble@, defined at @SDL3\/SDL_joystick.h 490:20@
, rumbleTriggers
:: BG.FunPtr
(BG.Ptr BG.Void -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> IO BG.CBool)
-- ^ [C declaration]: @RumbleTriggers@, defined at @SDL3\/SDL_joystick.h 491:20@
, setLED
:: BG.FunPtr
( BG.Ptr BG.Void
-> SDL3.Sys.Bindgen.Stdinc.Uint8
-> SDL3.Sys.Bindgen.Stdinc.Uint8
-> SDL3.Sys.Bindgen.Stdinc.Uint8
-> IO BG.CBool
)
-- ^ [C declaration]: @SetLED@, defined at @SDL3\/SDL_joystick.h 492:20@
, sendEffect :: BG.FunPtr (BG.Ptr BG.Void -> PtrConst.PtrConst BG.Void -> BG.CInt -> IO BG.CBool)
-- ^ [C declaration]: @SendEffect@, defined at @SDL3\/SDL_joystick.h 493:20@
, setSensorsEnabled :: BG.FunPtr (BG.Ptr BG.Void -> BG.CBool -> IO BG.CBool)
-- ^ [C declaration]: @SetSensorsEnabled@, defined at @SDL3\/SDL_joystick.h 494:20@
, cleanup :: BG.FunPtr (BG.Ptr BG.Void -> IO ())
-- ^ [C declaration]: @Cleanup@, defined at @SDL3\/SDL_joystick.h 495:20@
}
deriving stock (BG.Generic, Eq, Show)
instance Marshal.StaticSize SDL_VirtualJoystickDesc where
staticSizeOf = \_ -> (136 :: Int)
staticAlignment = \_ -> (8 :: Int)
instance Marshal.ReadRaw SDL_VirtualJoystickDesc where
readRaw =
\ptr0 ->
pure SDL_VirtualJoystickDesc
<*> HasCField.readRaw (BG.Proxy @"version") ptr0
<*> HasCField.readRaw (BG.Proxy @"type'") ptr0
<*> HasCField.readRaw (BG.Proxy @"padding") ptr0
<*> HasCField.readRaw (BG.Proxy @"vendor_id") ptr0
<*> HasCField.readRaw (BG.Proxy @"product_id") ptr0
<*> HasCField.readRaw (BG.Proxy @"naxes") ptr0
<*> HasCField.readRaw (BG.Proxy @"nbuttons") ptr0
<*> HasCField.readRaw (BG.Proxy @"nballs") ptr0
<*> HasCField.readRaw (BG.Proxy @"nhats") ptr0
<*> HasCField.readRaw (BG.Proxy @"ntouchpads") ptr0
<*> HasCField.readRaw (BG.Proxy @"nsensors") ptr0
<*> HasCField.readRaw (BG.Proxy @"padding2") ptr0
<*> HasCField.readRaw (BG.Proxy @"button_mask") ptr0
<*> HasCField.readRaw (BG.Proxy @"axis_mask") ptr0
<*> HasCField.readRaw (BG.Proxy @"name") ptr0
<*> HasCField.readRaw (BG.Proxy @"touchpads") ptr0
<*> HasCField.readRaw (BG.Proxy @"sensors") ptr0
<*> HasCField.readRaw (BG.Proxy @"userdata") ptr0
<*> HasCField.readRaw (BG.Proxy @"update") ptr0
<*> HasCField.readRaw (BG.Proxy @"setPlayerIndex") ptr0
<*> HasCField.readRaw (BG.Proxy @"rumble") ptr0
<*> HasCField.readRaw (BG.Proxy @"rumbleTriggers") ptr0
<*> HasCField.readRaw (BG.Proxy @"setLED") ptr0
<*> HasCField.readRaw (BG.Proxy @"sendEffect") ptr0
<*> HasCField.readRaw (BG.Proxy @"setSensorsEnabled") ptr0
<*> HasCField.readRaw (BG.Proxy @"cleanup") ptr0
instance Marshal.WriteRaw SDL_VirtualJoystickDesc where
writeRaw =
\ptr0 ->
\s1 ->
case s1 of
SDL_VirtualJoystickDesc
version2
type'3
padding4
vendor_id5
product_id6
naxes7
nbuttons8
nballs9
nhats10
ntouchpads11
nsensors12
padding213
button_mask14
axis_mask15
name16
touchpads17
sensors18
userdata19
update20
setPlayerIndex21
rumble22
rumbleTriggers23
setLED24
sendEffect25
setSensorsEnabled26
cleanup27 ->
HasCField.writeRaw (BG.Proxy @"version") ptr0 version2
>> HasCField.writeRaw (BG.Proxy @"type'") ptr0 type'3
>> HasCField.writeRaw (BG.Proxy @"padding") ptr0 padding4
>> HasCField.writeRaw (BG.Proxy @"vendor_id") ptr0 vendor_id5
>> HasCField.writeRaw (BG.Proxy @"product_id") ptr0 product_id6
>> HasCField.writeRaw (BG.Proxy @"naxes") ptr0 naxes7
>> HasCField.writeRaw (BG.Proxy @"nbuttons") ptr0 nbuttons8
>> HasCField.writeRaw (BG.Proxy @"nballs") ptr0 nballs9
>> HasCField.writeRaw (BG.Proxy @"nhats") ptr0 nhats10
>> HasCField.writeRaw (BG.Proxy @"ntouchpads") ptr0 ntouchpads11
>> HasCField.writeRaw (BG.Proxy @"nsensors") ptr0 nsensors12
>> HasCField.writeRaw (BG.Proxy @"padding2") ptr0 padding213
>> HasCField.writeRaw (BG.Proxy @"button_mask") ptr0 button_mask14
>> HasCField.writeRaw (BG.Proxy @"axis_mask") ptr0 axis_mask15
>> HasCField.writeRaw (BG.Proxy @"name") ptr0 name16
>> HasCField.writeRaw (BG.Proxy @"touchpads") ptr0 touchpads17
>> HasCField.writeRaw (BG.Proxy @"sensors") ptr0 sensors18
>> HasCField.writeRaw (BG.Proxy @"userdata") ptr0 userdata19
>> HasCField.writeRaw (BG.Proxy @"update") ptr0 update20
>> HasCField.writeRaw (BG.Proxy @"setPlayerIndex") ptr0 setPlayerIndex21
>> HasCField.writeRaw (BG.Proxy @"rumble") ptr0 rumble22
>> HasCField.writeRaw (BG.Proxy @"rumbleTriggers") ptr0 rumbleTriggers23
>> HasCField.writeRaw (BG.Proxy @"setLED") ptr0 setLED24
>> HasCField.writeRaw (BG.Proxy @"sendEffect") ptr0 sendEffect25
>> HasCField.writeRaw (BG.Proxy @"setSensorsEnabled") ptr0 setSensorsEnabled26
>> HasCField.writeRaw (BG.Proxy @"cleanup") ptr0 cleanup27
deriving via
Marshal.EquivStorable SDL_VirtualJoystickDesc
instance
BG.Storable SDL_VirtualJoystickDesc
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint32)
=> BG.CompatHasField.HasField "version" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ version = y1
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"version" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint32)
=> BG.HasField "version" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"version")
instance HasCField.HasCField SDL_VirtualJoystickDesc "version" where
type
CFieldType SDL_VirtualJoystickDesc "version" =
SDL3.Sys.Bindgen.Stdinc.Uint32
offset# = \_ -> \_ -> 0
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.CompatHasField.HasField "type'" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ type' = y1
, version = BG.getField @"version" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"type'" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.HasField "type'" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"type'")
instance HasCField.HasCField SDL_VirtualJoystickDesc "type'" where
type
CFieldType SDL_VirtualJoystickDesc "type'" =
SDL3.Sys.Bindgen.Stdinc.Uint16
offset# = \_ -> \_ -> 4
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.CompatHasField.HasField "padding" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ padding = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"padding" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.HasField "padding" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"padding")
instance HasCField.HasCField SDL_VirtualJoystickDesc "padding" where
type
CFieldType SDL_VirtualJoystickDesc "padding" =
SDL3.Sys.Bindgen.Stdinc.Uint16
offset# = \_ -> \_ -> 6
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.CompatHasField.HasField "vendor_id" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ vendor_id = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"vendor_id" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.HasField "vendor_id" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"vendor_id")
instance HasCField.HasCField SDL_VirtualJoystickDesc "vendor_id" where
type
CFieldType SDL_VirtualJoystickDesc "vendor_id" =
SDL3.Sys.Bindgen.Stdinc.Uint16
offset# = \_ -> \_ -> 8
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.CompatHasField.HasField "product_id" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ product_id = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"product_id" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.HasField "product_id" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"product_id")
instance HasCField.HasCField SDL_VirtualJoystickDesc "product_id" where
type
CFieldType SDL_VirtualJoystickDesc "product_id" =
SDL3.Sys.Bindgen.Stdinc.Uint16
offset# = \_ -> \_ -> 10
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.CompatHasField.HasField "naxes" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ naxes = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"naxes" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.HasField "naxes" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"naxes")
instance HasCField.HasCField SDL_VirtualJoystickDesc "naxes" where
type
CFieldType SDL_VirtualJoystickDesc "naxes" =
SDL3.Sys.Bindgen.Stdinc.Uint16
offset# = \_ -> \_ -> 12
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.CompatHasField.HasField "nbuttons" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ nbuttons = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"nbuttons" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.HasField "nbuttons" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"nbuttons")
instance HasCField.HasCField SDL_VirtualJoystickDesc "nbuttons" where
type
CFieldType SDL_VirtualJoystickDesc "nbuttons" =
SDL3.Sys.Bindgen.Stdinc.Uint16
offset# = \_ -> \_ -> 14
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.CompatHasField.HasField "nballs" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ nballs = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"nballs" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.HasField "nballs" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"nballs")
instance HasCField.HasCField SDL_VirtualJoystickDesc "nballs" where
type
CFieldType SDL_VirtualJoystickDesc "nballs" =
SDL3.Sys.Bindgen.Stdinc.Uint16
offset# = \_ -> \_ -> 16
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.CompatHasField.HasField "nhats" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ nhats = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"nhats" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.HasField "nhats" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"nhats")
instance HasCField.HasCField SDL_VirtualJoystickDesc "nhats" where
type
CFieldType SDL_VirtualJoystickDesc "nhats" =
SDL3.Sys.Bindgen.Stdinc.Uint16
offset# = \_ -> \_ -> 18
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.CompatHasField.HasField "ntouchpads" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ ntouchpads = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"ntouchpads" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.HasField "ntouchpads" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"ntouchpads")
instance HasCField.HasCField SDL_VirtualJoystickDesc "ntouchpads" where
type
CFieldType SDL_VirtualJoystickDesc "ntouchpads" =
SDL3.Sys.Bindgen.Stdinc.Uint16
offset# = \_ -> \_ -> 20
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.CompatHasField.HasField "nsensors" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ nsensors = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"nsensors" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.HasField "nsensors" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"nsensors")
instance HasCField.HasCField SDL_VirtualJoystickDesc "nsensors" where
type
CFieldType SDL_VirtualJoystickDesc "nsensors" =
SDL3.Sys.Bindgen.Stdinc.Uint16
offset# = \_ -> \_ -> 22
instance
(ty ~ CA.ConstantArray 2 SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.CompatHasField.HasField "padding2" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ padding2 = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"padding2" x0
)
instance
(ty ~ CA.ConstantArray 2 SDL3.Sys.Bindgen.Stdinc.Uint16)
=> BG.HasField "padding2" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"padding2")
instance HasCField.HasCField SDL_VirtualJoystickDesc "padding2" where
type
CFieldType SDL_VirtualJoystickDesc "padding2" =
CA.ConstantArray 2 SDL3.Sys.Bindgen.Stdinc.Uint16
offset# = \_ -> \_ -> 24
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint32)
=> BG.CompatHasField.HasField "button_mask" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ button_mask = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"button_mask" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint32)
=> BG.HasField "button_mask" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField =
HasCField.fromPtr (BG.Proxy @"button_mask")
instance HasCField.HasCField SDL_VirtualJoystickDesc "button_mask" where
type
CFieldType SDL_VirtualJoystickDesc "button_mask" =
SDL3.Sys.Bindgen.Stdinc.Uint32
offset# = \_ -> \_ -> 28
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint32)
=> BG.CompatHasField.HasField "axis_mask" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ axis_mask = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"axis_mask" x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint32)
=> BG.HasField "axis_mask" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"axis_mask")
instance HasCField.HasCField SDL_VirtualJoystickDesc "axis_mask" where
type
CFieldType SDL_VirtualJoystickDesc "axis_mask" =
SDL3.Sys.Bindgen.Stdinc.Uint32
offset# = \_ -> \_ -> 32
instance
(ty ~ PtrConst.PtrConst BG.CChar)
=> BG.CompatHasField.HasField "name" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ name = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"name" x0
)
instance
(ty ~ PtrConst.PtrConst BG.CChar)
=> BG.HasField "name" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"name")
instance HasCField.HasCField SDL_VirtualJoystickDesc "name" where
type
CFieldType SDL_VirtualJoystickDesc "name" =
PtrConst.PtrConst BG.CChar
offset# = \_ -> \_ -> 40
instance
(ty ~ PtrConst.PtrConst SDL_VirtualJoystickTouchpadDesc)
=> BG.CompatHasField.HasField "touchpads" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ touchpads = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"touchpads" x0
)
instance
(ty ~ PtrConst.PtrConst SDL_VirtualJoystickTouchpadDesc)
=> BG.HasField "touchpads" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"touchpads")
instance HasCField.HasCField SDL_VirtualJoystickDesc "touchpads" where
type
CFieldType SDL_VirtualJoystickDesc "touchpads" =
PtrConst.PtrConst SDL_VirtualJoystickTouchpadDesc
offset# = \_ -> \_ -> 48
instance
(ty ~ PtrConst.PtrConst SDL_VirtualJoystickSensorDesc)
=> BG.CompatHasField.HasField "sensors" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ sensors = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"sensors" x0
)
instance
(ty ~ PtrConst.PtrConst SDL_VirtualJoystickSensorDesc)
=> BG.HasField "sensors" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"sensors")
instance HasCField.HasCField SDL_VirtualJoystickDesc "sensors" where
type
CFieldType SDL_VirtualJoystickDesc "sensors" =
PtrConst.PtrConst SDL_VirtualJoystickSensorDesc
offset# = \_ -> \_ -> 56
instance
(ty ~ BG.Ptr BG.Void)
=> BG.CompatHasField.HasField "userdata" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ userdata = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"userdata" x0
)
instance
(ty ~ BG.Ptr BG.Void)
=> BG.HasField "userdata" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"userdata")
instance HasCField.HasCField SDL_VirtualJoystickDesc "userdata" where
type
CFieldType SDL_VirtualJoystickDesc "userdata" =
BG.Ptr BG.Void
offset# = \_ -> \_ -> 64
instance
(ty ~ BG.FunPtr (BG.Ptr BG.Void -> IO ()))
=> BG.CompatHasField.HasField "update" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ update = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"update" x0
)
instance
(ty ~ BG.FunPtr (BG.Ptr BG.Void -> IO ()))
=> BG.HasField "update" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"update")
instance HasCField.HasCField SDL_VirtualJoystickDesc "update" where
type
CFieldType SDL_VirtualJoystickDesc "update" =
BG.FunPtr (BG.Ptr BG.Void -> IO ())
offset# = \_ -> \_ -> 72
instance
(ty ~ BG.FunPtr (BG.Ptr BG.Void -> BG.CInt -> IO ()))
=> BG.CompatHasField.HasField "setPlayerIndex" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ setPlayerIndex = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"setPlayerIndex" x0
)
instance
(ty ~ BG.FunPtr (BG.Ptr BG.Void -> BG.CInt -> IO ()))
=> BG.HasField "setPlayerIndex" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField =
HasCField.fromPtr (BG.Proxy @"setPlayerIndex")
instance HasCField.HasCField SDL_VirtualJoystickDesc "setPlayerIndex" where
type
CFieldType SDL_VirtualJoystickDesc "setPlayerIndex" =
BG.FunPtr (BG.Ptr BG.Void -> BG.CInt -> IO ())
offset# = \_ -> \_ -> 80
instance
( ty
~ BG.FunPtr
(BG.Ptr BG.Void -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> IO BG.CBool)
)
=> BG.CompatHasField.HasField "rumble" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ rumble = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"rumble" x0
)
instance
( ty
~ BG.FunPtr
(BG.Ptr BG.Void -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> IO BG.CBool)
)
=> BG.HasField "rumble" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"rumble")
instance HasCField.HasCField SDL_VirtualJoystickDesc "rumble" where
type
CFieldType SDL_VirtualJoystickDesc "rumble" =
BG.FunPtr
(BG.Ptr BG.Void -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> IO BG.CBool)
offset# = \_ -> \_ -> 88
instance
( ty
~ BG.FunPtr
(BG.Ptr BG.Void -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> IO BG.CBool)
)
=> BG.CompatHasField.HasField "rumbleTriggers" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ rumbleTriggers = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"rumbleTriggers" x0
)
instance
( ty
~ BG.FunPtr
(BG.Ptr BG.Void -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> IO BG.CBool)
)
=> BG.HasField "rumbleTriggers" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField =
HasCField.fromPtr (BG.Proxy @"rumbleTriggers")
instance HasCField.HasCField SDL_VirtualJoystickDesc "rumbleTriggers" where
type
CFieldType SDL_VirtualJoystickDesc "rumbleTriggers" =
BG.FunPtr
(BG.Ptr BG.Void -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> SDL3.Sys.Bindgen.Stdinc.Uint16 -> IO BG.CBool)
offset# = \_ -> \_ -> 96
instance
( ty
~ BG.FunPtr
( BG.Ptr BG.Void
-> SDL3.Sys.Bindgen.Stdinc.Uint8
-> SDL3.Sys.Bindgen.Stdinc.Uint8
-> SDL3.Sys.Bindgen.Stdinc.Uint8
-> IO BG.CBool
)
)
=> BG.CompatHasField.HasField "setLED" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ setLED = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"setLED" x0
)
instance
( ty
~ BG.FunPtr
( BG.Ptr BG.Void
-> SDL3.Sys.Bindgen.Stdinc.Uint8
-> SDL3.Sys.Bindgen.Stdinc.Uint8
-> SDL3.Sys.Bindgen.Stdinc.Uint8
-> IO BG.CBool
)
)
=> BG.HasField "setLED" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"setLED")
instance HasCField.HasCField SDL_VirtualJoystickDesc "setLED" where
type
CFieldType SDL_VirtualJoystickDesc "setLED" =
BG.FunPtr
( BG.Ptr BG.Void
-> SDL3.Sys.Bindgen.Stdinc.Uint8
-> SDL3.Sys.Bindgen.Stdinc.Uint8
-> SDL3.Sys.Bindgen.Stdinc.Uint8
-> IO BG.CBool
)
offset# = \_ -> \_ -> 104
instance
(ty ~ BG.FunPtr (BG.Ptr BG.Void -> PtrConst.PtrConst BG.Void -> BG.CInt -> IO BG.CBool))
=> BG.CompatHasField.HasField "sendEffect" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ sendEffect = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"sendEffect" x0
)
instance
(ty ~ BG.FunPtr (BG.Ptr BG.Void -> PtrConst.PtrConst BG.Void -> BG.CInt -> IO BG.CBool))
=> BG.HasField "sendEffect" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"sendEffect")
instance HasCField.HasCField SDL_VirtualJoystickDesc "sendEffect" where
type
CFieldType SDL_VirtualJoystickDesc "sendEffect" =
BG.FunPtr (BG.Ptr BG.Void -> PtrConst.PtrConst BG.Void -> BG.CInt -> IO BG.CBool)
offset# = \_ -> \_ -> 112
instance
(ty ~ BG.FunPtr (BG.Ptr BG.Void -> BG.CBool -> IO BG.CBool))
=> BG.CompatHasField.HasField "setSensorsEnabled" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ setSensorsEnabled = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, cleanup = BG.getField @"cleanup" x0
}
, BG.getField @"setSensorsEnabled" x0
)
instance
(ty ~ BG.FunPtr (BG.Ptr BG.Void -> BG.CBool -> IO BG.CBool))
=> BG.HasField "setSensorsEnabled" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField =
HasCField.fromPtr (BG.Proxy @"setSensorsEnabled")
instance HasCField.HasCField SDL_VirtualJoystickDesc "setSensorsEnabled" where
type
CFieldType SDL_VirtualJoystickDesc "setSensorsEnabled" =
BG.FunPtr (BG.Ptr BG.Void -> BG.CBool -> IO BG.CBool)
offset# = \_ -> \_ -> 120
instance
(ty ~ BG.FunPtr (BG.Ptr BG.Void -> IO ()))
=> BG.CompatHasField.HasField "cleanup" SDL_VirtualJoystickDesc ty
where
hasField =
\x0 ->
( \y1 ->
SDL_VirtualJoystickDesc
{ cleanup = y1
, version = BG.getField @"version" x0
, type' = BG.getField @"type'" x0
, padding = BG.getField @"padding" x0
, vendor_id = BG.getField @"vendor_id" x0
, product_id = BG.getField @"product_id" x0
, naxes = BG.getField @"naxes" x0
, nbuttons = BG.getField @"nbuttons" x0
, nballs = BG.getField @"nballs" x0
, nhats = BG.getField @"nhats" x0
, ntouchpads = BG.getField @"ntouchpads" x0
, nsensors = BG.getField @"nsensors" x0
, padding2 = BG.getField @"padding2" x0
, button_mask = BG.getField @"button_mask" x0
, axis_mask = BG.getField @"axis_mask" x0
, name = BG.getField @"name" x0
, touchpads = BG.getField @"touchpads" x0
, sensors = BG.getField @"sensors" x0
, userdata = BG.getField @"userdata" x0
, update = BG.getField @"update" x0
, setPlayerIndex = BG.getField @"setPlayerIndex" x0
, rumble = BG.getField @"rumble" x0
, rumbleTriggers = BG.getField @"rumbleTriggers" x0
, setLED = BG.getField @"setLED" x0
, sendEffect = BG.getField @"sendEffect" x0
, setSensorsEnabled = BG.getField @"setSensorsEnabled" x0
}
, BG.getField @"cleanup" x0
)
instance
(ty ~ BG.FunPtr (BG.Ptr BG.Void -> IO ()))
=> BG.HasField "cleanup" (BG.Ptr SDL_VirtualJoystickDesc) (BG.Ptr ty)
where
getField = HasCField.fromPtr (BG.Proxy @"cleanup")
instance HasCField.HasCField SDL_VirtualJoystickDesc "cleanup" where
type
CFieldType SDL_VirtualJoystickDesc "cleanup" =
BG.FunPtr (BG.Ptr BG.Void -> IO ())
offset# = \_ -> \_ -> 128
-- | [C declaration]: @macro SDL_PROP_JOYSTICK_CAP_MONO_LED_BOOLEAN@, literal @\"SDL.joystick.cap.mono_led\"@, defined at @SDL3\/SDL_joystick.h 772:9@
sDL_PROP_JOYSTICK_CAP_MONO_LED_BOOLEAN :: BG.ByteString
sDL_PROP_JOYSTICK_CAP_MONO_LED_BOOLEAN =
BG.pack
[ 0x53
, 0x44
, 0x4C
, 0x2E
, 0x6A
, 0x6F
, 0x79
, 0x73
, 0x74
, 0x69
, 0x63
, 0x6B
, 0x2E
, 0x63
, 0x61
, 0x70
, 0x2E
, 0x6D
, 0x6F
, 0x6E
, 0x6F
, 0x5F
, 0x6C
, 0x65
, 0x64
]
-- | [C declaration]: @macro SDL_PROP_JOYSTICK_CAP_RGB_LED_BOOLEAN@, literal @\"SDL.joystick.cap.rgb_led\"@, defined at @SDL3\/SDL_joystick.h 773:9@
sDL_PROP_JOYSTICK_CAP_RGB_LED_BOOLEAN :: BG.ByteString
sDL_PROP_JOYSTICK_CAP_RGB_LED_BOOLEAN =
BG.pack
[ 0x53
, 0x44
, 0x4C
, 0x2E
, 0x6A
, 0x6F
, 0x79
, 0x73
, 0x74
, 0x69
, 0x63
, 0x6B
, 0x2E
, 0x63
, 0x61
, 0x70
, 0x2E
, 0x72
, 0x67
, 0x62
, 0x5F
, 0x6C
, 0x65
, 0x64
]
-- | [C declaration]: @macro SDL_PROP_JOYSTICK_CAP_PLAYER_LED_BOOLEAN@, literal @\"SDL.joystick.cap.player_led\"@, defined at @SDL3\/SDL_joystick.h 774:9@
sDL_PROP_JOYSTICK_CAP_PLAYER_LED_BOOLEAN :: BG.ByteString
sDL_PROP_JOYSTICK_CAP_PLAYER_LED_BOOLEAN =
BG.pack
[ 0x53
, 0x44
, 0x4C
, 0x2E
, 0x6A
, 0x6F
, 0x79
, 0x73
, 0x74
, 0x69
, 0x63
, 0x6B
, 0x2E
, 0x63
, 0x61
, 0x70
, 0x2E
, 0x70
, 0x6C
, 0x61
, 0x79
, 0x65
, 0x72
, 0x5F
, 0x6C
, 0x65
, 0x64
]
-- | [C declaration]: @macro SDL_PROP_JOYSTICK_CAP_RUMBLE_BOOLEAN@, literal @\"SDL.joystick.cap.rumble\"@, defined at @SDL3\/SDL_joystick.h 775:9@
sDL_PROP_JOYSTICK_CAP_RUMBLE_BOOLEAN :: BG.ByteString
sDL_PROP_JOYSTICK_CAP_RUMBLE_BOOLEAN =
BG.pack
[ 0x53
, 0x44
, 0x4C
, 0x2E
, 0x6A
, 0x6F
, 0x79
, 0x73
, 0x74
, 0x69
, 0x63
, 0x6B
, 0x2E
, 0x63
, 0x61
, 0x70
, 0x2E
, 0x72
, 0x75
, 0x6D
, 0x62
, 0x6C
, 0x65
]
-- | [C declaration]: @macro SDL_PROP_JOYSTICK_CAP_TRIGGER_RUMBLE_BOOLEAN@, literal @\"SDL.joystick.cap.trigger_rumble\"@, defined at @SDL3\/SDL_joystick.h 776:9@
sDL_PROP_JOYSTICK_CAP_TRIGGER_RUMBLE_BOOLEAN :: BG.ByteString
sDL_PROP_JOYSTICK_CAP_TRIGGER_RUMBLE_BOOLEAN =
BG.pack
[ 0x53
, 0x44
, 0x4C
, 0x2E
, 0x6A
, 0x6F
, 0x79
, 0x73
, 0x74
, 0x69
, 0x63
, 0x6B
, 0x2E
, 0x63
, 0x61
, 0x70
, 0x2E
, 0x74
, 0x72
, 0x69
, 0x67
, 0x67
, 0x65
, 0x72
, 0x5F
, 0x72
, 0x75
, 0x6D
, 0x62
, 0x6C
, 0x65
]
-- | [C declaration]: @macro SDL_HAT_CENTERED@, defined at @SDL3\/SDL_joystick.h 1212:9@
sDL_HAT_CENTERED :: BG.CUInt
sDL_HAT_CENTERED = (0 :: BG.CUInt)
-- | [C declaration]: @macro SDL_HAT_UP@, defined at @SDL3\/SDL_joystick.h 1213:9@
sDL_HAT_UP :: BG.CUInt
sDL_HAT_UP = (1 :: BG.CUInt)
-- | [C declaration]: @macro SDL_HAT_RIGHT@, defined at @SDL3\/SDL_joystick.h 1214:9@
sDL_HAT_RIGHT :: BG.CUInt
sDL_HAT_RIGHT = (2 :: BG.CUInt)
-- | [C declaration]: @macro SDL_HAT_DOWN@, defined at @SDL3\/SDL_joystick.h 1215:9@
sDL_HAT_DOWN :: BG.CUInt
sDL_HAT_DOWN = (4 :: BG.CUInt)
-- | [C declaration]: @macro SDL_HAT_LEFT@, defined at @SDL3\/SDL_joystick.h 1216:9@
sDL_HAT_LEFT :: BG.CUInt
sDL_HAT_LEFT = (8 :: BG.CUInt)
-- | [C declaration]: @macro SDL_HAT_RIGHTUP@, defined at @SDL3\/SDL_joystick.h 1217:9@
sDL_HAT_RIGHTUP :: BG.CUInt
sDL_HAT_RIGHTUP =
(C.Expr.HostPlatform..|.) sDL_HAT_RIGHT sDL_HAT_UP
-- | [C declaration]: @macro SDL_HAT_RIGHTDOWN@, defined at @SDL3\/SDL_joystick.h 1218:9@
sDL_HAT_RIGHTDOWN :: BG.CUInt
sDL_HAT_RIGHTDOWN =
(C.Expr.HostPlatform..|.) sDL_HAT_RIGHT sDL_HAT_DOWN
-- | [C declaration]: @macro SDL_HAT_LEFTUP@, defined at @SDL3\/SDL_joystick.h 1219:9@
sDL_HAT_LEFTUP :: BG.CUInt
sDL_HAT_LEFTUP =
(C.Expr.HostPlatform..|.) sDL_HAT_LEFT sDL_HAT_UP
-- | [C declaration]: @macro SDL_HAT_LEFTDOWN@, defined at @SDL3\/SDL_joystick.h 1220:9@
sDL_HAT_LEFTDOWN :: BG.CUInt
sDL_HAT_LEFTDOWN =
(C.Expr.HostPlatform..|.) sDL_HAT_LEFT sDL_HAT_DOWN