{-# LINE 1 "src-gen/Graphics/Vulkan/Types/Struct/Extent.hsc" #-}


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.Extent (VkExtent2D, VkExtent3D)
       where
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal

-- | > typedef struct VkExtent2D {
--   >     uint32_t        width;
--   >     uint32_t        height;
--   > } VkExtent2D;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkExtent2D VkExtent2D registry at www.khronos.org>
type VkExtent2D = VkStruct VkExtent2D' -- ' closing tick for hsc2hs

data VkExtent2D' -- ' closing tick for hsc2hs

instance VulkanMarshal VkExtent2D where
    type StructRep VkExtent2D =
         'StructMeta "VkExtent2D" VkExtent2D  -- ' closing tick for hsc2hs
                                             (8)
{-# LINE 27 "src-gen/Graphics/Vulkan/Types/Struct/Extent.hsc" #-}
           4
{-# LINE 28 "src-gen/Graphics/Vulkan/Types/Struct/Extent.hsc" #-}
           '[('FieldMeta "width" Word32 'False  -- ' closing tick for hsc2hs
                                               (0)
{-# LINE 30 "src-gen/Graphics/Vulkan/Types/Struct/Extent.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "height" Word32 'False 
                                                (4)
{-# LINE 35 "src-gen/Graphics/Vulkan/Types/Struct/Extent.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > typedef struct VkExtent3D {
--   >     uint32_t        width;
--   >     uint32_t        height;
--   >     uint32_t        depth;
--   > } VkExtent3D;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkExtent3D VkExtent3D registry at www.khronos.org>
type VkExtent3D = VkStruct VkExtent3D' -- ' closing tick for hsc2hs

data VkExtent3D' -- ' closing tick for hsc2hs

instance VulkanMarshal VkExtent3D where
    type StructRep VkExtent3D =
         'StructMeta "VkExtent3D" VkExtent3D  -- ' closing tick for hsc2hs
                                             (12)
{-# LINE 57 "src-gen/Graphics/Vulkan/Types/Struct/Extent.hsc" #-}
           4
{-# LINE 58 "src-gen/Graphics/Vulkan/Types/Struct/Extent.hsc" #-}
           '[('FieldMeta "width" Word32 'False  -- ' closing tick for hsc2hs
                                               (0)
{-# LINE 60 "src-gen/Graphics/Vulkan/Types/Struct/Extent.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "height" Word32 'False 
                                                (4)
{-# LINE 65 "src-gen/Graphics/Vulkan/Types/Struct/Extent.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "depth" Word32 'False 
                                               (8)
{-# LINE 70 "src-gen/Graphics/Vulkan/Types/Struct/Extent.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs