{-# 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 Foreign.Storable

import Graphics.Rendering.FreeType.Internal.PrimitiveTypes


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

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


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

{-# LINE 17 "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    _ = (20)
{-# LINE 30 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
  alignment _ = 4
{-# LINE 31 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
  peek ptr = do
    type_'          <- ((\hsc_ptr -> peekByteOff hsc_ptr 0)) ptr
{-# LINE 33 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    width'          <- ((\hsc_ptr -> peekByteOff hsc_ptr 4)) ptr
{-# LINE 34 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    height'         <- ((\hsc_ptr -> peekByteOff hsc_ptr 8)) ptr
{-# LINE 35 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    horiResolution' <- ((\hsc_ptr -> peekByteOff hsc_ptr 12)) ptr
{-# LINE 36 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    vertResolution' <- ((\hsc_ptr -> peekByteOff hsc_ptr 16)) ptr
{-# LINE 37 "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 46 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    ((\hsc_ptr -> pokeByteOff hsc_ptr 8)) ptr (height val)
{-# LINE 47 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    ((\hsc_ptr -> pokeByteOff hsc_ptr 12)) ptr (horiResolution val)
{-# LINE 48 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}
    ((\hsc_ptr -> pokeByteOff hsc_ptr 16)) ptr (vertResolution val)
{-# LINE 49 "Graphics/Rendering/FreeType/Internal/SizeRequest.hsc" #-}