{-# LINE 1 "Graphics/Rendering/FreeType/Internal/Face.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface, EmptyDataDecls #-}
{-# LINE 2 "Graphics/Rendering/FreeType/Internal/Face.hsc" #-}
module Graphics.Rendering.FreeType.Internal.Face
( FT_FaceRec_
, FT_Face
, num_faces
, num_glyphs
, glyph
, underline_thickness
) where

import Foreign
import Foreign.Storable

import Graphics.Rendering.FreeType.Internal.PrimitiveTypes
import qualified Graphics.Rendering.FreeType.Internal.GlyphSlot as GS


{-# LINE 18 "Graphics/Rendering/FreeType/Internal/Face.hsc" #-}

{-# LINE 19 "Graphics/Rendering/FreeType/Internal/Face.hsc" #-}


{-# LINE 21 "Graphics/Rendering/FreeType/Internal/Face.hsc" #-}

{-# LINE 22 "Graphics/Rendering/FreeType/Internal/Face.hsc" #-}


{-# LINE 24 "Graphics/Rendering/FreeType/Internal/Face.hsc" #-}

data FT_FaceRec_
type FT_Face = Ptr FT_FaceRec_

instance Storable FT_FaceRec_ where
  sizeOf _    = (132)
{-# LINE 30 "Graphics/Rendering/FreeType/Internal/Face.hsc" #-}
  alignment _ = 4
{-# LINE 31 "Graphics/Rendering/FreeType/Internal/Face.hsc" #-}
  peek = error "peek not implemented for FT_FaceRec_"
  poke = error "poke not implemented for FT_FaceRec_"

num_faces :: FT_Face -> Ptr FT_Long
num_faces = (\hsc_ptr -> hsc_ptr `plusPtr` 0)
{-# LINE 36 "Graphics/Rendering/FreeType/Internal/Face.hsc" #-}

num_glyphs :: FT_Face -> Ptr FT_Long
num_glyphs = (\hsc_ptr -> hsc_ptr `plusPtr` 16)
{-# LINE 39 "Graphics/Rendering/FreeType/Internal/Face.hsc" #-}

glyph :: FT_Face -> Ptr GS.FT_GlyphSlot
glyph = (\hsc_ptr -> hsc_ptr `plusPtr` 84)
{-# LINE 42 "Graphics/Rendering/FreeType/Internal/Face.hsc" #-}

underline_thickness :: FT_Face -> Ptr FT_Short
underline_thickness = (\hsc_ptr -> hsc_ptr `plusPtr` 82)
{-# LINE 45 "Graphics/Rendering/FreeType/Internal/Face.hsc" #-}