{-# LINE 1 "FreeType/Support/Scanline/Types.hsc" #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE ForeignFunctionInterface #-}
module FreeType.Support.Scanline.Types where
import FreeType.Core.Types.Types
import Data.Int
import Data.Function ((&))
import Data.Word
import Foreign.C.Types
import Foreign.Ptr
import Foreign.Storable
data FT_RasterRec
type FT_Raster = Ptr FT_RasterRec
data FT_Span = FT_Span
{ sX :: CShort
, sLen :: CUShort
, sCoverage :: CUChar
}
instance Storable FT_Span where
sizeOf _ = (6)
{-# LINE 30 "FreeType/Support/Scanline/Types.hsc" #-}
alignment _ = 2
{-# LINE 31 "FreeType/Support/Scanline/Types.hsc" #-}
peek ptr =
FT_Span
<$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 35 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 2) ptr
{-# LINE 36 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 4) ptr
{-# LINE 37 "FreeType/Support/Scanline/Types.hsc" #-}
poke ptr val = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & sX
{-# LINE 40 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 2) ptr $ val & sLen
{-# LINE 41 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 4) ptr $ val & sCoverage
{-# LINE 42 "FreeType/Support/Scanline/Types.hsc" #-}
type FT_SpanFunc = Int32
{-# LINE 46 "FreeType/Support/Scanline/Types.hsc" #-}
-> Int32
{-# LINE 47 "FreeType/Support/Scanline/Types.hsc" #-}
-> Ptr FT_Span
-> Ptr ()
-> IO ()
foreign import ccall "wrapper"
ft_SpanFunc :: FT_SpanFunc -> IO (FunPtr FT_SpanFunc)
foreign import ccall "dynamic"
ft_SpanFunc' :: FunPtr FT_SpanFunc -> FT_SpanFunc
data FT_Raster_Params = FT_Raster_Params
{ rpTarget :: Ptr FT_Bitmap
, rpSource :: Ptr ()
, rpFlags :: Int32
{-# LINE 63 "FreeType/Support/Scanline/Types.hsc" #-}
, rpGray_spans :: FunPtr FT_SpanFunc
, rpBlack_spans :: FunPtr FT_SpanFunc
, rpBit_test :: FunPtr FT_Raster_BitTest_Func
, rpBit_set :: FunPtr FT_Raster_BitSet_Func
, rpUser :: Ptr ()
, rpClip_box :: FT_BBox
}
instance Storable FT_Raster_Params where
sizeOf _ = (96)
{-# LINE 73 "FreeType/Support/Scanline/Types.hsc" #-}
alignment _ = 8
{-# LINE 74 "FreeType/Support/Scanline/Types.hsc" #-}
peek ptr =
FT_Raster_Params
<$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 78 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr
{-# LINE 79 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 16) ptr
{-# LINE 80 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 24) ptr
{-# LINE 81 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 32) ptr
{-# LINE 82 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 40) ptr
{-# LINE 83 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 48) ptr
{-# LINE 84 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 56) ptr
{-# LINE 85 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 64) ptr
{-# LINE 86 "FreeType/Support/Scanline/Types.hsc" #-}
poke ptr val = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & rpTarget
{-# LINE 89 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr $ val & rpSource
{-# LINE 90 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 16) ptr $ val & rpFlags
{-# LINE 91 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 24) ptr $ val & rpGray_spans
{-# LINE 92 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 32) ptr $ val & rpBlack_spans
{-# LINE 93 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 40) ptr $ val & rpBit_test
{-# LINE 94 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 48) ptr $ val & rpBit_set
{-# LINE 95 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 56) ptr $ val & rpUser
{-# LINE 96 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 64) ptr $ val & rpClip_box
{-# LINE 97 "FreeType/Support/Scanline/Types.hsc" #-}
type FT_Raster_NewFunc = Ptr ()
-> Ptr FT_Raster
-> IO Int32
{-# LINE 103 "FreeType/Support/Scanline/Types.hsc" #-}
foreign import ccall "wrapper"
ft_Raster_NewFunc :: FT_Raster_NewFunc -> IO (FunPtr FT_Raster_NewFunc)
foreign import ccall "dynamic"
ft_Raster_NewFunc' :: FunPtr FT_Raster_NewFunc -> FT_Raster_NewFunc
type FT_Raster_DoneFunc = FT_Raster
-> IO ()
foreign import ccall "wrapper"
ft_Raster_DoneFunc :: FT_Raster_DoneFunc -> IO (FunPtr FT_Raster_DoneFunc)
foreign import ccall "dynamic"
ft_Raster_DoneFunc' :: FunPtr FT_Raster_DoneFunc -> FT_Raster_DoneFunc
type FT_Raster_ResetFunc = FT_Raster
-> Ptr Word8
{-# LINE 125 "FreeType/Support/Scanline/Types.hsc" #-}
-> Ptr Word64
{-# LINE 126 "FreeType/Support/Scanline/Types.hsc" #-}
-> IO ()
foreign import ccall "wrapper"
ft_Raster_ResetFunc :: FT_Raster_ResetFunc -> IO (FunPtr FT_Raster_ResetFunc)
foreign import ccall "dynamic"
ft_Raster_ResetFunc' :: FunPtr FT_Raster_ResetFunc -> FT_Raster_ResetFunc
type FT_Raster_SetModeFunc = FT_Raster
-> Word64
{-# LINE 138 "FreeType/Support/Scanline/Types.hsc" #-}
-> Ptr ()
-> IO Int32
{-# LINE 140 "FreeType/Support/Scanline/Types.hsc" #-}
foreign import ccall "wrapper"
ft_Raster_SetModeFunc :: FT_Raster_SetModeFunc -> IO (FunPtr FT_Raster_SetModeFunc)
foreign import ccall "dynamic"
ft_Raster_SetModeFunc' :: FunPtr FT_Raster_SetModeFunc -> FT_Raster_SetModeFunc
type FT_Raster_RenderFunc = FT_Raster
-> Ptr FT_Raster_Params
-> IO Int32
{-# LINE 152 "FreeType/Support/Scanline/Types.hsc" #-}
foreign import ccall "wrapper"
ft_Raster_RenderFunc :: FT_Raster_RenderFunc -> IO (FunPtr FT_Raster_RenderFunc)
foreign import ccall "dynamic"
ft_Raster_RenderFunc' :: FunPtr FT_Raster_RenderFunc -> FT_Raster_RenderFunc
data FT_Raster_Funcs = FT_Raster_Funcs
{ rfGlyph_format :: FT_Glyph_Format
, rfRaster_new :: FunPtr FT_Raster_NewFunc
, rfRaster_reset :: FunPtr FT_Raster_ResetFunc
, rfRaster_set_mode :: FunPtr FT_Raster_SetModeFunc
, rfRaster_render :: FunPtr FT_Raster_RenderFunc
, rfRaster_done :: FunPtr FT_Raster_DoneFunc
}
instance Storable FT_Raster_Funcs where
sizeOf _ = (48)
{-# LINE 172 "FreeType/Support/Scanline/Types.hsc" #-}
alignment _ = 8
{-# LINE 173 "FreeType/Support/Scanline/Types.hsc" #-}
peek ptr =
FT_Raster_Funcs
<$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 177 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr
{-# LINE 178 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 16) ptr
{-# LINE 179 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 24) ptr
{-# LINE 180 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 32) ptr
{-# LINE 181 "FreeType/Support/Scanline/Types.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 40) ptr
{-# LINE 182 "FreeType/Support/Scanline/Types.hsc" #-}
poke ptr val = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr $ val & rfGlyph_format
{-# LINE 185 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr $ val & rfRaster_new
{-# LINE 186 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 16) ptr $ val & rfRaster_reset
{-# LINE 187 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 24) ptr $ val & rfRaster_set_mode
{-# LINE 188 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 32) ptr $ val & rfRaster_render
{-# LINE 189 "FreeType/Support/Scanline/Types.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 40) ptr $ val & rfRaster_done
{-# LINE 190 "FreeType/Support/Scanline/Types.hsc" #-}
type FT_Raster_BitTest_Func = Int32
{-# LINE 194 "FreeType/Support/Scanline/Types.hsc" #-}
-> Int32
{-# LINE 195 "FreeType/Support/Scanline/Types.hsc" #-}
-> Ptr ()
-> IO Int32
{-# LINE 197 "FreeType/Support/Scanline/Types.hsc" #-}
foreign import ccall "wrapper"
ft_Raster_BitTest_Func :: FT_Raster_BitTest_Func -> IO (FunPtr FT_Raster_BitTest_Func)
foreign import ccall "dynamic"
ft_Raster_BitTest_Func' :: FunPtr FT_Raster_BitTest_Func -> FT_Raster_BitTest_Func
type FT_Raster_BitSet_Func = Int32
{-# LINE 207 "FreeType/Support/Scanline/Types.hsc" #-}
-> Int32
{-# LINE 208 "FreeType/Support/Scanline/Types.hsc" #-}
-> Ptr ()
-> IO ()
foreign import ccall "wrapper"
ft_Raster_BitSet_Func :: FT_Raster_BitSet_Func -> IO (FunPtr FT_Raster_BitSet_Func)
foreign import ccall "dynamic"
ft_Raster_BitSet_Func' :: FunPtr FT_Raster_BitSet_Func -> FT_Raster_BitSet_Func