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

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_DrawLine" c_tarrow_drawline ::
               Ptr RawTArrow ->
                 CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTLine)

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_DrawLineNDC" c_tarrow_drawlinendc ::
               Ptr RawTArrow ->
                 CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTLine)

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_PaintLine" c_tarrow_paintline ::
               Ptr RawTArrow -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_PaintLineNDC" c_tarrow_paintlinendc ::
               Ptr RawTArrow -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()

foreign import ccall interruptible "HROOTGrafTArrow.h TArrow_SetX1"
               c_tarrow_setx1 :: Ptr RawTArrow -> CDouble -> IO ()

foreign import ccall interruptible "HROOTGrafTArrow.h TArrow_SetX2"
               c_tarrow_setx2 :: Ptr RawTArrow -> CDouble -> IO ()

foreign import ccall interruptible "HROOTGrafTArrow.h TArrow_SetY1"
               c_tarrow_sety1 :: Ptr RawTArrow -> CDouble -> IO ()

foreign import ccall interruptible "HROOTGrafTArrow.h TArrow_SetY2"
               c_tarrow_sety2 :: Ptr RawTArrow -> CDouble -> IO ()

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_SetFillColor" c_tarrow_setfillcolor ::
               Ptr RawTArrow -> CInt -> IO ()

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_SetFillStyle" c_tarrow_setfillstyle ::
               Ptr RawTArrow -> CInt -> IO ()

foreign import ccall interruptible "HROOTGrafTArrow.h TArrow_Clear"
               c_tarrow_clear :: Ptr RawTArrow -> CString -> IO ()

foreign import ccall interruptible "HROOTGrafTArrow.h TArrow_Draw"
               c_tarrow_draw :: Ptr RawTArrow -> CString -> IO ()

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_FindObject" c_tarrow_findobject ::
               Ptr RawTArrow -> CString -> IO (Ptr RawTObject)

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_GetName" c_tarrow_getname ::
               Ptr RawTArrow -> IO CString

foreign import ccall interruptible "HROOTGrafTArrow.h TArrow_IsA"
               c_tarrow_isa :: Ptr RawTArrow -> IO (Ptr RawTClass)

foreign import ccall interruptible "HROOTGrafTArrow.h TArrow_Paint"
               c_tarrow_paint :: Ptr RawTArrow -> CString -> IO ()

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_printObj" c_tarrow_printobj ::
               Ptr RawTArrow -> CString -> IO ()

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_SaveAs" c_tarrow_saveas ::
               Ptr RawTArrow -> CString -> CString -> IO ()

foreign import ccall interruptible "HROOTGrafTArrow.h TArrow_Write"
               c_tarrow_write ::
               Ptr RawTArrow -> CString -> CInt -> CInt -> IO CInt

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_Write_" c_tarrow_write_ ::
               Ptr RawTArrow -> IO CInt

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_GetLineColor" c_tarrow_getlinecolor ::
               Ptr RawTArrow -> IO CShort

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_GetLineStyle" c_tarrow_getlinestyle ::
               Ptr RawTArrow -> IO CShort

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_GetLineWidth" c_tarrow_getlinewidth ::
               Ptr RawTArrow -> IO CShort

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_ResetAttLine" c_tarrow_resetattline ::
               Ptr RawTArrow -> CString -> IO ()

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_SetLineAttributes"
               c_tarrow_setlineattributes :: Ptr RawTArrow -> IO ()

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_SetLineColor" c_tarrow_setlinecolor ::
               Ptr RawTArrow -> CShort -> IO ()

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_SetLineStyle" c_tarrow_setlinestyle ::
               Ptr RawTArrow -> CShort -> IO ()

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_SetLineWidth" c_tarrow_setlinewidth ::
               Ptr RawTArrow -> CShort -> IO ()

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_delete" c_tarrow_delete ::
               Ptr RawTArrow -> IO ()

foreign import ccall interruptible
               "HROOTGrafTArrow.h TArrow_newTArrow" c_tarrow_newtarrow ::
               CDouble ->
                 CDouble ->
                   CDouble -> CDouble -> CFloat -> CString -> IO (Ptr RawTArrow)