{-# LINE 1 "Graphics/Rendering/FreeType/Internal/Glyph.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface, EmptyDataDecls #-}
{-# LINE 2 "Graphics/Rendering/FreeType/Internal/Glyph.hsc" #-}
module Graphics.Rendering.FreeType.Internal.Glyph
( FT_GlyphRec_
, FT_Glyph
, library
, advance
) where

import Foreign
import Foreign.Storable

-- import Graphics.Rendering.FreeType.Internal.PrimitiveTypes
import qualified Graphics.Rendering.FreeType.Internal.Library as Lib
import qualified Graphics.Rendering.FreeType.Internal.Vector  as V


{-# LINE 17 "Graphics/Rendering/FreeType/Internal/Glyph.hsc" #-}

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


{-# LINE 20 "Graphics/Rendering/FreeType/Internal/Glyph.hsc" #-}

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


{-# LINE 23 "Graphics/Rendering/FreeType/Internal/Glyph.hsc" #-}

data FT_GlyphRec_
type FT_Glyph = Ptr FT_GlyphRec_

instance Storable FT_GlyphRec_ where
  sizeOf    _  = (20)
{-# LINE 29 "Graphics/Rendering/FreeType/Internal/Glyph.hsc" #-}
  alignment _  = 4
{-# LINE 30 "Graphics/Rendering/FreeType/Internal/Glyph.hsc" #-}
  peek = error "peek not implemented for FT_GlyphRec_"
  poke = error "peek not implemented for FT_GlyphRec_"

library :: FT_Glyph -> Ptr Lib.FT_Library
library = (\hsc_ptr -> hsc_ptr `plusPtr` 0)
{-# LINE 35 "Graphics/Rendering/FreeType/Internal/Glyph.hsc" #-}

{- TODO: implement FT_Glyph_Format
format :: FT_Glyph -> Ptr FT_Glyph_Format
format = #ptr struct FT_GlyphRec_, format
-}

advance :: FT_Glyph -> Ptr V.FT_Vector
advance = (\hsc_ptr -> hsc_ptr `plusPtr` 12)
{-# LINE 43 "Graphics/Rendering/FreeType/Internal/Glyph.hsc" #-}