{-# LINE 1 "src/HROOT/Graf/TTUBE/FFI.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-}
module HROOT.Graf.TTUBE.FFI where
import Data.Word
import Data.Int
import Foreign.C
import Foreign.Ptr
import HROOT.Graf.TTUBE.RawType
import HROOT.Graf.TTUBE.RawType
import HROOT.Core.TObject.RawType
import HROOT.Core.TClass.RawType

foreign import ccall interruptible "HROOTGrafTTUBE.h TTUBE_SetName"
               c_ttube_setname :: Ptr RawTTUBE -> CString -> IO ()

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_SetNameTitle" c_ttube_setnametitle ::
               Ptr RawTTUBE -> CString -> CString -> IO ()

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_SetTitle" c_ttube_settitle ::
               Ptr RawTTUBE -> CString -> IO ()

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_GetLineColor" c_ttube_getlinecolor ::
               Ptr RawTTUBE -> IO CShort

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_GetLineStyle" c_ttube_getlinestyle ::
               Ptr RawTTUBE -> IO CShort

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_GetLineWidth" c_ttube_getlinewidth ::
               Ptr RawTTUBE -> IO CShort

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_ResetAttLine" c_ttube_resetattline ::
               Ptr RawTTUBE -> CString -> IO ()

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_SetLineAttributes"
               c_ttube_setlineattributes :: Ptr RawTTUBE -> IO ()

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_SetLineColor" c_ttube_setlinecolor ::
               Ptr RawTTUBE -> CShort -> IO ()

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_SetLineStyle" c_ttube_setlinestyle ::
               Ptr RawTTUBE -> CShort -> IO ()

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_SetLineWidth" c_ttube_setlinewidth ::
               Ptr RawTTUBE -> CShort -> IO ()

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_SetFillColor" c_ttube_setfillcolor ::
               Ptr RawTTUBE -> CInt -> IO ()

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_SetFillStyle" c_ttube_setfillstyle ::
               Ptr RawTTUBE -> CInt -> IO ()

foreign import ccall interruptible "HROOTGrafTTUBE.h TTUBE_Clear"
               c_ttube_clear :: Ptr RawTTUBE -> CString -> IO ()

foreign import ccall interruptible "HROOTGrafTTUBE.h TTUBE_Draw"
               c_ttube_draw :: Ptr RawTTUBE -> CString -> IO ()

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_FindObject" c_ttube_findobject ::
               Ptr RawTTUBE -> CString -> IO (Ptr RawTObject)

foreign import ccall interruptible "HROOTGrafTTUBE.h TTUBE_GetName"
               c_ttube_getname :: Ptr RawTTUBE -> IO CString

foreign import ccall interruptible "HROOTGrafTTUBE.h TTUBE_IsA"
               c_ttube_isa :: Ptr RawTTUBE -> IO (Ptr RawTClass)

foreign import ccall interruptible "HROOTGrafTTUBE.h TTUBE_Paint"
               c_ttube_paint :: Ptr RawTTUBE -> CString -> IO ()

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_printObj" c_ttube_printobj ::
               Ptr RawTTUBE -> CString -> IO ()

foreign import ccall interruptible "HROOTGrafTTUBE.h TTUBE_SaveAs"
               c_ttube_saveas :: Ptr RawTTUBE -> CString -> CString -> IO ()

foreign import ccall interruptible "HROOTGrafTTUBE.h TTUBE_Write"
               c_ttube_write :: Ptr RawTTUBE -> CString -> CInt -> CInt -> IO CInt

foreign import ccall interruptible "HROOTGrafTTUBE.h TTUBE_Write_"
               c_ttube_write_ :: Ptr RawTTUBE -> IO CInt

foreign import ccall interruptible "HROOTGrafTTUBE.h TTUBE_delete"
               c_ttube_delete :: Ptr RawTTUBE -> IO ()

foreign import ccall interruptible
               "HROOTGrafTTUBE.h TTUBE_newTTUBE" c_ttube_newttube ::
               CString ->
                 CString ->
                   CString ->
                     CFloat -> CFloat -> CFloat -> CFloat -> IO (Ptr RawTTUBE)