module Graphics.Rendering.FreeType.Internal.RasterParams
( FT_Raster_Params
, FT_SpanFunc
, FT_Raster_BitTest_Func
, FT_Raster_BitSet_Func
, target
, source
, flags
, gray_spans
, user
, clip_box
) where
import Foreign
import Foreign.C.Types
import Graphics.Rendering.FreeType.Internal.BBox
import Graphics.Rendering.FreeType.Internal.Bitmap
import Graphics.Rendering.FreeType.Internal.Span
data FT_Raster_Params = FT_Raster_Params
{ target :: Ptr FT_Bitmap
, source :: Ptr ()
, flags :: CInt
, gray_spans :: FT_SpanFunc
, black_spans :: FT_SpanFunc
, bit_test :: FT_Raster_BitTest_Func
, bit_set :: FT_Raster_BitSet_Func
, user :: Ptr ()
, clip_box :: FT_BBox
}
instance Storable FT_Raster_Params where
sizeOf _ = (48)
alignment _ = 4
peek ptr = do
target' <- ((\hsc_ptr -> peekByteOff hsc_ptr 0)) ptr
source' <- ((\hsc_ptr -> peekByteOff hsc_ptr 4)) ptr
flags' <- ((\hsc_ptr -> peekByteOff hsc_ptr 8)) ptr
gray_spans' <- ((\hsc_ptr -> peekByteOff hsc_ptr 12)) ptr
black_spans' <- ((\hsc_ptr -> peekByteOff hsc_ptr 16)) ptr
bit_test' <- ((\hsc_ptr -> peekByteOff hsc_ptr 20)) ptr
bit_set' <- ((\hsc_ptr -> peekByteOff hsc_ptr 24)) ptr
user' <- ((\hsc_ptr -> peekByteOff hsc_ptr 28)) ptr
clip_box' <- ((\hsc_ptr -> peekByteOff hsc_ptr 32)) ptr
return $ FT_Raster_Params
{ target = target'
, source = source'
, flags = flags'
, gray_spans = gray_spans'
, black_spans = black_spans'
, bit_test = bit_test'
, bit_set = bit_set'
, user = user'
, clip_box = clip_box'
}
poke ptr val = do
((\hsc_ptr -> pokeByteOff hsc_ptr 0)) ptr (target val)
((\hsc_ptr -> pokeByteOff hsc_ptr 4)) ptr (source val)
((\hsc_ptr -> pokeByteOff hsc_ptr 8)) ptr (flags val)
((\hsc_ptr -> pokeByteOff hsc_ptr 12)) ptr (gray_spans val)
((\hsc_ptr -> pokeByteOff hsc_ptr 16)) ptr (black_spans val)
((\hsc_ptr -> pokeByteOff hsc_ptr 20)) ptr (bit_test val)
((\hsc_ptr -> pokeByteOff hsc_ptr 24)) ptr (bit_set val)
((\hsc_ptr -> pokeByteOff hsc_ptr 28)) ptr (user val)
((\hsc_ptr -> pokeByteOff hsc_ptr 32)) ptr (clip_box val)
type FT_SpanFunc = FunPtr
(CInt -> CInt -> Ptr FT_Span -> Ptr () -> IO ())
type FT_Raster_BitTest_Func = FunPtr
(CInt -> CInt -> Ptr () -> IO CInt)
type FT_Raster_BitSet_Func = FunPtr
(CInt -> CInt -> Ptr () -> IO ())