{-# LINE 1 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE ForeignFunctionInterface #-}
module FreeType.Miscellaneous.Incremental.Types where
import FreeType.Core.Types.Types
import Data.Function ((&))
import Foreign.Ptr
import Foreign.Storable
data FT_IncrementalRec
type FT_Incremental = Ptr FT_IncrementalRec
data FT_Incremental_MetricsRec = FT_Incremental_MetricsRec
{ imrBearing_x :: FT_Long
, imrBearing_y :: FT_Long
, imrAdvance :: FT_Long
, imrAdvance_v :: FT_Long
}
instance Storable FT_Incremental_MetricsRec where
sizeOf _ = (32)
{-# LINE 29 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
alignment _ = 8
{-# LINE 30 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
peek ptr =
FT_Incremental_MetricsRec
<$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 34 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr
{-# LINE 35 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 16) ptr
{-# LINE 36 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 24) ptr
{-# LINE 37 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
poke ptr val = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & imrBearing_x
{-# LINE 40 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr $ val & imrBearing_y
{-# LINE 41 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 16) ptr $ val & imrAdvance
{-# LINE 42 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 24) ptr $ val & imrAdvance_v
{-# LINE 43 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
type FT_Incremental_Metrics = Ptr FT_Incremental_MetricsRec
type FT_Incremental_GetGlyphDataFunc = FT_Incremental
-> FT_UInt
-> Ptr FT_Data
-> IO FT_Error
foreign import ccall "wrapper"
ft_Incremental_GetGlyphDataFunc :: FT_Incremental_GetGlyphDataFunc -> IO (FunPtr FT_Incremental_GetGlyphDataFunc)
foreign import ccall "dynamic"
ft_Incremental_GetGlyphDataFunc' :: FunPtr FT_Incremental_GetGlyphDataFunc -> FT_Incremental_GetGlyphDataFunc
type FT_Incremental_FreeGlyphDataFunc = FT_Incremental
-> Ptr FT_Data
-> IO ()
foreign import ccall "wrapper"
ft_Incremental_FreeGlyphDataFunc :: FT_Incremental_FreeGlyphDataFunc -> IO (FunPtr FT_Incremental_FreeGlyphDataFunc)
foreign import ccall "dynamic"
ft_Incremental_FreeGlyphDataFunc' :: FunPtr FT_Incremental_FreeGlyphDataFunc -> FT_Incremental_FreeGlyphDataFunc
type FT_Incremental_GetGlyphMetricsFunc = FT_Incremental
-> FT_UInt
-> FT_Bool
-> Ptr FT_Incremental_MetricsRec
-> IO FT_Error
foreign import ccall "wrapper"
ft_Incremental_GetGlyphMetricsFunc :: FT_Incremental_GetGlyphMetricsFunc -> IO (FunPtr FT_Incremental_GetGlyphMetricsFunc)
foreign import ccall "dynamic"
ft_Incremental_GetGlyphMetricsFunc' :: FunPtr FT_Incremental_GetGlyphMetricsFunc -> FT_Incremental_GetGlyphMetricsFunc
data FT_Incremental_FuncsRec = FT_Incremental_FuncsRec
{ ifrGet_glyph_data :: FunPtr FT_Incremental_GetGlyphDataFunc
, ifrFree_glyph_data :: FunPtr FT_Incremental_FreeGlyphDataFunc
, ifrGet_glyph_metrics :: FunPtr FT_Incremental_GetGlyphMetricsFunc
}
instance Storable FT_Incremental_FuncsRec where
sizeOf _ = (24)
{-# LINE 97 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
alignment _ = 8
{-# LINE 98 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
peek ptr =
FT_Incremental_FuncsRec
<$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 102 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr
{-# LINE 103 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 16) ptr
{-# LINE 104 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
poke ptr val = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & ifrGet_glyph_data
{-# LINE 107 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr $ val & ifrFree_glyph_data
{-# LINE 108 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 16) ptr $ val & ifrGet_glyph_metrics
{-# LINE 109 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
data FT_Incremental_InterfaceRec = FT_Incremental_InterfaceRec
{ iirFuncs :: Ptr (FunPtr FT_Incremental_FuncsRec)
, iirObject :: FT_Incremental
}
instance Storable FT_Incremental_InterfaceRec where
sizeOf _ = (16)
{-# LINE 119 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
alignment _ = 8
{-# LINE 120 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
peek ptr =
FT_Incremental_InterfaceRec
<$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 124 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr
{-# LINE 125 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
poke ptr val = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & iirFuncs
{-# LINE 128 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr $ val & iirObject
{-# LINE 129 "FreeType/Miscellaneous/Incremental/Types.hsc" #-}
type FT_Incremental_Interface = Ptr FT_Incremental_InterfaceRec