{-# language CPP #-}
module Vulkan.Extensions.VK_KHR_xlib_surface ( createXlibSurfaceKHR
, getPhysicalDeviceXlibPresentationSupportKHR
, XlibSurfaceCreateInfoKHR(..)
, XlibSurfaceCreateFlagsKHR(..)
, KHR_XLIB_SURFACE_SPEC_VERSION
, pattern KHR_XLIB_SURFACE_SPEC_VERSION
, KHR_XLIB_SURFACE_EXTENSION_NAME
, pattern KHR_XLIB_SURFACE_EXTENSION_NAME
, Display
, VisualID
, Window
, SurfaceKHR(..)
) where
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Vulkan.Internal.Utils (traceAroundEvent)
import Control.Exception.Base (bracket)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import Foreign.Marshal.Alloc (allocaBytes)
import Foreign.Marshal.Alloc (callocBytes)
import Foreign.Marshal.Alloc (free)
import GHC.Base (when)
import GHC.IO (throwIO)
import GHC.Ptr (nullFunPtr)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showString)
import Numeric (showHex)
import Control.Monad.Trans.Class (lift)
import Control.Monad.Trans.Cont (evalContT)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero)
import Vulkan.Zero (Zero(..))
import Control.Monad.IO.Class (MonadIO)
import Data.String (IsString)
import Data.Typeable (Typeable)
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import GHC.IO.Exception (IOErrorType(..))
import GHC.IO.Exception (IOException(..))
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Word (Word32)
import Data.Word (Word64)
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.NamedType ((:::))
import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.FundamentalTypes (Bool32(..))
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Core10.Handles (Instance)
import Vulkan.Core10.Handles (Instance(..))
import Vulkan.Core10.Handles (Instance(Instance))
import Vulkan.Dynamic (InstanceCmds(pVkCreateXlibSurfaceKHR))
import Vulkan.Dynamic (InstanceCmds(pVkGetPhysicalDeviceXlibPresentationSupportKHR))
import Vulkan.Core10.Handles (Instance_T)
import Vulkan.Core10.Handles (PhysicalDevice)
import Vulkan.Core10.Handles (PhysicalDevice(..))
import Vulkan.Core10.Handles (PhysicalDevice(PhysicalDevice))
import Vulkan.Core10.Handles (PhysicalDevice_T)
import Vulkan.Core10.Enums.Result (Result)
import Vulkan.Core10.Enums.Result (Result(..))
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Extensions.Handles (SurfaceKHR)
import Vulkan.Extensions.Handles (SurfaceKHR(..))
import Vulkan.Exception (VulkanException(..))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR))
import Vulkan.Core10.Enums.Result (Result(SUCCESS))
import Vulkan.Extensions.Handles (SurfaceKHR(..))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCreateXlibSurfaceKHR
:: FunPtr (Ptr Instance_T -> Ptr XlibSurfaceCreateInfoKHR -> Ptr AllocationCallbacks -> Ptr SurfaceKHR -> IO Result) -> Ptr Instance_T -> Ptr XlibSurfaceCreateInfoKHR -> Ptr AllocationCallbacks -> Ptr SurfaceKHR -> IO Result
createXlibSurfaceKHR :: forall io
. (MonadIO io)
=>
Instance
->
XlibSurfaceCreateInfoKHR
->
("allocator" ::: Maybe AllocationCallbacks)
-> io (SurfaceKHR)
createXlibSurfaceKHR :: forall (io :: * -> *).
MonadIO io =>
Instance
-> XlibSurfaceCreateInfoKHR
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io SurfaceKHR
createXlibSurfaceKHR Instance
instance' XlibSurfaceCreateInfoKHR
createInfo "allocator" ::: Maybe AllocationCallbacks
allocator = IO SurfaceKHR -> io SurfaceKHR
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SurfaceKHR -> io SurfaceKHR)
-> (ContT SurfaceKHR IO SurfaceKHR -> IO SurfaceKHR)
-> ContT SurfaceKHR IO SurfaceKHR
-> io SurfaceKHR
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT SurfaceKHR IO SurfaceKHR -> IO SurfaceKHR
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT SurfaceKHR IO SurfaceKHR -> io SurfaceKHR)
-> ContT SurfaceKHR IO SurfaceKHR -> io SurfaceKHR
forall a b. (a -> b) -> a -> b
$ do
let vkCreateXlibSurfaceKHRPtr :: FunPtr
(Ptr Instance_T
-> Ptr XlibSurfaceCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
vkCreateXlibSurfaceKHRPtr = InstanceCmds
-> FunPtr
(Ptr Instance_T
-> Ptr XlibSurfaceCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
pVkCreateXlibSurfaceKHR (case Instance
instance' of Instance{InstanceCmds
instanceCmds :: InstanceCmds
$sel:instanceCmds:Instance :: Instance -> InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
IO () -> ContT SurfaceKHR IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT SurfaceKHR m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT SurfaceKHR IO ())
-> IO () -> ContT SurfaceKHR IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Instance_T
-> Ptr XlibSurfaceCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
vkCreateXlibSurfaceKHRPtr FunPtr
(Ptr Instance_T
-> Ptr XlibSurfaceCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
-> FunPtr
(Ptr Instance_T
-> Ptr XlibSurfaceCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Instance_T
-> Ptr XlibSurfaceCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCreateXlibSurfaceKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCreateXlibSurfaceKHR' :: Ptr Instance_T
-> Ptr XlibSurfaceCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result
vkCreateXlibSurfaceKHR' = FunPtr
(Ptr Instance_T
-> Ptr XlibSurfaceCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
-> Ptr Instance_T
-> Ptr XlibSurfaceCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result
mkVkCreateXlibSurfaceKHR FunPtr
(Ptr Instance_T
-> Ptr XlibSurfaceCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result)
vkCreateXlibSurfaceKHRPtr
Ptr XlibSurfaceCreateInfoKHR
pCreateInfo <- ((Ptr XlibSurfaceCreateInfoKHR -> IO SurfaceKHR) -> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr XlibSurfaceCreateInfoKHR)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr XlibSurfaceCreateInfoKHR -> IO SurfaceKHR) -> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr XlibSurfaceCreateInfoKHR))
-> ((Ptr XlibSurfaceCreateInfoKHR -> IO SurfaceKHR)
-> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr XlibSurfaceCreateInfoKHR)
forall a b. (a -> b) -> a -> b
$ XlibSurfaceCreateInfoKHR
-> (Ptr XlibSurfaceCreateInfoKHR -> IO SurfaceKHR) -> IO SurfaceKHR
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
forall b.
XlibSurfaceCreateInfoKHR
-> (Ptr XlibSurfaceCreateInfoKHR -> IO b) -> IO b
withCStruct (XlibSurfaceCreateInfoKHR
createInfo)
Ptr AllocationCallbacks
pAllocator <- case ("allocator" ::: Maybe AllocationCallbacks
allocator) of
"allocator" ::: Maybe AllocationCallbacks
Nothing -> Ptr AllocationCallbacks
-> ContT SurfaceKHR IO (Ptr AllocationCallbacks)
forall a. a -> ContT SurfaceKHR IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure Ptr AllocationCallbacks
forall a. Ptr a
nullPtr
Just AllocationCallbacks
j -> ((Ptr AllocationCallbacks -> IO SurfaceKHR) -> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr AllocationCallbacks)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr AllocationCallbacks -> IO SurfaceKHR) -> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr AllocationCallbacks))
-> ((Ptr AllocationCallbacks -> IO SurfaceKHR) -> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr AllocationCallbacks)
forall a b. (a -> b) -> a -> b
$ AllocationCallbacks
-> (Ptr AllocationCallbacks -> IO SurfaceKHR) -> IO SurfaceKHR
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
forall b.
AllocationCallbacks -> (Ptr AllocationCallbacks -> IO b) -> IO b
withCStruct (AllocationCallbacks
j)
Ptr SurfaceKHR
pPSurface <- ((Ptr SurfaceKHR -> IO SurfaceKHR) -> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr SurfaceKHR)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr SurfaceKHR -> IO SurfaceKHR) -> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr SurfaceKHR))
-> ((Ptr SurfaceKHR -> IO SurfaceKHR) -> IO SurfaceKHR)
-> ContT SurfaceKHR IO (Ptr SurfaceKHR)
forall a b. (a -> b) -> a -> b
$ IO (Ptr SurfaceKHR)
-> (Ptr SurfaceKHR -> IO ())
-> (Ptr SurfaceKHR -> IO SurfaceKHR)
-> IO SurfaceKHR
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (forall a. Int -> IO (Ptr a)
callocBytes @SurfaceKHR Int
8) Ptr SurfaceKHR -> IO ()
forall a. Ptr a -> IO ()
free
Result
r <- IO Result -> ContT SurfaceKHR IO Result
forall (m :: * -> *) a. Monad m => m a -> ContT SurfaceKHR m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Result -> ContT SurfaceKHR IO Result)
-> IO Result -> ContT SurfaceKHR IO Result
forall a b. (a -> b) -> a -> b
$ String -> IO Result -> IO Result
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCreateXlibSurfaceKHR" (Ptr Instance_T
-> Ptr XlibSurfaceCreateInfoKHR
-> Ptr AllocationCallbacks
-> Ptr SurfaceKHR
-> IO Result
vkCreateXlibSurfaceKHR'
(Instance -> Ptr Instance_T
instanceHandle (Instance
instance'))
Ptr XlibSurfaceCreateInfoKHR
pCreateInfo
Ptr AllocationCallbacks
pAllocator
(Ptr SurfaceKHR
pPSurface))
IO () -> ContT SurfaceKHR IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT SurfaceKHR m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT SurfaceKHR IO ())
-> IO () -> ContT SurfaceKHR IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when (Result
r Result -> Result -> Bool
forall a. Ord a => a -> a -> Bool
< Result
SUCCESS) (VulkanException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (Result -> VulkanException
VulkanException Result
r))
SurfaceKHR
pSurface <- IO SurfaceKHR -> ContT SurfaceKHR IO SurfaceKHR
forall (m :: * -> *) a. Monad m => m a -> ContT SurfaceKHR m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO SurfaceKHR -> ContT SurfaceKHR IO SurfaceKHR)
-> IO SurfaceKHR -> ContT SurfaceKHR IO SurfaceKHR
forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> IO a
peek @SurfaceKHR Ptr SurfaceKHR
pPSurface
SurfaceKHR -> ContT SurfaceKHR IO SurfaceKHR
forall a. a -> ContT SurfaceKHR IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (SurfaceKHR -> ContT SurfaceKHR IO SurfaceKHR)
-> SurfaceKHR -> ContT SurfaceKHR IO SurfaceKHR
forall a b. (a -> b) -> a -> b
$ (SurfaceKHR
pSurface)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetPhysicalDeviceXlibPresentationSupportKHR
:: FunPtr (Ptr PhysicalDevice_T -> Word32 -> Ptr Display -> VisualID -> IO Bool32) -> Ptr PhysicalDevice_T -> Word32 -> Ptr Display -> VisualID -> IO Bool32
getPhysicalDeviceXlibPresentationSupportKHR :: forall io
. (MonadIO io)
=>
PhysicalDevice
->
("queueFamilyIndex" ::: Word32)
->
("dpy" ::: Ptr Display)
->
VisualID
-> io (Bool)
getPhysicalDeviceXlibPresentationSupportKHR :: forall (io :: * -> *).
MonadIO io =>
PhysicalDevice
-> ("queueFamilyIndex" ::: Word32)
-> ("dpy" ::: Ptr Display)
-> VisualID
-> io Bool
getPhysicalDeviceXlibPresentationSupportKHR PhysicalDevice
physicalDevice
"queueFamilyIndex" ::: Word32
queueFamilyIndex
"dpy" ::: Ptr Display
dpy
VisualID
visualID = IO Bool -> io Bool
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> io Bool) -> IO Bool -> io Bool
forall a b. (a -> b) -> a -> b
$ do
let vkGetPhysicalDeviceXlibPresentationSupportKHRPtr :: FunPtr
(Ptr PhysicalDevice_T
-> ("queueFamilyIndex" ::: Word32)
-> ("dpy" ::: Ptr Display)
-> VisualID
-> IO Bool32)
vkGetPhysicalDeviceXlibPresentationSupportKHRPtr = InstanceCmds
-> FunPtr
(Ptr PhysicalDevice_T
-> ("queueFamilyIndex" ::: Word32)
-> ("dpy" ::: Ptr Display)
-> VisualID
-> IO Bool32)
pVkGetPhysicalDeviceXlibPresentationSupportKHR (case PhysicalDevice
physicalDevice of PhysicalDevice{InstanceCmds
instanceCmds :: InstanceCmds
$sel:instanceCmds:PhysicalDevice :: PhysicalDevice -> InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr PhysicalDevice_T
-> ("queueFamilyIndex" ::: Word32)
-> ("dpy" ::: Ptr Display)
-> VisualID
-> IO Bool32)
vkGetPhysicalDeviceXlibPresentationSupportKHRPtr FunPtr
(Ptr PhysicalDevice_T
-> ("queueFamilyIndex" ::: Word32)
-> ("dpy" ::: Ptr Display)
-> VisualID
-> IO Bool32)
-> FunPtr
(Ptr PhysicalDevice_T
-> ("queueFamilyIndex" ::: Word32)
-> ("dpy" ::: Ptr Display)
-> VisualID
-> IO Bool32)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr PhysicalDevice_T
-> ("queueFamilyIndex" ::: Word32)
-> ("dpy" ::: Ptr Display)
-> VisualID
-> IO Bool32)
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkGetPhysicalDeviceXlibPresentationSupportKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetPhysicalDeviceXlibPresentationSupportKHR' :: Ptr PhysicalDevice_T
-> ("queueFamilyIndex" ::: Word32)
-> ("dpy" ::: Ptr Display)
-> VisualID
-> IO Bool32
vkGetPhysicalDeviceXlibPresentationSupportKHR' = FunPtr
(Ptr PhysicalDevice_T
-> ("queueFamilyIndex" ::: Word32)
-> ("dpy" ::: Ptr Display)
-> VisualID
-> IO Bool32)
-> Ptr PhysicalDevice_T
-> ("queueFamilyIndex" ::: Word32)
-> ("dpy" ::: Ptr Display)
-> VisualID
-> IO Bool32
mkVkGetPhysicalDeviceXlibPresentationSupportKHR FunPtr
(Ptr PhysicalDevice_T
-> ("queueFamilyIndex" ::: Word32)
-> ("dpy" ::: Ptr Display)
-> VisualID
-> IO Bool32)
vkGetPhysicalDeviceXlibPresentationSupportKHRPtr
Bool32
r <- String -> IO Bool32 -> IO Bool32
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetPhysicalDeviceXlibPresentationSupportKHR" (Ptr PhysicalDevice_T
-> ("queueFamilyIndex" ::: Word32)
-> ("dpy" ::: Ptr Display)
-> VisualID
-> IO Bool32
vkGetPhysicalDeviceXlibPresentationSupportKHR'
(PhysicalDevice -> Ptr PhysicalDevice_T
physicalDeviceHandle (PhysicalDevice
physicalDevice))
("queueFamilyIndex" ::: Word32
queueFamilyIndex)
("dpy" ::: Ptr Display
dpy)
(VisualID
visualID))
Bool -> IO Bool
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Bool -> IO Bool) -> Bool -> IO Bool
forall a b. (a -> b) -> a -> b
$ ((Bool32 -> Bool
bool32ToBool Bool32
r))
data XlibSurfaceCreateInfoKHR = XlibSurfaceCreateInfoKHR
{
XlibSurfaceCreateInfoKHR -> XlibSurfaceCreateFlagsKHR
flags :: XlibSurfaceCreateFlagsKHR
,
XlibSurfaceCreateInfoKHR -> "dpy" ::: Ptr Display
dpy :: Ptr Display
,
XlibSurfaceCreateInfoKHR -> VisualID
window :: Window
}
deriving (Typeable, XlibSurfaceCreateInfoKHR -> XlibSurfaceCreateInfoKHR -> Bool
(XlibSurfaceCreateInfoKHR -> XlibSurfaceCreateInfoKHR -> Bool)
-> (XlibSurfaceCreateInfoKHR -> XlibSurfaceCreateInfoKHR -> Bool)
-> Eq XlibSurfaceCreateInfoKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: XlibSurfaceCreateInfoKHR -> XlibSurfaceCreateInfoKHR -> Bool
== :: XlibSurfaceCreateInfoKHR -> XlibSurfaceCreateInfoKHR -> Bool
$c/= :: XlibSurfaceCreateInfoKHR -> XlibSurfaceCreateInfoKHR -> Bool
/= :: XlibSurfaceCreateInfoKHR -> XlibSurfaceCreateInfoKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (XlibSurfaceCreateInfoKHR)
#endif
deriving instance Show XlibSurfaceCreateInfoKHR
instance ToCStruct XlibSurfaceCreateInfoKHR where
withCStruct :: forall b.
XlibSurfaceCreateInfoKHR
-> (Ptr XlibSurfaceCreateInfoKHR -> IO b) -> IO b
withCStruct XlibSurfaceCreateInfoKHR
x Ptr XlibSurfaceCreateInfoKHR -> IO b
f = Int -> (Ptr XlibSurfaceCreateInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
40 ((Ptr XlibSurfaceCreateInfoKHR -> IO b) -> IO b)
-> (Ptr XlibSurfaceCreateInfoKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr XlibSurfaceCreateInfoKHR
p -> Ptr XlibSurfaceCreateInfoKHR
-> XlibSurfaceCreateInfoKHR -> IO b -> IO b
forall b.
Ptr XlibSurfaceCreateInfoKHR
-> XlibSurfaceCreateInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr XlibSurfaceCreateInfoKHR
p XlibSurfaceCreateInfoKHR
x (Ptr XlibSurfaceCreateInfoKHR -> IO b
f Ptr XlibSurfaceCreateInfoKHR
p)
pokeCStruct :: forall b.
Ptr XlibSurfaceCreateInfoKHR
-> XlibSurfaceCreateInfoKHR -> IO b -> IO b
pokeCStruct Ptr XlibSurfaceCreateInfoKHR
p XlibSurfaceCreateInfoKHR{VisualID
"dpy" ::: Ptr Display
XlibSurfaceCreateFlagsKHR
$sel:flags:XlibSurfaceCreateInfoKHR :: XlibSurfaceCreateInfoKHR -> XlibSurfaceCreateFlagsKHR
$sel:dpy:XlibSurfaceCreateInfoKHR :: XlibSurfaceCreateInfoKHR -> "dpy" ::: Ptr Display
$sel:window:XlibSurfaceCreateInfoKHR :: XlibSurfaceCreateInfoKHR -> VisualID
flags :: XlibSurfaceCreateFlagsKHR
dpy :: "dpy" ::: Ptr Display
window :: VisualID
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr XlibSurfaceCreateInfoKHR
p Ptr XlibSurfaceCreateInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR)
("dpy" ::: Ptr Display) -> Display -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr XlibSurfaceCreateInfoKHR
p Ptr XlibSurfaceCreateInfoKHR -> Int -> "dpy" ::: Ptr Display
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Display
forall a. Ptr a
nullPtr)
Ptr XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr XlibSurfaceCreateInfoKHR
p Ptr XlibSurfaceCreateInfoKHR
-> Int -> Ptr XlibSurfaceCreateFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr XlibSurfaceCreateFlagsKHR)) (XlibSurfaceCreateFlagsKHR
flags)
Ptr ("dpy" ::: Ptr Display) -> ("dpy" ::: Ptr Display) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr XlibSurfaceCreateInfoKHR
p Ptr XlibSurfaceCreateInfoKHR -> Int -> Ptr ("dpy" ::: Ptr Display)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr Display))) ("dpy" ::: Ptr Display
dpy)
Ptr VisualID -> VisualID -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr XlibSurfaceCreateInfoKHR
p Ptr XlibSurfaceCreateInfoKHR -> Int -> Ptr VisualID
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Window)) (VisualID
window)
IO b
f
cStructSize :: Int
cStructSize = Int
40
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr XlibSurfaceCreateInfoKHR -> IO b -> IO b
pokeZeroCStruct Ptr XlibSurfaceCreateInfoKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr XlibSurfaceCreateInfoKHR
p Ptr XlibSurfaceCreateInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR)
("dpy" ::: Ptr Display) -> Display -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr XlibSurfaceCreateInfoKHR
p Ptr XlibSurfaceCreateInfoKHR -> Int -> "dpy" ::: Ptr Display
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Display
forall a. Ptr a
nullPtr)
Ptr ("dpy" ::: Ptr Display) -> ("dpy" ::: Ptr Display) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr XlibSurfaceCreateInfoKHR
p Ptr XlibSurfaceCreateInfoKHR -> Int -> Ptr ("dpy" ::: Ptr Display)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr Display))) ("dpy" ::: Ptr Display
forall a. Zero a => a
zero)
Ptr VisualID -> VisualID -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr XlibSurfaceCreateInfoKHR
p Ptr XlibSurfaceCreateInfoKHR -> Int -> Ptr VisualID
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Window)) (VisualID
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct XlibSurfaceCreateInfoKHR where
peekCStruct :: Ptr XlibSurfaceCreateInfoKHR -> IO XlibSurfaceCreateInfoKHR
peekCStruct Ptr XlibSurfaceCreateInfoKHR
p = do
XlibSurfaceCreateFlagsKHR
flags <- forall a. Storable a => Ptr a -> IO a
peek @XlibSurfaceCreateFlagsKHR ((Ptr XlibSurfaceCreateInfoKHR
p Ptr XlibSurfaceCreateInfoKHR
-> Int -> Ptr XlibSurfaceCreateFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr XlibSurfaceCreateFlagsKHR))
"dpy" ::: Ptr Display
dpy <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr Display) ((Ptr XlibSurfaceCreateInfoKHR
p Ptr XlibSurfaceCreateInfoKHR -> Int -> Ptr ("dpy" ::: Ptr Display)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr Display)))
VisualID
window <- forall a. Storable a => Ptr a -> IO a
peek @Window ((Ptr XlibSurfaceCreateInfoKHR
p Ptr XlibSurfaceCreateInfoKHR -> Int -> Ptr VisualID
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Window))
XlibSurfaceCreateInfoKHR -> IO XlibSurfaceCreateInfoKHR
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (XlibSurfaceCreateInfoKHR -> IO XlibSurfaceCreateInfoKHR)
-> XlibSurfaceCreateInfoKHR -> IO XlibSurfaceCreateInfoKHR
forall a b. (a -> b) -> a -> b
$ XlibSurfaceCreateFlagsKHR
-> ("dpy" ::: Ptr Display) -> VisualID -> XlibSurfaceCreateInfoKHR
XlibSurfaceCreateInfoKHR
XlibSurfaceCreateFlagsKHR
flags "dpy" ::: Ptr Display
dpy VisualID
window
instance Storable XlibSurfaceCreateInfoKHR where
sizeOf :: XlibSurfaceCreateInfoKHR -> Int
sizeOf ~XlibSurfaceCreateInfoKHR
_ = Int
40
alignment :: XlibSurfaceCreateInfoKHR -> Int
alignment ~XlibSurfaceCreateInfoKHR
_ = Int
8
peek :: Ptr XlibSurfaceCreateInfoKHR -> IO XlibSurfaceCreateInfoKHR
peek = Ptr XlibSurfaceCreateInfoKHR -> IO XlibSurfaceCreateInfoKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr XlibSurfaceCreateInfoKHR -> XlibSurfaceCreateInfoKHR -> IO ()
poke Ptr XlibSurfaceCreateInfoKHR
ptr XlibSurfaceCreateInfoKHR
poked = Ptr XlibSurfaceCreateInfoKHR
-> XlibSurfaceCreateInfoKHR -> IO () -> IO ()
forall b.
Ptr XlibSurfaceCreateInfoKHR
-> XlibSurfaceCreateInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr XlibSurfaceCreateInfoKHR
ptr XlibSurfaceCreateInfoKHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero XlibSurfaceCreateInfoKHR where
zero :: XlibSurfaceCreateInfoKHR
zero = XlibSurfaceCreateFlagsKHR
-> ("dpy" ::: Ptr Display) -> VisualID -> XlibSurfaceCreateInfoKHR
XlibSurfaceCreateInfoKHR
XlibSurfaceCreateFlagsKHR
forall a. Zero a => a
zero
"dpy" ::: Ptr Display
forall a. Zero a => a
zero
VisualID
forall a. Zero a => a
zero
newtype XlibSurfaceCreateFlagsKHR = XlibSurfaceCreateFlagsKHR Flags
deriving newtype (XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool
(XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool)
-> (XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool)
-> Eq XlibSurfaceCreateFlagsKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool
== :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool
$c/= :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool
/= :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool
Eq, Eq XlibSurfaceCreateFlagsKHR
Eq XlibSurfaceCreateFlagsKHR =>
(XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> Ordering)
-> (XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool)
-> (XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool)
-> (XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool)
-> (XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool)
-> (XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR)
-> Ord XlibSurfaceCreateFlagsKHR
XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool
XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Ordering
XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
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 :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Ordering
compare :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Ordering
$c< :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool
< :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool
$c<= :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool
<= :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool
$c> :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool
> :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool
$c>= :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool
>= :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> Bool
$cmax :: XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
max :: XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
$cmin :: XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
min :: XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
Ord, Ptr XlibSurfaceCreateFlagsKHR -> IO XlibSurfaceCreateFlagsKHR
Ptr XlibSurfaceCreateFlagsKHR
-> Int -> IO XlibSurfaceCreateFlagsKHR
Ptr XlibSurfaceCreateFlagsKHR
-> Int -> XlibSurfaceCreateFlagsKHR -> IO ()
Ptr XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> IO ()
XlibSurfaceCreateFlagsKHR -> Int
(XlibSurfaceCreateFlagsKHR -> Int)
-> (XlibSurfaceCreateFlagsKHR -> Int)
-> (Ptr XlibSurfaceCreateFlagsKHR
-> Int -> IO XlibSurfaceCreateFlagsKHR)
-> (Ptr XlibSurfaceCreateFlagsKHR
-> Int -> XlibSurfaceCreateFlagsKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO XlibSurfaceCreateFlagsKHR)
-> (forall b. Ptr b -> Int -> XlibSurfaceCreateFlagsKHR -> IO ())
-> (Ptr XlibSurfaceCreateFlagsKHR -> IO XlibSurfaceCreateFlagsKHR)
-> (Ptr XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> IO ())
-> Storable XlibSurfaceCreateFlagsKHR
forall b. Ptr b -> Int -> IO XlibSurfaceCreateFlagsKHR
forall b. Ptr b -> Int -> XlibSurfaceCreateFlagsKHR -> 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 :: XlibSurfaceCreateFlagsKHR -> Int
sizeOf :: XlibSurfaceCreateFlagsKHR -> Int
$calignment :: XlibSurfaceCreateFlagsKHR -> Int
alignment :: XlibSurfaceCreateFlagsKHR -> Int
$cpeekElemOff :: Ptr XlibSurfaceCreateFlagsKHR
-> Int -> IO XlibSurfaceCreateFlagsKHR
peekElemOff :: Ptr XlibSurfaceCreateFlagsKHR
-> Int -> IO XlibSurfaceCreateFlagsKHR
$cpokeElemOff :: Ptr XlibSurfaceCreateFlagsKHR
-> Int -> XlibSurfaceCreateFlagsKHR -> IO ()
pokeElemOff :: Ptr XlibSurfaceCreateFlagsKHR
-> Int -> XlibSurfaceCreateFlagsKHR -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO XlibSurfaceCreateFlagsKHR
peekByteOff :: forall b. Ptr b -> Int -> IO XlibSurfaceCreateFlagsKHR
$cpokeByteOff :: forall b. Ptr b -> Int -> XlibSurfaceCreateFlagsKHR -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> XlibSurfaceCreateFlagsKHR -> IO ()
$cpeek :: Ptr XlibSurfaceCreateFlagsKHR -> IO XlibSurfaceCreateFlagsKHR
peek :: Ptr XlibSurfaceCreateFlagsKHR -> IO XlibSurfaceCreateFlagsKHR
$cpoke :: Ptr XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> IO ()
poke :: Ptr XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR -> IO ()
Storable, XlibSurfaceCreateFlagsKHR
XlibSurfaceCreateFlagsKHR -> Zero XlibSurfaceCreateFlagsKHR
forall a. a -> Zero a
$czero :: XlibSurfaceCreateFlagsKHR
zero :: XlibSurfaceCreateFlagsKHR
Zero, Eq XlibSurfaceCreateFlagsKHR
XlibSurfaceCreateFlagsKHR
Eq XlibSurfaceCreateFlagsKHR =>
(XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR)
-> XlibSurfaceCreateFlagsKHR
-> (Int -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR -> Int -> Bool)
-> (XlibSurfaceCreateFlagsKHR -> Maybe Int)
-> (XlibSurfaceCreateFlagsKHR -> Int)
-> (XlibSurfaceCreateFlagsKHR -> Bool)
-> (XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR)
-> (XlibSurfaceCreateFlagsKHR -> Int)
-> Bits XlibSurfaceCreateFlagsKHR
Int -> XlibSurfaceCreateFlagsKHR
XlibSurfaceCreateFlagsKHR -> Bool
XlibSurfaceCreateFlagsKHR -> Int
XlibSurfaceCreateFlagsKHR -> Maybe Int
XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
XlibSurfaceCreateFlagsKHR -> Int -> Bool
XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
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.&. :: XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
.&. :: XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
$c.|. :: XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
.|. :: XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
$cxor :: XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
xor :: XlibSurfaceCreateFlagsKHR
-> XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
$ccomplement :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
complement :: XlibSurfaceCreateFlagsKHR -> XlibSurfaceCreateFlagsKHR
$cshift :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
shift :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
$crotate :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
rotate :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
$czeroBits :: XlibSurfaceCreateFlagsKHR
zeroBits :: XlibSurfaceCreateFlagsKHR
$cbit :: Int -> XlibSurfaceCreateFlagsKHR
bit :: Int -> XlibSurfaceCreateFlagsKHR
$csetBit :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
setBit :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
$cclearBit :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
clearBit :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
$ccomplementBit :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
complementBit :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
$ctestBit :: XlibSurfaceCreateFlagsKHR -> Int -> Bool
testBit :: XlibSurfaceCreateFlagsKHR -> Int -> Bool
$cbitSizeMaybe :: XlibSurfaceCreateFlagsKHR -> Maybe Int
bitSizeMaybe :: XlibSurfaceCreateFlagsKHR -> Maybe Int
$cbitSize :: XlibSurfaceCreateFlagsKHR -> Int
bitSize :: XlibSurfaceCreateFlagsKHR -> Int
$cisSigned :: XlibSurfaceCreateFlagsKHR -> Bool
isSigned :: XlibSurfaceCreateFlagsKHR -> Bool
$cshiftL :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
shiftL :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
$cunsafeShiftL :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
unsafeShiftL :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
$cshiftR :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
shiftR :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
$cunsafeShiftR :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
unsafeShiftR :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
$crotateL :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
rotateL :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
$crotateR :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
rotateR :: XlibSurfaceCreateFlagsKHR -> Int -> XlibSurfaceCreateFlagsKHR
$cpopCount :: XlibSurfaceCreateFlagsKHR -> Int
popCount :: XlibSurfaceCreateFlagsKHR -> Int
Bits, Bits XlibSurfaceCreateFlagsKHR
Bits XlibSurfaceCreateFlagsKHR =>
(XlibSurfaceCreateFlagsKHR -> Int)
-> (XlibSurfaceCreateFlagsKHR -> Int)
-> (XlibSurfaceCreateFlagsKHR -> Int)
-> FiniteBits XlibSurfaceCreateFlagsKHR
XlibSurfaceCreateFlagsKHR -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: XlibSurfaceCreateFlagsKHR -> Int
finiteBitSize :: XlibSurfaceCreateFlagsKHR -> Int
$ccountLeadingZeros :: XlibSurfaceCreateFlagsKHR -> Int
countLeadingZeros :: XlibSurfaceCreateFlagsKHR -> Int
$ccountTrailingZeros :: XlibSurfaceCreateFlagsKHR -> Int
countTrailingZeros :: XlibSurfaceCreateFlagsKHR -> Int
FiniteBits)
conNameXlibSurfaceCreateFlagsKHR :: String
conNameXlibSurfaceCreateFlagsKHR :: String
conNameXlibSurfaceCreateFlagsKHR = String
"XlibSurfaceCreateFlagsKHR"
enumPrefixXlibSurfaceCreateFlagsKHR :: String
enumPrefixXlibSurfaceCreateFlagsKHR :: String
enumPrefixXlibSurfaceCreateFlagsKHR = String
""
showTableXlibSurfaceCreateFlagsKHR :: [(XlibSurfaceCreateFlagsKHR, String)]
showTableXlibSurfaceCreateFlagsKHR :: [(XlibSurfaceCreateFlagsKHR, String)]
showTableXlibSurfaceCreateFlagsKHR = []
instance Show XlibSurfaceCreateFlagsKHR where
showsPrec :: Int -> XlibSurfaceCreateFlagsKHR -> ShowS
showsPrec =
String
-> [(XlibSurfaceCreateFlagsKHR, String)]
-> String
-> (XlibSurfaceCreateFlagsKHR -> "queueFamilyIndex" ::: Word32)
-> (("queueFamilyIndex" ::: Word32) -> ShowS)
-> Int
-> XlibSurfaceCreateFlagsKHR
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixXlibSurfaceCreateFlagsKHR
[(XlibSurfaceCreateFlagsKHR, String)]
showTableXlibSurfaceCreateFlagsKHR
String
conNameXlibSurfaceCreateFlagsKHR
(\(XlibSurfaceCreateFlagsKHR "queueFamilyIndex" ::: Word32
x) -> "queueFamilyIndex" ::: Word32
x)
(\"queueFamilyIndex" ::: Word32
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ("queueFamilyIndex" ::: Word32) -> ShowS
forall a. Integral a => a -> ShowS
showHex "queueFamilyIndex" ::: Word32
x)
instance Read XlibSurfaceCreateFlagsKHR where
readPrec :: ReadPrec XlibSurfaceCreateFlagsKHR
readPrec =
String
-> [(XlibSurfaceCreateFlagsKHR, String)]
-> String
-> (("queueFamilyIndex" ::: Word32) -> XlibSurfaceCreateFlagsKHR)
-> ReadPrec XlibSurfaceCreateFlagsKHR
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixXlibSurfaceCreateFlagsKHR
[(XlibSurfaceCreateFlagsKHR, String)]
showTableXlibSurfaceCreateFlagsKHR
String
conNameXlibSurfaceCreateFlagsKHR
("queueFamilyIndex" ::: Word32) -> XlibSurfaceCreateFlagsKHR
XlibSurfaceCreateFlagsKHR
type KHR_XLIB_SURFACE_SPEC_VERSION = 6
pattern KHR_XLIB_SURFACE_SPEC_VERSION :: forall a . Integral a => a
pattern $bKHR_XLIB_SURFACE_SPEC_VERSION :: forall a. Integral a => a
$mKHR_XLIB_SURFACE_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
KHR_XLIB_SURFACE_SPEC_VERSION = 6
type KHR_XLIB_SURFACE_EXTENSION_NAME = "VK_KHR_xlib_surface"
pattern KHR_XLIB_SURFACE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bKHR_XLIB_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mKHR_XLIB_SURFACE_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
KHR_XLIB_SURFACE_EXTENSION_NAME = "VK_KHR_xlib_surface"
type Display = Ptr ()
type VisualID = Word64
type Window = Word64