module Bindings.DirectFB.IDirectFBVideoProvider 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
import Bindings.DirectFB.IDirectFBSurface
import Bindings.DirectFB.IDirectFBEventBuffer
data C'IDirectFBVideoProvider = C'IDirectFBVideoProvider{
c'IDirectFBVideoProvider'GetCapabilities :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr C'DFBVideoProviderCapabilities -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'GetSurfaceDescription :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr C'DFBSurfaceDescription -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'GetStreamDescription :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr C'DFBStreamDescription -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'PlayTo :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr C'IDirectFBSurface -> Ptr C'DFBRectangle -> C'DVFrameCallback -> Ptr () -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'Stop :: FunPtr (Ptr C'IDirectFBVideoProvider -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'GetStatus :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr C'DFBVideoProviderStatus -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'SeekTo :: FunPtr (Ptr C'IDirectFBVideoProvider -> CDouble -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'GetPos :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr CDouble -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'GetLength :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr CDouble -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'GetColorAdjustment :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr C'DFBColorAdjustment -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'SetColorAdjustment :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr C'DFBColorAdjustment -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'SendEvent :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr C'DFBEvent -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'SetPlaybackFlags :: FunPtr (Ptr C'IDirectFBVideoProvider -> C'DFBVideoProviderPlaybackFlags -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'SetSpeed :: FunPtr (Ptr C'IDirectFBVideoProvider -> CDouble -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'GetSpeed :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr CDouble -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'SetVolume :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr CFloat -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'GetVolume :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr CFloat -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'SetStreamAttributes :: FunPtr (Ptr C'IDirectFBVideoProvider -> C'DFBStreamAttributes -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'SetAudioOutputs :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr C'DFBVideoProviderAudioUnits -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'GetAudioOutputs :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr C'DFBVideoProviderAudioUnits -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'SetAudioDelay :: FunPtr (Ptr C'IDirectFBVideoProvider -> CLong -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'CreateEventBuffer :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr (Ptr C'IDirectFBEventBuffer) -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'AttachEventBuffer :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr C'IDirectFBEventBuffer -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'EnableEvents :: FunPtr (Ptr C'IDirectFBVideoProvider -> C'DFBVideoProviderEventType -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'DisableEvents :: FunPtr (Ptr C'IDirectFBVideoProvider -> C'DFBVideoProviderEventType -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'DetachEventBuffer :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr C'IDirectFBEventBuffer -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'GetBufferOccupancy :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr C'DFBBufferOccupancy -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'SetBufferThresholds :: FunPtr (Ptr C'IDirectFBVideoProvider -> C'DFBBufferThresholds -> IO C'DFBResult)
,
c'IDirectFBVideoProvider'GetBufferThresholds :: FunPtr (Ptr C'IDirectFBVideoProvider -> Ptr C'DFBBufferThresholds -> IO C'DFBResult)
} deriving (Eq,Show)
instance Storable C'IDirectFBVideoProvider where
sizeOf _ = 132
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 16
v1 <- peekByteOff p 20
v2 <- peekByteOff p 24
v3 <- peekByteOff p 28
v4 <- peekByteOff p 32
v5 <- peekByteOff p 36
v6 <- peekByteOff p 40
v7 <- peekByteOff p 44
v8 <- peekByteOff p 48
v9 <- peekByteOff p 52
v10 <- peekByteOff p 56
v11 <- peekByteOff p 60
v12 <- peekByteOff p 64
v13 <- peekByteOff p 68
v14 <- peekByteOff p 72
v15 <- peekByteOff p 76
v16 <- peekByteOff p 80
v17 <- peekByteOff p 84
v18 <- peekByteOff p 88
v19 <- peekByteOff p 92
v20 <- peekByteOff p 96
v21 <- peekByteOff p 100
v22 <- peekByteOff p 104
v23 <- peekByteOff p 108
v24 <- peekByteOff p 112
v25 <- peekByteOff p 116
v26 <- peekByteOff p 120
v27 <- peekByteOff p 124
v28 <- peekByteOff p 128
return $ C'IDirectFBVideoProvider v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28
poke p (C'IDirectFBVideoProvider v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28) = do
pokeByteOff p 16 v0
pokeByteOff p 20 v1
pokeByteOff p 24 v2
pokeByteOff p 28 v3
pokeByteOff p 32 v4
pokeByteOff p 36 v5
pokeByteOff p 40 v6
pokeByteOff p 44 v7
pokeByteOff p 48 v8
pokeByteOff p 52 v9
pokeByteOff p 56 v10
pokeByteOff p 60 v11
pokeByteOff p 64 v12
pokeByteOff p 68 v13
pokeByteOff p 72 v14
pokeByteOff p 76 v15
pokeByteOff p 80 v16
pokeByteOff p 84 v17
pokeByteOff p 88 v18
pokeByteOff p 92 v19
pokeByteOff p 96 v20
pokeByteOff p 100 v21
pokeByteOff p 104 v22
pokeByteOff p 108 v23
pokeByteOff p 112 v24
pokeByteOff p 116 v25
pokeByteOff p 120 v26
pokeByteOff p 124 v27
pokeByteOff p 128 v28
return ()