module HROOT.Core.TROOT.Implementation where
import FFICXX.Runtime.Cast
import HROOT.Core.TROOT.RawType
import HROOT.Core.TROOT.FFI
import HROOT.Core.TROOT.Interface
import HROOT.Core.TROOT.Cast
import HROOT.Core.TKey.RawType
import HROOT.Core.TKey.Cast
import HROOT.Core.TKey.Interface
import HROOT.Core.TClass.RawType
import HROOT.Core.TClass.Cast
import HROOT.Core.TClass.Interface
import HROOT.Core.TGlobal.RawType
import HROOT.Core.TGlobal.Cast
import HROOT.Core.TGlobal.Interface
import HROOT.Core.TDirectory.RawType
import HROOT.Core.TDirectory.Cast
import HROOT.Core.TDirectory.Interface
import HROOT.Core.TNamed.RawType
import HROOT.Core.TNamed.Cast
import HROOT.Core.TNamed.Interface
import HROOT.Core.TObject.RawType
import HROOT.Core.TObject.Cast
import HROOT.Core.TObject.Interface
import HROOT.Core.Deletable.RawType
import HROOT.Core.Deletable.Cast
import HROOT.Core.Deletable.Interface
import Data.Word
import Foreign.C
import Foreign.Ptr
import Foreign.ForeignPtr
import System.IO.Unsafe
instance ITROOT TROOT where
instance ITDirectory TROOT where
append = xform2 c_troot_append
addD = xform2 c_troot_addd
appendKey = xform1 c_troot_appendkey
close = xform1 c_troot_close
get = xform1 c_troot_get
cd_TDirectory = xform1 c_troot_cd_tdirectory
instance ITNamed TROOT where
setName = xform1 c_troot_setname
setNameTitle = xform2 c_troot_setnametitle
setTitle = xform1 c_troot_settitle
instance ITObject TROOT where
draw = xform1 c_troot_draw
findObject = xform1 c_troot_findobject
getName = xform0 c_troot_getname
isA = xform0 c_troot_isa
paint = xform1 c_troot_paint
printObj = xform1 c_troot_printobj
saveAs = xform2 c_troot_saveas
write = xform3 c_troot_write
instance IDeletable TROOT where
delete = xform0 c_troot_delete
instance ITROOT (Exist TROOT) where
instance ITDirectory (Exist TROOT) where
append (ETROOT x) = append x
addD (ETROOT x) = addD x
appendKey (ETROOT x) = appendKey x
close (ETROOT x) = close x
get (ETROOT x) = get x
cd_TDirectory (ETROOT x) = cd_TDirectory x
instance ITNamed (Exist TROOT) where
setName (ETROOT x) = setName x
setNameTitle (ETROOT x) = setNameTitle x
setTitle (ETROOT x) = setTitle x
instance ITObject (Exist TROOT) where
draw (ETROOT x) = draw x
findObject (ETROOT x) = findObject x
getName (ETROOT x) = getName x
isA (ETROOT x) = isA x
paint (ETROOT x) = paint x
printObj (ETROOT x) = printObj x
saveAs (ETROOT x) = saveAs x
write (ETROOT x) = write x
instance IDeletable (Exist TROOT) where
delete (ETROOT x) = delete x
tROOTGetGlobal :: TROOT -> CString -> CInt -> IO TGlobal
tROOTGetGlobal = xform2 c_troot_trootgetglobal
tROOTInitialized :: IO CInt
tROOTInitialized = xformnull c_troot_trootinitialized
instance FPtr (Exist TROOT) where
type Raw (Exist TROOT) = RawTROOT
get_fptr (ETROOT obj) = castForeignPtr (get_fptr obj)
cast_fptr_to_obj fptr = ETROOT (cast_fptr_to_obj (fptr :: ForeignPtr RawTROOT) :: TROOT)