module Bindings.DirectFB.IDirectFBGL where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word
import Bindings.DirectFB.Types
data C'IDirectFBGL = C'IDirectFBGL{
c'IDirectFBGL'Lock :: FunPtr ( Ptr C'IDirectFBGL -> IO C'DFBResult)
,
c'IDirectFBGL'Unlock :: FunPtr ( Ptr C'IDirectFBGL -> IO C'DFBResult)
,
c'IDirectFBGL'GetAttributes :: FunPtr ( Ptr C'IDirectFBGL -> C'DFBGLAttributes -> IO C'DFBResult)
,
c'IDirectFBGL'GetProcAddress :: FunPtr ( Ptr C'IDirectFBGL -> CString -> Ptr (Ptr ()) -> IO C'DFBResult)
} deriving (Eq,Show)
instance Storable C'IDirectFBGL where
sizeOf _ = 32
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 16
v1 <- peekByteOff p 20
v2 <- peekByteOff p 24
v3 <- peekByteOff p 28
return $ C'IDirectFBGL v0 v1 v2 v3
poke p (C'IDirectFBGL v0 v1 v2 v3) = do
pokeByteOff p 16 v0
pokeByteOff p 20 v1
pokeByteOff p 24 v2
pokeByteOff p 28 v3
return ()