{-# LINE 1 "src/HROOT/Graf/TArrow/FFI.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LINE 2 "src/HROOT/Graf/TArrow/FFI.hsc" #-}

-- module HROOT.Class.FFI where

module HROOT.Graf.TArrow.FFI where


import Foreign.C            
import Foreign.Ptr

-- import HROOT.Class.Interface

-- #include ""

import HROOT.Graf.TArrow.RawType
import HROOT.Graf.TLine.RawType
import HROOT.Core.TObject.RawType
import HROOT.Core.TClass.RawType


{-# LINE 21 "src/HROOT/Graf/TArrow/FFI.hsc" #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

foreign import ccall "HROOTGrafTArrow.h TArrow_GetLineColor" c_tarrow_getlinecolor 
  :: (Ptr RawTArrow) -> IO CInt

foreign import ccall "HROOTGrafTArrow.h TArrow_GetLineStyle" c_tarrow_getlinestyle 
  :: (Ptr RawTArrow) -> IO CInt

foreign import ccall "HROOTGrafTArrow.h TArrow_GetLineWidth" c_tarrow_getlinewidth 
  :: (Ptr RawTArrow) -> IO CInt

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

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

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

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

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

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

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