{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE ExplicitForAll #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UnboxedTuples #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE NoFieldSelectors #-}
{-# LANGUAGE NoImplicitPrelude #-}

-- | Header file for SDL 2D rendering functions.
--
--     This API supports the following features:
--
--     * single pixel points
--
--     * single pixel lines
--
--     * filled rectangles
--
--     * texture images
--
--     * 2D polygons
--
--     The primitives may be drawn in opaque, blended, or additive modes.
--
--     The texture images may be drawn in opaque, blended, or additive modes. They can have an additional color tint or alpha modulation applied to them, and may also be stretched with linear interpolation.
--
--     This API is designed to accelerate simple 2D operations. You may want more functionality such as 3D polygons and particle effects, and in that case you should use SDL\'s OpenGL\/Direct3D support, the SDL3 GPU API, or one of the many good 3D engines.
--
--     These functions must be called from the main thread. See this bug for details: [https:\/\/github.com\/libsdl-org\/SDL\/issues\/986](https://github.com/libsdl-org/SDL/issues/986) The name of the software renderer.
--
--     @since 3.2.0
module SDL3.Sys.Bindgen.Render (
  SDL3.Sys.Bindgen.Render.sDL_SOFTWARE_RENDERER,
  SDL3.Sys.Bindgen.Render.sDL_GPU_RENDERER,
  SDL3.Sys.Bindgen.Render.SDL_Vertex (..),
  SDL3.Sys.Bindgen.Render.SDL_TextureAccess (..),
  pattern SDL3.Sys.Bindgen.Render.SDL_TEXTUREACCESS_STATIC,
  pattern SDL3.Sys.Bindgen.Render.SDL_TEXTUREACCESS_STREAMING,
  pattern SDL3.Sys.Bindgen.Render.SDL_TEXTUREACCESS_TARGET,
  SDL3.Sys.Bindgen.Render.SDL_TextureAddressMode (..),
  pattern SDL3.Sys.Bindgen.Render.SDL_TEXTURE_ADDRESS_INVALID,
  pattern SDL3.Sys.Bindgen.Render.SDL_TEXTURE_ADDRESS_AUTO,
  pattern SDL3.Sys.Bindgen.Render.SDL_TEXTURE_ADDRESS_CLAMP,
  pattern SDL3.Sys.Bindgen.Render.SDL_TEXTURE_ADDRESS_WRAP,
  SDL3.Sys.Bindgen.Render.SDL_RendererLogicalPresentation (..),
  pattern SDL3.Sys.Bindgen.Render.SDL_LOGICAL_PRESENTATION_DISABLED,
  pattern SDL3.Sys.Bindgen.Render.SDL_LOGICAL_PRESENTATION_STRETCH,
  pattern SDL3.Sys.Bindgen.Render.SDL_LOGICAL_PRESENTATION_LETTERBOX,
  pattern SDL3.Sys.Bindgen.Render.SDL_LOGICAL_PRESENTATION_OVERSCAN,
  pattern SDL3.Sys.Bindgen.Render.SDL_LOGICAL_PRESENTATION_INTEGER_SCALE,
  SDL3.Sys.Bindgen.Render.SDL_Renderer,
  SDL3.Sys.Bindgen.Render.SDL_Texture (..),
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_NAME_STRING,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_WINDOW_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_SURFACE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_OUTPUT_COLORSPACE_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_GPU_DEVICE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_GPU_SHADERS_SPIRV_BOOLEAN,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_GPU_SHADERS_DXIL_BOOLEAN,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_GPU_SHADERS_MSL_BOOLEAN,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_VULKAN_INSTANCE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_VULKAN_SURFACE_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_VULKAN_PHYSICAL_DEVICE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_VULKAN_DEVICE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_CREATE_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_NAME_STRING,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_WINDOW_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_SURFACE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_VSYNC_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_TEXTURE_FORMATS_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_OUTPUT_COLORSPACE_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_HDR_ENABLED_BOOLEAN,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_SDR_WHITE_POINT_FLOAT,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_HDR_HEADROOM_FLOAT,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_D3D9_DEVICE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_D3D11_DEVICE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_D3D11_SWAPCHAIN_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_D3D12_DEVICE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_D3D12_SWAPCHAIN_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_D3D12_COMMAND_QUEUE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_VULKAN_INSTANCE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_VULKAN_SURFACE_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_VULKAN_PHYSICAL_DEVICE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_VULKAN_DEVICE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_VULKAN_SWAPCHAIN_IMAGE_COUNT_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_RENDERER_GPU_DEVICE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_COLORSPACE_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_FORMAT_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_ACCESS_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_WIDTH_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_HEIGHT_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_PALETTE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_SDR_WHITE_POINT_FLOAT,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_HDR_HEADROOM_FLOAT,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_VULKAN_TEXTURE_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_UV_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_V_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_COLORSPACE_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_FORMAT_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_ACCESS_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_WIDTH_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_HEIGHT_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_SDR_WHITE_POINT_FLOAT,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_HDR_HEADROOM_FLOAT,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_D3D11_TEXTURE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_D3D11_TEXTURE_U_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_D3D11_TEXTURE_V_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_D3D12_TEXTURE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_D3D12_TEXTURE_U_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_D3D12_TEXTURE_V_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_OPENGL_TEXTURE_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_OPENGL_TEXTURE_UV_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_OPENGL_TEXTURE_U_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_OPENGL_TEXTURE_TARGET_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_OPENGL_TEX_W_FLOAT,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_OPENGL_TEX_H_FLOAT,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_VULKAN_TEXTURE_NUMBER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_GPU_TEXTURE_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_GPU_TEXTURE_UV_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_GPU_TEXTURE_U_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER,
  SDL3.Sys.Bindgen.Render.sDL_RENDERER_VSYNC_DISABLED,
  SDL3.Sys.Bindgen.Render.sDL_RENDERER_VSYNC_ADAPTIVE,
  SDL3.Sys.Bindgen.Render.sDL_DEBUG_TEXT_FONT_CHARACTER_SIZE,
  SDL3.Sys.Bindgen.Render.SDL_GPURenderStateCreateInfo (..),
  SDL3.Sys.Bindgen.Render.SDL_GPURenderState,
)
where

import Prelude (Eq, Int, Ord, Read, Show, pure, (<*>), (>>), type (~))

import C.Expr.HostPlatform qualified
import HsBindgen.Runtime.CEnum qualified as CEnum
import HsBindgen.Runtime.HasCField qualified as HasCField
import HsBindgen.Runtime.Marshal qualified as Marshal
import HsBindgen.Runtime.PtrConst qualified as PtrConst
import HsBindgen.Runtime.Struct qualified as Struct
import HsBindgen.Runtime.Support qualified as BG
import HsBindgen.Runtime.Support.CompatHasField qualified as BG.CompatHasField
import SDL3.Sys.Bindgen.Gpu qualified
import SDL3.Sys.Bindgen.Pixels qualified
import SDL3.Sys.Bindgen.Properties qualified
import SDL3.Sys.Bindgen.Rect qualified
import SDL3.Sys.Bindgen.Stdinc qualified

-- | [C declaration]: @macro SDL_SOFTWARE_RENDERER@, literal @\"software\"@, defined at @SDL3\/SDL_render.h 75:9@
sDL_SOFTWARE_RENDERER :: BG.ByteString
sDL_SOFTWARE_RENDERER :: ByteString
sDL_SOFTWARE_RENDERER =
  [Word8] -> ByteString
BG.pack [Word8
0x73, Word8
0x6F, Word8
0x66, Word8
0x74, Word8
0x77, Word8
0x61, Word8
0x72, Word8
0x65]

-- | The name of the GPU renderer.
--
--     @since 3.4.0
--
--     [C declaration]: @macro SDL_GPU_RENDERER@, literal @\"gpu\"@, defined at @SDL3\/SDL_render.h 82:9@
sDL_GPU_RENDERER :: BG.ByteString
sDL_GPU_RENDERER :: ByteString
sDL_GPU_RENDERER = [Word8] -> ByteString
BG.pack [Word8
0x67, Word8
0x70, Word8
0x75]

-- | Vertex structure.
--
--     @since 3.2.0
--
--     [C declaration]: @struct SDL_Vertex@, defined at @SDL3\/SDL_render.h 89:16@
data SDL_Vertex = SDL_Vertex
  { SDL_Vertex -> SDL_FPoint
position :: SDL3.Sys.Bindgen.Rect.SDL_FPoint
  -- ^ Vertex position, in 'SDL_Renderer' coordinates
  --
  --          [C declaration]: @position@, defined at @SDL3\/SDL_render.h 91:16@
  , SDL_Vertex -> SDL_FColor
color :: SDL3.Sys.Bindgen.Pixels.SDL_FColor
  -- ^ Vertex color
  --
  --          [C declaration]: @color@, defined at @SDL3\/SDL_render.h 92:16@
  , SDL_Vertex -> SDL_FPoint
tex_coord :: SDL3.Sys.Bindgen.Rect.SDL_FPoint
  -- ^ Normalized texture coordinates, if needed
  --
  --          [C declaration]: @tex_coord@, defined at @SDL3\/SDL_render.h 93:16@
  }
  deriving stock ((forall x. SDL_Vertex -> Rep SDL_Vertex x)
-> (forall x. Rep SDL_Vertex x -> SDL_Vertex) -> Generic SDL_Vertex
forall x. Rep SDL_Vertex x -> SDL_Vertex
forall x. SDL_Vertex -> Rep SDL_Vertex x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. SDL_Vertex -> Rep SDL_Vertex x
from :: forall x. SDL_Vertex -> Rep SDL_Vertex x
$cto :: forall x. Rep SDL_Vertex x -> SDL_Vertex
to :: forall x. Rep SDL_Vertex x -> SDL_Vertex
BG.Generic, SDL_Vertex -> SDL_Vertex -> Bool
(SDL_Vertex -> SDL_Vertex -> Bool)
-> (SDL_Vertex -> SDL_Vertex -> Bool) -> Eq SDL_Vertex
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SDL_Vertex -> SDL_Vertex -> Bool
== :: SDL_Vertex -> SDL_Vertex -> Bool
$c/= :: SDL_Vertex -> SDL_Vertex -> Bool
/= :: SDL_Vertex -> SDL_Vertex -> Bool
Eq, Int -> SDL_Vertex -> ShowS
[SDL_Vertex] -> ShowS
SDL_Vertex -> String
(Int -> SDL_Vertex -> ShowS)
-> (SDL_Vertex -> String)
-> ([SDL_Vertex] -> ShowS)
-> Show SDL_Vertex
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SDL_Vertex -> ShowS
showsPrec :: Int -> SDL_Vertex -> ShowS
$cshow :: SDL_Vertex -> String
show :: SDL_Vertex -> String
$cshowList :: [SDL_Vertex] -> ShowS
showList :: [SDL_Vertex] -> ShowS
Show)

instance Marshal.StaticSize SDL_Vertex where
  staticSizeOf :: Proxy SDL_Vertex -> Int
staticSizeOf = \Proxy SDL_Vertex
_ -> (Int
32 :: Int)

  staticAlignment :: Proxy SDL_Vertex -> Int
staticAlignment = \Proxy SDL_Vertex
_ -> (Int
4 :: Int)

instance Marshal.ReadRaw SDL_Vertex where
  readRaw :: Ptr SDL_Vertex -> IO SDL_Vertex
readRaw =
    \Ptr SDL_Vertex
ptr0 ->
      (SDL_FPoint -> SDL_FColor -> SDL_FPoint -> SDL_Vertex)
-> IO (SDL_FPoint -> SDL_FColor -> SDL_FPoint -> SDL_Vertex)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SDL_FPoint -> SDL_FColor -> SDL_FPoint -> SDL_Vertex
SDL_Vertex
        IO (SDL_FPoint -> SDL_FColor -> SDL_FPoint -> SDL_Vertex)
-> IO SDL_FPoint -> IO (SDL_FColor -> SDL_FPoint -> SDL_Vertex)
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "position"
-> Ptr SDL_Vertex -> IO (CFieldType SDL_Vertex "position")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"position") Ptr SDL_Vertex
ptr0
        IO (SDL_FColor -> SDL_FPoint -> SDL_Vertex)
-> IO SDL_FColor -> IO (SDL_FPoint -> SDL_Vertex)
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "color"
-> Ptr SDL_Vertex -> IO (CFieldType SDL_Vertex "color")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"color") Ptr SDL_Vertex
ptr0
        IO (SDL_FPoint -> SDL_Vertex) -> IO SDL_FPoint -> IO SDL_Vertex
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "tex_coord"
-> Ptr SDL_Vertex -> IO (CFieldType SDL_Vertex "tex_coord")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"tex_coord") Ptr SDL_Vertex
ptr0

instance Marshal.WriteRaw SDL_Vertex where
  writeRaw :: Ptr SDL_Vertex -> SDL_Vertex -> IO ()
writeRaw =
    \Ptr SDL_Vertex
ptr0 ->
      \SDL_Vertex
s1 ->
        case SDL_Vertex
s1 of
          SDL_Vertex SDL_FPoint
position2 SDL_FColor
color3 SDL_FPoint
tex_coord4 ->
            Proxy "position"
-> Ptr SDL_Vertex -> CFieldType SDL_Vertex "position" -> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"position") Ptr SDL_Vertex
ptr0 CFieldType SDL_Vertex "position"
SDL_FPoint
position2
              IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Proxy "color"
-> Ptr SDL_Vertex -> CFieldType SDL_Vertex "color" -> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"color") Ptr SDL_Vertex
ptr0 CFieldType SDL_Vertex "color"
SDL_FColor
color3
              IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Proxy "tex_coord"
-> Ptr SDL_Vertex -> CFieldType SDL_Vertex "tex_coord" -> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"tex_coord") Ptr SDL_Vertex
ptr0 CFieldType SDL_Vertex "tex_coord"
SDL_FPoint
tex_coord4

deriving via Marshal.EquivStorable SDL_Vertex instance BG.Storable SDL_Vertex

deriving via Struct.IsStructViaReadRaw SDL_Vertex instance Struct.IsStruct SDL_Vertex

-- | Vertex position, in 'SDL_Renderer' coordinates
--
--     [C declaration]: @position@, defined at @SDL3\/SDL_render.h 91:16@
instance
  (ty ~ SDL3.Sys.Bindgen.Rect.SDL_FPoint)
  => BG.CompatHasField.HasField "position" SDL_Vertex ty
  where
  hasField :: SDL_Vertex -> (ty -> SDL_Vertex, ty)
hasField =
    \SDL_Vertex
x0 ->
      ( \ty
y1 ->
          SDL_Vertex
            { position :: SDL_FPoint
position = ty
SDL_FPoint
y1
            , color :: SDL_FColor
color = 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 @"color" SDL_Vertex
x0
            , tex_coord :: SDL_FPoint
tex_coord = 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 @"tex_coord" SDL_Vertex
x0
            }
      , 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 @"position" SDL_Vertex
x0
      )

instance
  (ty ~ SDL3.Sys.Bindgen.Rect.SDL_FPoint)
  => BG.HasField "position" (BG.Ptr SDL_Vertex) (BG.Ptr ty)
  where
  getField :: Ptr SDL_Vertex -> Ptr ty
getField = Proxy "position"
-> Ptr SDL_Vertex -> Ptr (CFieldType SDL_Vertex "position")
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 @"position")

instance HasCField.HasCField SDL_Vertex "position" where
  type
    CFieldType SDL_Vertex "position" =
      SDL3.Sys.Bindgen.Rect.SDL_FPoint

  offset# :: Proxy# SDL_Vertex -> Proxy# "position" -> Int
offset# = \Proxy# SDL_Vertex
_ -> \Proxy# "position"
_ -> Int
0

-- | Vertex color
--
--     [C declaration]: @color@, defined at @SDL3\/SDL_render.h 92:16@
instance
  (ty ~ SDL3.Sys.Bindgen.Pixels.SDL_FColor)
  => BG.CompatHasField.HasField "color" SDL_Vertex ty
  where
  hasField :: SDL_Vertex -> (ty -> SDL_Vertex, ty)
hasField =
    \SDL_Vertex
x0 ->
      ( \ty
y1 ->
          SDL_Vertex
            { color :: SDL_FColor
color = ty
SDL_FColor
y1
            , position :: SDL_FPoint
position = 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 @"position" SDL_Vertex
x0
            , tex_coord :: SDL_FPoint
tex_coord = 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 @"tex_coord" SDL_Vertex
x0
            }
      , 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 @"color" SDL_Vertex
x0
      )

instance
  (ty ~ SDL3.Sys.Bindgen.Pixels.SDL_FColor)
  => BG.HasField "color" (BG.Ptr SDL_Vertex) (BG.Ptr ty)
  where
  getField :: Ptr SDL_Vertex -> Ptr ty
getField = Proxy "color"
-> Ptr SDL_Vertex -> Ptr (CFieldType SDL_Vertex "color")
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 @"color")

instance HasCField.HasCField SDL_Vertex "color" where
  type
    CFieldType SDL_Vertex "color" =
      SDL3.Sys.Bindgen.Pixels.SDL_FColor

  offset# :: Proxy# SDL_Vertex -> Proxy# "color" -> Int
offset# = \Proxy# SDL_Vertex
_ -> \Proxy# "color"
_ -> Int
8

-- | Normalized texture coordinates, if needed
--
--     [C declaration]: @tex_coord@, defined at @SDL3\/SDL_render.h 93:16@
instance
  (ty ~ SDL3.Sys.Bindgen.Rect.SDL_FPoint)
  => BG.CompatHasField.HasField "tex_coord" SDL_Vertex ty
  where
  hasField :: SDL_Vertex -> (ty -> SDL_Vertex, ty)
hasField =
    \SDL_Vertex
x0 ->
      ( \ty
y1 ->
          SDL_Vertex
            { tex_coord :: SDL_FPoint
tex_coord = ty
SDL_FPoint
y1
            , position :: SDL_FPoint
position = 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 @"position" SDL_Vertex
x0
            , color :: SDL_FColor
color = 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 @"color" SDL_Vertex
x0
            }
      , 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 @"tex_coord" SDL_Vertex
x0
      )

instance
  (ty ~ SDL3.Sys.Bindgen.Rect.SDL_FPoint)
  => BG.HasField "tex_coord" (BG.Ptr SDL_Vertex) (BG.Ptr ty)
  where
  getField :: Ptr SDL_Vertex -> Ptr ty
getField = Proxy "tex_coord"
-> Ptr SDL_Vertex -> Ptr (CFieldType SDL_Vertex "tex_coord")
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 @"tex_coord")

instance HasCField.HasCField SDL_Vertex "tex_coord" where
  type
    CFieldType SDL_Vertex "tex_coord" =
      SDL3.Sys.Bindgen.Rect.SDL_FPoint

  offset# :: Proxy# SDL_Vertex -> Proxy# "tex_coord" -> Int
offset# = \Proxy# SDL_Vertex
_ -> \Proxy# "tex_coord"
_ -> Int
24

-- | The access pattern allowed for a texture.
--
--     @since 3.2.0
--
--     [C declaration]: @enum SDL_TextureAccess@, defined at @SDL3\/SDL_render.h 101:14@
newtype SDL_TextureAccess = SDL_TextureAccess
  { SDL_TextureAccess -> CUInt
unwrap :: BG.CUInt
  }
  deriving stock ((forall x. SDL_TextureAccess -> Rep SDL_TextureAccess x)
-> (forall x. Rep SDL_TextureAccess x -> SDL_TextureAccess)
-> Generic SDL_TextureAccess
forall x. Rep SDL_TextureAccess x -> SDL_TextureAccess
forall x. SDL_TextureAccess -> Rep SDL_TextureAccess x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. SDL_TextureAccess -> Rep SDL_TextureAccess x
from :: forall x. SDL_TextureAccess -> Rep SDL_TextureAccess x
$cto :: forall x. Rep SDL_TextureAccess x -> SDL_TextureAccess
to :: forall x. Rep SDL_TextureAccess x -> SDL_TextureAccess
BG.Generic, SDL_TextureAccess -> SDL_TextureAccess -> Bool
(SDL_TextureAccess -> SDL_TextureAccess -> Bool)
-> (SDL_TextureAccess -> SDL_TextureAccess -> Bool)
-> Eq SDL_TextureAccess
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SDL_TextureAccess -> SDL_TextureAccess -> Bool
== :: SDL_TextureAccess -> SDL_TextureAccess -> Bool
$c/= :: SDL_TextureAccess -> SDL_TextureAccess -> Bool
/= :: SDL_TextureAccess -> SDL_TextureAccess -> Bool
Eq, Eq SDL_TextureAccess
Eq SDL_TextureAccess =>
(SDL_TextureAccess -> SDL_TextureAccess -> Ordering)
-> (SDL_TextureAccess -> SDL_TextureAccess -> Bool)
-> (SDL_TextureAccess -> SDL_TextureAccess -> Bool)
-> (SDL_TextureAccess -> SDL_TextureAccess -> Bool)
-> (SDL_TextureAccess -> SDL_TextureAccess -> Bool)
-> (SDL_TextureAccess -> SDL_TextureAccess -> SDL_TextureAccess)
-> (SDL_TextureAccess -> SDL_TextureAccess -> SDL_TextureAccess)
-> Ord SDL_TextureAccess
SDL_TextureAccess -> SDL_TextureAccess -> Bool
SDL_TextureAccess -> SDL_TextureAccess -> Ordering
SDL_TextureAccess -> SDL_TextureAccess -> SDL_TextureAccess
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_TextureAccess -> SDL_TextureAccess -> Ordering
compare :: SDL_TextureAccess -> SDL_TextureAccess -> Ordering
$c< :: SDL_TextureAccess -> SDL_TextureAccess -> Bool
< :: SDL_TextureAccess -> SDL_TextureAccess -> Bool
$c<= :: SDL_TextureAccess -> SDL_TextureAccess -> Bool
<= :: SDL_TextureAccess -> SDL_TextureAccess -> Bool
$c> :: SDL_TextureAccess -> SDL_TextureAccess -> Bool
> :: SDL_TextureAccess -> SDL_TextureAccess -> Bool
$c>= :: SDL_TextureAccess -> SDL_TextureAccess -> Bool
>= :: SDL_TextureAccess -> SDL_TextureAccess -> Bool
$cmax :: SDL_TextureAccess -> SDL_TextureAccess -> SDL_TextureAccess
max :: SDL_TextureAccess -> SDL_TextureAccess -> SDL_TextureAccess
$cmin :: SDL_TextureAccess -> SDL_TextureAccess -> SDL_TextureAccess
min :: SDL_TextureAccess -> SDL_TextureAccess -> SDL_TextureAccess
Ord)
  deriving newtype (FFIType SDL_TextureAccess -> SDL_TextureAccess
SDL_TextureAccess -> FFIType SDL_TextureAccess
(SDL_TextureAccess -> FFIType SDL_TextureAccess)
-> (FFIType SDL_TextureAccess -> SDL_TextureAccess)
-> HasFFIType SDL_TextureAccess
forall a. (a -> FFIType a) -> (FFIType a -> a) -> HasFFIType a
$ctoFFIType :: SDL_TextureAccess -> FFIType SDL_TextureAccess
toFFIType :: SDL_TextureAccess -> FFIType SDL_TextureAccess
$cfromFFIType :: FFIType SDL_TextureAccess -> SDL_TextureAccess
fromFFIType :: FFIType SDL_TextureAccess -> SDL_TextureAccess
BG.HasFFIType)

instance Marshal.StaticSize SDL_TextureAccess where
  staticSizeOf :: Proxy SDL_TextureAccess -> Int
staticSizeOf = \Proxy SDL_TextureAccess
_ -> (Int
4 :: Int)

  staticAlignment :: Proxy SDL_TextureAccess -> Int
staticAlignment = \Proxy SDL_TextureAccess
_ -> (Int
4 :: Int)

instance Marshal.ReadRaw SDL_TextureAccess where
  readRaw :: Ptr SDL_TextureAccess -> IO SDL_TextureAccess
readRaw =
    \Ptr SDL_TextureAccess
ptr0 ->
      (CUInt -> SDL_TextureAccess) -> IO (CUInt -> SDL_TextureAccess)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure CUInt -> SDL_TextureAccess
SDL_TextureAccess
        IO (CUInt -> SDL_TextureAccess) -> IO CUInt -> IO SDL_TextureAccess
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Ptr SDL_TextureAccess -> Int -> IO CUInt
forall a b. ReadRaw a => Ptr b -> Int -> IO a
Marshal.readRawByteOff Ptr SDL_TextureAccess
ptr0 (Int
0 :: Int)

instance Marshal.WriteRaw SDL_TextureAccess where
  writeRaw :: Ptr SDL_TextureAccess -> SDL_TextureAccess -> IO ()
writeRaw =
    \Ptr SDL_TextureAccess
ptr0 ->
      \SDL_TextureAccess
s1 ->
        case SDL_TextureAccess
s1 of
          SDL_TextureAccess CUInt
unwrap2 ->
            Ptr SDL_TextureAccess -> Int -> CUInt -> IO ()
forall a b. WriteRaw a => Ptr b -> Int -> a -> IO ()
Marshal.writeRawByteOff Ptr SDL_TextureAccess
ptr0 (Int
0 :: Int) CUInt
unwrap2

deriving via Marshal.EquivStorable SDL_TextureAccess instance BG.Storable SDL_TextureAccess

deriving via BG.CUInt instance BG.Prim SDL_TextureAccess

instance CEnum.CEnum SDL_TextureAccess where
  type CEnumZ SDL_TextureAccess = BG.CUInt

  toCEnum :: CEnumZ SDL_TextureAccess -> SDL_TextureAccess
toCEnum = CUInt -> SDL_TextureAccess
CEnumZ SDL_TextureAccess -> SDL_TextureAccess
SDL_TextureAccess

  fromCEnum :: SDL_TextureAccess -> CEnumZ SDL_TextureAccess
fromCEnum = 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"

  declaredValues :: forall (proxy :: * -> *).
proxy SDL_TextureAccess -> DeclaredValues SDL_TextureAccess
declaredValues =
    \proxy SDL_TextureAccess
_ ->
      [(CEnumZ SDL_TextureAccess, NonEmpty String)]
-> DeclaredValues SDL_TextureAccess
forall a.
Ord (CEnumZ a) =>
[(CEnumZ a, NonEmpty String)] -> DeclaredValues a
CEnum.declaredValuesFromList
        [ (CUInt
CEnumZ SDL_TextureAccess
0, String -> NonEmpty String
forall a. a -> NonEmpty a
BG.singleton String
"SDL_TEXTUREACCESS_STATIC")
        , (CUInt
CEnumZ SDL_TextureAccess
1, String -> NonEmpty String
forall a. a -> NonEmpty a
BG.singleton String
"SDL_TEXTUREACCESS_STREAMING")
        , (CUInt
CEnumZ SDL_TextureAccess
2, String -> NonEmpty String
forall a. a -> NonEmpty a
BG.singleton String
"SDL_TEXTUREACCESS_TARGET")
        ]

  showsUndeclared :: forall (proxy :: * -> *).
proxy SDL_TextureAccess -> Int -> CEnumZ SDL_TextureAccess -> ShowS
showsUndeclared =
    String
-> proxy SDL_TextureAccess
-> Int
-> CEnumZ SDL_TextureAccess
-> ShowS
forall a (proxy :: * -> *).
Show (CEnumZ a) =>
String -> proxy a -> Int -> CEnumZ a -> ShowS
CEnum.showsWrappedUndeclared String
"SDL_TextureAccess"

  readPrecUndeclared :: ReadPrec SDL_TextureAccess
readPrecUndeclared =
    String -> ReadPrec SDL_TextureAccess
forall a. (CEnum a, Read (CEnumZ a)) => String -> ReadPrec a
CEnum.readPrecWrappedUndeclared String
"SDL_TextureAccess"

  isDeclared :: SDL_TextureAccess -> Bool
isDeclared = SDL_TextureAccess -> Bool
forall a. SequentialCEnum a => a -> Bool
CEnum.seqIsDeclared

  mkDeclared :: CEnumZ SDL_TextureAccess -> Maybe SDL_TextureAccess
mkDeclared = CEnumZ SDL_TextureAccess -> Maybe SDL_TextureAccess
forall a. SequentialCEnum a => CEnumZ a -> Maybe a
CEnum.seqMkDeclared

instance CEnum.SequentialCEnum SDL_TextureAccess where
  minDeclaredValue :: SDL_TextureAccess
minDeclaredValue = SDL_TextureAccess
SDL_TEXTUREACCESS_STATIC

  maxDeclaredValue :: SDL_TextureAccess
maxDeclaredValue = SDL_TextureAccess
SDL_TEXTUREACCESS_TARGET

instance Show SDL_TextureAccess where
  showsPrec :: Int -> SDL_TextureAccess -> ShowS
showsPrec = Int -> SDL_TextureAccess -> ShowS
forall a. CEnum a => Int -> a -> ShowS
CEnum.shows

instance Read SDL_TextureAccess where
  readPrec :: ReadPrec SDL_TextureAccess
readPrec = ReadPrec SDL_TextureAccess
forall a. CEnum a => ReadPrec a
CEnum.readPrec

  readList :: ReadS [SDL_TextureAccess]
readList = ReadS [SDL_TextureAccess]
forall a. Read a => ReadS [a]
BG.readListDefault

  readListPrec :: ReadPrec [SDL_TextureAccess]
readListPrec = ReadPrec [SDL_TextureAccess]
forall a. Read a => ReadPrec [a]
BG.readListPrecDefault

instance
  (ty ~ BG.CUInt)
  => BG.CompatHasField.HasField "unwrap" SDL_TextureAccess ty
  where
  hasField :: SDL_TextureAccess -> (ty -> SDL_TextureAccess, ty)
hasField =
    \SDL_TextureAccess
x0 ->
      ( \ty
y1 ->
          SDL_TextureAccess{unwrap :: CUInt
unwrap = ty
CUInt
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_TextureAccess
x0
      )

instance
  (ty ~ BG.CUInt)
  => BG.HasField "unwrap" (BG.Ptr SDL_TextureAccess) (BG.Ptr ty)
  where
  getField :: Ptr SDL_TextureAccess -> Ptr ty
getField = Proxy "unwrap"
-> Ptr SDL_TextureAccess
-> Ptr (CFieldType SDL_TextureAccess "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_TextureAccess "unwrap" where
  type CFieldType SDL_TextureAccess "unwrap" = BG.CUInt

  offset# :: Proxy# SDL_TextureAccess -> Proxy# "unwrap" -> Int
offset# = \Proxy# SDL_TextureAccess
_ -> \Proxy# "unwrap"
_ -> Int
0

-- | Changes rarely, not lockable
--
--     [C declaration]: @SDL_TEXTUREACCESS_STATIC@, defined at @SDL3\/SDL_render.h 103:5@
pattern SDL_TEXTUREACCESS_STATIC :: SDL_TextureAccess
pattern $mSDL_TEXTUREACCESS_STATIC :: forall {r}. SDL_TextureAccess -> ((# #) -> r) -> ((# #) -> r) -> r
$bSDL_TEXTUREACCESS_STATIC :: SDL_TextureAccess
SDL_TEXTUREACCESS_STATIC = SDL_TextureAccess 0

-- | Changes frequently, lockable
--
--     [C declaration]: @SDL_TEXTUREACCESS_STREAMING@, defined at @SDL3\/SDL_render.h 104:5@
pattern SDL_TEXTUREACCESS_STREAMING :: SDL_TextureAccess
pattern $mSDL_TEXTUREACCESS_STREAMING :: forall {r}. SDL_TextureAccess -> ((# #) -> r) -> ((# #) -> r) -> r
$bSDL_TEXTUREACCESS_STREAMING :: SDL_TextureAccess
SDL_TEXTUREACCESS_STREAMING = SDL_TextureAccess 1

-- | Texture can be used as a render target
--
--     [C declaration]: @SDL_TEXTUREACCESS_TARGET@, defined at @SDL3\/SDL_render.h 105:5@
pattern SDL_TEXTUREACCESS_TARGET :: SDL_TextureAccess
pattern $mSDL_TEXTUREACCESS_TARGET :: forall {r}. SDL_TextureAccess -> ((# #) -> r) -> ((# #) -> r) -> r
$bSDL_TEXTUREACCESS_TARGET :: SDL_TextureAccess
SDL_TEXTUREACCESS_TARGET = SDL_TextureAccess 2

-- | The addressing mode for a texture when used in @SDL_RenderGeometry()@.
--
--     This affects how texture coordinates are interpreted outside of [0, 1]
--
--     Texture wrapping is always supported for power of two texture sizes, and is supported for other texture sizes if SDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN is set to true.
--
--     @since 3.4.0
--
--     [C declaration]: @enum SDL_TextureAddressMode@, defined at @SDL3\/SDL_render.h 119:14@
newtype SDL_TextureAddressMode = SDL_TextureAddressMode
  { SDL_TextureAddressMode -> CInt
unwrap :: BG.CInt
  }
  deriving stock ((forall x. SDL_TextureAddressMode -> Rep SDL_TextureAddressMode x)
-> (forall x.
    Rep SDL_TextureAddressMode x -> SDL_TextureAddressMode)
-> Generic SDL_TextureAddressMode
forall x. Rep SDL_TextureAddressMode x -> SDL_TextureAddressMode
forall x. SDL_TextureAddressMode -> Rep SDL_TextureAddressMode x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. SDL_TextureAddressMode -> Rep SDL_TextureAddressMode x
from :: forall x. SDL_TextureAddressMode -> Rep SDL_TextureAddressMode x
$cto :: forall x. Rep SDL_TextureAddressMode x -> SDL_TextureAddressMode
to :: forall x. Rep SDL_TextureAddressMode x -> SDL_TextureAddressMode
BG.Generic, SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool
(SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool)
-> (SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool)
-> Eq SDL_TextureAddressMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool
== :: SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool
$c/= :: SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool
/= :: SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool
Eq, Eq SDL_TextureAddressMode
Eq SDL_TextureAddressMode =>
(SDL_TextureAddressMode -> SDL_TextureAddressMode -> Ordering)
-> (SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool)
-> (SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool)
-> (SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool)
-> (SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool)
-> (SDL_TextureAddressMode
    -> SDL_TextureAddressMode -> SDL_TextureAddressMode)
-> (SDL_TextureAddressMode
    -> SDL_TextureAddressMode -> SDL_TextureAddressMode)
-> Ord SDL_TextureAddressMode
SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool
SDL_TextureAddressMode -> SDL_TextureAddressMode -> Ordering
SDL_TextureAddressMode
-> SDL_TextureAddressMode -> SDL_TextureAddressMode
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_TextureAddressMode -> SDL_TextureAddressMode -> Ordering
compare :: SDL_TextureAddressMode -> SDL_TextureAddressMode -> Ordering
$c< :: SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool
< :: SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool
$c<= :: SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool
<= :: SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool
$c> :: SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool
> :: SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool
$c>= :: SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool
>= :: SDL_TextureAddressMode -> SDL_TextureAddressMode -> Bool
$cmax :: SDL_TextureAddressMode
-> SDL_TextureAddressMode -> SDL_TextureAddressMode
max :: SDL_TextureAddressMode
-> SDL_TextureAddressMode -> SDL_TextureAddressMode
$cmin :: SDL_TextureAddressMode
-> SDL_TextureAddressMode -> SDL_TextureAddressMode
min :: SDL_TextureAddressMode
-> SDL_TextureAddressMode -> SDL_TextureAddressMode
Ord)
  deriving newtype (FFIType SDL_TextureAddressMode -> SDL_TextureAddressMode
SDL_TextureAddressMode -> FFIType SDL_TextureAddressMode
(SDL_TextureAddressMode -> FFIType SDL_TextureAddressMode)
-> (FFIType SDL_TextureAddressMode -> SDL_TextureAddressMode)
-> HasFFIType SDL_TextureAddressMode
forall a. (a -> FFIType a) -> (FFIType a -> a) -> HasFFIType a
$ctoFFIType :: SDL_TextureAddressMode -> FFIType SDL_TextureAddressMode
toFFIType :: SDL_TextureAddressMode -> FFIType SDL_TextureAddressMode
$cfromFFIType :: FFIType SDL_TextureAddressMode -> SDL_TextureAddressMode
fromFFIType :: FFIType SDL_TextureAddressMode -> SDL_TextureAddressMode
BG.HasFFIType)

instance Marshal.StaticSize SDL_TextureAddressMode where
  staticSizeOf :: Proxy SDL_TextureAddressMode -> Int
staticSizeOf = \Proxy SDL_TextureAddressMode
_ -> (Int
4 :: Int)

  staticAlignment :: Proxy SDL_TextureAddressMode -> Int
staticAlignment = \Proxy SDL_TextureAddressMode
_ -> (Int
4 :: Int)

instance Marshal.ReadRaw SDL_TextureAddressMode where
  readRaw :: Ptr SDL_TextureAddressMode -> IO SDL_TextureAddressMode
readRaw =
    \Ptr SDL_TextureAddressMode
ptr0 ->
      (CInt -> SDL_TextureAddressMode)
-> IO (CInt -> SDL_TextureAddressMode)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure CInt -> SDL_TextureAddressMode
SDL_TextureAddressMode
        IO (CInt -> SDL_TextureAddressMode)
-> IO CInt -> IO SDL_TextureAddressMode
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Ptr SDL_TextureAddressMode -> Int -> IO CInt
forall a b. ReadRaw a => Ptr b -> Int -> IO a
Marshal.readRawByteOff Ptr SDL_TextureAddressMode
ptr0 (Int
0 :: Int)

instance Marshal.WriteRaw SDL_TextureAddressMode where
  writeRaw :: Ptr SDL_TextureAddressMode -> SDL_TextureAddressMode -> IO ()
writeRaw =
    \Ptr SDL_TextureAddressMode
ptr0 ->
      \SDL_TextureAddressMode
s1 ->
        case SDL_TextureAddressMode
s1 of
          SDL_TextureAddressMode CInt
unwrap2 ->
            Ptr SDL_TextureAddressMode -> Int -> CInt -> IO ()
forall a b. WriteRaw a => Ptr b -> Int -> a -> IO ()
Marshal.writeRawByteOff Ptr SDL_TextureAddressMode
ptr0 (Int
0 :: Int) CInt
unwrap2

deriving via
  Marshal.EquivStorable SDL_TextureAddressMode
  instance
    BG.Storable SDL_TextureAddressMode

deriving via BG.CInt instance BG.Prim SDL_TextureAddressMode

instance CEnum.CEnum SDL_TextureAddressMode where
  type CEnumZ SDL_TextureAddressMode = BG.CInt

  toCEnum :: CEnumZ SDL_TextureAddressMode -> SDL_TextureAddressMode
toCEnum = CInt -> SDL_TextureAddressMode
CEnumZ SDL_TextureAddressMode -> SDL_TextureAddressMode
SDL_TextureAddressMode

  fromCEnum :: SDL_TextureAddressMode -> CEnumZ SDL_TextureAddressMode
fromCEnum = 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"

  declaredValues :: forall (proxy :: * -> *).
proxy SDL_TextureAddressMode
-> DeclaredValues SDL_TextureAddressMode
declaredValues =
    \proxy SDL_TextureAddressMode
_ ->
      [(CEnumZ SDL_TextureAddressMode, NonEmpty String)]
-> DeclaredValues SDL_TextureAddressMode
forall a.
Ord (CEnumZ a) =>
[(CEnumZ a, NonEmpty String)] -> DeclaredValues a
CEnum.declaredValuesFromList
        [ (-CInt
1, String -> NonEmpty String
forall a. a -> NonEmpty a
BG.singleton String
"SDL_TEXTURE_ADDRESS_INVALID")
        , (CInt
CEnumZ SDL_TextureAddressMode
0, String -> NonEmpty String
forall a. a -> NonEmpty a
BG.singleton String
"SDL_TEXTURE_ADDRESS_AUTO")
        , (CInt
CEnumZ SDL_TextureAddressMode
1, String -> NonEmpty String
forall a. a -> NonEmpty a
BG.singleton String
"SDL_TEXTURE_ADDRESS_CLAMP")
        , (CInt
CEnumZ SDL_TextureAddressMode
2, String -> NonEmpty String
forall a. a -> NonEmpty a
BG.singleton String
"SDL_TEXTURE_ADDRESS_WRAP")
        ]

  showsUndeclared :: forall (proxy :: * -> *).
proxy SDL_TextureAddressMode
-> Int -> CEnumZ SDL_TextureAddressMode -> ShowS
showsUndeclared =
    String
-> proxy SDL_TextureAddressMode
-> Int
-> CEnumZ SDL_TextureAddressMode
-> ShowS
forall a (proxy :: * -> *).
Show (CEnumZ a) =>
String -> proxy a -> Int -> CEnumZ a -> ShowS
CEnum.showsWrappedUndeclared String
"SDL_TextureAddressMode"

  readPrecUndeclared :: ReadPrec SDL_TextureAddressMode
readPrecUndeclared =
    String -> ReadPrec SDL_TextureAddressMode
forall a. (CEnum a, Read (CEnumZ a)) => String -> ReadPrec a
CEnum.readPrecWrappedUndeclared String
"SDL_TextureAddressMode"

  isDeclared :: SDL_TextureAddressMode -> Bool
isDeclared = SDL_TextureAddressMode -> Bool
forall a. SequentialCEnum a => a -> Bool
CEnum.seqIsDeclared

  mkDeclared :: CEnumZ SDL_TextureAddressMode -> Maybe SDL_TextureAddressMode
mkDeclared = CEnumZ SDL_TextureAddressMode -> Maybe SDL_TextureAddressMode
forall a. SequentialCEnum a => CEnumZ a -> Maybe a
CEnum.seqMkDeclared

instance CEnum.SequentialCEnum SDL_TextureAddressMode where
  minDeclaredValue :: SDL_TextureAddressMode
minDeclaredValue = SDL_TextureAddressMode
SDL_TEXTURE_ADDRESS_INVALID

  maxDeclaredValue :: SDL_TextureAddressMode
maxDeclaredValue = SDL_TextureAddressMode
SDL_TEXTURE_ADDRESS_WRAP

instance Show SDL_TextureAddressMode where
  showsPrec :: Int -> SDL_TextureAddressMode -> ShowS
showsPrec = Int -> SDL_TextureAddressMode -> ShowS
forall a. CEnum a => Int -> a -> ShowS
CEnum.shows

instance Read SDL_TextureAddressMode where
  readPrec :: ReadPrec SDL_TextureAddressMode
readPrec = ReadPrec SDL_TextureAddressMode
forall a. CEnum a => ReadPrec a
CEnum.readPrec

  readList :: ReadS [SDL_TextureAddressMode]
readList = ReadS [SDL_TextureAddressMode]
forall a. Read a => ReadS [a]
BG.readListDefault

  readListPrec :: ReadPrec [SDL_TextureAddressMode]
readListPrec = ReadPrec [SDL_TextureAddressMode]
forall a. Read a => ReadPrec [a]
BG.readListPrecDefault

instance
  (ty ~ BG.CInt)
  => BG.CompatHasField.HasField "unwrap" SDL_TextureAddressMode ty
  where
  hasField :: SDL_TextureAddressMode -> (ty -> SDL_TextureAddressMode, ty)
hasField =
    \SDL_TextureAddressMode
x0 ->
      ( \ty
y1 ->
          SDL_TextureAddressMode{unwrap :: CInt
unwrap = ty
CInt
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_TextureAddressMode
x0
      )

instance
  (ty ~ BG.CInt)
  => BG.HasField "unwrap" (BG.Ptr SDL_TextureAddressMode) (BG.Ptr ty)
  where
  getField :: Ptr SDL_TextureAddressMode -> Ptr ty
getField = Proxy "unwrap"
-> Ptr SDL_TextureAddressMode
-> Ptr (CFieldType SDL_TextureAddressMode "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_TextureAddressMode "unwrap" where
  type
    CFieldType SDL_TextureAddressMode "unwrap" =
      BG.CInt

  offset# :: Proxy# SDL_TextureAddressMode -> Proxy# "unwrap" -> Int
offset# = \Proxy# SDL_TextureAddressMode
_ -> \Proxy# "unwrap"
_ -> Int
0

-- | [C declaration]: @SDL_TEXTURE_ADDRESS_INVALID@, defined at @SDL3\/SDL_render.h 121:5@
pattern SDL_TEXTURE_ADDRESS_INVALID :: SDL_TextureAddressMode
pattern $mSDL_TEXTURE_ADDRESS_INVALID :: forall {r}.
SDL_TextureAddressMode -> ((# #) -> r) -> ((# #) -> r) -> r
$bSDL_TEXTURE_ADDRESS_INVALID :: SDL_TextureAddressMode
SDL_TEXTURE_ADDRESS_INVALID = SDL_TextureAddressMode (-1)

-- | Wrapping is enabled if texture coordinates are outside [0, 1], this is the default
--
--     [C declaration]: @SDL_TEXTURE_ADDRESS_AUTO@, defined at @SDL3\/SDL_render.h 122:5@
pattern SDL_TEXTURE_ADDRESS_AUTO :: SDL_TextureAddressMode
pattern $mSDL_TEXTURE_ADDRESS_AUTO :: forall {r}.
SDL_TextureAddressMode -> ((# #) -> r) -> ((# #) -> r) -> r
$bSDL_TEXTURE_ADDRESS_AUTO :: SDL_TextureAddressMode
SDL_TEXTURE_ADDRESS_AUTO = SDL_TextureAddressMode 0

-- | Texture coordinates are clamped to the [0, 1] range
--
--     [C declaration]: @SDL_TEXTURE_ADDRESS_CLAMP@, defined at @SDL3\/SDL_render.h 123:5@
pattern SDL_TEXTURE_ADDRESS_CLAMP :: SDL_TextureAddressMode
pattern $mSDL_TEXTURE_ADDRESS_CLAMP :: forall {r}.
SDL_TextureAddressMode -> ((# #) -> r) -> ((# #) -> r) -> r
$bSDL_TEXTURE_ADDRESS_CLAMP :: SDL_TextureAddressMode
SDL_TEXTURE_ADDRESS_CLAMP = SDL_TextureAddressMode 1

-- | The texture is repeated (tiled)
--
--     [C declaration]: @SDL_TEXTURE_ADDRESS_WRAP@, defined at @SDL3\/SDL_render.h 124:5@
pattern SDL_TEXTURE_ADDRESS_WRAP :: SDL_TextureAddressMode
pattern $mSDL_TEXTURE_ADDRESS_WRAP :: forall {r}.
SDL_TextureAddressMode -> ((# #) -> r) -> ((# #) -> r) -> r
$bSDL_TEXTURE_ADDRESS_WRAP :: SDL_TextureAddressMode
SDL_TEXTURE_ADDRESS_WRAP = SDL_TextureAddressMode 2

-- | How the logical size is mapped to the output.
--
--     @since 3.2.0
--
--     [C declaration]: @enum SDL_RendererLogicalPresentation@, defined at @SDL3\/SDL_render.h 132:14@
newtype SDL_RendererLogicalPresentation = SDL_RendererLogicalPresentation
  { SDL_RendererLogicalPresentation -> CUInt
unwrap :: BG.CUInt
  }
  deriving stock ((forall x.
 SDL_RendererLogicalPresentation
 -> Rep SDL_RendererLogicalPresentation x)
-> (forall x.
    Rep SDL_RendererLogicalPresentation x
    -> SDL_RendererLogicalPresentation)
-> Generic SDL_RendererLogicalPresentation
forall x.
Rep SDL_RendererLogicalPresentation x
-> SDL_RendererLogicalPresentation
forall x.
SDL_RendererLogicalPresentation
-> Rep SDL_RendererLogicalPresentation x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
SDL_RendererLogicalPresentation
-> Rep SDL_RendererLogicalPresentation x
from :: forall x.
SDL_RendererLogicalPresentation
-> Rep SDL_RendererLogicalPresentation x
$cto :: forall x.
Rep SDL_RendererLogicalPresentation x
-> SDL_RendererLogicalPresentation
to :: forall x.
Rep SDL_RendererLogicalPresentation x
-> SDL_RendererLogicalPresentation
BG.Generic, SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Bool
(SDL_RendererLogicalPresentation
 -> SDL_RendererLogicalPresentation -> Bool)
-> (SDL_RendererLogicalPresentation
    -> SDL_RendererLogicalPresentation -> Bool)
-> Eq SDL_RendererLogicalPresentation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Bool
== :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Bool
$c/= :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Bool
/= :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Bool
Eq, Eq SDL_RendererLogicalPresentation
Eq SDL_RendererLogicalPresentation =>
(SDL_RendererLogicalPresentation
 -> SDL_RendererLogicalPresentation -> Ordering)
-> (SDL_RendererLogicalPresentation
    -> SDL_RendererLogicalPresentation -> Bool)
-> (SDL_RendererLogicalPresentation
    -> SDL_RendererLogicalPresentation -> Bool)
-> (SDL_RendererLogicalPresentation
    -> SDL_RendererLogicalPresentation -> Bool)
-> (SDL_RendererLogicalPresentation
    -> SDL_RendererLogicalPresentation -> Bool)
-> (SDL_RendererLogicalPresentation
    -> SDL_RendererLogicalPresentation
    -> SDL_RendererLogicalPresentation)
-> (SDL_RendererLogicalPresentation
    -> SDL_RendererLogicalPresentation
    -> SDL_RendererLogicalPresentation)
-> Ord SDL_RendererLogicalPresentation
SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Bool
SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Ordering
SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
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_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Ordering
compare :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Ordering
$c< :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Bool
< :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Bool
$c<= :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Bool
<= :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Bool
$c> :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Bool
> :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Bool
$c>= :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Bool
>= :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> Bool
$cmax :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
max :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
$cmin :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
min :: SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
Ord)
  deriving newtype (FFIType SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
SDL_RendererLogicalPresentation
-> FFIType SDL_RendererLogicalPresentation
(SDL_RendererLogicalPresentation
 -> FFIType SDL_RendererLogicalPresentation)
-> (FFIType SDL_RendererLogicalPresentation
    -> SDL_RendererLogicalPresentation)
-> HasFFIType SDL_RendererLogicalPresentation
forall a. (a -> FFIType a) -> (FFIType a -> a) -> HasFFIType a
$ctoFFIType :: SDL_RendererLogicalPresentation
-> FFIType SDL_RendererLogicalPresentation
toFFIType :: SDL_RendererLogicalPresentation
-> FFIType SDL_RendererLogicalPresentation
$cfromFFIType :: FFIType SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
fromFFIType :: FFIType SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
BG.HasFFIType)

instance Marshal.StaticSize SDL_RendererLogicalPresentation where
  staticSizeOf :: Proxy SDL_RendererLogicalPresentation -> Int
staticSizeOf = \Proxy SDL_RendererLogicalPresentation
_ -> (Int
4 :: Int)

  staticAlignment :: Proxy SDL_RendererLogicalPresentation -> Int
staticAlignment = \Proxy SDL_RendererLogicalPresentation
_ -> (Int
4 :: Int)

instance Marshal.ReadRaw SDL_RendererLogicalPresentation where
  readRaw :: Ptr SDL_RendererLogicalPresentation
-> IO SDL_RendererLogicalPresentation
readRaw =
    \Ptr SDL_RendererLogicalPresentation
ptr0 ->
      (CUInt -> SDL_RendererLogicalPresentation)
-> IO (CUInt -> SDL_RendererLogicalPresentation)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure CUInt -> SDL_RendererLogicalPresentation
SDL_RendererLogicalPresentation
        IO (CUInt -> SDL_RendererLogicalPresentation)
-> IO CUInt -> IO SDL_RendererLogicalPresentation
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Ptr SDL_RendererLogicalPresentation -> Int -> IO CUInt
forall a b. ReadRaw a => Ptr b -> Int -> IO a
Marshal.readRawByteOff Ptr SDL_RendererLogicalPresentation
ptr0 (Int
0 :: Int)

instance Marshal.WriteRaw SDL_RendererLogicalPresentation where
  writeRaw :: Ptr SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation -> IO ()
writeRaw =
    \Ptr SDL_RendererLogicalPresentation
ptr0 ->
      \SDL_RendererLogicalPresentation
s1 ->
        case SDL_RendererLogicalPresentation
s1 of
          SDL_RendererLogicalPresentation CUInt
unwrap2 ->
            Ptr SDL_RendererLogicalPresentation -> Int -> CUInt -> IO ()
forall a b. WriteRaw a => Ptr b -> Int -> a -> IO ()
Marshal.writeRawByteOff Ptr SDL_RendererLogicalPresentation
ptr0 (Int
0 :: Int) CUInt
unwrap2

deriving via
  Marshal.EquivStorable SDL_RendererLogicalPresentation
  instance
    BG.Storable SDL_RendererLogicalPresentation

deriving via BG.CUInt instance BG.Prim SDL_RendererLogicalPresentation

instance CEnum.CEnum SDL_RendererLogicalPresentation where
  type
    CEnumZ SDL_RendererLogicalPresentation =
      BG.CUInt

  toCEnum :: CEnumZ SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
toCEnum = CUInt -> SDL_RendererLogicalPresentation
CEnumZ SDL_RendererLogicalPresentation
-> SDL_RendererLogicalPresentation
SDL_RendererLogicalPresentation

  fromCEnum :: SDL_RendererLogicalPresentation
-> CEnumZ SDL_RendererLogicalPresentation
fromCEnum = 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"

  declaredValues :: forall (proxy :: * -> *).
proxy SDL_RendererLogicalPresentation
-> DeclaredValues SDL_RendererLogicalPresentation
declaredValues =
    \proxy SDL_RendererLogicalPresentation
_ ->
      [(CEnumZ SDL_RendererLogicalPresentation, NonEmpty String)]
-> DeclaredValues SDL_RendererLogicalPresentation
forall a.
Ord (CEnumZ a) =>
[(CEnumZ a, NonEmpty String)] -> DeclaredValues a
CEnum.declaredValuesFromList
        [ (CUInt
CEnumZ SDL_RendererLogicalPresentation
0, String -> NonEmpty String
forall a. a -> NonEmpty a
BG.singleton String
"SDL_LOGICAL_PRESENTATION_DISABLED")
        , (CUInt
CEnumZ SDL_RendererLogicalPresentation
1, String -> NonEmpty String
forall a. a -> NonEmpty a
BG.singleton String
"SDL_LOGICAL_PRESENTATION_STRETCH")
        , (CUInt
CEnumZ SDL_RendererLogicalPresentation
2, String -> NonEmpty String
forall a. a -> NonEmpty a
BG.singleton String
"SDL_LOGICAL_PRESENTATION_LETTERBOX")
        , (CUInt
CEnumZ SDL_RendererLogicalPresentation
3, String -> NonEmpty String
forall a. a -> NonEmpty a
BG.singleton String
"SDL_LOGICAL_PRESENTATION_OVERSCAN")
        , (CUInt
CEnumZ SDL_RendererLogicalPresentation
4, String -> NonEmpty String
forall a. a -> NonEmpty a
BG.singleton String
"SDL_LOGICAL_PRESENTATION_INTEGER_SCALE")
        ]

  showsUndeclared :: forall (proxy :: * -> *).
proxy SDL_RendererLogicalPresentation
-> Int -> CEnumZ SDL_RendererLogicalPresentation -> ShowS
showsUndeclared =
    String
-> proxy SDL_RendererLogicalPresentation
-> Int
-> CEnumZ SDL_RendererLogicalPresentation
-> ShowS
forall a (proxy :: * -> *).
Show (CEnumZ a) =>
String -> proxy a -> Int -> CEnumZ a -> ShowS
CEnum.showsWrappedUndeclared String
"SDL_RendererLogicalPresentation"

  readPrecUndeclared :: ReadPrec SDL_RendererLogicalPresentation
readPrecUndeclared =
    String -> ReadPrec SDL_RendererLogicalPresentation
forall a. (CEnum a, Read (CEnumZ a)) => String -> ReadPrec a
CEnum.readPrecWrappedUndeclared String
"SDL_RendererLogicalPresentation"

  isDeclared :: SDL_RendererLogicalPresentation -> Bool
isDeclared = SDL_RendererLogicalPresentation -> Bool
forall a. SequentialCEnum a => a -> Bool
CEnum.seqIsDeclared

  mkDeclared :: CEnumZ SDL_RendererLogicalPresentation
-> Maybe SDL_RendererLogicalPresentation
mkDeclared = CEnumZ SDL_RendererLogicalPresentation
-> Maybe SDL_RendererLogicalPresentation
forall a. SequentialCEnum a => CEnumZ a -> Maybe a
CEnum.seqMkDeclared

instance CEnum.SequentialCEnum SDL_RendererLogicalPresentation where
  minDeclaredValue :: SDL_RendererLogicalPresentation
minDeclaredValue = SDL_RendererLogicalPresentation
SDL_LOGICAL_PRESENTATION_DISABLED

  maxDeclaredValue :: SDL_RendererLogicalPresentation
maxDeclaredValue =
    SDL_RendererLogicalPresentation
SDL_LOGICAL_PRESENTATION_INTEGER_SCALE

instance Show SDL_RendererLogicalPresentation where
  showsPrec :: Int -> SDL_RendererLogicalPresentation -> ShowS
showsPrec = Int -> SDL_RendererLogicalPresentation -> ShowS
forall a. CEnum a => Int -> a -> ShowS
CEnum.shows

instance Read SDL_RendererLogicalPresentation where
  readPrec :: ReadPrec SDL_RendererLogicalPresentation
readPrec = ReadPrec SDL_RendererLogicalPresentation
forall a. CEnum a => ReadPrec a
CEnum.readPrec

  readList :: ReadS [SDL_RendererLogicalPresentation]
readList = ReadS [SDL_RendererLogicalPresentation]
forall a. Read a => ReadS [a]
BG.readListDefault

  readListPrec :: ReadPrec [SDL_RendererLogicalPresentation]
readListPrec = ReadPrec [SDL_RendererLogicalPresentation]
forall a. Read a => ReadPrec [a]
BG.readListPrecDefault

instance
  (ty ~ BG.CUInt)
  => BG.CompatHasField.HasField "unwrap" SDL_RendererLogicalPresentation ty
  where
  hasField :: SDL_RendererLogicalPresentation
-> (ty -> SDL_RendererLogicalPresentation, ty)
hasField =
    \SDL_RendererLogicalPresentation
x0 ->
      ( \ty
y1 ->
          SDL_RendererLogicalPresentation{unwrap :: CUInt
unwrap = ty
CUInt
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_RendererLogicalPresentation
x0
      )

instance
  (ty ~ BG.CUInt)
  => BG.HasField "unwrap" (BG.Ptr SDL_RendererLogicalPresentation) (BG.Ptr ty)
  where
  getField :: Ptr SDL_RendererLogicalPresentation -> Ptr ty
getField = Proxy "unwrap"
-> Ptr SDL_RendererLogicalPresentation
-> Ptr (CFieldType SDL_RendererLogicalPresentation "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_RendererLogicalPresentation "unwrap" where
  type
    CFieldType SDL_RendererLogicalPresentation "unwrap" =
      BG.CUInt

  offset# :: Proxy# SDL_RendererLogicalPresentation -> Proxy# "unwrap" -> Int
offset# = \Proxy# SDL_RendererLogicalPresentation
_ -> \Proxy# "unwrap"
_ -> Int
0

-- | There is no logical size in effect
--
--     [C declaration]: @SDL_LOGICAL_PRESENTATION_DISABLED@, defined at @SDL3\/SDL_render.h 134:5@
pattern SDL_LOGICAL_PRESENTATION_DISABLED :: SDL_RendererLogicalPresentation
pattern $mSDL_LOGICAL_PRESENTATION_DISABLED :: forall {r}.
SDL_RendererLogicalPresentation
-> ((# #) -> r) -> ((# #) -> r) -> r
$bSDL_LOGICAL_PRESENTATION_DISABLED :: SDL_RendererLogicalPresentation
SDL_LOGICAL_PRESENTATION_DISABLED = SDL_RendererLogicalPresentation 0

-- | The rendered content is stretched to the output resolution
--
--     [C declaration]: @SDL_LOGICAL_PRESENTATION_STRETCH@, defined at @SDL3\/SDL_render.h 135:5@
pattern SDL_LOGICAL_PRESENTATION_STRETCH :: SDL_RendererLogicalPresentation
pattern $mSDL_LOGICAL_PRESENTATION_STRETCH :: forall {r}.
SDL_RendererLogicalPresentation
-> ((# #) -> r) -> ((# #) -> r) -> r
$bSDL_LOGICAL_PRESENTATION_STRETCH :: SDL_RendererLogicalPresentation
SDL_LOGICAL_PRESENTATION_STRETCH = SDL_RendererLogicalPresentation 1

-- | The rendered content is fit to the largest dimension and the other dimension is letterboxed with the clear color
--
--     [C declaration]: @SDL_LOGICAL_PRESENTATION_LETTERBOX@, defined at @SDL3\/SDL_render.h 136:5@
pattern SDL_LOGICAL_PRESENTATION_LETTERBOX :: SDL_RendererLogicalPresentation
pattern $mSDL_LOGICAL_PRESENTATION_LETTERBOX :: forall {r}.
SDL_RendererLogicalPresentation
-> ((# #) -> r) -> ((# #) -> r) -> r
$bSDL_LOGICAL_PRESENTATION_LETTERBOX :: SDL_RendererLogicalPresentation
SDL_LOGICAL_PRESENTATION_LETTERBOX = SDL_RendererLogicalPresentation 2

-- | The rendered content is fit to the smallest dimension and the other dimension extends beyond the output bounds
--
--     [C declaration]: @SDL_LOGICAL_PRESENTATION_OVERSCAN@, defined at @SDL3\/SDL_render.h 137:5@
pattern SDL_LOGICAL_PRESENTATION_OVERSCAN :: SDL_RendererLogicalPresentation
pattern $mSDL_LOGICAL_PRESENTATION_OVERSCAN :: forall {r}.
SDL_RendererLogicalPresentation
-> ((# #) -> r) -> ((# #) -> r) -> r
$bSDL_LOGICAL_PRESENTATION_OVERSCAN :: SDL_RendererLogicalPresentation
SDL_LOGICAL_PRESENTATION_OVERSCAN = SDL_RendererLogicalPresentation 3

-- | The rendered content is scaled up by integer multiples to fit the output resolution
--
--     [C declaration]: @SDL_LOGICAL_PRESENTATION_INTEGER_SCALE@, defined at @SDL3\/SDL_render.h 138:5@
pattern SDL_LOGICAL_PRESENTATION_INTEGER_SCALE :: SDL_RendererLogicalPresentation
pattern $mSDL_LOGICAL_PRESENTATION_INTEGER_SCALE :: forall {r}.
SDL_RendererLogicalPresentation
-> ((# #) -> r) -> ((# #) -> r) -> r
$bSDL_LOGICAL_PRESENTATION_INTEGER_SCALE :: SDL_RendererLogicalPresentation
SDL_LOGICAL_PRESENTATION_INTEGER_SCALE = SDL_RendererLogicalPresentation 4

-- | A structure representing rendering state
--
--     @since 3.2.0
--
--     [C declaration]: @struct SDL_Renderer@, defined at @SDL3\/SDL_render.h 146:16@
data SDL_Renderer

-- | An efficient driver-specific representation of pixel data
--
--     @since 3.2.0
--
--     [See also]: 'sDL_CreateTexture', 'sDL_CreateTextureFromSurface', 'sDL_CreateTextureWithProperties', 'sDL_DestroyTexture'
--
--     [C declaration]: @struct SDL_Texture@, defined at @SDL3\/SDL_render.h 160:8@
data SDL_Texture = SDL_Texture
  { SDL_Texture -> SDL_PixelFormat
format :: SDL3.Sys.Bindgen.Pixels.SDL_PixelFormat
  -- ^ The format of the texture, read-only
  --
  --          [C declaration]: @format@, defined at @SDL3\/SDL_render.h 162:21@
  , SDL_Texture -> CInt
w :: BG.CInt
  -- ^ The width of the texture, read-only.
  --
  --          [C declaration]: @w@, defined at @SDL3\/SDL_render.h 163:9@
  , SDL_Texture -> CInt
h :: BG.CInt
  -- ^ The height of the texture, read-only.
  --
  --          [C declaration]: @h@, defined at @SDL3\/SDL_render.h 164:9@
  , SDL_Texture -> CInt
refcount :: BG.CInt
  -- ^ Application reference count, used when freeing texture
  --
  --          [C declaration]: @refcount@, defined at @SDL3\/SDL_render.h 166:9@
  }
  deriving stock ((forall x. SDL_Texture -> Rep SDL_Texture x)
-> (forall x. Rep SDL_Texture x -> SDL_Texture)
-> Generic SDL_Texture
forall x. Rep SDL_Texture x -> SDL_Texture
forall x. SDL_Texture -> Rep SDL_Texture x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. SDL_Texture -> Rep SDL_Texture x
from :: forall x. SDL_Texture -> Rep SDL_Texture x
$cto :: forall x. Rep SDL_Texture x -> SDL_Texture
to :: forall x. Rep SDL_Texture x -> SDL_Texture
BG.Generic, SDL_Texture -> SDL_Texture -> Bool
(SDL_Texture -> SDL_Texture -> Bool)
-> (SDL_Texture -> SDL_Texture -> Bool) -> Eq SDL_Texture
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SDL_Texture -> SDL_Texture -> Bool
== :: SDL_Texture -> SDL_Texture -> Bool
$c/= :: SDL_Texture -> SDL_Texture -> Bool
/= :: SDL_Texture -> SDL_Texture -> Bool
Eq, Int -> SDL_Texture -> ShowS
[SDL_Texture] -> ShowS
SDL_Texture -> String
(Int -> SDL_Texture -> ShowS)
-> (SDL_Texture -> String)
-> ([SDL_Texture] -> ShowS)
-> Show SDL_Texture
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SDL_Texture -> ShowS
showsPrec :: Int -> SDL_Texture -> ShowS
$cshow :: SDL_Texture -> String
show :: SDL_Texture -> String
$cshowList :: [SDL_Texture] -> ShowS
showList :: [SDL_Texture] -> ShowS
Show)

instance Marshal.StaticSize SDL_Texture where
  staticSizeOf :: Proxy SDL_Texture -> Int
staticSizeOf = \Proxy SDL_Texture
_ -> (Int
16 :: Int)

  staticAlignment :: Proxy SDL_Texture -> Int
staticAlignment = \Proxy SDL_Texture
_ -> (Int
4 :: Int)

instance Marshal.ReadRaw SDL_Texture where
  readRaw :: Ptr SDL_Texture -> IO SDL_Texture
readRaw =
    \Ptr SDL_Texture
ptr0 ->
      (SDL_PixelFormat -> CInt -> CInt -> CInt -> SDL_Texture)
-> IO (SDL_PixelFormat -> CInt -> CInt -> CInt -> SDL_Texture)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SDL_PixelFormat -> CInt -> CInt -> CInt -> SDL_Texture
SDL_Texture
        IO (SDL_PixelFormat -> CInt -> CInt -> CInt -> SDL_Texture)
-> IO SDL_PixelFormat -> IO (CInt -> CInt -> CInt -> SDL_Texture)
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "format"
-> Ptr SDL_Texture -> IO (CFieldType SDL_Texture "format")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"format") Ptr SDL_Texture
ptr0
        IO (CInt -> CInt -> CInt -> SDL_Texture)
-> IO CInt -> IO (CInt -> CInt -> SDL_Texture)
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "w" -> Ptr SDL_Texture -> IO (CFieldType SDL_Texture "w")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"w") Ptr SDL_Texture
ptr0
        IO (CInt -> CInt -> SDL_Texture)
-> IO CInt -> IO (CInt -> SDL_Texture)
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "h" -> Ptr SDL_Texture -> IO (CFieldType SDL_Texture "h")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"h") Ptr SDL_Texture
ptr0
        IO (CInt -> SDL_Texture) -> IO CInt -> IO SDL_Texture
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "refcount"
-> Ptr SDL_Texture -> IO (CFieldType SDL_Texture "refcount")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"refcount") Ptr SDL_Texture
ptr0

instance Marshal.WriteRaw SDL_Texture where
  writeRaw :: Ptr SDL_Texture -> SDL_Texture -> IO ()
writeRaw =
    \Ptr SDL_Texture
ptr0 ->
      \SDL_Texture
s1 ->
        case SDL_Texture
s1 of
          SDL_Texture SDL_PixelFormat
format2 CInt
w3 CInt
h4 CInt
refcount5 ->
            Proxy "format"
-> Ptr SDL_Texture -> CFieldType SDL_Texture "format" -> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"format") Ptr SDL_Texture
ptr0 CFieldType SDL_Texture "format"
SDL_PixelFormat
format2
              IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Proxy "w" -> Ptr SDL_Texture -> CFieldType SDL_Texture "w" -> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"w") Ptr SDL_Texture
ptr0 CInt
CFieldType SDL_Texture "w"
w3
              IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Proxy "h" -> Ptr SDL_Texture -> CFieldType SDL_Texture "h" -> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"h") Ptr SDL_Texture
ptr0 CInt
CFieldType SDL_Texture "h"
h4
              IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Proxy "refcount"
-> Ptr SDL_Texture -> CFieldType SDL_Texture "refcount" -> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"refcount") Ptr SDL_Texture
ptr0 CInt
CFieldType SDL_Texture "refcount"
refcount5

deriving via Marshal.EquivStorable SDL_Texture instance BG.Storable SDL_Texture

deriving via Struct.IsStructViaReadRaw SDL_Texture instance Struct.IsStruct SDL_Texture

-- | The format of the texture, read-only
--
--     [C declaration]: @format@, defined at @SDL3\/SDL_render.h 162:21@
instance
  (ty ~ SDL3.Sys.Bindgen.Pixels.SDL_PixelFormat)
  => BG.CompatHasField.HasField "format" SDL_Texture ty
  where
  hasField :: SDL_Texture -> (ty -> SDL_Texture, ty)
hasField =
    \SDL_Texture
x0 ->
      ( \ty
y1 ->
          SDL_Texture
            { format :: SDL_PixelFormat
format = ty
SDL_PixelFormat
y1
            , w :: CInt
w = 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 @"w" SDL_Texture
x0
            , h :: CInt
h = 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 @"h" SDL_Texture
x0
            , refcount :: CInt
refcount = 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 @"refcount" SDL_Texture
x0
            }
      , 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 @"format" SDL_Texture
x0
      )

instance
  (ty ~ SDL3.Sys.Bindgen.Pixels.SDL_PixelFormat)
  => BG.HasField "format" (BG.Ptr SDL_Texture) (BG.Ptr ty)
  where
  getField :: Ptr SDL_Texture -> Ptr ty
getField = Proxy "format"
-> Ptr SDL_Texture -> Ptr (CFieldType SDL_Texture "format")
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 @"format")

instance HasCField.HasCField SDL_Texture "format" where
  type
    CFieldType SDL_Texture "format" =
      SDL3.Sys.Bindgen.Pixels.SDL_PixelFormat

  offset# :: Proxy# SDL_Texture -> Proxy# "format" -> Int
offset# = \Proxy# SDL_Texture
_ -> \Proxy# "format"
_ -> Int
0

-- | The width of the texture, read-only.
--
--     [C declaration]: @w@, defined at @SDL3\/SDL_render.h 163:9@
instance (ty ~ BG.CInt) => BG.CompatHasField.HasField "w" SDL_Texture ty where
  hasField :: SDL_Texture -> (ty -> SDL_Texture, ty)
hasField =
    \SDL_Texture
x0 ->
      ( \ty
y1 ->
          SDL_Texture
            { w :: CInt
w = ty
CInt
y1
            , format :: SDL_PixelFormat
format = 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 @"format" SDL_Texture
x0
            , h :: CInt
h = 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 @"h" SDL_Texture
x0
            , refcount :: CInt
refcount = 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 @"refcount" SDL_Texture
x0
            }
      , 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 @"w" SDL_Texture
x0
      )

instance
  (ty ~ BG.CInt)
  => BG.HasField "w" (BG.Ptr SDL_Texture) (BG.Ptr ty)
  where
  getField :: Ptr SDL_Texture -> Ptr ty
getField = Proxy "w" -> Ptr SDL_Texture -> Ptr (CFieldType SDL_Texture "w")
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 @"w")

instance HasCField.HasCField SDL_Texture "w" where
  type CFieldType SDL_Texture "w" = BG.CInt

  offset# :: Proxy# SDL_Texture -> Proxy# "w" -> Int
offset# = \Proxy# SDL_Texture
_ -> \Proxy# "w"
_ -> Int
4

-- | The height of the texture, read-only.
--
--     [C declaration]: @h@, defined at @SDL3\/SDL_render.h 164:9@
instance (ty ~ BG.CInt) => BG.CompatHasField.HasField "h" SDL_Texture ty where
  hasField :: SDL_Texture -> (ty -> SDL_Texture, ty)
hasField =
    \SDL_Texture
x0 ->
      ( \ty
y1 ->
          SDL_Texture
            { h :: CInt
h = ty
CInt
y1
            , format :: SDL_PixelFormat
format = 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 @"format" SDL_Texture
x0
            , w :: CInt
w = 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 @"w" SDL_Texture
x0
            , refcount :: CInt
refcount = 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 @"refcount" SDL_Texture
x0
            }
      , 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 @"h" SDL_Texture
x0
      )

instance
  (ty ~ BG.CInt)
  => BG.HasField "h" (BG.Ptr SDL_Texture) (BG.Ptr ty)
  where
  getField :: Ptr SDL_Texture -> Ptr ty
getField = Proxy "h" -> Ptr SDL_Texture -> Ptr (CFieldType SDL_Texture "h")
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 @"h")

instance HasCField.HasCField SDL_Texture "h" where
  type CFieldType SDL_Texture "h" = BG.CInt

  offset# :: Proxy# SDL_Texture -> Proxy# "h" -> Int
offset# = \Proxy# SDL_Texture
_ -> \Proxy# "h"
_ -> Int
8

-- | Application reference count, used when freeing texture
--
--     [C declaration]: @refcount@, defined at @SDL3\/SDL_render.h 166:9@
instance
  (ty ~ BG.CInt)
  => BG.CompatHasField.HasField "refcount" SDL_Texture ty
  where
  hasField :: SDL_Texture -> (ty -> SDL_Texture, ty)
hasField =
    \SDL_Texture
x0 ->
      ( \ty
y1 ->
          SDL_Texture
            { refcount :: CInt
refcount = ty
CInt
y1
            , format :: SDL_PixelFormat
format = 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 @"format" SDL_Texture
x0
            , w :: CInt
w = 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 @"w" SDL_Texture
x0
            , h :: CInt
h = 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 @"h" SDL_Texture
x0
            }
      , 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 @"refcount" SDL_Texture
x0
      )

instance
  (ty ~ BG.CInt)
  => BG.HasField "refcount" (BG.Ptr SDL_Texture) (BG.Ptr ty)
  where
  getField :: Ptr SDL_Texture -> Ptr ty
getField = Proxy "refcount"
-> Ptr SDL_Texture -> Ptr (CFieldType SDL_Texture "refcount")
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 @"refcount")

instance HasCField.HasCField SDL_Texture "refcount" where
  type CFieldType SDL_Texture "refcount" = BG.CInt

  offset# :: Proxy# SDL_Texture -> Proxy# "refcount" -> Int
offset# = \Proxy# SDL_Texture
_ -> \Proxy# "refcount"
_ -> Int
12

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_NAME_STRING@, literal @\"SDL.renderer.create.name\"@, defined at @SDL3\/SDL_render.h 339:9@
sDL_PROP_RENDERER_CREATE_NAME_STRING :: BG.ByteString
sDL_PROP_RENDERER_CREATE_NAME_STRING :: ByteString
sDL_PROP_RENDERER_CREATE_NAME_STRING =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6E
    , Word8
0x61
    , Word8
0x6D
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_WINDOW_POINTER@, literal @\"SDL.renderer.create.window\"@, defined at @SDL3\/SDL_render.h 340:9@
sDL_PROP_RENDERER_CREATE_WINDOW_POINTER :: BG.ByteString
sDL_PROP_RENDERER_CREATE_WINDOW_POINTER :: ByteString
sDL_PROP_RENDERER_CREATE_WINDOW_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x77
    , Word8
0x69
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x6F
    , Word8
0x77
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_SURFACE_POINTER@, literal @\"SDL.renderer.create.surface\"@, defined at @SDL3\/SDL_render.h 341:9@
sDL_PROP_RENDERER_CREATE_SURFACE_POINTER :: BG.ByteString
sDL_PROP_RENDERER_CREATE_SURFACE_POINTER :: ByteString
sDL_PROP_RENDERER_CREATE_SURFACE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x73
    , Word8
0x75
    , Word8
0x72
    , Word8
0x66
    , Word8
0x61
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_OUTPUT_COLORSPACE_NUMBER@, literal @\"SDL.renderer.create.output_colorspace\"@, defined at @SDL3\/SDL_render.h 342:9@
sDL_PROP_RENDERER_CREATE_OUTPUT_COLORSPACE_NUMBER :: BG.ByteString
sDL_PROP_RENDERER_CREATE_OUTPUT_COLORSPACE_NUMBER :: ByteString
sDL_PROP_RENDERER_CREATE_OUTPUT_COLORSPACE_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x75
    , Word8
0x74
    , Word8
0x70
    , Word8
0x75
    , Word8
0x74
    , Word8
0x5F
    , Word8
0x63
    , Word8
0x6F
    , Word8
0x6C
    , Word8
0x6F
    , Word8
0x72
    , Word8
0x73
    , Word8
0x70
    , Word8
0x61
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER@, literal @\"SDL.renderer.create.present_vsync\"@, defined at @SDL3\/SDL_render.h 343:9@
sDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER :: BG.ByteString
sDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER :: ByteString
sDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x70
    , Word8
0x72
    , Word8
0x65
    , Word8
0x73
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x74
    , Word8
0x5F
    , Word8
0x76
    , Word8
0x73
    , Word8
0x79
    , Word8
0x6E
    , Word8
0x63
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_GPU_DEVICE_POINTER@, literal @\"SDL.renderer.create.gpu.device\"@, defined at @SDL3\/SDL_render.h 344:9@
sDL_PROP_RENDERER_CREATE_GPU_DEVICE_POINTER :: BG.ByteString
sDL_PROP_RENDERER_CREATE_GPU_DEVICE_POINTER :: ByteString
sDL_PROP_RENDERER_CREATE_GPU_DEVICE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x70
    , Word8
0x75
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x76
    , Word8
0x69
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_GPU_SHADERS_SPIRV_BOOLEAN@, literal @\"SDL.renderer.create.gpu.shaders_spirv\"@, defined at @SDL3\/SDL_render.h 345:9@
sDL_PROP_RENDERER_CREATE_GPU_SHADERS_SPIRV_BOOLEAN :: BG.ByteString
sDL_PROP_RENDERER_CREATE_GPU_SHADERS_SPIRV_BOOLEAN :: ByteString
sDL_PROP_RENDERER_CREATE_GPU_SHADERS_SPIRV_BOOLEAN =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x70
    , Word8
0x75
    , Word8
0x2E
    , Word8
0x73
    , Word8
0x68
    , Word8
0x61
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x73
    , Word8
0x5F
    , Word8
0x73
    , Word8
0x70
    , Word8
0x69
    , Word8
0x72
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_GPU_SHADERS_DXIL_BOOLEAN@, literal @\"SDL.renderer.create.gpu.shaders_dxil\"@, defined at @SDL3\/SDL_render.h 346:9@
sDL_PROP_RENDERER_CREATE_GPU_SHADERS_DXIL_BOOLEAN :: BG.ByteString
sDL_PROP_RENDERER_CREATE_GPU_SHADERS_DXIL_BOOLEAN :: ByteString
sDL_PROP_RENDERER_CREATE_GPU_SHADERS_DXIL_BOOLEAN =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x70
    , Word8
0x75
    , Word8
0x2E
    , Word8
0x73
    , Word8
0x68
    , Word8
0x61
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x73
    , Word8
0x5F
    , Word8
0x64
    , Word8
0x78
    , Word8
0x69
    , Word8
0x6C
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_GPU_SHADERS_MSL_BOOLEAN@, literal @\"SDL.renderer.create.gpu.shaders_msl\"@, defined at @SDL3\/SDL_render.h 347:9@
sDL_PROP_RENDERER_CREATE_GPU_SHADERS_MSL_BOOLEAN :: BG.ByteString
sDL_PROP_RENDERER_CREATE_GPU_SHADERS_MSL_BOOLEAN :: ByteString
sDL_PROP_RENDERER_CREATE_GPU_SHADERS_MSL_BOOLEAN =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x70
    , Word8
0x75
    , Word8
0x2E
    , Word8
0x73
    , Word8
0x68
    , Word8
0x61
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x73
    , Word8
0x5F
    , Word8
0x6D
    , Word8
0x73
    , Word8
0x6C
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_VULKAN_INSTANCE_POINTER@, literal @\"SDL.renderer.create.vulkan.instance\"@, defined at @SDL3\/SDL_render.h 348:9@
sDL_PROP_RENDERER_CREATE_VULKAN_INSTANCE_POINTER :: BG.ByteString
sDL_PROP_RENDERER_CREATE_VULKAN_INSTANCE_POINTER :: ByteString
sDL_PROP_RENDERER_CREATE_VULKAN_INSTANCE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x69
    , Word8
0x6E
    , Word8
0x73
    , Word8
0x74
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_VULKAN_SURFACE_NUMBER@, literal @\"SDL.renderer.create.vulkan.surface\"@, defined at @SDL3\/SDL_render.h 349:9@
sDL_PROP_RENDERER_CREATE_VULKAN_SURFACE_NUMBER :: BG.ByteString
sDL_PROP_RENDERER_CREATE_VULKAN_SURFACE_NUMBER :: ByteString
sDL_PROP_RENDERER_CREATE_VULKAN_SURFACE_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x73
    , Word8
0x75
    , Word8
0x72
    , Word8
0x66
    , Word8
0x61
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_VULKAN_PHYSICAL_DEVICE_POINTER@, literal @\"SDL.renderer.create.vulkan.physical_device\"@, defined at @SDL3\/SDL_render.h 350:9@
sDL_PROP_RENDERER_CREATE_VULKAN_PHYSICAL_DEVICE_POINTER :: BG.ByteString
sDL_PROP_RENDERER_CREATE_VULKAN_PHYSICAL_DEVICE_POINTER :: ByteString
sDL_PROP_RENDERER_CREATE_VULKAN_PHYSICAL_DEVICE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x70
    , Word8
0x68
    , Word8
0x79
    , Word8
0x73
    , Word8
0x69
    , Word8
0x63
    , Word8
0x61
    , Word8
0x6C
    , Word8
0x5F
    , Word8
0x64
    , Word8
0x65
    , Word8
0x76
    , Word8
0x69
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_VULKAN_DEVICE_POINTER@, literal @\"SDL.renderer.create.vulkan.device\"@, defined at @SDL3\/SDL_render.h 351:9@
sDL_PROP_RENDERER_CREATE_VULKAN_DEVICE_POINTER :: BG.ByteString
sDL_PROP_RENDERER_CREATE_VULKAN_DEVICE_POINTER :: ByteString
sDL_PROP_RENDERER_CREATE_VULKAN_DEVICE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x76
    , Word8
0x69
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER@, literal @\"SDL.renderer.create.vulkan.graphics_queue_family_index\"@, defined at @SDL3\/SDL_render.h 352:9@
sDL_PROP_RENDERER_CREATE_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER :: BG.ByteString
sDL_PROP_RENDERER_CREATE_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER :: ByteString
sDL_PROP_RENDERER_CREATE_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x72
    , Word8
0x61
    , Word8
0x70
    , Word8
0x68
    , Word8
0x69
    , Word8
0x63
    , Word8
0x73
    , Word8
0x5F
    , Word8
0x71
    , Word8
0x75
    , Word8
0x65
    , Word8
0x75
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x66
    , Word8
0x61
    , Word8
0x6D
    , Word8
0x69
    , Word8
0x6C
    , Word8
0x79
    , Word8
0x5F
    , Word8
0x69
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x78
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_CREATE_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER@, literal @\"SDL.renderer.create.vulkan.present_queue_family_index\"@, defined at @SDL3\/SDL_render.h 353:9@
sDL_PROP_RENDERER_CREATE_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER :: BG.ByteString
sDL_PROP_RENDERER_CREATE_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER :: ByteString
sDL_PROP_RENDERER_CREATE_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x70
    , Word8
0x72
    , Word8
0x65
    , Word8
0x73
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x74
    , Word8
0x5F
    , Word8
0x71
    , Word8
0x75
    , Word8
0x65
    , Word8
0x75
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x66
    , Word8
0x61
    , Word8
0x6D
    , Word8
0x69
    , Word8
0x6C
    , Word8
0x79
    , Word8
0x5F
    , Word8
0x69
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x78
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_NAME_STRING@, literal @\"SDL.renderer.name\"@, defined at @SDL3\/SDL_render.h 553:9@
sDL_PROP_RENDERER_NAME_STRING :: BG.ByteString
sDL_PROP_RENDERER_NAME_STRING :: ByteString
sDL_PROP_RENDERER_NAME_STRING =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x6E
    , Word8
0x61
    , Word8
0x6D
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_WINDOW_POINTER@, literal @\"SDL.renderer.window\"@, defined at @SDL3\/SDL_render.h 554:9@
sDL_PROP_RENDERER_WINDOW_POINTER :: BG.ByteString
sDL_PROP_RENDERER_WINDOW_POINTER :: ByteString
sDL_PROP_RENDERER_WINDOW_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x77
    , Word8
0x69
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x6F
    , Word8
0x77
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_SURFACE_POINTER@, literal @\"SDL.renderer.surface\"@, defined at @SDL3\/SDL_render.h 555:9@
sDL_PROP_RENDERER_SURFACE_POINTER :: BG.ByteString
sDL_PROP_RENDERER_SURFACE_POINTER :: ByteString
sDL_PROP_RENDERER_SURFACE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x73
    , Word8
0x75
    , Word8
0x72
    , Word8
0x66
    , Word8
0x61
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_VSYNC_NUMBER@, literal @\"SDL.renderer.vsync\"@, defined at @SDL3\/SDL_render.h 556:9@
sDL_PROP_RENDERER_VSYNC_NUMBER :: BG.ByteString
sDL_PROP_RENDERER_VSYNC_NUMBER :: ByteString
sDL_PROP_RENDERER_VSYNC_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x73
    , Word8
0x79
    , Word8
0x6E
    , Word8
0x63
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER@, literal @\"SDL.renderer.max_texture_size\"@, defined at @SDL3\/SDL_render.h 557:9@
sDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER :: BG.ByteString
sDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER :: ByteString
sDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x6D
    , Word8
0x61
    , Word8
0x78
    , Word8
0x5F
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x73
    , Word8
0x69
    , Word8
0x7A
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_TEXTURE_FORMATS_POINTER@, literal @\"SDL.renderer.texture_formats\"@, defined at @SDL3\/SDL_render.h 558:9@
sDL_PROP_RENDERER_TEXTURE_FORMATS_POINTER :: BG.ByteString
sDL_PROP_RENDERER_TEXTURE_FORMATS_POINTER :: ByteString
sDL_PROP_RENDERER_TEXTURE_FORMATS_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x66
    , Word8
0x6F
    , Word8
0x72
    , Word8
0x6D
    , Word8
0x61
    , Word8
0x74
    , Word8
0x73
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN@, literal @\"SDL.renderer.texture_wrapping\"@, defined at @SDL3\/SDL_render.h 559:9@
sDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN :: BG.ByteString
sDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN :: ByteString
sDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x77
    , Word8
0x72
    , Word8
0x61
    , Word8
0x70
    , Word8
0x70
    , Word8
0x69
    , Word8
0x6E
    , Word8
0x67
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_OUTPUT_COLORSPACE_NUMBER@, literal @\"SDL.renderer.output_colorspace\"@, defined at @SDL3\/SDL_render.h 560:9@
sDL_PROP_RENDERER_OUTPUT_COLORSPACE_NUMBER :: BG.ByteString
sDL_PROP_RENDERER_OUTPUT_COLORSPACE_NUMBER :: ByteString
sDL_PROP_RENDERER_OUTPUT_COLORSPACE_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x75
    , Word8
0x74
    , Word8
0x70
    , Word8
0x75
    , Word8
0x74
    , Word8
0x5F
    , Word8
0x63
    , Word8
0x6F
    , Word8
0x6C
    , Word8
0x6F
    , Word8
0x72
    , Word8
0x73
    , Word8
0x70
    , Word8
0x61
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_HDR_ENABLED_BOOLEAN@, literal @\"SDL.renderer.HDR_enabled\"@, defined at @SDL3\/SDL_render.h 561:9@
sDL_PROP_RENDERER_HDR_ENABLED_BOOLEAN :: BG.ByteString
sDL_PROP_RENDERER_HDR_ENABLED_BOOLEAN :: ByteString
sDL_PROP_RENDERER_HDR_ENABLED_BOOLEAN =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x48
    , Word8
0x44
    , Word8
0x52
    , Word8
0x5F
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x61
    , Word8
0x62
    , Word8
0x6C
    , Word8
0x65
    , Word8
0x64
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_SDR_WHITE_POINT_FLOAT@, literal @\"SDL.renderer.SDR_white_point\"@, defined at @SDL3\/SDL_render.h 562:9@
sDL_PROP_RENDERER_SDR_WHITE_POINT_FLOAT :: BG.ByteString
sDL_PROP_RENDERER_SDR_WHITE_POINT_FLOAT :: ByteString
sDL_PROP_RENDERER_SDR_WHITE_POINT_FLOAT =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x53
    , Word8
0x44
    , Word8
0x52
    , Word8
0x5F
    , Word8
0x77
    , Word8
0x68
    , Word8
0x69
    , Word8
0x74
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x70
    , Word8
0x6F
    , Word8
0x69
    , Word8
0x6E
    , Word8
0x74
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_HDR_HEADROOM_FLOAT@, literal @\"SDL.renderer.HDR_headroom\"@, defined at @SDL3\/SDL_render.h 563:9@
sDL_PROP_RENDERER_HDR_HEADROOM_FLOAT :: BG.ByteString
sDL_PROP_RENDERER_HDR_HEADROOM_FLOAT :: ByteString
sDL_PROP_RENDERER_HDR_HEADROOM_FLOAT =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x48
    , Word8
0x44
    , Word8
0x52
    , Word8
0x5F
    , Word8
0x68
    , Word8
0x65
    , Word8
0x61
    , Word8
0x64
    , Word8
0x72
    , Word8
0x6F
    , Word8
0x6F
    , Word8
0x6D
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_D3D9_DEVICE_POINTER@, literal @\"SDL.renderer.d3d9.device\"@, defined at @SDL3\/SDL_render.h 564:9@
sDL_PROP_RENDERER_D3D9_DEVICE_POINTER :: BG.ByteString
sDL_PROP_RENDERER_D3D9_DEVICE_POINTER :: ByteString
sDL_PROP_RENDERER_D3D9_DEVICE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x39
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x76
    , Word8
0x69
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_D3D11_DEVICE_POINTER@, literal @\"SDL.renderer.d3d11.device\"@, defined at @SDL3\/SDL_render.h 565:9@
sDL_PROP_RENDERER_D3D11_DEVICE_POINTER :: BG.ByteString
sDL_PROP_RENDERER_D3D11_DEVICE_POINTER :: ByteString
sDL_PROP_RENDERER_D3D11_DEVICE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x31
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x76
    , Word8
0x69
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_D3D11_SWAPCHAIN_POINTER@, literal @\"SDL.renderer.d3d11.swap_chain\"@, defined at @SDL3\/SDL_render.h 566:9@
sDL_PROP_RENDERER_D3D11_SWAPCHAIN_POINTER :: BG.ByteString
sDL_PROP_RENDERER_D3D11_SWAPCHAIN_POINTER :: ByteString
sDL_PROP_RENDERER_D3D11_SWAPCHAIN_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x31
    , Word8
0x2E
    , Word8
0x73
    , Word8
0x77
    , Word8
0x61
    , Word8
0x70
    , Word8
0x5F
    , Word8
0x63
    , Word8
0x68
    , Word8
0x61
    , Word8
0x69
    , Word8
0x6E
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_D3D12_DEVICE_POINTER@, literal @\"SDL.renderer.d3d12.device\"@, defined at @SDL3\/SDL_render.h 567:9@
sDL_PROP_RENDERER_D3D12_DEVICE_POINTER :: BG.ByteString
sDL_PROP_RENDERER_D3D12_DEVICE_POINTER :: ByteString
sDL_PROP_RENDERER_D3D12_DEVICE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x76
    , Word8
0x69
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_D3D12_SWAPCHAIN_POINTER@, literal @\"SDL.renderer.d3d12.swap_chain\"@, defined at @SDL3\/SDL_render.h 568:9@
sDL_PROP_RENDERER_D3D12_SWAPCHAIN_POINTER :: BG.ByteString
sDL_PROP_RENDERER_D3D12_SWAPCHAIN_POINTER :: ByteString
sDL_PROP_RENDERER_D3D12_SWAPCHAIN_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x73
    , Word8
0x77
    , Word8
0x61
    , Word8
0x70
    , Word8
0x5F
    , Word8
0x63
    , Word8
0x68
    , Word8
0x61
    , Word8
0x69
    , Word8
0x6E
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_D3D12_COMMAND_QUEUE_POINTER@, literal @\"SDL.renderer.d3d12.command_queue\"@, defined at @SDL3\/SDL_render.h 569:9@
sDL_PROP_RENDERER_D3D12_COMMAND_QUEUE_POINTER :: BG.ByteString
sDL_PROP_RENDERER_D3D12_COMMAND_QUEUE_POINTER :: ByteString
sDL_PROP_RENDERER_D3D12_COMMAND_QUEUE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x6F
    , Word8
0x6D
    , Word8
0x6D
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x5F
    , Word8
0x71
    , Word8
0x75
    , Word8
0x65
    , Word8
0x75
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_VULKAN_INSTANCE_POINTER@, literal @\"SDL.renderer.vulkan.instance\"@, defined at @SDL3\/SDL_render.h 570:9@
sDL_PROP_RENDERER_VULKAN_INSTANCE_POINTER :: BG.ByteString
sDL_PROP_RENDERER_VULKAN_INSTANCE_POINTER :: ByteString
sDL_PROP_RENDERER_VULKAN_INSTANCE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x69
    , Word8
0x6E
    , Word8
0x73
    , Word8
0x74
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_VULKAN_SURFACE_NUMBER@, literal @\"SDL.renderer.vulkan.surface\"@, defined at @SDL3\/SDL_render.h 571:9@
sDL_PROP_RENDERER_VULKAN_SURFACE_NUMBER :: BG.ByteString
sDL_PROP_RENDERER_VULKAN_SURFACE_NUMBER :: ByteString
sDL_PROP_RENDERER_VULKAN_SURFACE_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x73
    , Word8
0x75
    , Word8
0x72
    , Word8
0x66
    , Word8
0x61
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_VULKAN_PHYSICAL_DEVICE_POINTER@, literal @\"SDL.renderer.vulkan.physical_device\"@, defined at @SDL3\/SDL_render.h 572:9@
sDL_PROP_RENDERER_VULKAN_PHYSICAL_DEVICE_POINTER :: BG.ByteString
sDL_PROP_RENDERER_VULKAN_PHYSICAL_DEVICE_POINTER :: ByteString
sDL_PROP_RENDERER_VULKAN_PHYSICAL_DEVICE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x70
    , Word8
0x68
    , Word8
0x79
    , Word8
0x73
    , Word8
0x69
    , Word8
0x63
    , Word8
0x61
    , Word8
0x6C
    , Word8
0x5F
    , Word8
0x64
    , Word8
0x65
    , Word8
0x76
    , Word8
0x69
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_VULKAN_DEVICE_POINTER@, literal @\"SDL.renderer.vulkan.device\"@, defined at @SDL3\/SDL_render.h 573:9@
sDL_PROP_RENDERER_VULKAN_DEVICE_POINTER :: BG.ByteString
sDL_PROP_RENDERER_VULKAN_DEVICE_POINTER :: ByteString
sDL_PROP_RENDERER_VULKAN_DEVICE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x76
    , Word8
0x69
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER@, literal @\"SDL.renderer.vulkan.graphics_queue_family_index\"@, defined at @SDL3\/SDL_render.h 574:9@
sDL_PROP_RENDERER_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER :: BG.ByteString
sDL_PROP_RENDERER_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER :: ByteString
sDL_PROP_RENDERER_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x72
    , Word8
0x61
    , Word8
0x70
    , Word8
0x68
    , Word8
0x69
    , Word8
0x63
    , Word8
0x73
    , Word8
0x5F
    , Word8
0x71
    , Word8
0x75
    , Word8
0x65
    , Word8
0x75
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x66
    , Word8
0x61
    , Word8
0x6D
    , Word8
0x69
    , Word8
0x6C
    , Word8
0x79
    , Word8
0x5F
    , Word8
0x69
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x78
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER@, literal @\"SDL.renderer.vulkan.present_queue_family_index\"@, defined at @SDL3\/SDL_render.h 575:9@
sDL_PROP_RENDERER_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER :: BG.ByteString
sDL_PROP_RENDERER_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER :: ByteString
sDL_PROP_RENDERER_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x70
    , Word8
0x72
    , Word8
0x65
    , Word8
0x73
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x74
    , Word8
0x5F
    , Word8
0x71
    , Word8
0x75
    , Word8
0x65
    , Word8
0x75
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x66
    , Word8
0x61
    , Word8
0x6D
    , Word8
0x69
    , Word8
0x6C
    , Word8
0x79
    , Word8
0x5F
    , Word8
0x69
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x78
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_VULKAN_SWAPCHAIN_IMAGE_COUNT_NUMBER@, literal @\"SDL.renderer.vulkan.swapchain_image_count\"@, defined at @SDL3\/SDL_render.h 576:9@
sDL_PROP_RENDERER_VULKAN_SWAPCHAIN_IMAGE_COUNT_NUMBER :: BG.ByteString
sDL_PROP_RENDERER_VULKAN_SWAPCHAIN_IMAGE_COUNT_NUMBER :: ByteString
sDL_PROP_RENDERER_VULKAN_SWAPCHAIN_IMAGE_COUNT_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x73
    , Word8
0x77
    , Word8
0x61
    , Word8
0x70
    , Word8
0x63
    , Word8
0x68
    , Word8
0x61
    , Word8
0x69
    , Word8
0x6E
    , Word8
0x5F
    , Word8
0x69
    , Word8
0x6D
    , Word8
0x61
    , Word8
0x67
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x63
    , Word8
0x6F
    , Word8
0x75
    , Word8
0x6E
    , Word8
0x74
    ]

-- | [C declaration]: @macro SDL_PROP_RENDERER_GPU_DEVICE_POINTER@, literal @\"SDL.renderer.gpu.device\"@, defined at @SDL3\/SDL_render.h 577:9@
sDL_PROP_RENDERER_GPU_DEVICE_POINTER :: BG.ByteString
sDL_PROP_RENDERER_GPU_DEVICE_POINTER :: ByteString
sDL_PROP_RENDERER_GPU_DEVICE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x72
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x72
    , Word8
0x65
    , Word8
0x72
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x70
    , Word8
0x75
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x65
    , Word8
0x76
    , Word8
0x69
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_COLORSPACE_NUMBER@, literal @\"SDL.texture.create.colorspace\"@, defined at @SDL3\/SDL_render.h 806:9@
sDL_PROP_TEXTURE_CREATE_COLORSPACE_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_COLORSPACE_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_COLORSPACE_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x6F
    , Word8
0x6C
    , Word8
0x6F
    , Word8
0x72
    , Word8
0x73
    , Word8
0x70
    , Word8
0x61
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_FORMAT_NUMBER@, literal @\"SDL.texture.create.format\"@, defined at @SDL3\/SDL_render.h 807:9@
sDL_PROP_TEXTURE_CREATE_FORMAT_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_FORMAT_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_FORMAT_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x66
    , Word8
0x6F
    , Word8
0x72
    , Word8
0x6D
    , Word8
0x61
    , Word8
0x74
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_ACCESS_NUMBER@, literal @\"SDL.texture.create.access\"@, defined at @SDL3\/SDL_render.h 808:9@
sDL_PROP_TEXTURE_CREATE_ACCESS_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_ACCESS_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_ACCESS_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x61
    , Word8
0x63
    , Word8
0x63
    , Word8
0x65
    , Word8
0x73
    , Word8
0x73
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_WIDTH_NUMBER@, literal @\"SDL.texture.create.width\"@, defined at @SDL3\/SDL_render.h 809:9@
sDL_PROP_TEXTURE_CREATE_WIDTH_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_WIDTH_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_WIDTH_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x77
    , Word8
0x69
    , Word8
0x64
    , Word8
0x74
    , Word8
0x68
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_HEIGHT_NUMBER@, literal @\"SDL.texture.create.height\"@, defined at @SDL3\/SDL_render.h 810:9@
sDL_PROP_TEXTURE_CREATE_HEIGHT_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_HEIGHT_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_HEIGHT_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x68
    , Word8
0x65
    , Word8
0x69
    , Word8
0x67
    , Word8
0x68
    , Word8
0x74
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_PALETTE_POINTER@, literal @\"SDL.texture.create.palette\"@, defined at @SDL3\/SDL_render.h 811:9@
sDL_PROP_TEXTURE_CREATE_PALETTE_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_PALETTE_POINTER :: ByteString
sDL_PROP_TEXTURE_CREATE_PALETTE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x70
    , Word8
0x61
    , Word8
0x6C
    , Word8
0x65
    , Word8
0x74
    , Word8
0x74
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_SDR_WHITE_POINT_FLOAT@, literal @\"SDL.texture.create.SDR_white_point\"@, defined at @SDL3\/SDL_render.h 812:9@
sDL_PROP_TEXTURE_CREATE_SDR_WHITE_POINT_FLOAT :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_SDR_WHITE_POINT_FLOAT :: ByteString
sDL_PROP_TEXTURE_CREATE_SDR_WHITE_POINT_FLOAT =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x53
    , Word8
0x44
    , Word8
0x52
    , Word8
0x5F
    , Word8
0x77
    , Word8
0x68
    , Word8
0x69
    , Word8
0x74
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x70
    , Word8
0x6F
    , Word8
0x69
    , Word8
0x6E
    , Word8
0x74
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_HDR_HEADROOM_FLOAT@, literal @\"SDL.texture.create.HDR_headroom\"@, defined at @SDL3\/SDL_render.h 813:9@
sDL_PROP_TEXTURE_CREATE_HDR_HEADROOM_FLOAT :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_HDR_HEADROOM_FLOAT :: ByteString
sDL_PROP_TEXTURE_CREATE_HDR_HEADROOM_FLOAT =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x48
    , Word8
0x44
    , Word8
0x52
    , Word8
0x5F
    , Word8
0x68
    , Word8
0x65
    , Word8
0x61
    , Word8
0x64
    , Word8
0x72
    , Word8
0x6F
    , Word8
0x6F
    , Word8
0x6D
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_POINTER@, literal @\"SDL.texture.create.d3d11.texture\"@, defined at @SDL3\/SDL_render.h 814:9@
sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_POINTER :: ByteString
sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x31
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER@, literal @\"SDL.texture.create.d3d11.texture_u\"@, defined at @SDL3\/SDL_render.h 815:9@
sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER :: ByteString
sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x31
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER@, literal @\"SDL.texture.create.d3d11.texture_v\"@, defined at @SDL3\/SDL_render.h 816:9@
sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER :: ByteString
sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x31
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_POINTER@, literal @\"SDL.texture.create.d3d12.texture\"@, defined at @SDL3\/SDL_render.h 817:9@
sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_POINTER :: ByteString
sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER@, literal @\"SDL.texture.create.d3d12.texture_u\"@, defined at @SDL3\/SDL_render.h 818:9@
sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER :: ByteString
sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER@, literal @\"SDL.texture.create.d3d12.texture_v\"@, defined at @SDL3\/SDL_render.h 819:9@
sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER :: ByteString
sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER@, literal @\"SDL.texture.create.metal.pixelbuffer\"@, defined at @SDL3\/SDL_render.h 820:9@
sDL_PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER :: ByteString
sDL_PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6D
    , Word8
0x65
    , Word8
0x74
    , Word8
0x61
    , Word8
0x6C
    , Word8
0x2E
    , Word8
0x70
    , Word8
0x69
    , Word8
0x78
    , Word8
0x65
    , Word8
0x6C
    , Word8
0x62
    , Word8
0x75
    , Word8
0x66
    , Word8
0x66
    , Word8
0x65
    , Word8
0x72
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER@, literal @\"SDL.texture.create.opengl.texture\"@, defined at @SDL3\/SDL_render.h 821:9@
sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER@, literal @\"SDL.texture.create.opengl.texture_uv\"@, defined at @SDL3\/SDL_render.h 822:9@
sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER@, literal @\"SDL.texture.create.opengl.texture_u\"@, defined at @SDL3\/SDL_render.h 823:9@
sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER@, literal @\"SDL.texture.create.opengl.texture_v\"@, defined at @SDL3\/SDL_render.h 824:9@
sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER@, literal @\"SDL.texture.create.opengles2.texture\"@, defined at @SDL3\/SDL_render.h 825:9@
sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x65
    , Word8
0x73
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER@, literal @\"SDL.texture.create.opengles2.texture_uv\"@, defined at @SDL3\/SDL_render.h 826:9@
sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x65
    , Word8
0x73
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER@, literal @\"SDL.texture.create.opengles2.texture_u\"@, defined at @SDL3\/SDL_render.h 827:9@
sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x65
    , Word8
0x73
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER@, literal @\"SDL.texture.create.opengles2.texture_v\"@, defined at @SDL3\/SDL_render.h 828:9@
sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x65
    , Word8
0x73
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_VULKAN_TEXTURE_NUMBER@, literal @\"SDL.texture.create.vulkan.texture\"@, defined at @SDL3\/SDL_render.h 829:9@
sDL_PROP_TEXTURE_CREATE_VULKAN_TEXTURE_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_VULKAN_TEXTURE_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_VULKAN_TEXTURE_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER@, literal @\"SDL.texture.create.vulkan.layout\"@, defined at @SDL3\/SDL_render.h 830:9@
sDL_PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER :: ByteString
sDL_PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x6C
    , Word8
0x61
    , Word8
0x79
    , Word8
0x6F
    , Word8
0x75
    , Word8
0x74
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER@, literal @\"SDL.texture.create.gpu.texture\"@, defined at @SDL3\/SDL_render.h 831:9@
sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER :: ByteString
sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x70
    , Word8
0x75
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_UV_POINTER@, literal @\"SDL.texture.create.gpu.texture_uv\"@, defined at @SDL3\/SDL_render.h 832:9@
sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_UV_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_UV_POINTER :: ByteString
sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_UV_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x70
    , Word8
0x75
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER@, literal @\"SDL.texture.create.gpu.texture_u\"@, defined at @SDL3\/SDL_render.h 833:9@
sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER :: ByteString
sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x70
    , Word8
0x75
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_V_POINTER@, literal @\"SDL.texture.create.gpu.texture_v\"@, defined at @SDL3\/SDL_render.h 834:9@
sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_V_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_V_POINTER :: ByteString
sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_V_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x72
    , Word8
0x65
    , Word8
0x61
    , Word8
0x74
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x70
    , Word8
0x75
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_COLORSPACE_NUMBER@, literal @\"SDL.texture.colorspace\"@, defined at @SDL3\/SDL_render.h 935:9@
sDL_PROP_TEXTURE_COLORSPACE_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_COLORSPACE_NUMBER :: ByteString
sDL_PROP_TEXTURE_COLORSPACE_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x63
    , Word8
0x6F
    , Word8
0x6C
    , Word8
0x6F
    , Word8
0x72
    , Word8
0x73
    , Word8
0x70
    , Word8
0x61
    , Word8
0x63
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_FORMAT_NUMBER@, literal @\"SDL.texture.format\"@, defined at @SDL3\/SDL_render.h 936:9@
sDL_PROP_TEXTURE_FORMAT_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_FORMAT_NUMBER :: ByteString
sDL_PROP_TEXTURE_FORMAT_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x66
    , Word8
0x6F
    , Word8
0x72
    , Word8
0x6D
    , Word8
0x61
    , Word8
0x74
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_ACCESS_NUMBER@, literal @\"SDL.texture.access\"@, defined at @SDL3\/SDL_render.h 937:9@
sDL_PROP_TEXTURE_ACCESS_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_ACCESS_NUMBER :: ByteString
sDL_PROP_TEXTURE_ACCESS_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x61
    , Word8
0x63
    , Word8
0x63
    , Word8
0x65
    , Word8
0x73
    , Word8
0x73
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_WIDTH_NUMBER@, literal @\"SDL.texture.width\"@, defined at @SDL3\/SDL_render.h 938:9@
sDL_PROP_TEXTURE_WIDTH_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_WIDTH_NUMBER :: ByteString
sDL_PROP_TEXTURE_WIDTH_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x77
    , Word8
0x69
    , Word8
0x64
    , Word8
0x74
    , Word8
0x68
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_HEIGHT_NUMBER@, literal @\"SDL.texture.height\"@, defined at @SDL3\/SDL_render.h 939:9@
sDL_PROP_TEXTURE_HEIGHT_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_HEIGHT_NUMBER :: ByteString
sDL_PROP_TEXTURE_HEIGHT_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x68
    , Word8
0x65
    , Word8
0x69
    , Word8
0x67
    , Word8
0x68
    , Word8
0x74
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_SDR_WHITE_POINT_FLOAT@, literal @\"SDL.texture.SDR_white_point\"@, defined at @SDL3\/SDL_render.h 940:9@
sDL_PROP_TEXTURE_SDR_WHITE_POINT_FLOAT :: BG.ByteString
sDL_PROP_TEXTURE_SDR_WHITE_POINT_FLOAT :: ByteString
sDL_PROP_TEXTURE_SDR_WHITE_POINT_FLOAT =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x53
    , Word8
0x44
    , Word8
0x52
    , Word8
0x5F
    , Word8
0x77
    , Word8
0x68
    , Word8
0x69
    , Word8
0x74
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x70
    , Word8
0x6F
    , Word8
0x69
    , Word8
0x6E
    , Word8
0x74
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_HDR_HEADROOM_FLOAT@, literal @\"SDL.texture.HDR_headroom\"@, defined at @SDL3\/SDL_render.h 941:9@
sDL_PROP_TEXTURE_HDR_HEADROOM_FLOAT :: BG.ByteString
sDL_PROP_TEXTURE_HDR_HEADROOM_FLOAT :: ByteString
sDL_PROP_TEXTURE_HDR_HEADROOM_FLOAT =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x48
    , Word8
0x44
    , Word8
0x52
    , Word8
0x5F
    , Word8
0x68
    , Word8
0x65
    , Word8
0x61
    , Word8
0x64
    , Word8
0x72
    , Word8
0x6F
    , Word8
0x6F
    , Word8
0x6D
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D11_TEXTURE_POINTER@, literal @\"SDL.texture.d3d11.texture\"@, defined at @SDL3\/SDL_render.h 942:9@
sDL_PROP_TEXTURE_D3D11_TEXTURE_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_D3D11_TEXTURE_POINTER :: ByteString
sDL_PROP_TEXTURE_D3D11_TEXTURE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x31
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D11_TEXTURE_U_POINTER@, literal @\"SDL.texture.d3d11.texture_u\"@, defined at @SDL3\/SDL_render.h 943:9@
sDL_PROP_TEXTURE_D3D11_TEXTURE_U_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_D3D11_TEXTURE_U_POINTER :: ByteString
sDL_PROP_TEXTURE_D3D11_TEXTURE_U_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x31
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D11_TEXTURE_V_POINTER@, literal @\"SDL.texture.d3d11.texture_v\"@, defined at @SDL3\/SDL_render.h 944:9@
sDL_PROP_TEXTURE_D3D11_TEXTURE_V_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_D3D11_TEXTURE_V_POINTER :: ByteString
sDL_PROP_TEXTURE_D3D11_TEXTURE_V_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x31
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D12_TEXTURE_POINTER@, literal @\"SDL.texture.d3d12.texture\"@, defined at @SDL3\/SDL_render.h 945:9@
sDL_PROP_TEXTURE_D3D12_TEXTURE_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_D3D12_TEXTURE_POINTER :: ByteString
sDL_PROP_TEXTURE_D3D12_TEXTURE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D12_TEXTURE_U_POINTER@, literal @\"SDL.texture.d3d12.texture_u\"@, defined at @SDL3\/SDL_render.h 946:9@
sDL_PROP_TEXTURE_D3D12_TEXTURE_U_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_D3D12_TEXTURE_U_POINTER :: ByteString
sDL_PROP_TEXTURE_D3D12_TEXTURE_U_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D12_TEXTURE_V_POINTER@, literal @\"SDL.texture.d3d12.texture_v\"@, defined at @SDL3\/SDL_render.h 947:9@
sDL_PROP_TEXTURE_D3D12_TEXTURE_V_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_D3D12_TEXTURE_V_POINTER :: ByteString
sDL_PROP_TEXTURE_D3D12_TEXTURE_V_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x64
    , Word8
0x33
    , Word8
0x64
    , Word8
0x31
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_NUMBER@, literal @\"SDL.texture.opengl.texture\"@, defined at @SDL3\/SDL_render.h 948:9@
sDL_PROP_TEXTURE_OPENGL_TEXTURE_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_OPENGL_TEXTURE_NUMBER :: ByteString
sDL_PROP_TEXTURE_OPENGL_TEXTURE_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_UV_NUMBER@, literal @\"SDL.texture.opengl.texture_uv\"@, defined at @SDL3\/SDL_render.h 949:9@
sDL_PROP_TEXTURE_OPENGL_TEXTURE_UV_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_OPENGL_TEXTURE_UV_NUMBER :: ByteString
sDL_PROP_TEXTURE_OPENGL_TEXTURE_UV_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_U_NUMBER@, literal @\"SDL.texture.opengl.texture_u\"@, defined at @SDL3\/SDL_render.h 950:9@
sDL_PROP_TEXTURE_OPENGL_TEXTURE_U_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_OPENGL_TEXTURE_U_NUMBER :: ByteString
sDL_PROP_TEXTURE_OPENGL_TEXTURE_U_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER@, literal @\"SDL.texture.opengl.texture_v\"@, defined at @SDL3\/SDL_render.h 951:9@
sDL_PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER :: ByteString
sDL_PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_TARGET_NUMBER@, literal @\"SDL.texture.opengl.target\"@, defined at @SDL3\/SDL_render.h 952:9@
sDL_PROP_TEXTURE_OPENGL_TEXTURE_TARGET_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_OPENGL_TEXTURE_TARGET_NUMBER :: ByteString
sDL_PROP_TEXTURE_OPENGL_TEXTURE_TARGET_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x61
    , Word8
0x72
    , Word8
0x67
    , Word8
0x65
    , Word8
0x74
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEX_W_FLOAT@, literal @\"SDL.texture.opengl.tex_w\"@, defined at @SDL3\/SDL_render.h 953:9@
sDL_PROP_TEXTURE_OPENGL_TEX_W_FLOAT :: BG.ByteString
sDL_PROP_TEXTURE_OPENGL_TEX_W_FLOAT :: ByteString
sDL_PROP_TEXTURE_OPENGL_TEX_W_FLOAT =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x5F
    , Word8
0x77
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEX_H_FLOAT@, literal @\"SDL.texture.opengl.tex_h\"@, defined at @SDL3\/SDL_render.h 954:9@
sDL_PROP_TEXTURE_OPENGL_TEX_H_FLOAT :: BG.ByteString
sDL_PROP_TEXTURE_OPENGL_TEX_H_FLOAT :: ByteString
sDL_PROP_TEXTURE_OPENGL_TEX_H_FLOAT =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x5F
    , Word8
0x68
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_NUMBER@, literal @\"SDL.texture.opengles2.texture\"@, defined at @SDL3\/SDL_render.h 955:9@
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_NUMBER :: ByteString
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x65
    , Word8
0x73
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER@, literal @\"SDL.texture.opengles2.texture_uv\"@, defined at @SDL3\/SDL_render.h 956:9@
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER :: ByteString
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x65
    , Word8
0x73
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER@, literal @\"SDL.texture.opengles2.texture_u\"@, defined at @SDL3\/SDL_render.h 957:9@
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER :: ByteString
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x65
    , Word8
0x73
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER@, literal @\"SDL.texture.opengles2.texture_v\"@, defined at @SDL3\/SDL_render.h 958:9@
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER :: ByteString
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x65
    , Word8
0x73
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER@, literal @\"SDL.texture.opengles2.target\"@, defined at @SDL3\/SDL_render.h 959:9@
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER :: ByteString
sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x6F
    , Word8
0x70
    , Word8
0x65
    , Word8
0x6E
    , Word8
0x67
    , Word8
0x6C
    , Word8
0x65
    , Word8
0x73
    , Word8
0x32
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x61
    , Word8
0x72
    , Word8
0x67
    , Word8
0x65
    , Word8
0x74
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_VULKAN_TEXTURE_NUMBER@, literal @\"SDL.texture.vulkan.texture\"@, defined at @SDL3\/SDL_render.h 960:9@
sDL_PROP_TEXTURE_VULKAN_TEXTURE_NUMBER :: BG.ByteString
sDL_PROP_TEXTURE_VULKAN_TEXTURE_NUMBER :: ByteString
sDL_PROP_TEXTURE_VULKAN_TEXTURE_NUMBER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x76
    , Word8
0x75
    , Word8
0x6C
    , Word8
0x6B
    , Word8
0x61
    , Word8
0x6E
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER@, literal @\"SDL.texture.gpu.texture\"@, defined at @SDL3\/SDL_render.h 961:9@
sDL_PROP_TEXTURE_GPU_TEXTURE_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_GPU_TEXTURE_POINTER :: ByteString
sDL_PROP_TEXTURE_GPU_TEXTURE_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x70
    , Word8
0x75
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_GPU_TEXTURE_UV_POINTER@, literal @\"SDL.texture.gpu.texture_uv\"@, defined at @SDL3\/SDL_render.h 962:9@
sDL_PROP_TEXTURE_GPU_TEXTURE_UV_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_GPU_TEXTURE_UV_POINTER :: ByteString
sDL_PROP_TEXTURE_GPU_TEXTURE_UV_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x70
    , Word8
0x75
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_GPU_TEXTURE_U_POINTER@, literal @\"SDL.texture.gpu.texture_u\"@, defined at @SDL3\/SDL_render.h 963:9@
sDL_PROP_TEXTURE_GPU_TEXTURE_U_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_GPU_TEXTURE_U_POINTER :: ByteString
sDL_PROP_TEXTURE_GPU_TEXTURE_U_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x70
    , Word8
0x75
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x75
    ]

-- | [C declaration]: @macro SDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER@, literal @\"SDL.texture.gpu.texture_v\"@, defined at @SDL3\/SDL_render.h 964:9@
sDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER :: BG.ByteString
sDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER :: ByteString
sDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER =
  [Word8] -> ByteString
BG.pack
    [ Word8
0x53
    , Word8
0x44
    , Word8
0x4C
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x2E
    , Word8
0x67
    , Word8
0x70
    , Word8
0x75
    , Word8
0x2E
    , Word8
0x74
    , Word8
0x65
    , Word8
0x78
    , Word8
0x74
    , Word8
0x75
    , Word8
0x72
    , Word8
0x65
    , Word8
0x5F
    , Word8
0x76
    ]

-- | [C declaration]: @macro SDL_RENDERER_VSYNC_DISABLED@, defined at @SDL3\/SDL_render.h 2786:9@
sDL_RENDERER_VSYNC_DISABLED :: BG.CInt
sDL_RENDERER_VSYNC_DISABLED :: CInt
sDL_RENDERER_VSYNC_DISABLED = (CInt
0 :: BG.CInt)

-- | [C declaration]: @macro SDL_RENDERER_VSYNC_ADAPTIVE@, defined at @SDL3\/SDL_render.h 2787:9@
sDL_RENDERER_VSYNC_ADAPTIVE :: BG.CInt
sDL_RENDERER_VSYNC_ADAPTIVE :: CInt
sDL_RENDERER_VSYNC_ADAPTIVE =
  CInt -> MinusRes CInt
forall a. Minus a => a -> MinusRes a
C.Expr.HostPlatform.negate (CInt
1 :: BG.CInt)

-- | The size, in pixels, of a single @SDL_RenderDebugText()@ character.
--
--     The font is monospaced and square, so this applies to all characters.
--
--     @since 3.2.0
--
--     [See also]: 'sDL_RenderDebugText'
--
--     [C declaration]: @macro SDL_DEBUG_TEXT_FONT_CHARACTER_SIZE@, defined at @SDL3\/SDL_render.h 2815:9@
sDL_DEBUG_TEXT_FONT_CHARACTER_SIZE :: BG.CInt
sDL_DEBUG_TEXT_FONT_CHARACTER_SIZE :: CInt
sDL_DEBUG_TEXT_FONT_CHARACTER_SIZE = (CInt
8 :: BG.CInt)

-- | A structure specifying the parameters of a GPU render state.
--
--     @since 3.4.0
--
--     [See also]: 'sDL_CreateGPURenderState'
--
--     [C declaration]: @struct SDL_GPURenderStateCreateInfo@, defined at @SDL3\/SDL_render.h 2929:16@
data SDL_GPURenderStateCreateInfo = SDL_GPURenderStateCreateInfo
  { SDL_GPURenderStateCreateInfo -> Ptr SDL_GPUShader
fragment_shader :: BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUShader
  -- ^ The fragment shader to use when this render state is active
  --
  --          [C declaration]: @fragment_shader@, defined at @SDL3\/SDL_render.h 2931:20@
  , SDL_GPURenderStateCreateInfo -> Sint32
num_sampler_bindings :: SDL3.Sys.Bindgen.Stdinc.Sint32
  -- ^ The number of additional fragment samplers to bind when this render state is active
  --
  --          [C declaration]: @num_sampler_bindings@, defined at @SDL3\/SDL_render.h 2933:12@
  , SDL_GPURenderStateCreateInfo
-> PtrConst SDL_GPUTextureSamplerBinding
sampler_bindings :: PtrConst.PtrConst SDL3.Sys.Bindgen.Gpu.SDL_GPUTextureSamplerBinding
  -- ^ Additional fragment samplers to bind when this render state is active
  --
  --          [C declaration]: @sampler_bindings@, defined at @SDL3\/SDL_render.h 2934:41@
  , SDL_GPURenderStateCreateInfo -> Sint32
num_storage_textures :: SDL3.Sys.Bindgen.Stdinc.Sint32
  -- ^ The number of storage textures to bind when this render state is active
  --
  --          [C declaration]: @num_storage_textures@, defined at @SDL3\/SDL_render.h 2936:12@
  , SDL_GPURenderStateCreateInfo -> PtrConst (Ptr SDL_GPUTexture)
storage_textures :: PtrConst.PtrConst (BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUTexture)
  -- ^ Storage textures to bind when this render state is active
  --
  --          [C declaration]: @storage_textures@, defined at @SDL3\/SDL_render.h 2937:28@
  , SDL_GPURenderStateCreateInfo -> Sint32
num_storage_buffers :: SDL3.Sys.Bindgen.Stdinc.Sint32
  -- ^ The number of storage buffers to bind when this render state is active
  --
  --          [C declaration]: @num_storage_buffers@, defined at @SDL3\/SDL_render.h 2939:12@
  , SDL_GPURenderStateCreateInfo -> PtrConst (Ptr SDL_GPUBuffer)
storage_buffers :: PtrConst.PtrConst (BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUBuffer)
  -- ^ Storage buffers to bind when this render state is active
  --
  --          [C declaration]: @storage_buffers@, defined at @SDL3\/SDL_render.h 2940:27@
  , SDL_GPURenderStateCreateInfo -> SDL_PropertiesID
props :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
  -- ^ A properties ID for extensions. Should be 0 if no extensions are needed.
  --
  --          [C declaration]: @props@, defined at @SDL3\/SDL_render.h 2942:22@
  }
  deriving stock ((forall x.
 SDL_GPURenderStateCreateInfo -> Rep SDL_GPURenderStateCreateInfo x)
-> (forall x.
    Rep SDL_GPURenderStateCreateInfo x -> SDL_GPURenderStateCreateInfo)
-> Generic SDL_GPURenderStateCreateInfo
forall x.
Rep SDL_GPURenderStateCreateInfo x -> SDL_GPURenderStateCreateInfo
forall x.
SDL_GPURenderStateCreateInfo -> Rep SDL_GPURenderStateCreateInfo x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
SDL_GPURenderStateCreateInfo -> Rep SDL_GPURenderStateCreateInfo x
from :: forall x.
SDL_GPURenderStateCreateInfo -> Rep SDL_GPURenderStateCreateInfo x
$cto :: forall x.
Rep SDL_GPURenderStateCreateInfo x -> SDL_GPURenderStateCreateInfo
to :: forall x.
Rep SDL_GPURenderStateCreateInfo x -> SDL_GPURenderStateCreateInfo
BG.Generic, SDL_GPURenderStateCreateInfo
-> SDL_GPURenderStateCreateInfo -> Bool
(SDL_GPURenderStateCreateInfo
 -> SDL_GPURenderStateCreateInfo -> Bool)
-> (SDL_GPURenderStateCreateInfo
    -> SDL_GPURenderStateCreateInfo -> Bool)
-> Eq SDL_GPURenderStateCreateInfo
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SDL_GPURenderStateCreateInfo
-> SDL_GPURenderStateCreateInfo -> Bool
== :: SDL_GPURenderStateCreateInfo
-> SDL_GPURenderStateCreateInfo -> Bool
$c/= :: SDL_GPURenderStateCreateInfo
-> SDL_GPURenderStateCreateInfo -> Bool
/= :: SDL_GPURenderStateCreateInfo
-> SDL_GPURenderStateCreateInfo -> Bool
Eq, Int -> SDL_GPURenderStateCreateInfo -> ShowS
[SDL_GPURenderStateCreateInfo] -> ShowS
SDL_GPURenderStateCreateInfo -> String
(Int -> SDL_GPURenderStateCreateInfo -> ShowS)
-> (SDL_GPURenderStateCreateInfo -> String)
-> ([SDL_GPURenderStateCreateInfo] -> ShowS)
-> Show SDL_GPURenderStateCreateInfo
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SDL_GPURenderStateCreateInfo -> ShowS
showsPrec :: Int -> SDL_GPURenderStateCreateInfo -> ShowS
$cshow :: SDL_GPURenderStateCreateInfo -> String
show :: SDL_GPURenderStateCreateInfo -> String
$cshowList :: [SDL_GPURenderStateCreateInfo] -> ShowS
showList :: [SDL_GPURenderStateCreateInfo] -> ShowS
Show)

instance Marshal.StaticSize SDL_GPURenderStateCreateInfo where
  staticSizeOf :: Proxy SDL_GPURenderStateCreateInfo -> Int
staticSizeOf = \Proxy SDL_GPURenderStateCreateInfo
_ -> (Int
64 :: Int)

  staticAlignment :: Proxy SDL_GPURenderStateCreateInfo -> Int
staticAlignment = \Proxy SDL_GPURenderStateCreateInfo
_ -> (Int
8 :: Int)

instance Marshal.ReadRaw SDL_GPURenderStateCreateInfo where
  readRaw :: Ptr SDL_GPURenderStateCreateInfo -> IO SDL_GPURenderStateCreateInfo
readRaw =
    \Ptr SDL_GPURenderStateCreateInfo
ptr0 ->
      (Ptr SDL_GPUShader
 -> Sint32
 -> PtrConst SDL_GPUTextureSamplerBinding
 -> Sint32
 -> PtrConst (Ptr SDL_GPUTexture)
 -> Sint32
 -> PtrConst (Ptr SDL_GPUBuffer)
 -> SDL_PropertiesID
 -> SDL_GPURenderStateCreateInfo)
-> IO
     (Ptr SDL_GPUShader
      -> Sint32
      -> PtrConst SDL_GPUTextureSamplerBinding
      -> Sint32
      -> PtrConst (Ptr SDL_GPUTexture)
      -> Sint32
      -> PtrConst (Ptr SDL_GPUBuffer)
      -> SDL_PropertiesID
      -> SDL_GPURenderStateCreateInfo)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure Ptr SDL_GPUShader
-> Sint32
-> PtrConst SDL_GPUTextureSamplerBinding
-> Sint32
-> PtrConst (Ptr SDL_GPUTexture)
-> Sint32
-> PtrConst (Ptr SDL_GPUBuffer)
-> SDL_PropertiesID
-> SDL_GPURenderStateCreateInfo
SDL_GPURenderStateCreateInfo
        IO
  (Ptr SDL_GPUShader
   -> Sint32
   -> PtrConst SDL_GPUTextureSamplerBinding
   -> Sint32
   -> PtrConst (Ptr SDL_GPUTexture)
   -> Sint32
   -> PtrConst (Ptr SDL_GPUBuffer)
   -> SDL_PropertiesID
   -> SDL_GPURenderStateCreateInfo)
-> IO (Ptr SDL_GPUShader)
-> IO
     (Sint32
      -> PtrConst SDL_GPUTextureSamplerBinding
      -> Sint32
      -> PtrConst (Ptr SDL_GPUTexture)
      -> Sint32
      -> PtrConst (Ptr SDL_GPUBuffer)
      -> SDL_PropertiesID
      -> SDL_GPURenderStateCreateInfo)
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "fragment_shader"
-> Ptr SDL_GPURenderStateCreateInfo
-> IO (CFieldType SDL_GPURenderStateCreateInfo "fragment_shader")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"fragment_shader") Ptr SDL_GPURenderStateCreateInfo
ptr0
        IO
  (Sint32
   -> PtrConst SDL_GPUTextureSamplerBinding
   -> Sint32
   -> PtrConst (Ptr SDL_GPUTexture)
   -> Sint32
   -> PtrConst (Ptr SDL_GPUBuffer)
   -> SDL_PropertiesID
   -> SDL_GPURenderStateCreateInfo)
-> IO Sint32
-> IO
     (PtrConst SDL_GPUTextureSamplerBinding
      -> Sint32
      -> PtrConst (Ptr SDL_GPUTexture)
      -> Sint32
      -> PtrConst (Ptr SDL_GPUBuffer)
      -> SDL_PropertiesID
      -> SDL_GPURenderStateCreateInfo)
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "num_sampler_bindings"
-> Ptr SDL_GPURenderStateCreateInfo
-> IO
     (CFieldType SDL_GPURenderStateCreateInfo "num_sampler_bindings")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"num_sampler_bindings") Ptr SDL_GPURenderStateCreateInfo
ptr0
        IO
  (PtrConst SDL_GPUTextureSamplerBinding
   -> Sint32
   -> PtrConst (Ptr SDL_GPUTexture)
   -> Sint32
   -> PtrConst (Ptr SDL_GPUBuffer)
   -> SDL_PropertiesID
   -> SDL_GPURenderStateCreateInfo)
-> IO (PtrConst SDL_GPUTextureSamplerBinding)
-> IO
     (Sint32
      -> PtrConst (Ptr SDL_GPUTexture)
      -> Sint32
      -> PtrConst (Ptr SDL_GPUBuffer)
      -> SDL_PropertiesID
      -> SDL_GPURenderStateCreateInfo)
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "sampler_bindings"
-> Ptr SDL_GPURenderStateCreateInfo
-> IO (CFieldType SDL_GPURenderStateCreateInfo "sampler_bindings")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"sampler_bindings") Ptr SDL_GPURenderStateCreateInfo
ptr0
        IO
  (Sint32
   -> PtrConst (Ptr SDL_GPUTexture)
   -> Sint32
   -> PtrConst (Ptr SDL_GPUBuffer)
   -> SDL_PropertiesID
   -> SDL_GPURenderStateCreateInfo)
-> IO Sint32
-> IO
     (PtrConst (Ptr SDL_GPUTexture)
      -> Sint32
      -> PtrConst (Ptr SDL_GPUBuffer)
      -> SDL_PropertiesID
      -> SDL_GPURenderStateCreateInfo)
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "num_storage_textures"
-> Ptr SDL_GPURenderStateCreateInfo
-> IO
     (CFieldType SDL_GPURenderStateCreateInfo "num_storage_textures")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"num_storage_textures") Ptr SDL_GPURenderStateCreateInfo
ptr0
        IO
  (PtrConst (Ptr SDL_GPUTexture)
   -> Sint32
   -> PtrConst (Ptr SDL_GPUBuffer)
   -> SDL_PropertiesID
   -> SDL_GPURenderStateCreateInfo)
-> IO (PtrConst (Ptr SDL_GPUTexture))
-> IO
     (Sint32
      -> PtrConst (Ptr SDL_GPUBuffer)
      -> SDL_PropertiesID
      -> SDL_GPURenderStateCreateInfo)
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "storage_textures"
-> Ptr SDL_GPURenderStateCreateInfo
-> IO (CFieldType SDL_GPURenderStateCreateInfo "storage_textures")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"storage_textures") Ptr SDL_GPURenderStateCreateInfo
ptr0
        IO
  (Sint32
   -> PtrConst (Ptr SDL_GPUBuffer)
   -> SDL_PropertiesID
   -> SDL_GPURenderStateCreateInfo)
-> IO Sint32
-> IO
     (PtrConst (Ptr SDL_GPUBuffer)
      -> SDL_PropertiesID -> SDL_GPURenderStateCreateInfo)
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "num_storage_buffers"
-> Ptr SDL_GPURenderStateCreateInfo
-> IO
     (CFieldType SDL_GPURenderStateCreateInfo "num_storage_buffers")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"num_storage_buffers") Ptr SDL_GPURenderStateCreateInfo
ptr0
        IO
  (PtrConst (Ptr SDL_GPUBuffer)
   -> SDL_PropertiesID -> SDL_GPURenderStateCreateInfo)
-> IO (PtrConst (Ptr SDL_GPUBuffer))
-> IO (SDL_PropertiesID -> SDL_GPURenderStateCreateInfo)
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "storage_buffers"
-> Ptr SDL_GPURenderStateCreateInfo
-> IO (CFieldType SDL_GPURenderStateCreateInfo "storage_buffers")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"storage_buffers") Ptr SDL_GPURenderStateCreateInfo
ptr0
        IO (SDL_PropertiesID -> SDL_GPURenderStateCreateInfo)
-> IO SDL_PropertiesID -> IO SDL_GPURenderStateCreateInfo
forall a b. IO (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Proxy "props"
-> Ptr SDL_GPURenderStateCreateInfo
-> IO (CFieldType SDL_GPURenderStateCreateInfo "props")
forall a (field :: Symbol).
(HasCField a field, ReadRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> IO (CFieldType a field)
HasCField.readRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"props") Ptr SDL_GPURenderStateCreateInfo
ptr0

instance Marshal.WriteRaw SDL_GPURenderStateCreateInfo where
  writeRaw :: Ptr SDL_GPURenderStateCreateInfo
-> SDL_GPURenderStateCreateInfo -> IO ()
writeRaw =
    \Ptr SDL_GPURenderStateCreateInfo
ptr0 ->
      \SDL_GPURenderStateCreateInfo
s1 ->
        case SDL_GPURenderStateCreateInfo
s1 of
          SDL_GPURenderStateCreateInfo
            Ptr SDL_GPUShader
fragment_shader2
            Sint32
num_sampler_bindings3
            PtrConst SDL_GPUTextureSamplerBinding
sampler_bindings4
            Sint32
num_storage_textures5
            PtrConst (Ptr SDL_GPUTexture)
storage_textures6
            Sint32
num_storage_buffers7
            PtrConst (Ptr SDL_GPUBuffer)
storage_buffers8
            SDL_PropertiesID
props9 ->
              Proxy "fragment_shader"
-> Ptr SDL_GPURenderStateCreateInfo
-> CFieldType SDL_GPURenderStateCreateInfo "fragment_shader"
-> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"fragment_shader") Ptr SDL_GPURenderStateCreateInfo
ptr0 Ptr SDL_GPUShader
CFieldType SDL_GPURenderStateCreateInfo "fragment_shader"
fragment_shader2
                IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Proxy "num_sampler_bindings"
-> Ptr SDL_GPURenderStateCreateInfo
-> CFieldType SDL_GPURenderStateCreateInfo "num_sampler_bindings"
-> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"num_sampler_bindings") Ptr SDL_GPURenderStateCreateInfo
ptr0 CFieldType SDL_GPURenderStateCreateInfo "num_sampler_bindings"
Sint32
num_sampler_bindings3
                IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Proxy "sampler_bindings"
-> Ptr SDL_GPURenderStateCreateInfo
-> CFieldType SDL_GPURenderStateCreateInfo "sampler_bindings"
-> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"sampler_bindings") Ptr SDL_GPURenderStateCreateInfo
ptr0 PtrConst SDL_GPUTextureSamplerBinding
CFieldType SDL_GPURenderStateCreateInfo "sampler_bindings"
sampler_bindings4
                IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Proxy "num_storage_textures"
-> Ptr SDL_GPURenderStateCreateInfo
-> CFieldType SDL_GPURenderStateCreateInfo "num_storage_textures"
-> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"num_storage_textures") Ptr SDL_GPURenderStateCreateInfo
ptr0 CFieldType SDL_GPURenderStateCreateInfo "num_storage_textures"
Sint32
num_storage_textures5
                IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Proxy "storage_textures"
-> Ptr SDL_GPURenderStateCreateInfo
-> CFieldType SDL_GPURenderStateCreateInfo "storage_textures"
-> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"storage_textures") Ptr SDL_GPURenderStateCreateInfo
ptr0 PtrConst (Ptr SDL_GPUTexture)
CFieldType SDL_GPURenderStateCreateInfo "storage_textures"
storage_textures6
                IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Proxy "num_storage_buffers"
-> Ptr SDL_GPURenderStateCreateInfo
-> CFieldType SDL_GPURenderStateCreateInfo "num_storage_buffers"
-> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"num_storage_buffers") Ptr SDL_GPURenderStateCreateInfo
ptr0 CFieldType SDL_GPURenderStateCreateInfo "num_storage_buffers"
Sint32
num_storage_buffers7
                IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Proxy "storage_buffers"
-> Ptr SDL_GPURenderStateCreateInfo
-> CFieldType SDL_GPURenderStateCreateInfo "storage_buffers"
-> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"storage_buffers") Ptr SDL_GPURenderStateCreateInfo
ptr0 PtrConst (Ptr SDL_GPUBuffer)
CFieldType SDL_GPURenderStateCreateInfo "storage_buffers"
storage_buffers8
                IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Proxy "props"
-> Ptr SDL_GPURenderStateCreateInfo
-> CFieldType SDL_GPURenderStateCreateInfo "props"
-> IO ()
forall a (field :: Symbol).
(HasCField a field, WriteRaw (CFieldType a field)) =>
Proxy field -> Ptr a -> CFieldType a field -> IO ()
HasCField.writeRaw (forall {k} (t :: k). Proxy t
forall (t :: Symbol). Proxy t
BG.Proxy @"props") Ptr SDL_GPURenderStateCreateInfo
ptr0 CFieldType SDL_GPURenderStateCreateInfo "props"
SDL_PropertiesID
props9

deriving via
  Marshal.EquivStorable SDL_GPURenderStateCreateInfo
  instance
    BG.Storable SDL_GPURenderStateCreateInfo

deriving via
  Struct.IsStructViaReadRaw SDL_GPURenderStateCreateInfo
  instance
    Struct.IsStruct SDL_GPURenderStateCreateInfo

-- | The fragment shader to use when this render state is active
--
--     [C declaration]: @fragment_shader@, defined at @SDL3\/SDL_render.h 2931:20@
instance
  (ty ~ BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUShader)
  => BG.CompatHasField.HasField "fragment_shader" SDL_GPURenderStateCreateInfo ty
  where
  hasField :: SDL_GPURenderStateCreateInfo
-> (ty -> SDL_GPURenderStateCreateInfo, ty)
hasField =
    \SDL_GPURenderStateCreateInfo
x0 ->
      ( \ty
y1 ->
          SDL_GPURenderStateCreateInfo
            { fragment_shader :: Ptr SDL_GPUShader
fragment_shader = ty
Ptr SDL_GPUShader
y1
            , num_sampler_bindings :: Sint32
num_sampler_bindings = 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 @"num_sampler_bindings" SDL_GPURenderStateCreateInfo
x0
            , sampler_bindings :: PtrConst SDL_GPUTextureSamplerBinding
sampler_bindings = 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 @"sampler_bindings" SDL_GPURenderStateCreateInfo
x0
            , num_storage_textures :: Sint32
num_storage_textures = 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 @"num_storage_textures" SDL_GPURenderStateCreateInfo
x0
            , storage_textures :: PtrConst (Ptr SDL_GPUTexture)
storage_textures = 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 @"storage_textures" SDL_GPURenderStateCreateInfo
x0
            , num_storage_buffers :: Sint32
num_storage_buffers = 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 @"num_storage_buffers" SDL_GPURenderStateCreateInfo
x0
            , storage_buffers :: PtrConst (Ptr SDL_GPUBuffer)
storage_buffers = 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 @"storage_buffers" SDL_GPURenderStateCreateInfo
x0
            , props :: SDL_PropertiesID
props = 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 @"props" SDL_GPURenderStateCreateInfo
x0
            }
      , 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 @"fragment_shader" SDL_GPURenderStateCreateInfo
x0
      )

instance
  (ty ~ BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUShader)
  => BG.HasField "fragment_shader" (BG.Ptr SDL_GPURenderStateCreateInfo) (BG.Ptr ty)
  where
  getField :: Ptr SDL_GPURenderStateCreateInfo -> Ptr ty
getField =
    Proxy "fragment_shader"
-> Ptr SDL_GPURenderStateCreateInfo
-> Ptr (CFieldType SDL_GPURenderStateCreateInfo "fragment_shader")
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 @"fragment_shader")

instance HasCField.HasCField SDL_GPURenderStateCreateInfo "fragment_shader" where
  type
    CFieldType SDL_GPURenderStateCreateInfo "fragment_shader" =
      BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUShader

  offset# :: Proxy# SDL_GPURenderStateCreateInfo
-> Proxy# "fragment_shader" -> Int
offset# = \Proxy# SDL_GPURenderStateCreateInfo
_ -> \Proxy# "fragment_shader"
_ -> Int
0

-- | The number of additional fragment samplers to bind when this render state is active
--
--     [C declaration]: @num_sampler_bindings@, defined at @SDL3\/SDL_render.h 2933:12@
instance
  (ty ~ SDL3.Sys.Bindgen.Stdinc.Sint32)
  => BG.CompatHasField.HasField "num_sampler_bindings" SDL_GPURenderStateCreateInfo ty
  where
  hasField :: SDL_GPURenderStateCreateInfo
-> (ty -> SDL_GPURenderStateCreateInfo, ty)
hasField =
    \SDL_GPURenderStateCreateInfo
x0 ->
      ( \ty
y1 ->
          SDL_GPURenderStateCreateInfo
            { num_sampler_bindings :: Sint32
num_sampler_bindings = ty
Sint32
y1
            , fragment_shader :: Ptr SDL_GPUShader
fragment_shader = 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 @"fragment_shader" SDL_GPURenderStateCreateInfo
x0
            , sampler_bindings :: PtrConst SDL_GPUTextureSamplerBinding
sampler_bindings = 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 @"sampler_bindings" SDL_GPURenderStateCreateInfo
x0
            , num_storage_textures :: Sint32
num_storage_textures = 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 @"num_storage_textures" SDL_GPURenderStateCreateInfo
x0
            , storage_textures :: PtrConst (Ptr SDL_GPUTexture)
storage_textures = 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 @"storage_textures" SDL_GPURenderStateCreateInfo
x0
            , num_storage_buffers :: Sint32
num_storage_buffers = 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 @"num_storage_buffers" SDL_GPURenderStateCreateInfo
x0
            , storage_buffers :: PtrConst (Ptr SDL_GPUBuffer)
storage_buffers = 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 @"storage_buffers" SDL_GPURenderStateCreateInfo
x0
            , props :: SDL_PropertiesID
props = 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 @"props" SDL_GPURenderStateCreateInfo
x0
            }
      , 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 @"num_sampler_bindings" SDL_GPURenderStateCreateInfo
x0
      )

instance
  (ty ~ SDL3.Sys.Bindgen.Stdinc.Sint32)
  => BG.HasField "num_sampler_bindings" (BG.Ptr SDL_GPURenderStateCreateInfo) (BG.Ptr ty)
  where
  getField :: Ptr SDL_GPURenderStateCreateInfo -> Ptr ty
getField =
    Proxy "num_sampler_bindings"
-> Ptr SDL_GPURenderStateCreateInfo
-> Ptr
     (CFieldType SDL_GPURenderStateCreateInfo "num_sampler_bindings")
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 @"num_sampler_bindings")

instance HasCField.HasCField SDL_GPURenderStateCreateInfo "num_sampler_bindings" where
  type
    CFieldType SDL_GPURenderStateCreateInfo "num_sampler_bindings" =
      SDL3.Sys.Bindgen.Stdinc.Sint32

  offset# :: Proxy# SDL_GPURenderStateCreateInfo
-> Proxy# "num_sampler_bindings" -> Int
offset# = \Proxy# SDL_GPURenderStateCreateInfo
_ -> \Proxy# "num_sampler_bindings"
_ -> Int
8

-- | Additional fragment samplers to bind when this render state is active
--
--     [C declaration]: @sampler_bindings@, defined at @SDL3\/SDL_render.h 2934:41@
instance
  (ty ~ PtrConst.PtrConst SDL3.Sys.Bindgen.Gpu.SDL_GPUTextureSamplerBinding)
  => BG.CompatHasField.HasField "sampler_bindings" SDL_GPURenderStateCreateInfo ty
  where
  hasField :: SDL_GPURenderStateCreateInfo
-> (ty -> SDL_GPURenderStateCreateInfo, ty)
hasField =
    \SDL_GPURenderStateCreateInfo
x0 ->
      ( \ty
y1 ->
          SDL_GPURenderStateCreateInfo
            { sampler_bindings :: PtrConst SDL_GPUTextureSamplerBinding
sampler_bindings = ty
PtrConst SDL_GPUTextureSamplerBinding
y1
            , fragment_shader :: Ptr SDL_GPUShader
fragment_shader = 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 @"fragment_shader" SDL_GPURenderStateCreateInfo
x0
            , num_sampler_bindings :: Sint32
num_sampler_bindings = 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 @"num_sampler_bindings" SDL_GPURenderStateCreateInfo
x0
            , num_storage_textures :: Sint32
num_storage_textures = 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 @"num_storage_textures" SDL_GPURenderStateCreateInfo
x0
            , storage_textures :: PtrConst (Ptr SDL_GPUTexture)
storage_textures = 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 @"storage_textures" SDL_GPURenderStateCreateInfo
x0
            , num_storage_buffers :: Sint32
num_storage_buffers = 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 @"num_storage_buffers" SDL_GPURenderStateCreateInfo
x0
            , storage_buffers :: PtrConst (Ptr SDL_GPUBuffer)
storage_buffers = 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 @"storage_buffers" SDL_GPURenderStateCreateInfo
x0
            , props :: SDL_PropertiesID
props = 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 @"props" SDL_GPURenderStateCreateInfo
x0
            }
      , 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 @"sampler_bindings" SDL_GPURenderStateCreateInfo
x0
      )

instance
  (ty ~ PtrConst.PtrConst SDL3.Sys.Bindgen.Gpu.SDL_GPUTextureSamplerBinding)
  => BG.HasField "sampler_bindings" (BG.Ptr SDL_GPURenderStateCreateInfo) (BG.Ptr ty)
  where
  getField :: Ptr SDL_GPURenderStateCreateInfo -> Ptr ty
getField =
    Proxy "sampler_bindings"
-> Ptr SDL_GPURenderStateCreateInfo
-> Ptr (CFieldType SDL_GPURenderStateCreateInfo "sampler_bindings")
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 @"sampler_bindings")

instance HasCField.HasCField SDL_GPURenderStateCreateInfo "sampler_bindings" where
  type
    CFieldType SDL_GPURenderStateCreateInfo "sampler_bindings" =
      PtrConst.PtrConst SDL3.Sys.Bindgen.Gpu.SDL_GPUTextureSamplerBinding

  offset# :: Proxy# SDL_GPURenderStateCreateInfo
-> Proxy# "sampler_bindings" -> Int
offset# = \Proxy# SDL_GPURenderStateCreateInfo
_ -> \Proxy# "sampler_bindings"
_ -> Int
16

-- | The number of storage textures to bind when this render state is active
--
--     [C declaration]: @num_storage_textures@, defined at @SDL3\/SDL_render.h 2936:12@
instance
  (ty ~ SDL3.Sys.Bindgen.Stdinc.Sint32)
  => BG.CompatHasField.HasField "num_storage_textures" SDL_GPURenderStateCreateInfo ty
  where
  hasField :: SDL_GPURenderStateCreateInfo
-> (ty -> SDL_GPURenderStateCreateInfo, ty)
hasField =
    \SDL_GPURenderStateCreateInfo
x0 ->
      ( \ty
y1 ->
          SDL_GPURenderStateCreateInfo
            { num_storage_textures :: Sint32
num_storage_textures = ty
Sint32
y1
            , fragment_shader :: Ptr SDL_GPUShader
fragment_shader = 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 @"fragment_shader" SDL_GPURenderStateCreateInfo
x0
            , num_sampler_bindings :: Sint32
num_sampler_bindings = 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 @"num_sampler_bindings" SDL_GPURenderStateCreateInfo
x0
            , sampler_bindings :: PtrConst SDL_GPUTextureSamplerBinding
sampler_bindings = 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 @"sampler_bindings" SDL_GPURenderStateCreateInfo
x0
            , storage_textures :: PtrConst (Ptr SDL_GPUTexture)
storage_textures = 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 @"storage_textures" SDL_GPURenderStateCreateInfo
x0
            , num_storage_buffers :: Sint32
num_storage_buffers = 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 @"num_storage_buffers" SDL_GPURenderStateCreateInfo
x0
            , storage_buffers :: PtrConst (Ptr SDL_GPUBuffer)
storage_buffers = 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 @"storage_buffers" SDL_GPURenderStateCreateInfo
x0
            , props :: SDL_PropertiesID
props = 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 @"props" SDL_GPURenderStateCreateInfo
x0
            }
      , 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 @"num_storage_textures" SDL_GPURenderStateCreateInfo
x0
      )

instance
  (ty ~ SDL3.Sys.Bindgen.Stdinc.Sint32)
  => BG.HasField "num_storage_textures" (BG.Ptr SDL_GPURenderStateCreateInfo) (BG.Ptr ty)
  where
  getField :: Ptr SDL_GPURenderStateCreateInfo -> Ptr ty
getField =
    Proxy "num_storage_textures"
-> Ptr SDL_GPURenderStateCreateInfo
-> Ptr
     (CFieldType SDL_GPURenderStateCreateInfo "num_storage_textures")
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 @"num_storage_textures")

instance HasCField.HasCField SDL_GPURenderStateCreateInfo "num_storage_textures" where
  type
    CFieldType SDL_GPURenderStateCreateInfo "num_storage_textures" =
      SDL3.Sys.Bindgen.Stdinc.Sint32

  offset# :: Proxy# SDL_GPURenderStateCreateInfo
-> Proxy# "num_storage_textures" -> Int
offset# = \Proxy# SDL_GPURenderStateCreateInfo
_ -> \Proxy# "num_storage_textures"
_ -> Int
24

-- | Storage textures to bind when this render state is active
--
--     [C declaration]: @storage_textures@, defined at @SDL3\/SDL_render.h 2937:28@
instance
  (ty ~ PtrConst.PtrConst (BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUTexture))
  => BG.CompatHasField.HasField "storage_textures" SDL_GPURenderStateCreateInfo ty
  where
  hasField :: SDL_GPURenderStateCreateInfo
-> (ty -> SDL_GPURenderStateCreateInfo, ty)
hasField =
    \SDL_GPURenderStateCreateInfo
x0 ->
      ( \ty
y1 ->
          SDL_GPURenderStateCreateInfo
            { storage_textures :: PtrConst (Ptr SDL_GPUTexture)
storage_textures = ty
PtrConst (Ptr SDL_GPUTexture)
y1
            , fragment_shader :: Ptr SDL_GPUShader
fragment_shader = 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 @"fragment_shader" SDL_GPURenderStateCreateInfo
x0
            , num_sampler_bindings :: Sint32
num_sampler_bindings = 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 @"num_sampler_bindings" SDL_GPURenderStateCreateInfo
x0
            , sampler_bindings :: PtrConst SDL_GPUTextureSamplerBinding
sampler_bindings = 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 @"sampler_bindings" SDL_GPURenderStateCreateInfo
x0
            , num_storage_textures :: Sint32
num_storage_textures = 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 @"num_storage_textures" SDL_GPURenderStateCreateInfo
x0
            , num_storage_buffers :: Sint32
num_storage_buffers = 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 @"num_storage_buffers" SDL_GPURenderStateCreateInfo
x0
            , storage_buffers :: PtrConst (Ptr SDL_GPUBuffer)
storage_buffers = 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 @"storage_buffers" SDL_GPURenderStateCreateInfo
x0
            , props :: SDL_PropertiesID
props = 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 @"props" SDL_GPURenderStateCreateInfo
x0
            }
      , 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 @"storage_textures" SDL_GPURenderStateCreateInfo
x0
      )

instance
  (ty ~ PtrConst.PtrConst (BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUTexture))
  => BG.HasField "storage_textures" (BG.Ptr SDL_GPURenderStateCreateInfo) (BG.Ptr ty)
  where
  getField :: Ptr SDL_GPURenderStateCreateInfo -> Ptr ty
getField =
    Proxy "storage_textures"
-> Ptr SDL_GPURenderStateCreateInfo
-> Ptr (CFieldType SDL_GPURenderStateCreateInfo "storage_textures")
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 @"storage_textures")

instance HasCField.HasCField SDL_GPURenderStateCreateInfo "storage_textures" where
  type
    CFieldType SDL_GPURenderStateCreateInfo "storage_textures" =
      PtrConst.PtrConst (BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUTexture)

  offset# :: Proxy# SDL_GPURenderStateCreateInfo
-> Proxy# "storage_textures" -> Int
offset# = \Proxy# SDL_GPURenderStateCreateInfo
_ -> \Proxy# "storage_textures"
_ -> Int
32

-- | The number of storage buffers to bind when this render state is active
--
--     [C declaration]: @num_storage_buffers@, defined at @SDL3\/SDL_render.h 2939:12@
instance
  (ty ~ SDL3.Sys.Bindgen.Stdinc.Sint32)
  => BG.CompatHasField.HasField "num_storage_buffers" SDL_GPURenderStateCreateInfo ty
  where
  hasField :: SDL_GPURenderStateCreateInfo
-> (ty -> SDL_GPURenderStateCreateInfo, ty)
hasField =
    \SDL_GPURenderStateCreateInfo
x0 ->
      ( \ty
y1 ->
          SDL_GPURenderStateCreateInfo
            { num_storage_buffers :: Sint32
num_storage_buffers = ty
Sint32
y1
            , fragment_shader :: Ptr SDL_GPUShader
fragment_shader = 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 @"fragment_shader" SDL_GPURenderStateCreateInfo
x0
            , num_sampler_bindings :: Sint32
num_sampler_bindings = 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 @"num_sampler_bindings" SDL_GPURenderStateCreateInfo
x0
            , sampler_bindings :: PtrConst SDL_GPUTextureSamplerBinding
sampler_bindings = 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 @"sampler_bindings" SDL_GPURenderStateCreateInfo
x0
            , num_storage_textures :: Sint32
num_storage_textures = 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 @"num_storage_textures" SDL_GPURenderStateCreateInfo
x0
            , storage_textures :: PtrConst (Ptr SDL_GPUTexture)
storage_textures = 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 @"storage_textures" SDL_GPURenderStateCreateInfo
x0
            , storage_buffers :: PtrConst (Ptr SDL_GPUBuffer)
storage_buffers = 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 @"storage_buffers" SDL_GPURenderStateCreateInfo
x0
            , props :: SDL_PropertiesID
props = 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 @"props" SDL_GPURenderStateCreateInfo
x0
            }
      , 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 @"num_storage_buffers" SDL_GPURenderStateCreateInfo
x0
      )

instance
  (ty ~ SDL3.Sys.Bindgen.Stdinc.Sint32)
  => BG.HasField "num_storage_buffers" (BG.Ptr SDL_GPURenderStateCreateInfo) (BG.Ptr ty)
  where
  getField :: Ptr SDL_GPURenderStateCreateInfo -> Ptr ty
getField =
    Proxy "num_storage_buffers"
-> Ptr SDL_GPURenderStateCreateInfo
-> Ptr
     (CFieldType SDL_GPURenderStateCreateInfo "num_storage_buffers")
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 @"num_storage_buffers")

instance HasCField.HasCField SDL_GPURenderStateCreateInfo "num_storage_buffers" where
  type
    CFieldType SDL_GPURenderStateCreateInfo "num_storage_buffers" =
      SDL3.Sys.Bindgen.Stdinc.Sint32

  offset# :: Proxy# SDL_GPURenderStateCreateInfo
-> Proxy# "num_storage_buffers" -> Int
offset# = \Proxy# SDL_GPURenderStateCreateInfo
_ -> \Proxy# "num_storage_buffers"
_ -> Int
40

-- | Storage buffers to bind when this render state is active
--
--     [C declaration]: @storage_buffers@, defined at @SDL3\/SDL_render.h 2940:27@
instance
  (ty ~ PtrConst.PtrConst (BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUBuffer))
  => BG.CompatHasField.HasField "storage_buffers" SDL_GPURenderStateCreateInfo ty
  where
  hasField :: SDL_GPURenderStateCreateInfo
-> (ty -> SDL_GPURenderStateCreateInfo, ty)
hasField =
    \SDL_GPURenderStateCreateInfo
x0 ->
      ( \ty
y1 ->
          SDL_GPURenderStateCreateInfo
            { storage_buffers :: PtrConst (Ptr SDL_GPUBuffer)
storage_buffers = ty
PtrConst (Ptr SDL_GPUBuffer)
y1
            , fragment_shader :: Ptr SDL_GPUShader
fragment_shader = 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 @"fragment_shader" SDL_GPURenderStateCreateInfo
x0
            , num_sampler_bindings :: Sint32
num_sampler_bindings = 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 @"num_sampler_bindings" SDL_GPURenderStateCreateInfo
x0
            , sampler_bindings :: PtrConst SDL_GPUTextureSamplerBinding
sampler_bindings = 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 @"sampler_bindings" SDL_GPURenderStateCreateInfo
x0
            , num_storage_textures :: Sint32
num_storage_textures = 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 @"num_storage_textures" SDL_GPURenderStateCreateInfo
x0
            , storage_textures :: PtrConst (Ptr SDL_GPUTexture)
storage_textures = 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 @"storage_textures" SDL_GPURenderStateCreateInfo
x0
            , num_storage_buffers :: Sint32
num_storage_buffers = 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 @"num_storage_buffers" SDL_GPURenderStateCreateInfo
x0
            , props :: SDL_PropertiesID
props = 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 @"props" SDL_GPURenderStateCreateInfo
x0
            }
      , 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 @"storage_buffers" SDL_GPURenderStateCreateInfo
x0
      )

instance
  (ty ~ PtrConst.PtrConst (BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUBuffer))
  => BG.HasField "storage_buffers" (BG.Ptr SDL_GPURenderStateCreateInfo) (BG.Ptr ty)
  where
  getField :: Ptr SDL_GPURenderStateCreateInfo -> Ptr ty
getField =
    Proxy "storage_buffers"
-> Ptr SDL_GPURenderStateCreateInfo
-> Ptr (CFieldType SDL_GPURenderStateCreateInfo "storage_buffers")
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 @"storage_buffers")

instance HasCField.HasCField SDL_GPURenderStateCreateInfo "storage_buffers" where
  type
    CFieldType SDL_GPURenderStateCreateInfo "storage_buffers" =
      PtrConst.PtrConst (BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUBuffer)

  offset# :: Proxy# SDL_GPURenderStateCreateInfo
-> Proxy# "storage_buffers" -> Int
offset# = \Proxy# SDL_GPURenderStateCreateInfo
_ -> \Proxy# "storage_buffers"
_ -> Int
48

-- | A properties ID for extensions. Should be 0 if no extensions are needed.
--
--     [C declaration]: @props@, defined at @SDL3\/SDL_render.h 2942:22@
instance
  (ty ~ SDL3.Sys.Bindgen.Properties.SDL_PropertiesID)
  => BG.CompatHasField.HasField "props" SDL_GPURenderStateCreateInfo ty
  where
  hasField :: SDL_GPURenderStateCreateInfo
-> (ty -> SDL_GPURenderStateCreateInfo, ty)
hasField =
    \SDL_GPURenderStateCreateInfo
x0 ->
      ( \ty
y1 ->
          SDL_GPURenderStateCreateInfo
            { props :: SDL_PropertiesID
props = ty
SDL_PropertiesID
y1
            , fragment_shader :: Ptr SDL_GPUShader
fragment_shader = 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 @"fragment_shader" SDL_GPURenderStateCreateInfo
x0
            , num_sampler_bindings :: Sint32
num_sampler_bindings = 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 @"num_sampler_bindings" SDL_GPURenderStateCreateInfo
x0
            , sampler_bindings :: PtrConst SDL_GPUTextureSamplerBinding
sampler_bindings = 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 @"sampler_bindings" SDL_GPURenderStateCreateInfo
x0
            , num_storage_textures :: Sint32
num_storage_textures = 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 @"num_storage_textures" SDL_GPURenderStateCreateInfo
x0
            , storage_textures :: PtrConst (Ptr SDL_GPUTexture)
storage_textures = 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 @"storage_textures" SDL_GPURenderStateCreateInfo
x0
            , num_storage_buffers :: Sint32
num_storage_buffers = 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 @"num_storage_buffers" SDL_GPURenderStateCreateInfo
x0
            , storage_buffers :: PtrConst (Ptr SDL_GPUBuffer)
storage_buffers = 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 @"storage_buffers" SDL_GPURenderStateCreateInfo
x0
            }
      , 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 @"props" SDL_GPURenderStateCreateInfo
x0
      )

instance
  (ty ~ SDL3.Sys.Bindgen.Properties.SDL_PropertiesID)
  => BG.HasField "props" (BG.Ptr SDL_GPURenderStateCreateInfo) (BG.Ptr ty)
  where
  getField :: Ptr SDL_GPURenderStateCreateInfo -> Ptr ty
getField = Proxy "props"
-> Ptr SDL_GPURenderStateCreateInfo
-> Ptr (CFieldType SDL_GPURenderStateCreateInfo "props")
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 @"props")

instance HasCField.HasCField SDL_GPURenderStateCreateInfo "props" where
  type
    CFieldType SDL_GPURenderStateCreateInfo "props" =
      SDL3.Sys.Bindgen.Properties.SDL_PropertiesID

  offset# :: Proxy# SDL_GPURenderStateCreateInfo -> Proxy# "props" -> Int
offset# = \Proxy# SDL_GPURenderStateCreateInfo
_ -> \Proxy# "props"
_ -> Int
56

-- | A custom GPU render state.
--
--     @since 3.4.0
--
--     [See also]: 'sDL_CreateGPURenderState', 'sDL_SetGPURenderStateFragmentUniforms', 'sDL_SetGPURenderState', 'sDL_DestroyGPURenderState'
--
--     [C declaration]: @struct SDL_GPURenderState@, defined at @SDL3\/SDL_render.h 2955:16@
data SDL_GPURenderState