{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE ExplicitForAll #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UnboxedTuples #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE NoFieldSelectors #-}
{-# LANGUAGE NoImplicitPrelude #-}
module SDL3.Sys.Bindgen.Timer (
SDL3.Sys.Bindgen.Timer.sDL_MS_PER_SECOND,
SDL3.Sys.Bindgen.Timer.sDL_US_PER_SECOND,
SDL3.Sys.Bindgen.Timer.sDL_NS_PER_SECOND,
SDL3.Sys.Bindgen.Timer.sDL_NS_PER_MS,
SDL3.Sys.Bindgen.Timer.sDL_NS_PER_US,
SDL3.Sys.Bindgen.Timer.sDL_NS_TO_SECONDS,
SDL3.Sys.Bindgen.Timer.sDL_NS_TO_MS,
SDL3.Sys.Bindgen.Timer.sDL_NS_TO_US,
SDL3.Sys.Bindgen.Timer.SDL_TimerID (..),
SDL3.Sys.Bindgen.Timer.SDL_TimerCallback_Aux (..),
SDL3.Sys.Bindgen.Timer.SDL_TimerCallback (..),
SDL3.Sys.Bindgen.Timer.SDL_NSTimerCallback_Aux (..),
SDL3.Sys.Bindgen.Timer.SDL_NSTimerCallback (..),
)
where
import Prelude (Bounded, Enum, Eq, IO, Integral, Num, Ord, Read, Real, Show, fmap, type (~))
import C.Expr.HostPlatform qualified
import HsBindgen.Runtime.HasCField qualified as HasCField
import HsBindgen.Runtime.LibC qualified
import HsBindgen.Runtime.Marshal qualified as Marshal
import HsBindgen.Runtime.Support qualified as BG
import HsBindgen.Runtime.Support.CompatHasField qualified as BG.CompatHasField
import SDL3.Sys.Bindgen.Stdinc qualified
sDL_MS_PER_SECOND :: BG.CInt
sDL_MS_PER_SECOND :: CInt
sDL_MS_PER_SECOND = (CInt
1000 :: BG.CInt)
sDL_US_PER_SECOND :: BG.CInt
sDL_US_PER_SECOND :: CInt
sDL_US_PER_SECOND = (CInt
1000000 :: BG.CInt)
sDL_NS_PER_SECOND :: BG.CLLong
sDL_NS_PER_SECOND :: CLLong
sDL_NS_PER_SECOND = (CLLong
1000000000 :: BG.CLLong)
sDL_NS_PER_MS :: BG.CInt
sDL_NS_PER_MS :: CInt
sDL_NS_PER_MS = (CInt
1000000 :: BG.CInt)
sDL_NS_PER_US :: BG.CInt
sDL_NS_PER_US :: CInt
sDL_NS_PER_US = (CInt
1000 :: BG.CInt)
sDL_NS_TO_SECONDS
:: forall a0. (C.Expr.HostPlatform.Div a0 BG.CLLong) => a0 -> C.Expr.HostPlatform.DivRes a0 BG.CLLong
sDL_NS_TO_SECONDS :: forall a0. Div a0 CLLong => a0 -> DivRes a0 CLLong
sDL_NS_TO_SECONDS =
\a0
nS0 -> a0 -> CLLong -> DivRes a0 CLLong
forall a b. Div a b => a -> b -> DivRes a b
(C.Expr.HostPlatform./) a0
nS0 CLLong
sDL_NS_PER_SECOND
sDL_NS_TO_MS
:: forall a0. (C.Expr.HostPlatform.Div a0 BG.CInt) => a0 -> C.Expr.HostPlatform.DivRes a0 BG.CInt
sDL_NS_TO_MS :: forall a0. Div a0 CInt => a0 -> DivRes a0 CInt
sDL_NS_TO_MS =
\a0
nS0 -> a0 -> CInt -> DivRes a0 CInt
forall a b. Div a b => a -> b -> DivRes a b
(C.Expr.HostPlatform./) a0
nS0 CInt
sDL_NS_PER_MS
sDL_NS_TO_US
:: forall a0. (C.Expr.HostPlatform.Div a0 BG.CInt) => a0 -> C.Expr.HostPlatform.DivRes a0 BG.CInt
sDL_NS_TO_US :: forall a0. Div a0 CInt => a0 -> DivRes a0 CInt
sDL_NS_TO_US =
\a0
nS0 -> a0 -> CInt -> DivRes a0 CInt
forall a b. Div a b => a -> b -> DivRes a b
(C.Expr.HostPlatform./) a0
nS0 CInt
sDL_NS_PER_US
newtype SDL_TimerID = SDL_TimerID
{ SDL_TimerID -> Uint32
unwrap :: SDL3.Sys.Bindgen.Stdinc.Uint32
}
deriving stock ((forall x. SDL_TimerID -> Rep SDL_TimerID x)
-> (forall x. Rep SDL_TimerID x -> SDL_TimerID)
-> Generic SDL_TimerID
forall x. Rep SDL_TimerID x -> SDL_TimerID
forall x. SDL_TimerID -> Rep SDL_TimerID x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. SDL_TimerID -> Rep SDL_TimerID x
from :: forall x. SDL_TimerID -> Rep SDL_TimerID x
$cto :: forall x. Rep SDL_TimerID x -> SDL_TimerID
to :: forall x. Rep SDL_TimerID x -> SDL_TimerID
BG.Generic, SDL_TimerID -> SDL_TimerID -> Bool
(SDL_TimerID -> SDL_TimerID -> Bool)
-> (SDL_TimerID -> SDL_TimerID -> Bool) -> Eq SDL_TimerID
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SDL_TimerID -> SDL_TimerID -> Bool
== :: SDL_TimerID -> SDL_TimerID -> Bool
$c/= :: SDL_TimerID -> SDL_TimerID -> Bool
/= :: SDL_TimerID -> SDL_TimerID -> Bool
Eq, Eq SDL_TimerID
Eq SDL_TimerID =>
(SDL_TimerID -> SDL_TimerID -> Ordering)
-> (SDL_TimerID -> SDL_TimerID -> Bool)
-> (SDL_TimerID -> SDL_TimerID -> Bool)
-> (SDL_TimerID -> SDL_TimerID -> Bool)
-> (SDL_TimerID -> SDL_TimerID -> Bool)
-> (SDL_TimerID -> SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> SDL_TimerID -> SDL_TimerID)
-> Ord SDL_TimerID
SDL_TimerID -> SDL_TimerID -> Bool
SDL_TimerID -> SDL_TimerID -> Ordering
SDL_TimerID -> SDL_TimerID -> SDL_TimerID
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: SDL_TimerID -> SDL_TimerID -> Ordering
compare :: SDL_TimerID -> SDL_TimerID -> Ordering
$c< :: SDL_TimerID -> SDL_TimerID -> Bool
< :: SDL_TimerID -> SDL_TimerID -> Bool
$c<= :: SDL_TimerID -> SDL_TimerID -> Bool
<= :: SDL_TimerID -> SDL_TimerID -> Bool
$c> :: SDL_TimerID -> SDL_TimerID -> Bool
> :: SDL_TimerID -> SDL_TimerID -> Bool
$c>= :: SDL_TimerID -> SDL_TimerID -> Bool
>= :: SDL_TimerID -> SDL_TimerID -> Bool
$cmax :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
max :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
$cmin :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
min :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
Ord, ReadPrec [SDL_TimerID]
ReadPrec SDL_TimerID
Int -> ReadS SDL_TimerID
ReadS [SDL_TimerID]
(Int -> ReadS SDL_TimerID)
-> ReadS [SDL_TimerID]
-> ReadPrec SDL_TimerID
-> ReadPrec [SDL_TimerID]
-> Read SDL_TimerID
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS SDL_TimerID
readsPrec :: Int -> ReadS SDL_TimerID
$creadList :: ReadS [SDL_TimerID]
readList :: ReadS [SDL_TimerID]
$creadPrec :: ReadPrec SDL_TimerID
readPrec :: ReadPrec SDL_TimerID
$creadListPrec :: ReadPrec [SDL_TimerID]
readListPrec :: ReadPrec [SDL_TimerID]
Read, Int -> SDL_TimerID -> ShowS
[SDL_TimerID] -> ShowS
SDL_TimerID -> String
(Int -> SDL_TimerID -> ShowS)
-> (SDL_TimerID -> String)
-> ([SDL_TimerID] -> ShowS)
-> Show SDL_TimerID
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SDL_TimerID -> ShowS
showsPrec :: Int -> SDL_TimerID -> ShowS
$cshow :: SDL_TimerID -> String
show :: SDL_TimerID -> String
$cshowList :: [SDL_TimerID] -> ShowS
showList :: [SDL_TimerID] -> ShowS
Show)
deriving newtype
( Word64 -> Int -> SDL_TimerID
SDL_TimerID -> Int -> Word64
(SDL_TimerID -> Int -> Word64)
-> (Word64 -> Int -> SDL_TimerID) -> Bitfield SDL_TimerID
forall a.
(a -> Int -> Word64) -> (Word64 -> Int -> a) -> Bitfield a
$cnarrow :: SDL_TimerID -> Int -> Word64
narrow :: SDL_TimerID -> Int -> Word64
$cextend :: Word64 -> Int -> SDL_TimerID
extend :: Word64 -> Int -> SDL_TimerID
BG.Bitfield
, Eq SDL_TimerID
SDL_TimerID
Eq SDL_TimerID =>
(SDL_TimerID -> SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> Int -> SDL_TimerID)
-> (SDL_TimerID -> Int -> SDL_TimerID)
-> SDL_TimerID
-> (Int -> SDL_TimerID)
-> (SDL_TimerID -> Int -> SDL_TimerID)
-> (SDL_TimerID -> Int -> SDL_TimerID)
-> (SDL_TimerID -> Int -> SDL_TimerID)
-> (SDL_TimerID -> Int -> Bool)
-> (SDL_TimerID -> Maybe Int)
-> (SDL_TimerID -> Int)
-> (SDL_TimerID -> Bool)
-> (SDL_TimerID -> Int -> SDL_TimerID)
-> (SDL_TimerID -> Int -> SDL_TimerID)
-> (SDL_TimerID -> Int -> SDL_TimerID)
-> (SDL_TimerID -> Int -> SDL_TimerID)
-> (SDL_TimerID -> Int -> SDL_TimerID)
-> (SDL_TimerID -> Int -> SDL_TimerID)
-> (SDL_TimerID -> Int)
-> Bits SDL_TimerID
Int -> SDL_TimerID
SDL_TimerID -> Bool
SDL_TimerID -> Int
SDL_TimerID -> Maybe Int
SDL_TimerID -> SDL_TimerID
SDL_TimerID -> Int -> Bool
SDL_TimerID -> Int -> SDL_TimerID
SDL_TimerID -> SDL_TimerID -> SDL_TimerID
forall a.
Eq a =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
$c.&. :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
.&. :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
$c.|. :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
.|. :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
$cxor :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
xor :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
$ccomplement :: SDL_TimerID -> SDL_TimerID
complement :: SDL_TimerID -> SDL_TimerID
$cshift :: SDL_TimerID -> Int -> SDL_TimerID
shift :: SDL_TimerID -> Int -> SDL_TimerID
$crotate :: SDL_TimerID -> Int -> SDL_TimerID
rotate :: SDL_TimerID -> Int -> SDL_TimerID
$czeroBits :: SDL_TimerID
zeroBits :: SDL_TimerID
$cbit :: Int -> SDL_TimerID
bit :: Int -> SDL_TimerID
$csetBit :: SDL_TimerID -> Int -> SDL_TimerID
setBit :: SDL_TimerID -> Int -> SDL_TimerID
$cclearBit :: SDL_TimerID -> Int -> SDL_TimerID
clearBit :: SDL_TimerID -> Int -> SDL_TimerID
$ccomplementBit :: SDL_TimerID -> Int -> SDL_TimerID
complementBit :: SDL_TimerID -> Int -> SDL_TimerID
$ctestBit :: SDL_TimerID -> Int -> Bool
testBit :: SDL_TimerID -> Int -> Bool
$cbitSizeMaybe :: SDL_TimerID -> Maybe Int
bitSizeMaybe :: SDL_TimerID -> Maybe Int
$cbitSize :: SDL_TimerID -> Int
bitSize :: SDL_TimerID -> Int
$cisSigned :: SDL_TimerID -> Bool
isSigned :: SDL_TimerID -> Bool
$cshiftL :: SDL_TimerID -> Int -> SDL_TimerID
shiftL :: SDL_TimerID -> Int -> SDL_TimerID
$cunsafeShiftL :: SDL_TimerID -> Int -> SDL_TimerID
unsafeShiftL :: SDL_TimerID -> Int -> SDL_TimerID
$cshiftR :: SDL_TimerID -> Int -> SDL_TimerID
shiftR :: SDL_TimerID -> Int -> SDL_TimerID
$cunsafeShiftR :: SDL_TimerID -> Int -> SDL_TimerID
unsafeShiftR :: SDL_TimerID -> Int -> SDL_TimerID
$crotateL :: SDL_TimerID -> Int -> SDL_TimerID
rotateL :: SDL_TimerID -> Int -> SDL_TimerID
$crotateR :: SDL_TimerID -> Int -> SDL_TimerID
rotateR :: SDL_TimerID -> Int -> SDL_TimerID
$cpopCount :: SDL_TimerID -> Int
popCount :: SDL_TimerID -> Int
BG.Bits
, Bits SDL_TimerID
Bits SDL_TimerID =>
(SDL_TimerID -> Int)
-> (SDL_TimerID -> Int)
-> (SDL_TimerID -> Int)
-> FiniteBits SDL_TimerID
SDL_TimerID -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: SDL_TimerID -> Int
finiteBitSize :: SDL_TimerID -> Int
$ccountLeadingZeros :: SDL_TimerID -> Int
countLeadingZeros :: SDL_TimerID -> Int
$ccountTrailingZeros :: SDL_TimerID -> Int
countTrailingZeros :: SDL_TimerID -> Int
BG.FiniteBits
, FFIType SDL_TimerID -> SDL_TimerID
SDL_TimerID -> FFIType SDL_TimerID
(SDL_TimerID -> FFIType SDL_TimerID)
-> (FFIType SDL_TimerID -> SDL_TimerID) -> HasFFIType SDL_TimerID
forall a. (a -> FFIType a) -> (FFIType a -> a) -> HasFFIType a
$ctoFFIType :: SDL_TimerID -> FFIType SDL_TimerID
toFFIType :: SDL_TimerID -> FFIType SDL_TimerID
$cfromFFIType :: FFIType SDL_TimerID -> SDL_TimerID
fromFFIType :: FFIType SDL_TimerID -> SDL_TimerID
BG.HasFFIType
, Ord SDL_TimerID
Ord SDL_TimerID =>
((SDL_TimerID, SDL_TimerID) -> [SDL_TimerID])
-> ((SDL_TimerID, SDL_TimerID) -> SDL_TimerID -> Int)
-> ((SDL_TimerID, SDL_TimerID) -> SDL_TimerID -> Int)
-> ((SDL_TimerID, SDL_TimerID) -> SDL_TimerID -> Bool)
-> ((SDL_TimerID, SDL_TimerID) -> Int)
-> ((SDL_TimerID, SDL_TimerID) -> Int)
-> Ix SDL_TimerID
(SDL_TimerID, SDL_TimerID) -> Int
(SDL_TimerID, SDL_TimerID) -> [SDL_TimerID]
(SDL_TimerID, SDL_TimerID) -> SDL_TimerID -> Bool
(SDL_TimerID, SDL_TimerID) -> SDL_TimerID -> Int
forall a.
Ord a =>
((a, a) -> [a])
-> ((a, a) -> a -> Int)
-> ((a, a) -> a -> Int)
-> ((a, a) -> a -> Bool)
-> ((a, a) -> Int)
-> ((a, a) -> Int)
-> Ix a
$crange :: (SDL_TimerID, SDL_TimerID) -> [SDL_TimerID]
range :: (SDL_TimerID, SDL_TimerID) -> [SDL_TimerID]
$cindex :: (SDL_TimerID, SDL_TimerID) -> SDL_TimerID -> Int
index :: (SDL_TimerID, SDL_TimerID) -> SDL_TimerID -> Int
$cunsafeIndex :: (SDL_TimerID, SDL_TimerID) -> SDL_TimerID -> Int
unsafeIndex :: (SDL_TimerID, SDL_TimerID) -> SDL_TimerID -> Int
$cinRange :: (SDL_TimerID, SDL_TimerID) -> SDL_TimerID -> Bool
inRange :: (SDL_TimerID, SDL_TimerID) -> SDL_TimerID -> Bool
$crangeSize :: (SDL_TimerID, SDL_TimerID) -> Int
rangeSize :: (SDL_TimerID, SDL_TimerID) -> Int
$cunsafeRangeSize :: (SDL_TimerID, SDL_TimerID) -> Int
unsafeRangeSize :: (SDL_TimerID, SDL_TimerID) -> Int
BG.Ix
, Addr# -> Int# -> SDL_TimerID
ByteArray# -> Int# -> SDL_TimerID
Proxy SDL_TimerID -> Int#
SDL_TimerID -> Int#
(Proxy SDL_TimerID -> Int#)
-> (SDL_TimerID -> Int#)
-> (Proxy SDL_TimerID -> Int#)
-> (SDL_TimerID -> Int#)
-> (ByteArray# -> Int# -> SDL_TimerID)
-> (forall s.
MutableByteArray# s
-> Int# -> State# s -> (# State# s, SDL_TimerID #))
-> (forall s.
MutableByteArray# s -> Int# -> SDL_TimerID -> State# s -> State# s)
-> (forall s.
MutableByteArray# s
-> Int# -> Int# -> SDL_TimerID -> State# s -> State# s)
-> (Addr# -> Int# -> SDL_TimerID)
-> (forall s.
Addr# -> Int# -> State# s -> (# State# s, SDL_TimerID #))
-> (forall s. Addr# -> Int# -> SDL_TimerID -> State# s -> State# s)
-> (forall s.
Addr# -> Int# -> Int# -> SDL_TimerID -> State# s -> State# s)
-> Prim SDL_TimerID
forall s.
Addr# -> Int# -> Int# -> SDL_TimerID -> State# s -> State# s
forall s. Addr# -> Int# -> State# s -> (# State# s, SDL_TimerID #)
forall s. Addr# -> Int# -> SDL_TimerID -> State# s -> State# s
forall s.
MutableByteArray# s
-> Int# -> Int# -> SDL_TimerID -> State# s -> State# s
forall s.
MutableByteArray# s
-> Int# -> State# s -> (# State# s, SDL_TimerID #)
forall s.
MutableByteArray# s -> Int# -> SDL_TimerID -> State# s -> State# s
forall a.
(Proxy a -> Int#)
-> (a -> Int#)
-> (Proxy a -> Int#)
-> (a -> Int#)
-> (ByteArray# -> Int# -> a)
-> (forall s.
MutableByteArray# s -> Int# -> State# s -> (# State# s, a #))
-> (forall s.
MutableByteArray# s -> Int# -> a -> State# s -> State# s)
-> (forall s.
MutableByteArray# s -> Int# -> Int# -> a -> State# s -> State# s)
-> (Addr# -> Int# -> a)
-> (forall s. Addr# -> Int# -> State# s -> (# State# s, a #))
-> (forall s. Addr# -> Int# -> a -> State# s -> State# s)
-> (forall s. Addr# -> Int# -> Int# -> a -> State# s -> State# s)
-> Prim a
$csizeOfType# :: Proxy SDL_TimerID -> Int#
sizeOfType# :: Proxy SDL_TimerID -> Int#
$csizeOf# :: SDL_TimerID -> Int#
sizeOf# :: SDL_TimerID -> Int#
$calignmentOfType# :: Proxy SDL_TimerID -> Int#
alignmentOfType# :: Proxy SDL_TimerID -> Int#
$calignment# :: SDL_TimerID -> Int#
alignment# :: SDL_TimerID -> Int#
$cindexByteArray# :: ByteArray# -> Int# -> SDL_TimerID
indexByteArray# :: ByteArray# -> Int# -> SDL_TimerID
$creadByteArray# :: forall s.
MutableByteArray# s
-> Int# -> State# s -> (# State# s, SDL_TimerID #)
readByteArray# :: forall s.
MutableByteArray# s
-> Int# -> State# s -> (# State# s, SDL_TimerID #)
$cwriteByteArray# :: forall s.
MutableByteArray# s -> Int# -> SDL_TimerID -> State# s -> State# s
writeByteArray# :: forall s.
MutableByteArray# s -> Int# -> SDL_TimerID -> State# s -> State# s
$csetByteArray# :: forall s.
MutableByteArray# s
-> Int# -> Int# -> SDL_TimerID -> State# s -> State# s
setByteArray# :: forall s.
MutableByteArray# s
-> Int# -> Int# -> SDL_TimerID -> State# s -> State# s
$cindexOffAddr# :: Addr# -> Int# -> SDL_TimerID
indexOffAddr# :: Addr# -> Int# -> SDL_TimerID
$creadOffAddr# :: forall s. Addr# -> Int# -> State# s -> (# State# s, SDL_TimerID #)
readOffAddr# :: forall s. Addr# -> Int# -> State# s -> (# State# s, SDL_TimerID #)
$cwriteOffAddr# :: forall s. Addr# -> Int# -> SDL_TimerID -> State# s -> State# s
writeOffAddr# :: forall s. Addr# -> Int# -> SDL_TimerID -> State# s -> State# s
$csetOffAddr# :: forall s.
Addr# -> Int# -> Int# -> SDL_TimerID -> State# s -> State# s
setOffAddr# :: forall s.
Addr# -> Int# -> Int# -> SDL_TimerID -> State# s -> State# s
BG.Prim
, Ptr SDL_TimerID -> IO SDL_TimerID
Ptr SDL_TimerID -> Int -> IO SDL_TimerID
Ptr SDL_TimerID -> Int -> SDL_TimerID -> IO ()
Ptr SDL_TimerID -> SDL_TimerID -> IO ()
SDL_TimerID -> Int
(SDL_TimerID -> Int)
-> (SDL_TimerID -> Int)
-> (Ptr SDL_TimerID -> Int -> IO SDL_TimerID)
-> (Ptr SDL_TimerID -> Int -> SDL_TimerID -> IO ())
-> (forall b. Ptr b -> Int -> IO SDL_TimerID)
-> (forall b. Ptr b -> Int -> SDL_TimerID -> IO ())
-> (Ptr SDL_TimerID -> IO SDL_TimerID)
-> (Ptr SDL_TimerID -> SDL_TimerID -> IO ())
-> Storable SDL_TimerID
forall b. Ptr b -> Int -> IO SDL_TimerID
forall b. Ptr b -> Int -> SDL_TimerID -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
$csizeOf :: SDL_TimerID -> Int
sizeOf :: SDL_TimerID -> Int
$calignment :: SDL_TimerID -> Int
alignment :: SDL_TimerID -> Int
$cpeekElemOff :: Ptr SDL_TimerID -> Int -> IO SDL_TimerID
peekElemOff :: Ptr SDL_TimerID -> Int -> IO SDL_TimerID
$cpokeElemOff :: Ptr SDL_TimerID -> Int -> SDL_TimerID -> IO ()
pokeElemOff :: Ptr SDL_TimerID -> Int -> SDL_TimerID -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO SDL_TimerID
peekByteOff :: forall b. Ptr b -> Int -> IO SDL_TimerID
$cpokeByteOff :: forall b. Ptr b -> Int -> SDL_TimerID -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> SDL_TimerID -> IO ()
$cpeek :: Ptr SDL_TimerID -> IO SDL_TimerID
peek :: Ptr SDL_TimerID -> IO SDL_TimerID
$cpoke :: Ptr SDL_TimerID -> SDL_TimerID -> IO ()
poke :: Ptr SDL_TimerID -> SDL_TimerID -> IO ()
BG.Storable
, SDL_TimerID
SDL_TimerID -> SDL_TimerID -> Bounded SDL_TimerID
forall a. a -> a -> Bounded a
$cminBound :: SDL_TimerID
minBound :: SDL_TimerID
$cmaxBound :: SDL_TimerID
maxBound :: SDL_TimerID
Bounded
, Int -> SDL_TimerID
SDL_TimerID -> Int
SDL_TimerID -> [SDL_TimerID]
SDL_TimerID -> SDL_TimerID
SDL_TimerID -> SDL_TimerID -> [SDL_TimerID]
SDL_TimerID -> SDL_TimerID -> SDL_TimerID -> [SDL_TimerID]
(SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> SDL_TimerID)
-> (Int -> SDL_TimerID)
-> (SDL_TimerID -> Int)
-> (SDL_TimerID -> [SDL_TimerID])
-> (SDL_TimerID -> SDL_TimerID -> [SDL_TimerID])
-> (SDL_TimerID -> SDL_TimerID -> [SDL_TimerID])
-> (SDL_TimerID -> SDL_TimerID -> SDL_TimerID -> [SDL_TimerID])
-> Enum SDL_TimerID
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: SDL_TimerID -> SDL_TimerID
succ :: SDL_TimerID -> SDL_TimerID
$cpred :: SDL_TimerID -> SDL_TimerID
pred :: SDL_TimerID -> SDL_TimerID
$ctoEnum :: Int -> SDL_TimerID
toEnum :: Int -> SDL_TimerID
$cfromEnum :: SDL_TimerID -> Int
fromEnum :: SDL_TimerID -> Int
$cenumFrom :: SDL_TimerID -> [SDL_TimerID]
enumFrom :: SDL_TimerID -> [SDL_TimerID]
$cenumFromThen :: SDL_TimerID -> SDL_TimerID -> [SDL_TimerID]
enumFromThen :: SDL_TimerID -> SDL_TimerID -> [SDL_TimerID]
$cenumFromTo :: SDL_TimerID -> SDL_TimerID -> [SDL_TimerID]
enumFromTo :: SDL_TimerID -> SDL_TimerID -> [SDL_TimerID]
$cenumFromThenTo :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID -> [SDL_TimerID]
enumFromThenTo :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID -> [SDL_TimerID]
Enum
, Enum SDL_TimerID
Real SDL_TimerID
(Real SDL_TimerID, Enum SDL_TimerID) =>
(SDL_TimerID -> SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> SDL_TimerID -> (SDL_TimerID, SDL_TimerID))
-> (SDL_TimerID -> SDL_TimerID -> (SDL_TimerID, SDL_TimerID))
-> (SDL_TimerID -> Integer)
-> Integral SDL_TimerID
SDL_TimerID -> Integer
SDL_TimerID -> SDL_TimerID -> (SDL_TimerID, SDL_TimerID)
SDL_TimerID -> SDL_TimerID -> SDL_TimerID
forall a.
(Real a, Enum a) =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> (a, a))
-> (a -> a -> (a, a))
-> (a -> Integer)
-> Integral a
$cquot :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
quot :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
$crem :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
rem :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
$cdiv :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
div :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
$cmod :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
mod :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
$cquotRem :: SDL_TimerID -> SDL_TimerID -> (SDL_TimerID, SDL_TimerID)
quotRem :: SDL_TimerID -> SDL_TimerID -> (SDL_TimerID, SDL_TimerID)
$cdivMod :: SDL_TimerID -> SDL_TimerID -> (SDL_TimerID, SDL_TimerID)
divMod :: SDL_TimerID -> SDL_TimerID -> (SDL_TimerID, SDL_TimerID)
$ctoInteger :: SDL_TimerID -> Integer
toInteger :: SDL_TimerID -> Integer
Integral
, Ptr SDL_TimerID -> IO SDL_TimerID
(Ptr SDL_TimerID -> IO SDL_TimerID) -> ReadRaw SDL_TimerID
forall a. (Ptr a -> IO a) -> ReadRaw a
$creadRaw :: Ptr SDL_TimerID -> IO SDL_TimerID
readRaw :: Ptr SDL_TimerID -> IO SDL_TimerID
Marshal.ReadRaw
, Proxy SDL_TimerID -> Int
(Proxy SDL_TimerID -> Int)
-> (Proxy SDL_TimerID -> Int) -> StaticSize SDL_TimerID
forall a. (Proxy a -> Int) -> (Proxy a -> Int) -> StaticSize a
$cstaticSizeOf :: Proxy SDL_TimerID -> Int
staticSizeOf :: Proxy SDL_TimerID -> Int
$cstaticAlignment :: Proxy SDL_TimerID -> Int
staticAlignment :: Proxy SDL_TimerID -> Int
Marshal.StaticSize
, Ptr SDL_TimerID -> SDL_TimerID -> IO ()
(Ptr SDL_TimerID -> SDL_TimerID -> IO ()) -> WriteRaw SDL_TimerID
forall a. (Ptr a -> a -> IO ()) -> WriteRaw a
$cwriteRaw :: Ptr SDL_TimerID -> SDL_TimerID -> IO ()
writeRaw :: Ptr SDL_TimerID -> SDL_TimerID -> IO ()
Marshal.WriteRaw
, Integer -> SDL_TimerID
SDL_TimerID -> SDL_TimerID
SDL_TimerID -> SDL_TimerID -> SDL_TimerID
(SDL_TimerID -> SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> SDL_TimerID)
-> (SDL_TimerID -> SDL_TimerID)
-> (Integer -> SDL_TimerID)
-> Num SDL_TimerID
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
$c+ :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
+ :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
$c- :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
- :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
$c* :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
* :: SDL_TimerID -> SDL_TimerID -> SDL_TimerID
$cnegate :: SDL_TimerID -> SDL_TimerID
negate :: SDL_TimerID -> SDL_TimerID
$cabs :: SDL_TimerID -> SDL_TimerID
abs :: SDL_TimerID -> SDL_TimerID
$csignum :: SDL_TimerID -> SDL_TimerID
signum :: SDL_TimerID -> SDL_TimerID
$cfromInteger :: Integer -> SDL_TimerID
fromInteger :: Integer -> SDL_TimerID
Num
, Num SDL_TimerID
Ord SDL_TimerID
(Num SDL_TimerID, Ord SDL_TimerID) =>
(SDL_TimerID -> Rational) -> Real SDL_TimerID
SDL_TimerID -> Rational
forall a. (Num a, Ord a) => (a -> Rational) -> Real a
$ctoRational :: SDL_TimerID -> Rational
toRational :: SDL_TimerID -> Rational
Real
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint32)
=> BG.CompatHasField.HasField "unwrap" SDL_TimerID ty
where
hasField :: SDL_TimerID -> (ty -> SDL_TimerID, ty)
hasField =
\SDL_TimerID
x0 ->
( \ty
y1 ->
SDL_TimerID{unwrap :: Uint32
unwrap = ty
Uint32
y1}
, forall {k} (x :: k) r a. HasField x r a => r -> a
forall (x :: Symbol) r a. HasField x r a => r -> a
BG.getField @"unwrap" SDL_TimerID
x0
)
instance
(ty ~ SDL3.Sys.Bindgen.Stdinc.Uint32)
=> BG.HasField "unwrap" (BG.Ptr SDL_TimerID) (BG.Ptr ty)
where
getField :: Ptr SDL_TimerID -> Ptr ty
getField = Proxy "unwrap"
-> Ptr SDL_TimerID -> Ptr (CFieldType SDL_TimerID "unwrap")
forall a (field :: Symbol).
HasCField a field =>
Proxy field -> Ptr a -> Ptr (CFieldType a field)
HasCField.fromPtr (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"unwrap")
instance HasCField.HasCField SDL_TimerID "unwrap" where
type
CFieldType SDL_TimerID "unwrap" =
SDL3.Sys.Bindgen.Stdinc.Uint32
offset# :: Proxy# SDL_TimerID -> Proxy# "unwrap" -> Int
offset# = \Proxy# SDL_TimerID
_ -> \Proxy# "unwrap"
_ -> Int
0
newtype SDL_TimerCallback_Aux = SDL_TimerCallback_Aux
{ SDL_TimerCallback_Aux
-> Ptr Void -> SDL_TimerID -> Uint32 -> IO Uint32
unwrap
:: BG.Ptr BG.Void -> SDL_TimerID -> SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO SDL3.Sys.Bindgen.Stdinc.Uint32
}
deriving stock ((forall x. SDL_TimerCallback_Aux -> Rep SDL_TimerCallback_Aux x)
-> (forall x. Rep SDL_TimerCallback_Aux x -> SDL_TimerCallback_Aux)
-> Generic SDL_TimerCallback_Aux
forall x. Rep SDL_TimerCallback_Aux x -> SDL_TimerCallback_Aux
forall x. SDL_TimerCallback_Aux -> Rep SDL_TimerCallback_Aux x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. SDL_TimerCallback_Aux -> Rep SDL_TimerCallback_Aux x
from :: forall x. SDL_TimerCallback_Aux -> Rep SDL_TimerCallback_Aux x
$cto :: forall x. Rep SDL_TimerCallback_Aux x -> SDL_TimerCallback_Aux
to :: forall x. Rep SDL_TimerCallback_Aux x -> SDL_TimerCallback_Aux
BG.Generic)
foreign import ccall safe "wrapper"
hs_bindgen_a49c51828ca7c2b2_base
:: ( BG.Ptr BG.Void
-> HsBindgen.Runtime.LibC.Word32
-> HsBindgen.Runtime.LibC.Word32
-> IO HsBindgen.Runtime.LibC.Word32
)
-> IO
( BG.FunPtr
( BG.Ptr BG.Void
-> HsBindgen.Runtime.LibC.Word32
-> HsBindgen.Runtime.LibC.Word32
-> IO HsBindgen.Runtime.LibC.Word32
)
)
hs_bindgen_a49c51828ca7c2b2
:: SDL_TimerCallback_Aux
-> IO (BG.FunPtr SDL_TimerCallback_Aux)
hs_bindgen_a49c51828ca7c2b2 :: SDL_TimerCallback_Aux -> IO (FunPtr SDL_TimerCallback_Aux)
hs_bindgen_a49c51828ca7c2b2 =
\SDL_TimerCallback_Aux
fun0 ->
(FunPtr (Ptr Void -> Word32 -> Word32 -> IO Word32)
-> FunPtr SDL_TimerCallback_Aux)
-> IO (FunPtr (Ptr Void -> Word32 -> Word32 -> IO Word32))
-> IO (FunPtr SDL_TimerCallback_Aux)
forall a b. (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap
FunPtr (Ptr Void -> Word32 -> Word32 -> IO Word32)
-> FunPtr SDL_TimerCallback_Aux
forall a b. FunPtr a -> FunPtr b
BG.castFunPtr
( (Ptr Void -> Word32 -> Word32 -> IO Word32)
-> IO (FunPtr (Ptr Void -> Word32 -> Word32 -> IO Word32))
hs_bindgen_a49c51828ca7c2b2_base
( \Ptr Void
x1 ->
\Word32
x2 ->
\Word32
x3 ->
(Uint32 -> Word32) -> IO Uint32 -> IO Word32
forall a b. (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap
Uint32 -> Word32
Uint32 -> FFIType Uint32
forall a. HasFFIType a => a -> FFIType a
BG.toFFIType
(forall {k} (x :: k) r a. HasField x r a => r -> a
forall (x :: Symbol) r a. HasField x r a => r -> a
BG.getField @"unwrap" SDL_TimerCallback_Aux
fun0 (FFIType (Ptr Void) -> Ptr Void
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType Ptr Void
FFIType (Ptr Void)
x1) (FFIType SDL_TimerID -> SDL_TimerID
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType Word32
FFIType SDL_TimerID
x2) (FFIType Uint32 -> Uint32
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType Word32
FFIType Uint32
x3))
)
)
foreign import ccall safe "dynamic"
hs_bindgen_fecf80520b47dfb6_base
:: BG.FunPtr
( BG.Ptr BG.Void
-> HsBindgen.Runtime.LibC.Word32
-> HsBindgen.Runtime.LibC.Word32
-> IO HsBindgen.Runtime.LibC.Word32
)
-> BG.Ptr BG.Void
-> HsBindgen.Runtime.LibC.Word32
-> HsBindgen.Runtime.LibC.Word32
-> IO HsBindgen.Runtime.LibC.Word32
hs_bindgen_fecf80520b47dfb6
:: BG.FunPtr SDL_TimerCallback_Aux
-> SDL_TimerCallback_Aux
hs_bindgen_fecf80520b47dfb6 :: FunPtr SDL_TimerCallback_Aux -> SDL_TimerCallback_Aux
hs_bindgen_fecf80520b47dfb6 =
\FunPtr SDL_TimerCallback_Aux
funPtr0 ->
(Ptr Void -> SDL_TimerID -> Uint32 -> IO Uint32)
-> SDL_TimerCallback_Aux
SDL_TimerCallback_Aux
( \Ptr Void
x1 ->
\SDL_TimerID
x2 ->
\Uint32
x3 ->
(Word32 -> Uint32) -> IO Word32 -> IO Uint32
forall a b. (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap
Word32 -> Uint32
FFIType Uint32 -> Uint32
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType
( FunPtr (Ptr Void -> Word32 -> Word32 -> IO Word32)
-> Ptr Void -> Word32 -> Word32 -> IO Word32
hs_bindgen_fecf80520b47dfb6_base
(FunPtr SDL_TimerCallback_Aux
-> FunPtr (Ptr Void -> Word32 -> Word32 -> IO Word32)
forall a b. FunPtr a -> FunPtr b
BG.castFunPtr FunPtr SDL_TimerCallback_Aux
funPtr0)
(Ptr Void -> FFIType (Ptr Void)
forall a. HasFFIType a => a -> FFIType a
BG.toFFIType Ptr Void
x1)
(SDL_TimerID -> FFIType SDL_TimerID
forall a. HasFFIType a => a -> FFIType a
BG.toFFIType SDL_TimerID
x2)
(Uint32 -> FFIType Uint32
forall a. HasFFIType a => a -> FFIType a
BG.toFFIType Uint32
x3)
)
)
instance BG.ToFunPtr SDL_TimerCallback_Aux where
toFunPtr :: SDL_TimerCallback_Aux -> IO (FunPtr SDL_TimerCallback_Aux)
toFunPtr = SDL_TimerCallback_Aux -> IO (FunPtr SDL_TimerCallback_Aux)
hs_bindgen_a49c51828ca7c2b2
instance BG.FromFunPtr SDL_TimerCallback_Aux where
fromFunPtr :: FunPtr SDL_TimerCallback_Aux -> SDL_TimerCallback_Aux
fromFunPtr = FunPtr SDL_TimerCallback_Aux -> SDL_TimerCallback_Aux
hs_bindgen_fecf80520b47dfb6
instance
( ty
~ (BG.Ptr BG.Void -> SDL_TimerID -> SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO SDL3.Sys.Bindgen.Stdinc.Uint32)
)
=> BG.CompatHasField.HasField "unwrap" SDL_TimerCallback_Aux ty
where
hasField :: SDL_TimerCallback_Aux -> (ty -> SDL_TimerCallback_Aux, ty)
hasField =
\SDL_TimerCallback_Aux
x0 ->
( \ty
y1 ->
SDL_TimerCallback_Aux{unwrap :: Ptr Void -> SDL_TimerID -> Uint32 -> IO Uint32
unwrap = ty
Ptr Void -> SDL_TimerID -> Uint32 -> IO Uint32
y1}
, forall {k} (x :: k) r a. HasField x r a => r -> a
forall (x :: Symbol) r a. HasField x r a => r -> a
BG.getField @"unwrap" SDL_TimerCallback_Aux
x0
)
instance
( ty
~ (BG.Ptr BG.Void -> SDL_TimerID -> SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO SDL3.Sys.Bindgen.Stdinc.Uint32)
)
=> BG.HasField "unwrap" (BG.Ptr SDL_TimerCallback_Aux) (BG.Ptr ty)
where
getField :: Ptr SDL_TimerCallback_Aux -> Ptr ty
getField = Proxy "unwrap"
-> Ptr SDL_TimerCallback_Aux
-> Ptr (CFieldType SDL_TimerCallback_Aux "unwrap")
forall a (field :: Symbol).
HasCField a field =>
Proxy field -> Ptr a -> Ptr (CFieldType a field)
HasCField.fromPtr (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"unwrap")
instance HasCField.HasCField SDL_TimerCallback_Aux "unwrap" where
type
CFieldType SDL_TimerCallback_Aux "unwrap" =
BG.Ptr BG.Void -> SDL_TimerID -> SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO SDL3.Sys.Bindgen.Stdinc.Uint32
offset# :: Proxy# SDL_TimerCallback_Aux -> Proxy# "unwrap" -> Int
offset# = \Proxy# SDL_TimerCallback_Aux
_ -> \Proxy# "unwrap"
_ -> Int
0
newtype SDL_TimerCallback = SDL_TimerCallback
{ SDL_TimerCallback -> FunPtr SDL_TimerCallback_Aux
unwrap :: BG.FunPtr SDL_TimerCallback_Aux
}
deriving stock ((forall x. SDL_TimerCallback -> Rep SDL_TimerCallback x)
-> (forall x. Rep SDL_TimerCallback x -> SDL_TimerCallback)
-> Generic SDL_TimerCallback
forall x. Rep SDL_TimerCallback x -> SDL_TimerCallback
forall x. SDL_TimerCallback -> Rep SDL_TimerCallback x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. SDL_TimerCallback -> Rep SDL_TimerCallback x
from :: forall x. SDL_TimerCallback -> Rep SDL_TimerCallback x
$cto :: forall x. Rep SDL_TimerCallback x -> SDL_TimerCallback
to :: forall x. Rep SDL_TimerCallback x -> SDL_TimerCallback
BG.Generic, SDL_TimerCallback -> SDL_TimerCallback -> Bool
(SDL_TimerCallback -> SDL_TimerCallback -> Bool)
-> (SDL_TimerCallback -> SDL_TimerCallback -> Bool)
-> Eq SDL_TimerCallback
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SDL_TimerCallback -> SDL_TimerCallback -> Bool
== :: SDL_TimerCallback -> SDL_TimerCallback -> Bool
$c/= :: SDL_TimerCallback -> SDL_TimerCallback -> Bool
/= :: SDL_TimerCallback -> SDL_TimerCallback -> Bool
Eq, Eq SDL_TimerCallback
Eq SDL_TimerCallback =>
(SDL_TimerCallback -> SDL_TimerCallback -> Ordering)
-> (SDL_TimerCallback -> SDL_TimerCallback -> Bool)
-> (SDL_TimerCallback -> SDL_TimerCallback -> Bool)
-> (SDL_TimerCallback -> SDL_TimerCallback -> Bool)
-> (SDL_TimerCallback -> SDL_TimerCallback -> Bool)
-> (SDL_TimerCallback -> SDL_TimerCallback -> SDL_TimerCallback)
-> (SDL_TimerCallback -> SDL_TimerCallback -> SDL_TimerCallback)
-> Ord SDL_TimerCallback
SDL_TimerCallback -> SDL_TimerCallback -> Bool
SDL_TimerCallback -> SDL_TimerCallback -> Ordering
SDL_TimerCallback -> SDL_TimerCallback -> SDL_TimerCallback
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: SDL_TimerCallback -> SDL_TimerCallback -> Ordering
compare :: SDL_TimerCallback -> SDL_TimerCallback -> Ordering
$c< :: SDL_TimerCallback -> SDL_TimerCallback -> Bool
< :: SDL_TimerCallback -> SDL_TimerCallback -> Bool
$c<= :: SDL_TimerCallback -> SDL_TimerCallback -> Bool
<= :: SDL_TimerCallback -> SDL_TimerCallback -> Bool
$c> :: SDL_TimerCallback -> SDL_TimerCallback -> Bool
> :: SDL_TimerCallback -> SDL_TimerCallback -> Bool
$c>= :: SDL_TimerCallback -> SDL_TimerCallback -> Bool
>= :: SDL_TimerCallback -> SDL_TimerCallback -> Bool
$cmax :: SDL_TimerCallback -> SDL_TimerCallback -> SDL_TimerCallback
max :: SDL_TimerCallback -> SDL_TimerCallback -> SDL_TimerCallback
$cmin :: SDL_TimerCallback -> SDL_TimerCallback -> SDL_TimerCallback
min :: SDL_TimerCallback -> SDL_TimerCallback -> SDL_TimerCallback
Ord, Int -> SDL_TimerCallback -> ShowS
[SDL_TimerCallback] -> ShowS
SDL_TimerCallback -> String
(Int -> SDL_TimerCallback -> ShowS)
-> (SDL_TimerCallback -> String)
-> ([SDL_TimerCallback] -> ShowS)
-> Show SDL_TimerCallback
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SDL_TimerCallback -> ShowS
showsPrec :: Int -> SDL_TimerCallback -> ShowS
$cshow :: SDL_TimerCallback -> String
show :: SDL_TimerCallback -> String
$cshowList :: [SDL_TimerCallback] -> ShowS
showList :: [SDL_TimerCallback] -> ShowS
Show)
deriving newtype
( FFIType SDL_TimerCallback -> SDL_TimerCallback
SDL_TimerCallback -> FFIType SDL_TimerCallback
(SDL_TimerCallback -> FFIType SDL_TimerCallback)
-> (FFIType SDL_TimerCallback -> SDL_TimerCallback)
-> HasFFIType SDL_TimerCallback
forall a. (a -> FFIType a) -> (FFIType a -> a) -> HasFFIType a
$ctoFFIType :: SDL_TimerCallback -> FFIType SDL_TimerCallback
toFFIType :: SDL_TimerCallback -> FFIType SDL_TimerCallback
$cfromFFIType :: FFIType SDL_TimerCallback -> SDL_TimerCallback
fromFFIType :: FFIType SDL_TimerCallback -> SDL_TimerCallback
BG.HasFFIType
, Ptr SDL_TimerCallback -> IO SDL_TimerCallback
Ptr SDL_TimerCallback -> Int -> IO SDL_TimerCallback
Ptr SDL_TimerCallback -> Int -> SDL_TimerCallback -> IO ()
Ptr SDL_TimerCallback -> SDL_TimerCallback -> IO ()
SDL_TimerCallback -> Int
(SDL_TimerCallback -> Int)
-> (SDL_TimerCallback -> Int)
-> (Ptr SDL_TimerCallback -> Int -> IO SDL_TimerCallback)
-> (Ptr SDL_TimerCallback -> Int -> SDL_TimerCallback -> IO ())
-> (forall b. Ptr b -> Int -> IO SDL_TimerCallback)
-> (forall b. Ptr b -> Int -> SDL_TimerCallback -> IO ())
-> (Ptr SDL_TimerCallback -> IO SDL_TimerCallback)
-> (Ptr SDL_TimerCallback -> SDL_TimerCallback -> IO ())
-> Storable SDL_TimerCallback
forall b. Ptr b -> Int -> IO SDL_TimerCallback
forall b. Ptr b -> Int -> SDL_TimerCallback -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
$csizeOf :: SDL_TimerCallback -> Int
sizeOf :: SDL_TimerCallback -> Int
$calignment :: SDL_TimerCallback -> Int
alignment :: SDL_TimerCallback -> Int
$cpeekElemOff :: Ptr SDL_TimerCallback -> Int -> IO SDL_TimerCallback
peekElemOff :: Ptr SDL_TimerCallback -> Int -> IO SDL_TimerCallback
$cpokeElemOff :: Ptr SDL_TimerCallback -> Int -> SDL_TimerCallback -> IO ()
pokeElemOff :: Ptr SDL_TimerCallback -> Int -> SDL_TimerCallback -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO SDL_TimerCallback
peekByteOff :: forall b. Ptr b -> Int -> IO SDL_TimerCallback
$cpokeByteOff :: forall b. Ptr b -> Int -> SDL_TimerCallback -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> SDL_TimerCallback -> IO ()
$cpeek :: Ptr SDL_TimerCallback -> IO SDL_TimerCallback
peek :: Ptr SDL_TimerCallback -> IO SDL_TimerCallback
$cpoke :: Ptr SDL_TimerCallback -> SDL_TimerCallback -> IO ()
poke :: Ptr SDL_TimerCallback -> SDL_TimerCallback -> IO ()
BG.Storable
, Ptr SDL_TimerCallback -> IO SDL_TimerCallback
(Ptr SDL_TimerCallback -> IO SDL_TimerCallback)
-> ReadRaw SDL_TimerCallback
forall a. (Ptr a -> IO a) -> ReadRaw a
$creadRaw :: Ptr SDL_TimerCallback -> IO SDL_TimerCallback
readRaw :: Ptr SDL_TimerCallback -> IO SDL_TimerCallback
Marshal.ReadRaw
, Proxy SDL_TimerCallback -> Int
(Proxy SDL_TimerCallback -> Int)
-> (Proxy SDL_TimerCallback -> Int) -> StaticSize SDL_TimerCallback
forall a. (Proxy a -> Int) -> (Proxy a -> Int) -> StaticSize a
$cstaticSizeOf :: Proxy SDL_TimerCallback -> Int
staticSizeOf :: Proxy SDL_TimerCallback -> Int
$cstaticAlignment :: Proxy SDL_TimerCallback -> Int
staticAlignment :: Proxy SDL_TimerCallback -> Int
Marshal.StaticSize
, Ptr SDL_TimerCallback -> SDL_TimerCallback -> IO ()
(Ptr SDL_TimerCallback -> SDL_TimerCallback -> IO ())
-> WriteRaw SDL_TimerCallback
forall a. (Ptr a -> a -> IO ()) -> WriteRaw a
$cwriteRaw :: Ptr SDL_TimerCallback -> SDL_TimerCallback -> IO ()
writeRaw :: Ptr SDL_TimerCallback -> SDL_TimerCallback -> IO ()
Marshal.WriteRaw
)
instance
(ty ~ BG.FunPtr SDL_TimerCallback_Aux)
=> BG.CompatHasField.HasField "unwrap" SDL_TimerCallback ty
where
hasField :: SDL_TimerCallback -> (ty -> SDL_TimerCallback, ty)
hasField =
\SDL_TimerCallback
x0 ->
( \ty
y1 ->
SDL_TimerCallback{unwrap :: FunPtr SDL_TimerCallback_Aux
unwrap = ty
FunPtr SDL_TimerCallback_Aux
y1}
, forall {k} (x :: k) r a. HasField x r a => r -> a
forall (x :: Symbol) r a. HasField x r a => r -> a
BG.getField @"unwrap" SDL_TimerCallback
x0
)
instance
(ty ~ BG.FunPtr SDL_TimerCallback_Aux)
=> BG.HasField "unwrap" (BG.Ptr SDL_TimerCallback) (BG.Ptr ty)
where
getField :: Ptr SDL_TimerCallback -> Ptr ty
getField = Proxy "unwrap"
-> Ptr SDL_TimerCallback
-> Ptr (CFieldType SDL_TimerCallback "unwrap")
forall a (field :: Symbol).
HasCField a field =>
Proxy field -> Ptr a -> Ptr (CFieldType a field)
HasCField.fromPtr (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"unwrap")
instance HasCField.HasCField SDL_TimerCallback "unwrap" where
type
CFieldType SDL_TimerCallback "unwrap" =
BG.FunPtr SDL_TimerCallback_Aux
offset# :: Proxy# SDL_TimerCallback -> Proxy# "unwrap" -> Int
offset# = \Proxy# SDL_TimerCallback
_ -> \Proxy# "unwrap"
_ -> Int
0
newtype SDL_NSTimerCallback_Aux = SDL_NSTimerCallback_Aux
{ SDL_NSTimerCallback_Aux
-> Ptr Void -> SDL_TimerID -> Uint64 -> IO Uint64
unwrap
:: BG.Ptr BG.Void -> SDL_TimerID -> SDL3.Sys.Bindgen.Stdinc.Uint64 -> IO SDL3.Sys.Bindgen.Stdinc.Uint64
}
deriving stock ((forall x.
SDL_NSTimerCallback_Aux -> Rep SDL_NSTimerCallback_Aux x)
-> (forall x.
Rep SDL_NSTimerCallback_Aux x -> SDL_NSTimerCallback_Aux)
-> Generic SDL_NSTimerCallback_Aux
forall x. Rep SDL_NSTimerCallback_Aux x -> SDL_NSTimerCallback_Aux
forall x. SDL_NSTimerCallback_Aux -> Rep SDL_NSTimerCallback_Aux x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. SDL_NSTimerCallback_Aux -> Rep SDL_NSTimerCallback_Aux x
from :: forall x. SDL_NSTimerCallback_Aux -> Rep SDL_NSTimerCallback_Aux x
$cto :: forall x. Rep SDL_NSTimerCallback_Aux x -> SDL_NSTimerCallback_Aux
to :: forall x. Rep SDL_NSTimerCallback_Aux x -> SDL_NSTimerCallback_Aux
BG.Generic)
foreign import ccall safe "wrapper"
hs_bindgen_31fbeb64177dcacb_base
:: ( BG.Ptr BG.Void
-> HsBindgen.Runtime.LibC.Word32
-> HsBindgen.Runtime.LibC.Word64
-> IO HsBindgen.Runtime.LibC.Word64
)
-> IO
( BG.FunPtr
( BG.Ptr BG.Void
-> HsBindgen.Runtime.LibC.Word32
-> HsBindgen.Runtime.LibC.Word64
-> IO HsBindgen.Runtime.LibC.Word64
)
)
hs_bindgen_31fbeb64177dcacb
:: SDL_NSTimerCallback_Aux
-> IO (BG.FunPtr SDL_NSTimerCallback_Aux)
hs_bindgen_31fbeb64177dcacb :: SDL_NSTimerCallback_Aux -> IO (FunPtr SDL_NSTimerCallback_Aux)
hs_bindgen_31fbeb64177dcacb =
\SDL_NSTimerCallback_Aux
fun0 ->
(FunPtr (Ptr Void -> Word32 -> Word64 -> IO Word64)
-> FunPtr SDL_NSTimerCallback_Aux)
-> IO (FunPtr (Ptr Void -> Word32 -> Word64 -> IO Word64))
-> IO (FunPtr SDL_NSTimerCallback_Aux)
forall a b. (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap
FunPtr (Ptr Void -> Word32 -> Word64 -> IO Word64)
-> FunPtr SDL_NSTimerCallback_Aux
forall a b. FunPtr a -> FunPtr b
BG.castFunPtr
( (Ptr Void -> Word32 -> Word64 -> IO Word64)
-> IO (FunPtr (Ptr Void -> Word32 -> Word64 -> IO Word64))
hs_bindgen_31fbeb64177dcacb_base
( \Ptr Void
x1 ->
\Word32
x2 ->
\Word64
x3 ->
(Uint64 -> Word64) -> IO Uint64 -> IO Word64
forall a b. (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap
Uint64 -> Word64
Uint64 -> FFIType Uint64
forall a. HasFFIType a => a -> FFIType a
BG.toFFIType
(forall {k} (x :: k) r a. HasField x r a => r -> a
forall (x :: Symbol) r a. HasField x r a => r -> a
BG.getField @"unwrap" SDL_NSTimerCallback_Aux
fun0 (FFIType (Ptr Void) -> Ptr Void
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType Ptr Void
FFIType (Ptr Void)
x1) (FFIType SDL_TimerID -> SDL_TimerID
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType Word32
FFIType SDL_TimerID
x2) (FFIType Uint64 -> Uint64
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType Word64
FFIType Uint64
x3))
)
)
foreign import ccall safe "dynamic"
hs_bindgen_389ed0c3b28b1730_base
:: BG.FunPtr
( BG.Ptr BG.Void
-> HsBindgen.Runtime.LibC.Word32
-> HsBindgen.Runtime.LibC.Word64
-> IO HsBindgen.Runtime.LibC.Word64
)
-> BG.Ptr BG.Void
-> HsBindgen.Runtime.LibC.Word32
-> HsBindgen.Runtime.LibC.Word64
-> IO HsBindgen.Runtime.LibC.Word64
hs_bindgen_389ed0c3b28b1730
:: BG.FunPtr SDL_NSTimerCallback_Aux
-> SDL_NSTimerCallback_Aux
hs_bindgen_389ed0c3b28b1730 :: FunPtr SDL_NSTimerCallback_Aux -> SDL_NSTimerCallback_Aux
hs_bindgen_389ed0c3b28b1730 =
\FunPtr SDL_NSTimerCallback_Aux
funPtr0 ->
(Ptr Void -> SDL_TimerID -> Uint64 -> IO Uint64)
-> SDL_NSTimerCallback_Aux
SDL_NSTimerCallback_Aux
( \Ptr Void
x1 ->
\SDL_TimerID
x2 ->
\Uint64
x3 ->
(Word64 -> Uint64) -> IO Word64 -> IO Uint64
forall a b. (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap
Word64 -> Uint64
FFIType Uint64 -> Uint64
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType
( FunPtr (Ptr Void -> Word32 -> Word64 -> IO Word64)
-> Ptr Void -> Word32 -> Word64 -> IO Word64
hs_bindgen_389ed0c3b28b1730_base
(FunPtr SDL_NSTimerCallback_Aux
-> FunPtr (Ptr Void -> Word32 -> Word64 -> IO Word64)
forall a b. FunPtr a -> FunPtr b
BG.castFunPtr FunPtr SDL_NSTimerCallback_Aux
funPtr0)
(Ptr Void -> FFIType (Ptr Void)
forall a. HasFFIType a => a -> FFIType a
BG.toFFIType Ptr Void
x1)
(SDL_TimerID -> FFIType SDL_TimerID
forall a. HasFFIType a => a -> FFIType a
BG.toFFIType SDL_TimerID
x2)
(Uint64 -> FFIType Uint64
forall a. HasFFIType a => a -> FFIType a
BG.toFFIType Uint64
x3)
)
)
instance BG.ToFunPtr SDL_NSTimerCallback_Aux where
toFunPtr :: SDL_NSTimerCallback_Aux -> IO (FunPtr SDL_NSTimerCallback_Aux)
toFunPtr = SDL_NSTimerCallback_Aux -> IO (FunPtr SDL_NSTimerCallback_Aux)
hs_bindgen_31fbeb64177dcacb
instance BG.FromFunPtr SDL_NSTimerCallback_Aux where
fromFunPtr :: FunPtr SDL_NSTimerCallback_Aux -> SDL_NSTimerCallback_Aux
fromFunPtr = FunPtr SDL_NSTimerCallback_Aux -> SDL_NSTimerCallback_Aux
hs_bindgen_389ed0c3b28b1730
instance
( ty
~ (BG.Ptr BG.Void -> SDL_TimerID -> SDL3.Sys.Bindgen.Stdinc.Uint64 -> IO SDL3.Sys.Bindgen.Stdinc.Uint64)
)
=> BG.CompatHasField.HasField "unwrap" SDL_NSTimerCallback_Aux ty
where
hasField :: SDL_NSTimerCallback_Aux -> (ty -> SDL_NSTimerCallback_Aux, ty)
hasField =
\SDL_NSTimerCallback_Aux
x0 ->
( \ty
y1 ->
SDL_NSTimerCallback_Aux{unwrap :: Ptr Void -> SDL_TimerID -> Uint64 -> IO Uint64
unwrap = ty
Ptr Void -> SDL_TimerID -> Uint64 -> IO Uint64
y1}
, forall {k} (x :: k) r a. HasField x r a => r -> a
forall (x :: Symbol) r a. HasField x r a => r -> a
BG.getField @"unwrap" SDL_NSTimerCallback_Aux
x0
)
instance
( ty
~ (BG.Ptr BG.Void -> SDL_TimerID -> SDL3.Sys.Bindgen.Stdinc.Uint64 -> IO SDL3.Sys.Bindgen.Stdinc.Uint64)
)
=> BG.HasField "unwrap" (BG.Ptr SDL_NSTimerCallback_Aux) (BG.Ptr ty)
where
getField :: Ptr SDL_NSTimerCallback_Aux -> Ptr ty
getField = Proxy "unwrap"
-> Ptr SDL_NSTimerCallback_Aux
-> Ptr (CFieldType SDL_NSTimerCallback_Aux "unwrap")
forall a (field :: Symbol).
HasCField a field =>
Proxy field -> Ptr a -> Ptr (CFieldType a field)
HasCField.fromPtr (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"unwrap")
instance HasCField.HasCField SDL_NSTimerCallback_Aux "unwrap" where
type
CFieldType SDL_NSTimerCallback_Aux "unwrap" =
BG.Ptr BG.Void -> SDL_TimerID -> SDL3.Sys.Bindgen.Stdinc.Uint64 -> IO SDL3.Sys.Bindgen.Stdinc.Uint64
offset# :: Proxy# SDL_NSTimerCallback_Aux -> Proxy# "unwrap" -> Int
offset# = \Proxy# SDL_NSTimerCallback_Aux
_ -> \Proxy# "unwrap"
_ -> Int
0
newtype SDL_NSTimerCallback = SDL_NSTimerCallback
{ SDL_NSTimerCallback -> FunPtr SDL_NSTimerCallback_Aux
unwrap :: BG.FunPtr SDL_NSTimerCallback_Aux
}
deriving stock ((forall x. SDL_NSTimerCallback -> Rep SDL_NSTimerCallback x)
-> (forall x. Rep SDL_NSTimerCallback x -> SDL_NSTimerCallback)
-> Generic SDL_NSTimerCallback
forall x. Rep SDL_NSTimerCallback x -> SDL_NSTimerCallback
forall x. SDL_NSTimerCallback -> Rep SDL_NSTimerCallback x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. SDL_NSTimerCallback -> Rep SDL_NSTimerCallback x
from :: forall x. SDL_NSTimerCallback -> Rep SDL_NSTimerCallback x
$cto :: forall x. Rep SDL_NSTimerCallback x -> SDL_NSTimerCallback
to :: forall x. Rep SDL_NSTimerCallback x -> SDL_NSTimerCallback
BG.Generic, SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool
(SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool)
-> (SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool)
-> Eq SDL_NSTimerCallback
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool
== :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool
$c/= :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool
/= :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool
Eq, Eq SDL_NSTimerCallback
Eq SDL_NSTimerCallback =>
(SDL_NSTimerCallback -> SDL_NSTimerCallback -> Ordering)
-> (SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool)
-> (SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool)
-> (SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool)
-> (SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool)
-> (SDL_NSTimerCallback
-> SDL_NSTimerCallback -> SDL_NSTimerCallback)
-> (SDL_NSTimerCallback
-> SDL_NSTimerCallback -> SDL_NSTimerCallback)
-> Ord SDL_NSTimerCallback
SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool
SDL_NSTimerCallback -> SDL_NSTimerCallback -> Ordering
SDL_NSTimerCallback -> SDL_NSTimerCallback -> SDL_NSTimerCallback
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> Ordering
compare :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> Ordering
$c< :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool
< :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool
$c<= :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool
<= :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool
$c> :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool
> :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool
$c>= :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool
>= :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> Bool
$cmax :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> SDL_NSTimerCallback
max :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> SDL_NSTimerCallback
$cmin :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> SDL_NSTimerCallback
min :: SDL_NSTimerCallback -> SDL_NSTimerCallback -> SDL_NSTimerCallback
Ord, Int -> SDL_NSTimerCallback -> ShowS
[SDL_NSTimerCallback] -> ShowS
SDL_NSTimerCallback -> String
(Int -> SDL_NSTimerCallback -> ShowS)
-> (SDL_NSTimerCallback -> String)
-> ([SDL_NSTimerCallback] -> ShowS)
-> Show SDL_NSTimerCallback
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SDL_NSTimerCallback -> ShowS
showsPrec :: Int -> SDL_NSTimerCallback -> ShowS
$cshow :: SDL_NSTimerCallback -> String
show :: SDL_NSTimerCallback -> String
$cshowList :: [SDL_NSTimerCallback] -> ShowS
showList :: [SDL_NSTimerCallback] -> ShowS
Show)
deriving newtype
( FFIType SDL_NSTimerCallback -> SDL_NSTimerCallback
SDL_NSTimerCallback -> FFIType SDL_NSTimerCallback
(SDL_NSTimerCallback -> FFIType SDL_NSTimerCallback)
-> (FFIType SDL_NSTimerCallback -> SDL_NSTimerCallback)
-> HasFFIType SDL_NSTimerCallback
forall a. (a -> FFIType a) -> (FFIType a -> a) -> HasFFIType a
$ctoFFIType :: SDL_NSTimerCallback -> FFIType SDL_NSTimerCallback
toFFIType :: SDL_NSTimerCallback -> FFIType SDL_NSTimerCallback
$cfromFFIType :: FFIType SDL_NSTimerCallback -> SDL_NSTimerCallback
fromFFIType :: FFIType SDL_NSTimerCallback -> SDL_NSTimerCallback
BG.HasFFIType
, Ptr SDL_NSTimerCallback -> IO SDL_NSTimerCallback
Ptr SDL_NSTimerCallback -> Int -> IO SDL_NSTimerCallback
Ptr SDL_NSTimerCallback -> Int -> SDL_NSTimerCallback -> IO ()
Ptr SDL_NSTimerCallback -> SDL_NSTimerCallback -> IO ()
SDL_NSTimerCallback -> Int
(SDL_NSTimerCallback -> Int)
-> (SDL_NSTimerCallback -> Int)
-> (Ptr SDL_NSTimerCallback -> Int -> IO SDL_NSTimerCallback)
-> (Ptr SDL_NSTimerCallback -> Int -> SDL_NSTimerCallback -> IO ())
-> (forall b. Ptr b -> Int -> IO SDL_NSTimerCallback)
-> (forall b. Ptr b -> Int -> SDL_NSTimerCallback -> IO ())
-> (Ptr SDL_NSTimerCallback -> IO SDL_NSTimerCallback)
-> (Ptr SDL_NSTimerCallback -> SDL_NSTimerCallback -> IO ())
-> Storable SDL_NSTimerCallback
forall b. Ptr b -> Int -> IO SDL_NSTimerCallback
forall b. Ptr b -> Int -> SDL_NSTimerCallback -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
$csizeOf :: SDL_NSTimerCallback -> Int
sizeOf :: SDL_NSTimerCallback -> Int
$calignment :: SDL_NSTimerCallback -> Int
alignment :: SDL_NSTimerCallback -> Int
$cpeekElemOff :: Ptr SDL_NSTimerCallback -> Int -> IO SDL_NSTimerCallback
peekElemOff :: Ptr SDL_NSTimerCallback -> Int -> IO SDL_NSTimerCallback
$cpokeElemOff :: Ptr SDL_NSTimerCallback -> Int -> SDL_NSTimerCallback -> IO ()
pokeElemOff :: Ptr SDL_NSTimerCallback -> Int -> SDL_NSTimerCallback -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO SDL_NSTimerCallback
peekByteOff :: forall b. Ptr b -> Int -> IO SDL_NSTimerCallback
$cpokeByteOff :: forall b. Ptr b -> Int -> SDL_NSTimerCallback -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> SDL_NSTimerCallback -> IO ()
$cpeek :: Ptr SDL_NSTimerCallback -> IO SDL_NSTimerCallback
peek :: Ptr SDL_NSTimerCallback -> IO SDL_NSTimerCallback
$cpoke :: Ptr SDL_NSTimerCallback -> SDL_NSTimerCallback -> IO ()
poke :: Ptr SDL_NSTimerCallback -> SDL_NSTimerCallback -> IO ()
BG.Storable
, Ptr SDL_NSTimerCallback -> IO SDL_NSTimerCallback
(Ptr SDL_NSTimerCallback -> IO SDL_NSTimerCallback)
-> ReadRaw SDL_NSTimerCallback
forall a. (Ptr a -> IO a) -> ReadRaw a
$creadRaw :: Ptr SDL_NSTimerCallback -> IO SDL_NSTimerCallback
readRaw :: Ptr SDL_NSTimerCallback -> IO SDL_NSTimerCallback
Marshal.ReadRaw
, Proxy SDL_NSTimerCallback -> Int
(Proxy SDL_NSTimerCallback -> Int)
-> (Proxy SDL_NSTimerCallback -> Int)
-> StaticSize SDL_NSTimerCallback
forall a. (Proxy a -> Int) -> (Proxy a -> Int) -> StaticSize a
$cstaticSizeOf :: Proxy SDL_NSTimerCallback -> Int
staticSizeOf :: Proxy SDL_NSTimerCallback -> Int
$cstaticAlignment :: Proxy SDL_NSTimerCallback -> Int
staticAlignment :: Proxy SDL_NSTimerCallback -> Int
Marshal.StaticSize
, Ptr SDL_NSTimerCallback -> SDL_NSTimerCallback -> IO ()
(Ptr SDL_NSTimerCallback -> SDL_NSTimerCallback -> IO ())
-> WriteRaw SDL_NSTimerCallback
forall a. (Ptr a -> a -> IO ()) -> WriteRaw a
$cwriteRaw :: Ptr SDL_NSTimerCallback -> SDL_NSTimerCallback -> IO ()
writeRaw :: Ptr SDL_NSTimerCallback -> SDL_NSTimerCallback -> IO ()
Marshal.WriteRaw
)
instance
(ty ~ BG.FunPtr SDL_NSTimerCallback_Aux)
=> BG.CompatHasField.HasField "unwrap" SDL_NSTimerCallback ty
where
hasField :: SDL_NSTimerCallback -> (ty -> SDL_NSTimerCallback, ty)
hasField =
\SDL_NSTimerCallback
x0 ->
( \ty
y1 ->
SDL_NSTimerCallback{unwrap :: FunPtr SDL_NSTimerCallback_Aux
unwrap = ty
FunPtr SDL_NSTimerCallback_Aux
y1}
, forall {k} (x :: k) r a. HasField x r a => r -> a
forall (x :: Symbol) r a. HasField x r a => r -> a
BG.getField @"unwrap" SDL_NSTimerCallback
x0
)
instance
(ty ~ BG.FunPtr SDL_NSTimerCallback_Aux)
=> BG.HasField "unwrap" (BG.Ptr SDL_NSTimerCallback) (BG.Ptr ty)
where
getField :: Ptr SDL_NSTimerCallback -> Ptr ty
getField = Proxy "unwrap"
-> Ptr SDL_NSTimerCallback
-> Ptr (CFieldType SDL_NSTimerCallback "unwrap")
forall a (field :: Symbol).
HasCField a field =>
Proxy field -> Ptr a -> Ptr (CFieldType a field)
HasCField.fromPtr (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"unwrap")
instance HasCField.HasCField SDL_NSTimerCallback "unwrap" where
type
CFieldType SDL_NSTimerCallback "unwrap" =
BG.FunPtr SDL_NSTimerCallback_Aux
offset# :: Proxy# SDL_NSTimerCallback -> Proxy# "unwrap" -> Int
offset# = \Proxy# SDL_NSTimerCallback
_ -> \Proxy# "unwrap"
_ -> Int
0