{-# LINE 1 "src/OGDF/SugiyamaLayout/FFI.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-}
module OGDF.SugiyamaLayout.FFI where
import Data.Word
import Data.Int
import Foreign.C
import Foreign.Ptr
import OGDF.SugiyamaLayout.RawType
import OGDF.SugiyamaLayout.RawType
import OGDF.GraphAttributes.RawType
import OGDF.LayeredCrossMinModule.RawType
import OGDF.HierarchyLayoutModule.RawType
import OGDF.RankingModule.RawType

foreign import ccall interruptible
               "OGDFSugiyamaLayout.h SugiyamaLayout_delete"
               c_sugiyamalayout_delete :: Ptr RawSugiyamaLayout -> IO ()

foreign import ccall interruptible
               "OGDFSugiyamaLayout.h SugiyamaLayout_call" c_sugiyamalayout_call ::
               Ptr RawSugiyamaLayout -> Ptr RawGraphAttributes -> IO ()

foreign import ccall interruptible
               "OGDFSugiyamaLayout.h SugiyamaLayout_newSugiyamaLayout"
               c_sugiyamalayout_newsugiyamalayout :: IO (Ptr RawSugiyamaLayout)

foreign import ccall interruptible
               "OGDFSugiyamaLayout.h SugiyamaLayout_sugiyamaLayout_pageRatio"
               c_sugiyamalayout_sugiyamalayout_pageratio ::
               Ptr RawSugiyamaLayout -> CDouble -> IO ()

foreign import ccall interruptible
               "OGDFSugiyamaLayout.h SugiyamaLayout_sugiyamaLayout_setCrossMin"
               c_sugiyamalayout_sugiyamalayout_setcrossmin ::
               Ptr RawSugiyamaLayout -> Ptr RawLayeredCrossMinModule -> IO ()

foreign import ccall interruptible
               "OGDFSugiyamaLayout.h SugiyamaLayout_sugiyamaLayout_setLayout"
               c_sugiyamalayout_sugiyamalayout_setlayout ::
               Ptr RawSugiyamaLayout -> Ptr RawHierarchyLayoutModule -> IO ()

foreign import ccall interruptible
               "OGDFSugiyamaLayout.h SugiyamaLayout_sugiyamaLayout_setRanking"
               c_sugiyamalayout_sugiyamalayout_setranking ::
               Ptr RawSugiyamaLayout -> Ptr RawRankingModule -> IO ()