module Bindings.DirectFB.IDirectFBScreen 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'IDirectFBScreen = C'IDirectFBScreen{
c'IDirectFBScreen'GetID :: FunPtr (Ptr C'IDirectFBScreen -> Ptr C'DFBScreenID -> IO C'DFBResult)
,
c'IDirectFBScreen'GetDescription :: FunPtr (Ptr C'IDirectFBScreen -> Ptr C'DFBScreenDescription -> IO C'DFBResult)
,
c'IDirectFBScreen'GetSize :: FunPtr (Ptr C'IDirectFBScreen -> Ptr CInt -> Ptr CInt -> IO C'DFBResult)
,
c'IDirectFBScreen'SetPowerMode :: FunPtr (Ptr C'IDirectFBScreen -> C'DFBScreenPowerMode -> IO C'DFBResult)
,
c'IDirectFBScreen'WaitForSync :: FunPtr (Ptr C'IDirectFBScreen -> IO C'DFBResult)
,
c'IDirectFBScreen'GetMixerDescriptions :: FunPtr (Ptr C'IDirectFBScreen -> Ptr C'DFBScreenMixerDescription -> IO C'DFBResult)
,
c'IDirectFBScreen'GetMixerConfiguration :: FunPtr (Ptr C'IDirectFBScreen -> CInt -> Ptr C'DFBScreenMixerConfig -> IO C'DFBResult)
,
c'IDirectFBScreen'TestMixerConfiguration :: FunPtr (Ptr C'IDirectFBScreen -> CInt -> Ptr C'DFBScreenMixerConfig -> Ptr C'DFBScreenMixerConfigFlags -> IO C'DFBResult)
,
c'IDirectFBScreen'SetMixerConfiguration :: FunPtr (Ptr C'IDirectFBScreen -> CInt -> Ptr C'DFBScreenMixerConfig -> IO C'DFBResult)
,
c'IDirectFBScreen'GetEncoderDescriptions :: FunPtr (Ptr C'IDirectFBScreen -> Ptr C'DFBScreenEncoderDescription -> IO C'DFBResult)
,
c'IDirectFBScreen'GetEncoderConfiguration :: FunPtr (Ptr C'IDirectFBScreen -> CInt -> Ptr C'DFBScreenEncoderConfig -> IO C'DFBResult)
,
c'IDirectFBScreen'TestEncoderConfiguration :: FunPtr (Ptr C'IDirectFBScreen -> CInt -> Ptr C'DFBScreenEncoderConfig -> Ptr C'DFBScreenEncoderConfigFlags -> IO C'DFBResult)
,
c'IDirectFBScreen'SetEncoderConfiguration :: FunPtr (Ptr C'IDirectFBScreen -> CInt -> Ptr C'DFBScreenEncoderConfig -> IO C'DFBResult)
,
c'IDirectFBScreen'GetOutputDescriptions :: FunPtr (Ptr C'IDirectFBScreen -> Ptr C'DFBScreenOutputDescription -> IO C'DFBResult)
,
c'IDirectFBScreen'GetOutputConfiguration :: FunPtr (Ptr C'IDirectFBScreen -> CInt -> Ptr C'DFBScreenOutputConfig -> IO C'DFBResult)
,
c'IDirectFBScreen'TestOutputConfiguration :: FunPtr (Ptr C'IDirectFBScreen -> CInt -> Ptr C'DFBScreenOutputConfig -> Ptr C'DFBScreenOutputConfigFlags -> IO C'DFBResult)
,
c'IDirectFBScreen'SetOutputConfiguration :: FunPtr (Ptr C'IDirectFBScreen -> CInt -> Ptr C'DFBScreenOutputConfig -> IO C'DFBResult)
} deriving (Eq,Show)
instance Storable C'IDirectFBScreen where
sizeOf _ = 88
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 16
v1 <- peekByteOff p 20
v2 <- peekByteOff p 24
v3 <- peekByteOff p 32
v4 <- peekByteOff p 36
v5 <- peekByteOff p 40
v6 <- peekByteOff p 44
v7 <- peekByteOff p 48
v8 <- peekByteOff p 52
v9 <- peekByteOff p 56
v10 <- peekByteOff p 60
v11 <- peekByteOff p 64
v12 <- peekByteOff p 68
v13 <- peekByteOff p 72
v14 <- peekByteOff p 76
v15 <- peekByteOff p 80
v16 <- peekByteOff p 84
return $ C'IDirectFBScreen v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16
poke p (C'IDirectFBScreen v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16) = do
pokeByteOff p 16 v0
pokeByteOff p 20 v1
pokeByteOff p 24 v2
pokeByteOff p 32 v3
pokeByteOff p 36 v4
pokeByteOff p 40 v5
pokeByteOff p 44 v6
pokeByteOff p 48 v7
pokeByteOff p 52 v8
pokeByteOff p 56 v9
pokeByteOff p 60 v10
pokeByteOff p 64 v11
pokeByteOff p 68 v12
pokeByteOff p 72 v13
pokeByteOff p 76 v14
pokeByteOff p 80 v15
pokeByteOff p 84 v16
return ()