{-# LINE 1 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LINE 2 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
module Graphics.Rendering.FreeType.Internal.SizeRequest
( FT_Size_RequestRec(..)
, FT_Size_Request
) where

import Foreign

import Graphics.Rendering.FreeType.Internal.PrimitiveTypes


{-# LINE 12 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}

{-# LINE 13 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}


{-# LINE 15 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}

{-# LINE 16 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}

type FT_Size_Request = Ptr FT_Size_RequestRec

data FT_Size_RequestRec = FT_Size_RequestRec
  { type_  :: FT_Size_Request_Type
  , width  :: FT_Long
  , height :: FT_Long
  , horiResolution :: FT_UInt
  , vertResolution :: FT_UInt
  }

instance Storable FT_Size_RequestRec where
  sizeOf    _ = (32)
{-# LINE 29 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
  alignment _ = 8
{-# LINE 30 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
  peek ptr = do
    type_'          <- ((\hsc_ptr -> peekByteOff hsc_ptr 0)) ptr
{-# LINE 32 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    width'          <- ((\hsc_ptr -> peekByteOff hsc_ptr 8)) ptr
{-# LINE 33 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    height'         <- ((\hsc_ptr -> peekByteOff hsc_ptr 16)) ptr
{-# LINE 34 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    horiResolution' <- ((\hsc_ptr -> peekByteOff hsc_ptr 24)) ptr
{-# LINE 35 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    vertResolution' <- ((\hsc_ptr -> peekByteOff hsc_ptr 28)) ptr
{-# LINE 36 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    return $ FT_Size_RequestRec
      { type_ = type_'
      , width = width'
      , height = height'
      , horiResolution = horiResolution'
      , vertResolution = vertResolution'
      }
  poke ptr val = do
    ((\hsc_ptr -> pokeByteOff hsc_ptr 0)) ptr (type_ val)
{-# LINE 45 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    ((\hsc_ptr -> pokeByteOff hsc_ptr 16)) ptr (height val)
{-# LINE 46 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    ((\hsc_ptr -> pokeByteOff hsc_ptr 24)) ptr (horiResolution val)
{-# LINE 47 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    ((\hsc_ptr -> pokeByteOff hsc_ptr 28)) ptr (vertResolution val)
{-# LINE 48 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}