{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE NoFieldSelectors #-}
{-# LANGUAGE NoImplicitPrelude #-}
module SDL3.Sys.Bindgen.Clipboard (
SDL3.Sys.Bindgen.Clipboard.SDL_ClipboardDataCallback_Aux (..),
SDL3.Sys.Bindgen.Clipboard.SDL_ClipboardDataCallback (..),
SDL3.Sys.Bindgen.Clipboard.SDL_ClipboardCleanupCallback_Aux (..),
SDL3.Sys.Bindgen.Clipboard.SDL_ClipboardCleanupCallback (..),
)
where
import Prelude (Eq, IO, Ord, Show, fmap, type (~))
import HsBindgen.Runtime.HasCField qualified as HasCField
import HsBindgen.Runtime.LibC qualified
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
newtype SDL_ClipboardDataCallback_Aux = SDL_ClipboardDataCallback_Aux
{ SDL_ClipboardDataCallback_Aux
-> Ptr Void -> PtrConst CChar -> Ptr CSize -> IO (PtrConst Void)
unwrap
:: BG.Ptr BG.Void
-> PtrConst.PtrConst BG.CChar
-> BG.Ptr HsBindgen.Runtime.LibC.CSize
-> IO (PtrConst.PtrConst BG.Void)
}
deriving stock ((forall x.
SDL_ClipboardDataCallback_Aux
-> Rep SDL_ClipboardDataCallback_Aux x)
-> (forall x.
Rep SDL_ClipboardDataCallback_Aux x
-> SDL_ClipboardDataCallback_Aux)
-> Generic SDL_ClipboardDataCallback_Aux
forall x.
Rep SDL_ClipboardDataCallback_Aux x
-> SDL_ClipboardDataCallback_Aux
forall x.
SDL_ClipboardDataCallback_Aux
-> Rep SDL_ClipboardDataCallback_Aux x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
SDL_ClipboardDataCallback_Aux
-> Rep SDL_ClipboardDataCallback_Aux x
from :: forall x.
SDL_ClipboardDataCallback_Aux
-> Rep SDL_ClipboardDataCallback_Aux x
$cto :: forall x.
Rep SDL_ClipboardDataCallback_Aux x
-> SDL_ClipboardDataCallback_Aux
to :: forall x.
Rep SDL_ClipboardDataCallback_Aux x
-> SDL_ClipboardDataCallback_Aux
BG.Generic)
foreign import ccall safe "wrapper"
hs_bindgen_4dc4029500cc2362_base
:: (BG.Ptr BG.Void -> BG.Ptr BG.Void -> BG.Ptr BG.Void -> IO (BG.Ptr BG.Void))
-> IO (BG.FunPtr (BG.Ptr BG.Void -> BG.Ptr BG.Void -> BG.Ptr BG.Void -> IO (BG.Ptr BG.Void)))
hs_bindgen_4dc4029500cc2362
:: SDL_ClipboardDataCallback_Aux
-> IO (BG.FunPtr SDL_ClipboardDataCallback_Aux)
hs_bindgen_4dc4029500cc2362 :: SDL_ClipboardDataCallback_Aux
-> IO (FunPtr SDL_ClipboardDataCallback_Aux)
hs_bindgen_4dc4029500cc2362 =
\SDL_ClipboardDataCallback_Aux
fun0 ->
(FunPtr (Ptr Void -> Ptr Void -> Ptr Void -> IO (Ptr Void))
-> FunPtr SDL_ClipboardDataCallback_Aux)
-> IO (FunPtr (Ptr Void -> Ptr Void -> Ptr Void -> IO (Ptr Void)))
-> IO (FunPtr SDL_ClipboardDataCallback_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 -> Ptr Void -> Ptr Void -> IO (Ptr Void))
-> FunPtr SDL_ClipboardDataCallback_Aux
forall a b. FunPtr a -> FunPtr b
BG.castFunPtr
( (Ptr Void -> Ptr Void -> Ptr Void -> IO (Ptr Void))
-> IO (FunPtr (Ptr Void -> Ptr Void -> Ptr Void -> IO (Ptr Void)))
hs_bindgen_4dc4029500cc2362_base
( \Ptr Void
x1 ->
\Ptr Void
x2 ->
\Ptr Void
x3 ->
(PtrConst Void -> Ptr Void) -> IO (PtrConst Void) -> IO (Ptr Void)
forall a b. (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap
PtrConst Void -> Ptr Void
PtrConst Void -> FFIType (PtrConst Void)
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_ClipboardDataCallback_Aux
fun0 (FFIType (Ptr Void) -> Ptr Void
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType Ptr Void
FFIType (Ptr Void)
x1) (FFIType (PtrConst CChar) -> PtrConst CChar
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType Ptr Void
FFIType (PtrConst CChar)
x2) (FFIType (Ptr CSize) -> Ptr CSize
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType Ptr Void
FFIType (Ptr CSize)
x3))
)
)
foreign import ccall safe "dynamic"
hs_bindgen_941a517724689596_base
:: BG.FunPtr (BG.Ptr BG.Void -> BG.Ptr BG.Void -> BG.Ptr BG.Void -> IO (BG.Ptr BG.Void))
-> BG.Ptr BG.Void
-> BG.Ptr BG.Void
-> BG.Ptr BG.Void
-> IO (BG.Ptr BG.Void)
hs_bindgen_941a517724689596
:: BG.FunPtr SDL_ClipboardDataCallback_Aux
-> SDL_ClipboardDataCallback_Aux
hs_bindgen_941a517724689596 :: FunPtr SDL_ClipboardDataCallback_Aux
-> SDL_ClipboardDataCallback_Aux
hs_bindgen_941a517724689596 =
\FunPtr SDL_ClipboardDataCallback_Aux
funPtr0 ->
(Ptr Void -> PtrConst CChar -> Ptr CSize -> IO (PtrConst Void))
-> SDL_ClipboardDataCallback_Aux
SDL_ClipboardDataCallback_Aux
( \Ptr Void
x1 ->
\PtrConst CChar
x2 ->
\Ptr CSize
x3 ->
(Ptr Void -> PtrConst Void) -> IO (Ptr Void) -> IO (PtrConst Void)
forall a b. (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap
Ptr Void -> PtrConst Void
FFIType (PtrConst Void) -> PtrConst Void
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType
( FunPtr (Ptr Void -> Ptr Void -> Ptr Void -> IO (Ptr Void))
-> Ptr Void -> Ptr Void -> Ptr Void -> IO (Ptr Void)
hs_bindgen_941a517724689596_base
(FunPtr SDL_ClipboardDataCallback_Aux
-> FunPtr (Ptr Void -> Ptr Void -> Ptr Void -> IO (Ptr Void))
forall a b. FunPtr a -> FunPtr b
BG.castFunPtr FunPtr SDL_ClipboardDataCallback_Aux
funPtr0)
(Ptr Void -> FFIType (Ptr Void)
forall a. HasFFIType a => a -> FFIType a
BG.toFFIType Ptr Void
x1)
(PtrConst CChar -> FFIType (PtrConst CChar)
forall a. HasFFIType a => a -> FFIType a
BG.toFFIType PtrConst CChar
x2)
(Ptr CSize -> FFIType (Ptr CSize)
forall a. HasFFIType a => a -> FFIType a
BG.toFFIType Ptr CSize
x3)
)
)
instance BG.ToFunPtr SDL_ClipboardDataCallback_Aux where
toFunPtr :: SDL_ClipboardDataCallback_Aux
-> IO (FunPtr SDL_ClipboardDataCallback_Aux)
toFunPtr = SDL_ClipboardDataCallback_Aux
-> IO (FunPtr SDL_ClipboardDataCallback_Aux)
hs_bindgen_4dc4029500cc2362
instance BG.FromFunPtr SDL_ClipboardDataCallback_Aux where
fromFunPtr :: FunPtr SDL_ClipboardDataCallback_Aux
-> SDL_ClipboardDataCallback_Aux
fromFunPtr = FunPtr SDL_ClipboardDataCallback_Aux
-> SDL_ClipboardDataCallback_Aux
hs_bindgen_941a517724689596
instance
( ty
~ ( BG.Ptr BG.Void
-> PtrConst.PtrConst BG.CChar
-> BG.Ptr HsBindgen.Runtime.LibC.CSize
-> IO (PtrConst.PtrConst BG.Void)
)
)
=> BG.CompatHasField.HasField "unwrap" SDL_ClipboardDataCallback_Aux ty
where
hasField :: SDL_ClipboardDataCallback_Aux
-> (ty -> SDL_ClipboardDataCallback_Aux, ty)
hasField =
\SDL_ClipboardDataCallback_Aux
x0 ->
( \ty
y1 -> SDL_ClipboardDataCallback_Aux{unwrap :: Ptr Void -> PtrConst CChar -> Ptr CSize -> IO (PtrConst Void)
unwrap = ty
Ptr Void -> PtrConst CChar -> Ptr CSize -> IO (PtrConst Void)
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_ClipboardDataCallback_Aux
x0
)
instance
( ty
~ ( BG.Ptr BG.Void
-> PtrConst.PtrConst BG.CChar
-> BG.Ptr HsBindgen.Runtime.LibC.CSize
-> IO (PtrConst.PtrConst BG.Void)
)
)
=> BG.HasField "unwrap" (BG.Ptr SDL_ClipboardDataCallback_Aux) (BG.Ptr ty)
where
getField :: Ptr SDL_ClipboardDataCallback_Aux -> Ptr ty
getField = Proxy "unwrap"
-> Ptr SDL_ClipboardDataCallback_Aux
-> Ptr (CFieldType SDL_ClipboardDataCallback_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_ClipboardDataCallback_Aux "unwrap" where
type
CFieldType SDL_ClipboardDataCallback_Aux "unwrap" =
BG.Ptr BG.Void
-> PtrConst.PtrConst BG.CChar
-> BG.Ptr HsBindgen.Runtime.LibC.CSize
-> IO (PtrConst.PtrConst BG.Void)
offset# :: Proxy# SDL_ClipboardDataCallback_Aux -> Proxy# "unwrap" -> Int
offset# = \Proxy# SDL_ClipboardDataCallback_Aux
_ -> \Proxy# "unwrap"
_ -> Int
0
newtype SDL_ClipboardDataCallback = SDL_ClipboardDataCallback
{ SDL_ClipboardDataCallback -> FunPtr SDL_ClipboardDataCallback_Aux
unwrap :: BG.FunPtr SDL_ClipboardDataCallback_Aux
}
deriving stock ((forall x.
SDL_ClipboardDataCallback -> Rep SDL_ClipboardDataCallback x)
-> (forall x.
Rep SDL_ClipboardDataCallback x -> SDL_ClipboardDataCallback)
-> Generic SDL_ClipboardDataCallback
forall x.
Rep SDL_ClipboardDataCallback x -> SDL_ClipboardDataCallback
forall x.
SDL_ClipboardDataCallback -> Rep SDL_ClipboardDataCallback x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
SDL_ClipboardDataCallback -> Rep SDL_ClipboardDataCallback x
from :: forall x.
SDL_ClipboardDataCallback -> Rep SDL_ClipboardDataCallback x
$cto :: forall x.
Rep SDL_ClipboardDataCallback x -> SDL_ClipboardDataCallback
to :: forall x.
Rep SDL_ClipboardDataCallback x -> SDL_ClipboardDataCallback
BG.Generic, SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool
(SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool)
-> (SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool)
-> Eq SDL_ClipboardDataCallback
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool
== :: SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool
$c/= :: SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool
/= :: SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool
Eq, Eq SDL_ClipboardDataCallback
Eq SDL_ClipboardDataCallback =>
(SDL_ClipboardDataCallback
-> SDL_ClipboardDataCallback -> Ordering)
-> (SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool)
-> (SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool)
-> (SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool)
-> (SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool)
-> (SDL_ClipboardDataCallback
-> SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback)
-> (SDL_ClipboardDataCallback
-> SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback)
-> Ord SDL_ClipboardDataCallback
SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool
SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Ordering
SDL_ClipboardDataCallback
-> SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback
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_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Ordering
compare :: SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Ordering
$c< :: SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool
< :: SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool
$c<= :: SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool
<= :: SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool
$c> :: SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool
> :: SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool
$c>= :: SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool
>= :: SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> Bool
$cmax :: SDL_ClipboardDataCallback
-> SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback
max :: SDL_ClipboardDataCallback
-> SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback
$cmin :: SDL_ClipboardDataCallback
-> SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback
min :: SDL_ClipboardDataCallback
-> SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback
Ord, Int -> SDL_ClipboardDataCallback -> ShowS
[SDL_ClipboardDataCallback] -> ShowS
SDL_ClipboardDataCallback -> String
(Int -> SDL_ClipboardDataCallback -> ShowS)
-> (SDL_ClipboardDataCallback -> String)
-> ([SDL_ClipboardDataCallback] -> ShowS)
-> Show SDL_ClipboardDataCallback
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SDL_ClipboardDataCallback -> ShowS
showsPrec :: Int -> SDL_ClipboardDataCallback -> ShowS
$cshow :: SDL_ClipboardDataCallback -> String
show :: SDL_ClipboardDataCallback -> String
$cshowList :: [SDL_ClipboardDataCallback] -> ShowS
showList :: [SDL_ClipboardDataCallback] -> ShowS
Show)
deriving newtype
( FFIType SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback
SDL_ClipboardDataCallback -> FFIType SDL_ClipboardDataCallback
(SDL_ClipboardDataCallback -> FFIType SDL_ClipboardDataCallback)
-> (FFIType SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback)
-> HasFFIType SDL_ClipboardDataCallback
forall a. (a -> FFIType a) -> (FFIType a -> a) -> HasFFIType a
$ctoFFIType :: SDL_ClipboardDataCallback -> FFIType SDL_ClipboardDataCallback
toFFIType :: SDL_ClipboardDataCallback -> FFIType SDL_ClipboardDataCallback
$cfromFFIType :: FFIType SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback
fromFFIType :: FFIType SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback
BG.HasFFIType
, Ptr SDL_ClipboardDataCallback -> IO SDL_ClipboardDataCallback
Ptr SDL_ClipboardDataCallback
-> Int -> IO SDL_ClipboardDataCallback
Ptr SDL_ClipboardDataCallback
-> Int -> SDL_ClipboardDataCallback -> IO ()
Ptr SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> IO ()
SDL_ClipboardDataCallback -> Int
(SDL_ClipboardDataCallback -> Int)
-> (SDL_ClipboardDataCallback -> Int)
-> (Ptr SDL_ClipboardDataCallback
-> Int -> IO SDL_ClipboardDataCallback)
-> (Ptr SDL_ClipboardDataCallback
-> Int -> SDL_ClipboardDataCallback -> IO ())
-> (forall b. Ptr b -> Int -> IO SDL_ClipboardDataCallback)
-> (forall b. Ptr b -> Int -> SDL_ClipboardDataCallback -> IO ())
-> (Ptr SDL_ClipboardDataCallback -> IO SDL_ClipboardDataCallback)
-> (Ptr SDL_ClipboardDataCallback
-> SDL_ClipboardDataCallback -> IO ())
-> Storable SDL_ClipboardDataCallback
forall b. Ptr b -> Int -> IO SDL_ClipboardDataCallback
forall b. Ptr b -> Int -> SDL_ClipboardDataCallback -> 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_ClipboardDataCallback -> Int
sizeOf :: SDL_ClipboardDataCallback -> Int
$calignment :: SDL_ClipboardDataCallback -> Int
alignment :: SDL_ClipboardDataCallback -> Int
$cpeekElemOff :: Ptr SDL_ClipboardDataCallback
-> Int -> IO SDL_ClipboardDataCallback
peekElemOff :: Ptr SDL_ClipboardDataCallback
-> Int -> IO SDL_ClipboardDataCallback
$cpokeElemOff :: Ptr SDL_ClipboardDataCallback
-> Int -> SDL_ClipboardDataCallback -> IO ()
pokeElemOff :: Ptr SDL_ClipboardDataCallback
-> Int -> SDL_ClipboardDataCallback -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO SDL_ClipboardDataCallback
peekByteOff :: forall b. Ptr b -> Int -> IO SDL_ClipboardDataCallback
$cpokeByteOff :: forall b. Ptr b -> Int -> SDL_ClipboardDataCallback -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> SDL_ClipboardDataCallback -> IO ()
$cpeek :: Ptr SDL_ClipboardDataCallback -> IO SDL_ClipboardDataCallback
peek :: Ptr SDL_ClipboardDataCallback -> IO SDL_ClipboardDataCallback
$cpoke :: Ptr SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> IO ()
poke :: Ptr SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> IO ()
BG.Storable
, Ptr SDL_ClipboardDataCallback -> IO SDL_ClipboardDataCallback
(Ptr SDL_ClipboardDataCallback -> IO SDL_ClipboardDataCallback)
-> ReadRaw SDL_ClipboardDataCallback
forall a. (Ptr a -> IO a) -> ReadRaw a
$creadRaw :: Ptr SDL_ClipboardDataCallback -> IO SDL_ClipboardDataCallback
readRaw :: Ptr SDL_ClipboardDataCallback -> IO SDL_ClipboardDataCallback
Marshal.ReadRaw
, Proxy SDL_ClipboardDataCallback -> Int
(Proxy SDL_ClipboardDataCallback -> Int)
-> (Proxy SDL_ClipboardDataCallback -> Int)
-> StaticSize SDL_ClipboardDataCallback
forall a. (Proxy a -> Int) -> (Proxy a -> Int) -> StaticSize a
$cstaticSizeOf :: Proxy SDL_ClipboardDataCallback -> Int
staticSizeOf :: Proxy SDL_ClipboardDataCallback -> Int
$cstaticAlignment :: Proxy SDL_ClipboardDataCallback -> Int
staticAlignment :: Proxy SDL_ClipboardDataCallback -> Int
Marshal.StaticSize
, Ptr SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> IO ()
(Ptr SDL_ClipboardDataCallback
-> SDL_ClipboardDataCallback -> IO ())
-> WriteRaw SDL_ClipboardDataCallback
forall a. (Ptr a -> a -> IO ()) -> WriteRaw a
$cwriteRaw :: Ptr SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> IO ()
writeRaw :: Ptr SDL_ClipboardDataCallback -> SDL_ClipboardDataCallback -> IO ()
Marshal.WriteRaw
)
instance
(ty ~ BG.FunPtr SDL_ClipboardDataCallback_Aux)
=> BG.CompatHasField.HasField "unwrap" SDL_ClipboardDataCallback ty
where
hasField :: SDL_ClipboardDataCallback -> (ty -> SDL_ClipboardDataCallback, ty)
hasField =
\SDL_ClipboardDataCallback
x0 ->
( \ty
y1 ->
SDL_ClipboardDataCallback{unwrap :: FunPtr SDL_ClipboardDataCallback_Aux
unwrap = ty
FunPtr SDL_ClipboardDataCallback_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_ClipboardDataCallback
x0
)
instance
(ty ~ BG.FunPtr SDL_ClipboardDataCallback_Aux)
=> BG.HasField "unwrap" (BG.Ptr SDL_ClipboardDataCallback) (BG.Ptr ty)
where
getField :: Ptr SDL_ClipboardDataCallback -> Ptr ty
getField = Proxy "unwrap"
-> Ptr SDL_ClipboardDataCallback
-> Ptr (CFieldType SDL_ClipboardDataCallback "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_ClipboardDataCallback "unwrap" where
type
CFieldType SDL_ClipboardDataCallback "unwrap" =
BG.FunPtr SDL_ClipboardDataCallback_Aux
offset# :: Proxy# SDL_ClipboardDataCallback -> Proxy# "unwrap" -> Int
offset# = \Proxy# SDL_ClipboardDataCallback
_ -> \Proxy# "unwrap"
_ -> Int
0
newtype SDL_ClipboardCleanupCallback_Aux = SDL_ClipboardCleanupCallback_Aux
{ SDL_ClipboardCleanupCallback_Aux -> Ptr Void -> IO ()
unwrap :: BG.Ptr BG.Void -> IO ()
}
deriving stock ((forall x.
SDL_ClipboardCleanupCallback_Aux
-> Rep SDL_ClipboardCleanupCallback_Aux x)
-> (forall x.
Rep SDL_ClipboardCleanupCallback_Aux x
-> SDL_ClipboardCleanupCallback_Aux)
-> Generic SDL_ClipboardCleanupCallback_Aux
forall x.
Rep SDL_ClipboardCleanupCallback_Aux x
-> SDL_ClipboardCleanupCallback_Aux
forall x.
SDL_ClipboardCleanupCallback_Aux
-> Rep SDL_ClipboardCleanupCallback_Aux x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
SDL_ClipboardCleanupCallback_Aux
-> Rep SDL_ClipboardCleanupCallback_Aux x
from :: forall x.
SDL_ClipboardCleanupCallback_Aux
-> Rep SDL_ClipboardCleanupCallback_Aux x
$cto :: forall x.
Rep SDL_ClipboardCleanupCallback_Aux x
-> SDL_ClipboardCleanupCallback_Aux
to :: forall x.
Rep SDL_ClipboardCleanupCallback_Aux x
-> SDL_ClipboardCleanupCallback_Aux
BG.Generic)
foreign import ccall safe "wrapper"
hs_bindgen_dec1734c1f7f2a3f_base
:: (BG.Ptr BG.Void -> IO ())
-> IO (BG.FunPtr (BG.Ptr BG.Void -> IO ()))
hs_bindgen_dec1734c1f7f2a3f
:: SDL_ClipboardCleanupCallback_Aux
-> IO (BG.FunPtr SDL_ClipboardCleanupCallback_Aux)
hs_bindgen_dec1734c1f7f2a3f :: SDL_ClipboardCleanupCallback_Aux
-> IO (FunPtr SDL_ClipboardCleanupCallback_Aux)
hs_bindgen_dec1734c1f7f2a3f =
\SDL_ClipboardCleanupCallback_Aux
fun0 ->
(FunPtr (Ptr Void -> IO ())
-> FunPtr SDL_ClipboardCleanupCallback_Aux)
-> IO (FunPtr (Ptr Void -> IO ()))
-> IO (FunPtr SDL_ClipboardCleanupCallback_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 -> IO ())
-> FunPtr SDL_ClipboardCleanupCallback_Aux
forall a b. FunPtr a -> FunPtr b
BG.castFunPtr
( (Ptr Void -> IO ()) -> IO (FunPtr (Ptr Void -> IO ()))
hs_bindgen_dec1734c1f7f2a3f_base
( \Ptr Void
x1 ->
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_ClipboardCleanupCallback_Aux
fun0 (FFIType (Ptr Void) -> Ptr Void
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType Ptr Void
FFIType (Ptr Void)
x1)
)
)
foreign import ccall safe "dynamic"
hs_bindgen_0ab064059cf117ee_base
:: BG.FunPtr (BG.Ptr BG.Void -> IO ())
-> BG.Ptr BG.Void
-> IO ()
hs_bindgen_0ab064059cf117ee
:: BG.FunPtr SDL_ClipboardCleanupCallback_Aux
-> SDL_ClipboardCleanupCallback_Aux
hs_bindgen_0ab064059cf117ee :: FunPtr SDL_ClipboardCleanupCallback_Aux
-> SDL_ClipboardCleanupCallback_Aux
hs_bindgen_0ab064059cf117ee =
\FunPtr SDL_ClipboardCleanupCallback_Aux
funPtr0 ->
(Ptr Void -> IO ()) -> SDL_ClipboardCleanupCallback_Aux
SDL_ClipboardCleanupCallback_Aux
( \Ptr Void
x1 ->
FunPtr (Ptr Void -> IO ()) -> Ptr Void -> IO ()
hs_bindgen_0ab064059cf117ee_base (FunPtr SDL_ClipboardCleanupCallback_Aux
-> FunPtr (Ptr Void -> IO ())
forall a b. FunPtr a -> FunPtr b
BG.castFunPtr FunPtr SDL_ClipboardCleanupCallback_Aux
funPtr0) (Ptr Void -> FFIType (Ptr Void)
forall a. HasFFIType a => a -> FFIType a
BG.toFFIType Ptr Void
x1)
)
instance BG.ToFunPtr SDL_ClipboardCleanupCallback_Aux where
toFunPtr :: SDL_ClipboardCleanupCallback_Aux
-> IO (FunPtr SDL_ClipboardCleanupCallback_Aux)
toFunPtr = SDL_ClipboardCleanupCallback_Aux
-> IO (FunPtr SDL_ClipboardCleanupCallback_Aux)
hs_bindgen_dec1734c1f7f2a3f
instance BG.FromFunPtr SDL_ClipboardCleanupCallback_Aux where
fromFunPtr :: FunPtr SDL_ClipboardCleanupCallback_Aux
-> SDL_ClipboardCleanupCallback_Aux
fromFunPtr = FunPtr SDL_ClipboardCleanupCallback_Aux
-> SDL_ClipboardCleanupCallback_Aux
hs_bindgen_0ab064059cf117ee
instance
(ty ~ (BG.Ptr BG.Void -> IO ()))
=> BG.CompatHasField.HasField "unwrap" SDL_ClipboardCleanupCallback_Aux ty
where
hasField :: SDL_ClipboardCleanupCallback_Aux
-> (ty -> SDL_ClipboardCleanupCallback_Aux, ty)
hasField =
\SDL_ClipboardCleanupCallback_Aux
x0 ->
( \ty
y1 ->
SDL_ClipboardCleanupCallback_Aux{unwrap :: Ptr Void -> IO ()
unwrap = ty
Ptr Void -> IO ()
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_ClipboardCleanupCallback_Aux
x0
)
instance
(ty ~ (BG.Ptr BG.Void -> IO ()))
=> BG.HasField "unwrap" (BG.Ptr SDL_ClipboardCleanupCallback_Aux) (BG.Ptr ty)
where
getField :: Ptr SDL_ClipboardCleanupCallback_Aux -> Ptr ty
getField = Proxy "unwrap"
-> Ptr SDL_ClipboardCleanupCallback_Aux
-> Ptr (CFieldType SDL_ClipboardCleanupCallback_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_ClipboardCleanupCallback_Aux "unwrap" where
type
CFieldType SDL_ClipboardCleanupCallback_Aux "unwrap" =
BG.Ptr BG.Void -> IO ()
offset# :: Proxy# SDL_ClipboardCleanupCallback_Aux -> Proxy# "unwrap" -> Int
offset# = \Proxy# SDL_ClipboardCleanupCallback_Aux
_ -> \Proxy# "unwrap"
_ -> Int
0
newtype SDL_ClipboardCleanupCallback = SDL_ClipboardCleanupCallback
{ SDL_ClipboardCleanupCallback
-> FunPtr SDL_ClipboardCleanupCallback_Aux
unwrap :: BG.FunPtr SDL_ClipboardCleanupCallback_Aux
}
deriving stock ((forall x.
SDL_ClipboardCleanupCallback -> Rep SDL_ClipboardCleanupCallback x)
-> (forall x.
Rep SDL_ClipboardCleanupCallback x -> SDL_ClipboardCleanupCallback)
-> Generic SDL_ClipboardCleanupCallback
forall x.
Rep SDL_ClipboardCleanupCallback x -> SDL_ClipboardCleanupCallback
forall x.
SDL_ClipboardCleanupCallback -> Rep SDL_ClipboardCleanupCallback x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
SDL_ClipboardCleanupCallback -> Rep SDL_ClipboardCleanupCallback x
from :: forall x.
SDL_ClipboardCleanupCallback -> Rep SDL_ClipboardCleanupCallback x
$cto :: forall x.
Rep SDL_ClipboardCleanupCallback x -> SDL_ClipboardCleanupCallback
to :: forall x.
Rep SDL_ClipboardCleanupCallback x -> SDL_ClipboardCleanupCallback
BG.Generic, SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool
(SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool)
-> (SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool)
-> Eq SDL_ClipboardCleanupCallback
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool
== :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool
$c/= :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool
/= :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool
Eq, Eq SDL_ClipboardCleanupCallback
Eq SDL_ClipboardCleanupCallback =>
(SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Ordering)
-> (SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool)
-> (SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool)
-> (SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool)
-> (SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool)
-> (SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> SDL_ClipboardCleanupCallback)
-> (SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> SDL_ClipboardCleanupCallback)
-> Ord SDL_ClipboardCleanupCallback
SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool
SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Ordering
SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> SDL_ClipboardCleanupCallback
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_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Ordering
compare :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Ordering
$c< :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool
< :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool
$c<= :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool
<= :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool
$c> :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool
> :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool
$c>= :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool
>= :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> Bool
$cmax :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> SDL_ClipboardCleanupCallback
max :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> SDL_ClipboardCleanupCallback
$cmin :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> SDL_ClipboardCleanupCallback
min :: SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> SDL_ClipboardCleanupCallback
Ord, Int -> SDL_ClipboardCleanupCallback -> ShowS
[SDL_ClipboardCleanupCallback] -> ShowS
SDL_ClipboardCleanupCallback -> String
(Int -> SDL_ClipboardCleanupCallback -> ShowS)
-> (SDL_ClipboardCleanupCallback -> String)
-> ([SDL_ClipboardCleanupCallback] -> ShowS)
-> Show SDL_ClipboardCleanupCallback
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SDL_ClipboardCleanupCallback -> ShowS
showsPrec :: Int -> SDL_ClipboardCleanupCallback -> ShowS
$cshow :: SDL_ClipboardCleanupCallback -> String
show :: SDL_ClipboardCleanupCallback -> String
$cshowList :: [SDL_ClipboardCleanupCallback] -> ShowS
showList :: [SDL_ClipboardCleanupCallback] -> ShowS
Show)
deriving newtype
( FFIType SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback
SDL_ClipboardCleanupCallback
-> FFIType SDL_ClipboardCleanupCallback
(SDL_ClipboardCleanupCallback
-> FFIType SDL_ClipboardCleanupCallback)
-> (FFIType SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback)
-> HasFFIType SDL_ClipboardCleanupCallback
forall a. (a -> FFIType a) -> (FFIType a -> a) -> HasFFIType a
$ctoFFIType :: SDL_ClipboardCleanupCallback
-> FFIType SDL_ClipboardCleanupCallback
toFFIType :: SDL_ClipboardCleanupCallback
-> FFIType SDL_ClipboardCleanupCallback
$cfromFFIType :: FFIType SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback
fromFFIType :: FFIType SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback
BG.HasFFIType
, Ptr SDL_ClipboardCleanupCallback -> IO SDL_ClipboardCleanupCallback
Ptr SDL_ClipboardCleanupCallback
-> Int -> IO SDL_ClipboardCleanupCallback
Ptr SDL_ClipboardCleanupCallback
-> Int -> SDL_ClipboardCleanupCallback -> IO ()
Ptr SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> IO ()
SDL_ClipboardCleanupCallback -> Int
(SDL_ClipboardCleanupCallback -> Int)
-> (SDL_ClipboardCleanupCallback -> Int)
-> (Ptr SDL_ClipboardCleanupCallback
-> Int -> IO SDL_ClipboardCleanupCallback)
-> (Ptr SDL_ClipboardCleanupCallback
-> Int -> SDL_ClipboardCleanupCallback -> IO ())
-> (forall b. Ptr b -> Int -> IO SDL_ClipboardCleanupCallback)
-> (forall b.
Ptr b -> Int -> SDL_ClipboardCleanupCallback -> IO ())
-> (Ptr SDL_ClipboardCleanupCallback
-> IO SDL_ClipboardCleanupCallback)
-> (Ptr SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> IO ())
-> Storable SDL_ClipboardCleanupCallback
forall b. Ptr b -> Int -> IO SDL_ClipboardCleanupCallback
forall b. Ptr b -> Int -> SDL_ClipboardCleanupCallback -> 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_ClipboardCleanupCallback -> Int
sizeOf :: SDL_ClipboardCleanupCallback -> Int
$calignment :: SDL_ClipboardCleanupCallback -> Int
alignment :: SDL_ClipboardCleanupCallback -> Int
$cpeekElemOff :: Ptr SDL_ClipboardCleanupCallback
-> Int -> IO SDL_ClipboardCleanupCallback
peekElemOff :: Ptr SDL_ClipboardCleanupCallback
-> Int -> IO SDL_ClipboardCleanupCallback
$cpokeElemOff :: Ptr SDL_ClipboardCleanupCallback
-> Int -> SDL_ClipboardCleanupCallback -> IO ()
pokeElemOff :: Ptr SDL_ClipboardCleanupCallback
-> Int -> SDL_ClipboardCleanupCallback -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO SDL_ClipboardCleanupCallback
peekByteOff :: forall b. Ptr b -> Int -> IO SDL_ClipboardCleanupCallback
$cpokeByteOff :: forall b. Ptr b -> Int -> SDL_ClipboardCleanupCallback -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> SDL_ClipboardCleanupCallback -> IO ()
$cpeek :: Ptr SDL_ClipboardCleanupCallback -> IO SDL_ClipboardCleanupCallback
peek :: Ptr SDL_ClipboardCleanupCallback -> IO SDL_ClipboardCleanupCallback
$cpoke :: Ptr SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> IO ()
poke :: Ptr SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> IO ()
BG.Storable
, Ptr SDL_ClipboardCleanupCallback -> IO SDL_ClipboardCleanupCallback
(Ptr SDL_ClipboardCleanupCallback
-> IO SDL_ClipboardCleanupCallback)
-> ReadRaw SDL_ClipboardCleanupCallback
forall a. (Ptr a -> IO a) -> ReadRaw a
$creadRaw :: Ptr SDL_ClipboardCleanupCallback -> IO SDL_ClipboardCleanupCallback
readRaw :: Ptr SDL_ClipboardCleanupCallback -> IO SDL_ClipboardCleanupCallback
Marshal.ReadRaw
, Proxy SDL_ClipboardCleanupCallback -> Int
(Proxy SDL_ClipboardCleanupCallback -> Int)
-> (Proxy SDL_ClipboardCleanupCallback -> Int)
-> StaticSize SDL_ClipboardCleanupCallback
forall a. (Proxy a -> Int) -> (Proxy a -> Int) -> StaticSize a
$cstaticSizeOf :: Proxy SDL_ClipboardCleanupCallback -> Int
staticSizeOf :: Proxy SDL_ClipboardCleanupCallback -> Int
$cstaticAlignment :: Proxy SDL_ClipboardCleanupCallback -> Int
staticAlignment :: Proxy SDL_ClipboardCleanupCallback -> Int
Marshal.StaticSize
, Ptr SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> IO ()
(Ptr SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> IO ())
-> WriteRaw SDL_ClipboardCleanupCallback
forall a. (Ptr a -> a -> IO ()) -> WriteRaw a
$cwriteRaw :: Ptr SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> IO ()
writeRaw :: Ptr SDL_ClipboardCleanupCallback
-> SDL_ClipboardCleanupCallback -> IO ()
Marshal.WriteRaw
)
instance
(ty ~ BG.FunPtr SDL_ClipboardCleanupCallback_Aux)
=> BG.CompatHasField.HasField "unwrap" SDL_ClipboardCleanupCallback ty
where
hasField :: SDL_ClipboardCleanupCallback
-> (ty -> SDL_ClipboardCleanupCallback, ty)
hasField =
\SDL_ClipboardCleanupCallback
x0 ->
( \ty
y1 ->
SDL_ClipboardCleanupCallback{unwrap :: FunPtr SDL_ClipboardCleanupCallback_Aux
unwrap = ty
FunPtr SDL_ClipboardCleanupCallback_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_ClipboardCleanupCallback
x0
)
instance
(ty ~ BG.FunPtr SDL_ClipboardCleanupCallback_Aux)
=> BG.HasField "unwrap" (BG.Ptr SDL_ClipboardCleanupCallback) (BG.Ptr ty)
where
getField :: Ptr SDL_ClipboardCleanupCallback -> Ptr ty
getField = Proxy "unwrap"
-> Ptr SDL_ClipboardCleanupCallback
-> Ptr (CFieldType SDL_ClipboardCleanupCallback "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_ClipboardCleanupCallback "unwrap" where
type
CFieldType SDL_ClipboardCleanupCallback "unwrap" =
BG.FunPtr SDL_ClipboardCleanupCallback_Aux
offset# :: Proxy# SDL_ClipboardCleanupCallback -> Proxy# "unwrap" -> Int
offset# = \Proxy# SDL_ClipboardCleanupCallback
_ -> \Proxy# "unwrap"
_ -> Int
0