{-# LINE 1 "FreeType/Support/Module/Types.hsc" #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE ForeignFunctionInterface #-}
module FreeType.Support.Module.Types
( module FreeType.Support.Module.Types
, FT_Module
, FT_ModuleRec
, FT_Driver
, FT_DriverRec
) where
import FreeType.Circular.Types ( FT_ModuleRec, FT_Module
, FT_DriverRec, FT_Driver
)
import FreeType.Core.Types.Types
import FreeType.Support.Scanline.Types
import Data.Int
import Data.Function ((&))
import Foreign.Ptr
import Foreign.Storable
type FT_Module_Constructor = FT_Module
-> IO FT_Error
foreign import ccall "wrapper"
ft_Module_Constructor :: FT_Module_Constructor -> IO (FunPtr FT_Module_Constructor)
foreign import ccall "dynamic"
ft_Module_Constructor' :: FunPtr FT_Module_Constructor -> FT_Module_Constructor
type FT_Module_Destructor = FT_Module
-> IO ()
foreign import ccall "wrapper"
ft_Module_Destructor :: FT_Module_Destructor -> IO (FunPtr FT_Module_Destructor)
foreign import ccall "dynamic"
ft_Module_Destructor' :: FunPtr FT_Module_Destructor -> FT_Module_Destructor
type FT_Module_Interface = FT_Pointer
type FT_Module_Requester = FT_Module
-> Ptr Int8
{-# LINE 54 "FreeType/Support/Module/Types.hsc" #-}
-> IO FT_Module_Interface
foreign import ccall "wrapper"
ft_Module_Requester :: FT_Module_Requester -> IO (FunPtr FT_Module_Requester)
foreign import ccall "dynamic"
ft_Module_Requester' :: FunPtr FT_Module_Requester -> FT_Module_Requester
data FT_Module_Class = FT_Module_Class
{ mcModule_flags :: FT_ULong
, mcModule_size :: FT_Long
, mcModule_name :: Ptr FT_String
, mcModule_version :: FT_Fixed
, mcModule_requires :: FT_Fixed
, mcModule_interface :: Ptr ()
, mcModule_init :: FunPtr FT_Module_Constructor
, mcModule_done :: FunPtr FT_Module_Destructor
, mcGet_interface :: FunPtr FT_Module_Requester
}
instance Storable FT_Module_Class where
sizeOf _ = (72)
{-# LINE 79 "FreeType/Support/Module/Types.hsc" #-}
alignment _ = 8
{-# LINE 80 "FreeType/Support/Module/Types.hsc" #-}
peek ptr =
FT_Module_Class
<$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 84 "FreeType/Support/Module/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr
{-# LINE 85 "FreeType/Support/Module/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 16) ptr
{-# LINE 86 "FreeType/Support/Module/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 24) ptr
{-# LINE 87 "FreeType/Support/Module/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 32) ptr
{-# LINE 88 "FreeType/Support/Module/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 40) ptr
{-# LINE 89 "FreeType/Support/Module/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 48) ptr
{-# LINE 90 "FreeType/Support/Module/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 56) ptr
{-# LINE 91 "FreeType/Support/Module/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 64) ptr
{-# LINE 92 "FreeType/Support/Module/Types.hsc" #-}
poke ptr val = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & mcModule_flags
{-# LINE 95 "FreeType/Support/Module/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr $ val & mcModule_size
{-# LINE 96 "FreeType/Support/Module/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 16) ptr $ val & mcModule_name
{-# LINE 97 "FreeType/Support/Module/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 24) ptr $ val & mcModule_version
{-# LINE 98 "FreeType/Support/Module/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 32) ptr $ val & mcModule_requires
{-# LINE 99 "FreeType/Support/Module/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 40) ptr $ val & mcModule_interface
{-# LINE 100 "FreeType/Support/Module/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 48) ptr $ val & mcModule_init
{-# LINE 101 "FreeType/Support/Module/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 56) ptr $ val & mcModule_done
{-# LINE 102 "FreeType/Support/Module/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 64) ptr $ val & mcGet_interface
{-# LINE 103 "FreeType/Support/Module/Types.hsc" #-}
data FT_RendererRec
type FT_Renderer = Ptr FT_RendererRec
data FT_Renderer_RenderFunc
data FT_Renderer_TransformFunc
data FT_Renderer_GetCBoxFunc
data FT_Renderer_SetModeFunc
data FT_Renderer_Class = FT_Renderer_Class
{ rcRoot :: FT_Module_Class
, rcGlyph_format :: FT_Glyph_Format
, rcRender_glyph :: FunPtr FT_Renderer_RenderFunc
, rcTransform_glyph :: FunPtr FT_Renderer_TransformFunc
, rcGet_glyph_cbox :: FunPtr FT_Renderer_GetCBoxFunc
, rcSet_mode :: FunPtr FT_Renderer_SetModeFunc
, rcRaster_class :: Ptr FT_Raster_Funcs
}
instance Storable FT_Renderer_Class where
sizeOf _ = (120)
{-# LINE 131 "FreeType/Support/Module/Types.hsc" #-}
alignment _ = 8
{-# LINE 132 "FreeType/Support/Module/Types.hsc" #-}
peek ptr =
FT_Renderer_Class
<$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 136 "FreeType/Support/Module/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 72) ptr
{-# LINE 137 "FreeType/Support/Module/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 80) ptr
{-# LINE 138 "FreeType/Support/Module/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 88) ptr
{-# LINE 139 "FreeType/Support/Module/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 96) ptr
{-# LINE 140 "FreeType/Support/Module/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 104) ptr
{-# LINE 141 "FreeType/Support/Module/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 112) ptr
{-# LINE 142 "FreeType/Support/Module/Types.hsc" #-}
poke ptr val = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & rcRoot
{-# LINE 145 "FreeType/Support/Module/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 72) ptr $ val & rcGlyph_format
{-# LINE 146 "FreeType/Support/Module/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 80) ptr $ val & rcRender_glyph
{-# LINE 147 "FreeType/Support/Module/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 88) ptr $ val & rcTransform_glyph
{-# LINE 148 "FreeType/Support/Module/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 96) ptr $ val & rcGet_glyph_cbox
{-# LINE 149 "FreeType/Support/Module/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 104) ptr $ val & rcSet_mode
{-# LINE 150 "FreeType/Support/Module/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 112) ptr $ val & rcRaster_class
{-# LINE 151 "FreeType/Support/Module/Types.hsc" #-}
type FT_DebugHook_Func = Ptr ()
-> IO FT_Error
foreign import ccall "wrapper"
ft_DebugHook_Func :: FT_DebugHook_Func -> IO (FunPtr FT_DebugHook_Func)
foreign import ccall "dynamic"
ft_DebugHook_Func' :: FunPtr FT_DebugHook_Func -> FT_DebugHook_Func