{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances, MultiParamTypeClasses, OverlappingInstances, TemplateHaskell, TypeFamilies, TypeSynonymInstances #-} module HROOT.Tree.TChain.Implementation where import Data.Monoid import Data.Word import Data.Int import Foreign.C import Foreign.Ptr import Language.Haskell.TH import Language.Haskell.TH.Syntax import System.IO.Unsafe import FFICXX.Runtime.Cast import FFICXX.Runtime.CodeGen.Cxx import FFICXX.Runtime.TH import HROOT.Tree.TChain.RawType import HROOT.Tree.TChain.FFI import HROOT.Tree.TChain.Interface import HROOT.Tree.TChain.Cast import HROOT.Tree.TChain.RawType import HROOT.Tree.TChain.Cast import HROOT.Tree.TChain.Interface import HROOT.Tree.TBranch.RawType import HROOT.Tree.TBranch.Cast import HROOT.Tree.TBranch.Interface import HROOT.Core.TClass.RawType import HROOT.Core.TClass.Cast import HROOT.Core.TClass.Interface import HROOT.Tree.TTree.RawType import HROOT.Tree.TTree.Cast import HROOT.Tree.TTree.Interface import HROOT.Core.TNamed.RawType import HROOT.Core.TNamed.Cast import HROOT.Core.TNamed.Interface import HROOT.Core.TAttLine.RawType import HROOT.Core.TAttLine.Cast import HROOT.Core.TAttLine.Interface import HROOT.Core.TAttFill.RawType import HROOT.Core.TAttFill.Cast import HROOT.Core.TAttFill.Interface import HROOT.Core.TAttMarker.RawType import HROOT.Core.TAttMarker.Cast import HROOT.Core.TAttMarker.Interface import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface import STD.Deletable.RawType import STD.Deletable.Cast import STD.Deletable.Interface instance () => ITChain (TChain) where addChain :: forall c0. (ITChain c0, FPtr c0) => TChain -> c0 -> IO CInt addChain = (Ptr RawTChain -> Ptr RawTChain -> IO CInt) -> TChain -> c0 -> IO CInt forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> Ptr RawTChain -> IO CInt c_tchain_addchain addChain1 :: forall c0. Castable c0 CString => TChain -> c0 -> CLong -> IO CInt addChain1 = (Ptr RawTChain -> CString -> CLong -> IO CInt) -> TChain -> c0 -> CLong -> IO CInt forall a ca x1 cx1 x2 cx2 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) => (ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y xform2 Ptr RawTChain -> CString -> CLong -> IO CInt c_tchain_addchain1 instance () => ITTree (TChain) where branch :: forall c0. Castable c0 CString => TChain -> c0 -> CInt -> CInt -> IO CInt branch = (Ptr RawTChain -> CString -> CInt -> CInt -> IO CInt) -> TChain -> c0 -> CInt -> CInt -> IO CInt forall a ca x1 cx1 x2 cx2 x3 cx3 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> IO cy) -> a -> x1 -> x2 -> x3 -> IO y xform3 Ptr RawTChain -> CString -> CInt -> CInt -> IO CInt c_tchain_branch branch1 :: forall c1 c0. (Castable c1 CString, Castable c0 CString) => TChain -> c0 -> Ptr () -> c1 -> CInt -> IO TBranch branch1 = (Ptr RawTChain -> CString -> Ptr () -> CString -> CInt -> IO (Ptr RawTBranch)) -> TChain -> c0 -> Ptr () -> c1 -> CInt -> IO TBranch forall a ca x1 cx1 x2 cx2 x3 cx3 x4 cx4 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> IO y xform4 Ptr RawTChain -> CString -> Ptr () -> CString -> CInt -> IO (Ptr RawTBranch) c_tchain_branch1 fillTree :: TChain -> IO CInt fillTree = (Ptr RawTChain -> IO CInt) -> TChain -> IO CInt forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTChain -> IO CInt c_tchain_filltree instance () => ITNamed (TChain) where setName :: forall c0. Castable c0 CString => TChain -> c0 -> IO () setName = (Ptr RawTChain -> CString -> IO ()) -> TChain -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CString -> IO () c_tchain_setname setNameTitle :: forall c1 c0. (Castable c1 CString, Castable c0 CString) => TChain -> c0 -> c1 -> IO () setNameTitle = (Ptr RawTChain -> CString -> CString -> IO ()) -> TChain -> c0 -> c1 -> IO () forall a ca x1 cx1 x2 cx2 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) => (ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y xform2 Ptr RawTChain -> CString -> CString -> IO () c_tchain_setnametitle setTitle :: forall c0. Castable c0 CString => TChain -> c0 -> IO () setTitle = (Ptr RawTChain -> CString -> IO ()) -> TChain -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CString -> IO () c_tchain_settitle instance () => ITAttLine (TChain) where getLineColor :: TChain -> IO CShort getLineColor = (Ptr RawTChain -> IO CShort) -> TChain -> IO CShort forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTChain -> IO CShort c_tchain_getlinecolor getLineStyle :: TChain -> IO CShort getLineStyle = (Ptr RawTChain -> IO CShort) -> TChain -> IO CShort forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTChain -> IO CShort c_tchain_getlinestyle getLineWidth :: TChain -> IO CShort getLineWidth = (Ptr RawTChain -> IO CShort) -> TChain -> IO CShort forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTChain -> IO CShort c_tchain_getlinewidth resetAttLine :: forall c0. Castable c0 CString => TChain -> c0 -> IO () resetAttLine = (Ptr RawTChain -> CString -> IO ()) -> TChain -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CString -> IO () c_tchain_resetattline setLineAttributes :: TChain -> IO () setLineAttributes = (Ptr RawTChain -> IO ()) -> TChain -> IO () forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTChain -> IO () c_tchain_setlineattributes setLineColor :: TChain -> CShort -> IO () setLineColor = (Ptr RawTChain -> CShort -> IO ()) -> TChain -> CShort -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CShort -> IO () c_tchain_setlinecolor setLineStyle :: TChain -> CShort -> IO () setLineStyle = (Ptr RawTChain -> CShort -> IO ()) -> TChain -> CShort -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CShort -> IO () c_tchain_setlinestyle setLineWidth :: TChain -> CShort -> IO () setLineWidth = (Ptr RawTChain -> CShort -> IO ()) -> TChain -> CShort -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CShort -> IO () c_tchain_setlinewidth instance () => ITAttFill (TChain) where setFillColor :: TChain -> CInt -> IO () setFillColor = (Ptr RawTChain -> CInt -> IO ()) -> TChain -> CInt -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CInt -> IO () c_tchain_setfillcolor setFillStyle :: TChain -> CInt -> IO () setFillStyle = (Ptr RawTChain -> CInt -> IO ()) -> TChain -> CInt -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CInt -> IO () c_tchain_setfillstyle instance () => ITAttMarker (TChain) where getMarkerColor :: TChain -> IO CShort getMarkerColor = (Ptr RawTChain -> IO CShort) -> TChain -> IO CShort forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTChain -> IO CShort c_tchain_getmarkercolor getMarkerStyle :: TChain -> IO CShort getMarkerStyle = (Ptr RawTChain -> IO CShort) -> TChain -> IO CShort forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTChain -> IO CShort c_tchain_getmarkerstyle getMarkerSize :: TChain -> IO CFloat getMarkerSize = (Ptr RawTChain -> IO CFloat) -> TChain -> IO CFloat forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTChain -> IO CFloat c_tchain_getmarkersize resetAttMarker :: forall c0. Castable c0 CString => TChain -> c0 -> IO () resetAttMarker = (Ptr RawTChain -> CString -> IO ()) -> TChain -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CString -> IO () c_tchain_resetattmarker setMarkerAttributes :: TChain -> IO () setMarkerAttributes = (Ptr RawTChain -> IO ()) -> TChain -> IO () forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTChain -> IO () c_tchain_setmarkerattributes setMarkerColor :: TChain -> CShort -> IO () setMarkerColor = (Ptr RawTChain -> CShort -> IO ()) -> TChain -> CShort -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CShort -> IO () c_tchain_setmarkercolor setMarkerStyle :: TChain -> CShort -> IO () setMarkerStyle = (Ptr RawTChain -> CShort -> IO ()) -> TChain -> CShort -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CShort -> IO () c_tchain_setmarkerstyle setMarkerSize :: TChain -> CShort -> IO () setMarkerSize = (Ptr RawTChain -> CShort -> IO ()) -> TChain -> CShort -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CShort -> IO () c_tchain_setmarkersize instance () => ITObject (TChain) where clear :: forall c0. Castable c0 CString => TChain -> c0 -> IO () clear = (Ptr RawTChain -> CString -> IO ()) -> TChain -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CString -> IO () c_tchain_clear draw :: forall c0. Castable c0 CString => TChain -> c0 -> IO () draw = (Ptr RawTChain -> CString -> IO ()) -> TChain -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CString -> IO () c_tchain_draw findObject :: forall c0. Castable c0 CString => TChain -> c0 -> IO TObject findObject = (Ptr RawTChain -> CString -> IO (Ptr RawTObject)) -> TChain -> c0 -> IO TObject forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CString -> IO (Ptr RawTObject) c_tchain_findobject getName :: TChain -> IO CString getName = (Ptr RawTChain -> IO CString) -> TChain -> IO CString forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTChain -> IO CString c_tchain_getname isA :: TChain -> IO TClass isA = (Ptr RawTChain -> IO (Ptr RawTClass)) -> TChain -> IO TClass forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTChain -> IO (Ptr RawTClass) c_tchain_isa paint :: forall c0. Castable c0 CString => TChain -> c0 -> IO () paint = (Ptr RawTChain -> CString -> IO ()) -> TChain -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CString -> IO () c_tchain_paint printObj :: forall c0. Castable c0 CString => TChain -> c0 -> IO () printObj = (Ptr RawTChain -> CString -> IO ()) -> TChain -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTChain -> CString -> IO () c_tchain_printobj saveAs :: forall c1 c0. (Castable c1 CString, Castable c0 CString) => TChain -> c0 -> c1 -> IO () saveAs = (Ptr RawTChain -> CString -> CString -> IO ()) -> TChain -> c0 -> c1 -> IO () forall a ca x1 cx1 x2 cx2 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) => (ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y xform2 Ptr RawTChain -> CString -> CString -> IO () c_tchain_saveas write :: forall c0. Castable c0 CString => TChain -> c0 -> CInt -> CInt -> IO CInt write = (Ptr RawTChain -> CString -> CInt -> CInt -> IO CInt) -> TChain -> c0 -> CInt -> CInt -> IO CInt forall a ca x1 cx1 x2 cx2 x3 cx3 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> IO cy) -> a -> x1 -> x2 -> x3 -> IO y xform3 Ptr RawTChain -> CString -> CInt -> CInt -> IO CInt c_tchain_write write_ :: TChain -> IO CInt write_ = (Ptr RawTChain -> IO CInt) -> TChain -> IO CInt forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTChain -> IO CInt c_tchain_write_ instance () => IDeletable (TChain) where delete :: TChain -> IO () delete = (Ptr RawTChain -> IO ()) -> TChain -> IO () forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTChain -> IO () c_tchain_delete newTChain :: (Castable c1 CString, Castable c0 CString) => c0 -> c1 -> IO TChain newTChain :: forall c1 c0. (Castable c1 CString, Castable c0 CString) => c0 -> c1 -> IO TChain newTChain = (CString -> CString -> IO (Ptr RawTChain)) -> c0 -> c1 -> IO TChain forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 CString -> CString -> IO (Ptr RawTChain) c_tchain_newtchain