{-# INCLUDE <bindings.macros.h> #-}
{-# INCLUDE <directfb.h> #-}
{-# LINE 1 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}

{-# LINE 2 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}

{-# LINE 3 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}

-- | <http://directfb.org/docs/DirectFB_Reference_1_4/IDirectFBDisplayLayer.html>

module Bindings.DirectFB.IDirectFBDisplayLayer where
import Prelude (IO,Num,return,(.),($),Eq,Show,take)
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.Array (peekArray,pokeArray)
import Data.Int
import Data.Word

{-# LINE 8 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
import Bindings.DirectFB.Types
import Bindings.DirectFB.IDirectFBSurface
import Bindings.DirectFB.IDirectFBWindow
import Bindings.DirectFB.IDirectFBScreen

data C'IDirectFBDisplayLayer = C'IDirectFBDisplayLayer{
{-# LINE 14 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}

  c'IDirectFBDisplayLayer'GetID :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr C'DFBDisplayLayerID -> IO C'DFBResult)
{-# LINE 16 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'GetDescription :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr C'DFBDisplayLayerDescription -> IO C'DFBResult)
{-# LINE 18 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'GetSourceDescriptions :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr C'DFBDisplayLayerSourceDescription -> IO C'DFBResult)
{-# LINE 20 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'GetCurrentOutputField :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr CInt -> IO C'DFBResult)
{-# LINE 22 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'GetSurface :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr (Ptr C'IDirectFBSurface) -> IO C'DFBResult)
{-# LINE 24 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'GetScreen :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr (Ptr C'IDirectFBScreen) -> IO C'DFBResult)
{-# LINE 26 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetCooperativeLevel :: FunPtr (Ptr C'IDirectFBDisplayLayer -> C'DFBDisplayLayerCooperativeLevel -> IO C'DFBResult)
{-# LINE 28 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'GetConfiguration :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr C'DFBDisplayLayerConfig -> IO C'DFBResult)
{-# LINE 30 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'TestConfiguration :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr C'DFBDisplayLayerConfig -> Ptr C'DFBDisplayLayerConfigFlags -> IO C'DFBResult)
{-# LINE 33 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetConfiguration :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr C'DFBDisplayLayerConfig -> IO C'DFBResult)
{-# LINE 35 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetScreenLocation :: FunPtr (Ptr C'IDirectFBDisplayLayer -> CFloat -> CFloat -> CFloat -> CFloat -> IO C'DFBResult)
{-# LINE 37 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetScreenPosition :: FunPtr (Ptr C'IDirectFBDisplayLayer -> CInt -> CInt -> IO C'DFBResult)
{-# LINE 39 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetScreenRectangle :: FunPtr (Ptr C'IDirectFBDisplayLayer -> CInt -> CInt -> CInt -> CInt -> IO C'DFBResult)
{-# LINE 41 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetOpacity :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Word8 -> IO C'DFBResult)
{-# LINE 43 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetSourceRectangle :: FunPtr (Ptr C'IDirectFBDisplayLayer -> CInt -> CInt -> CInt -> CInt -> IO C'DFBResult)
{-# LINE 45 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetFieldParity :: FunPtr (Ptr C'IDirectFBDisplayLayer -> CInt -> IO C'DFBResult)
{-# LINE 47 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetClipRegions :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr C'DFBRegion -> CInt -> C'DFBBoolean -> IO C'DFBResult)
{-# LINE 49 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetSrcColorKey :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Word8 -> Word8 -> Word8 -> IO C'DFBResult)
{-# LINE 51 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetDstColorKey :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Word8 -> Word8 -> Word8 -> IO C'DFBResult)
{-# LINE 53 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'GetLevel :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr CInt -> IO C'DFBResult)
{-# LINE 55 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetLevel :: FunPtr (Ptr C'IDirectFBDisplayLayer -> CInt -> IO C'DFBResult)
{-# LINE 57 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetBackgroundMode :: FunPtr (Ptr C'IDirectFBDisplayLayer -> C'DFBDisplayLayerBackgroundMode -> IO C'DFBResult)
{-# LINE 59 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetBackgroundImage :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr C'IDirectFBSurface -> IO C'DFBResult)
{-# LINE 61 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetBackgroundColor :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Word8 -> Word8 -> Word8 -> Word8 -> IO C'DFBResult)
{-# LINE 63 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'GetColorAdjustment :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr C'DFBColorAdjustment -> IO C'DFBResult)
{-# LINE 65 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetColorAdjustment :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr C'DFBColorAdjustment -> IO C'DFBResult)
{-# LINE 67 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'CreateWindow :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr C'DFBWindowDescription -> Ptr (Ptr C'IDirectFBWindow) -> IO C'DFBResult)
{-# LINE 70 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'GetWindow :: FunPtr (Ptr C'IDirectFBDisplayLayer -> C'DFBWindowID -> Ptr (Ptr C'IDirectFBWindow) -> IO C'DFBResult)
{-# LINE 72 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'EnableCursor :: FunPtr (Ptr C'IDirectFBDisplayLayer -> CInt -> IO C'DFBResult)
{-# LINE 74 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'GetCursorPosition :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr CInt -> Ptr CInt -> IO C'DFBResult)
{-# LINE 76 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'WarpCursor :: FunPtr (Ptr C'IDirectFBDisplayLayer -> CInt -> CInt -> IO C'DFBResult)
{-# LINE 78 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetCursorAcceleration :: FunPtr (Ptr C'IDirectFBDisplayLayer -> CInt -> CInt -> CInt -> IO C'DFBResult)
{-# LINE 80 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetCursorShape :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Ptr C'IDirectFBSurface -> CInt -> CInt -> IO C'DFBResult)
{-# LINE 82 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetCursorOpacity :: FunPtr (Ptr C'IDirectFBDisplayLayer -> Word8 -> IO C'DFBResult)
{-# LINE 84 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'WaitForSync :: FunPtr (Ptr C'IDirectFBDisplayLayer -> IO C'DFBResult)
{-# LINE 86 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SwitchContext :: FunPtr (Ptr C'IDirectFBDisplayLayer -> C'DFBBoolean -> IO C'DFBResult)
{-# LINE 88 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
,
  c'IDirectFBDisplayLayer'SetRotation :: FunPtr (Ptr C'IDirectFBDisplayLayer -> CInt -> IO C'DFBResult)
{-# LINE 90 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}
-- #field GetRotation , FunPtr (Ptr <IDirectFBDisplayLayer> -> \
--     Ptr CInt -> IO <DFBResult>)

 } deriving (Eq,Show)
instance Storable C'IDirectFBDisplayLayer where
  sizeOf _ = 164
  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
    v29 <- peekByteOff p 132
    v30 <- peekByteOff p 136
    v31 <- peekByteOff p 140
    v32 <- peekByteOff p 144
    v33 <- peekByteOff p 148
    v34 <- peekByteOff p 152
    v35 <- peekByteOff p 156
    v36 <- peekByteOff p 160
    return $ C'IDirectFBDisplayLayer 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 v29 v30 v31 v32 v33 v34 v35 v36
  poke p (C'IDirectFBDisplayLayer 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 v29 v30 v31 v32 v33 v34 v35 v36) = 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
    pokeByteOff p 132 v29
    pokeByteOff p 136 v30
    pokeByteOff p 140 v31
    pokeByteOff p 144 v32
    pokeByteOff p 148 v33
    pokeByteOff p 152 v34
    pokeByteOff p 156 v35
    pokeByteOff p 160 v36
    return ()

{-# LINE 93 "src/Bindings/DirectFB/IDirectFBDisplayLayer.hsc" #-}