{-# LINE 1 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface, EmptyDataDecls #-}
{-# LINE 2 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}
module Graphics.Rendering.FreeType.Internal.GlyphSlot
( FT_GlyphSlotRec_
, FT_GlyphSlot
, library
, face
, next
, generic
, metrics
, linearHoriAdvance
, linearVertAdvance
, advance
, format
, bitmap
, bitmap_top
, bitmap_left
, outline
, num_subglyphs
, subglyphs
, control_data
, control_len
, lsb_delta
, rsb_delta
) where

import Foreign
import Foreign.C.Types

import Graphics.Rendering.FreeType.Internal.PrimitiveTypes
import qualified Graphics.Rendering.FreeType.Internal.Generic as G
import qualified Graphics.Rendering.FreeType.Internal.Library as L
import qualified Graphics.Rendering.FreeType.Internal.FaceType as F
import qualified Graphics.Rendering.FreeType.Internal.Vector  as V
import qualified Graphics.Rendering.FreeType.Internal.Bitmap as B
import qualified Graphics.Rendering.FreeType.Internal.SubGlyph as SG
import qualified Graphics.Rendering.FreeType.Internal.GlyphMetrics as GM
import qualified Graphics.Rendering.FreeType.Internal.Outline as O


{-# LINE 40 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

{-# LINE 41 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

data FT_GlyphSlotRec_
type FT_GlyphSlot = Ptr FT_GlyphSlotRec_

library :: FT_GlyphSlot -> Ptr L.FT_Library
library = (\hsc_ptr -> hsc_ptr `plusPtr` 0)
{-# LINE 47 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

face :: FT_GlyphSlot -> Ptr F.FT_Face
face = (\hsc_ptr -> hsc_ptr `plusPtr` 4)
{-# LINE 50 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

next :: FT_GlyphSlot -> Ptr FT_GlyphSlot
next = (\hsc_ptr -> hsc_ptr `plusPtr` 8)
{-# LINE 53 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

generic :: FT_GlyphSlot -> Ptr G.FT_Generic
generic = (\hsc_ptr -> hsc_ptr `plusPtr` 16)
{-# LINE 56 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

metrics :: FT_GlyphSlot -> Ptr GM.FT_Glyph_Metrics
metrics = (\hsc_ptr -> hsc_ptr `plusPtr` 24)
{-# LINE 59 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

linearHoriAdvance :: FT_GlyphSlot -> Ptr FT_Fixed
linearHoriAdvance = (\hsc_ptr -> hsc_ptr `plusPtr` 56)
{-# LINE 62 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

linearVertAdvance :: FT_GlyphSlot -> Ptr FT_Fixed
linearVertAdvance = (\hsc_ptr -> hsc_ptr `plusPtr` 60)
{-# LINE 65 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

advance :: FT_GlyphSlot -> Ptr V.FT_Vector
advance = (\hsc_ptr -> hsc_ptr `plusPtr` 64)
{-# LINE 68 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

format :: FT_GlyphSlot -> Ptr FT_Glyph_Format
format = (\hsc_ptr -> hsc_ptr `plusPtr` 72)
{-# LINE 71 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

bitmap :: FT_GlyphSlot -> Ptr B.FT_Bitmap
bitmap = (\hsc_ptr -> hsc_ptr `plusPtr` 76)
{-# LINE 74 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

bitmap_left :: FT_GlyphSlot -> Ptr FT_Int
bitmap_left = (\hsc_ptr -> hsc_ptr `plusPtr` 100)
{-# LINE 77 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

bitmap_top :: FT_GlyphSlot -> Ptr FT_Int
bitmap_top = (\hsc_ptr -> hsc_ptr `plusPtr` 104)
{-# LINE 80 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

outline :: FT_GlyphSlot -> Ptr O.FT_Outline
outline = (\hsc_ptr -> hsc_ptr `plusPtr` 108)
{-# LINE 83 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

num_subglyphs :: FT_GlyphSlot -> Ptr FT_UInt
num_subglyphs = (\hsc_ptr -> hsc_ptr `plusPtr` 128)
{-# LINE 86 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

subglyphs :: FT_GlyphSlot -> Ptr SG.FT_SubGlyph
subglyphs = (\hsc_ptr -> hsc_ptr `plusPtr` 132)
{-# LINE 89 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

control_data :: FT_GlyphSlot -> Ptr a
control_data = (\hsc_ptr -> hsc_ptr `plusPtr` 136)
{-# LINE 92 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

control_len :: FT_GlyphSlot -> Ptr CLong
control_len = (\hsc_ptr -> hsc_ptr `plusPtr` 140)
{-# LINE 95 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

lsb_delta :: FT_GlyphSlot -> Ptr FT_Pos
lsb_delta = (\hsc_ptr -> hsc_ptr `plusPtr` 144)
{-# LINE 98 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}

rsb_delta :: FT_GlyphSlot -> Ptr FT_Pos
rsb_delta = (\hsc_ptr -> hsc_ptr `plusPtr` 148)
{-# LINE 101 "Graphics/Rendering/FreeType/Internal/GlyphSlot.hsc" #-}