{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances, MultiParamTypeClasses, OverlappingInstances, TemplateHaskell, TypeFamilies, TypeSynonymInstances #-} module HROOT.Core.TObject.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.Core.TObject.RawType import HROOT.Core.TObject.FFI import HROOT.Core.TObject.Interface import HROOT.Core.TObject.Cast import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface import HROOT.Core.TClass.RawType import HROOT.Core.TClass.Cast import HROOT.Core.TClass.Interface import STD.Deletable.RawType import STD.Deletable.Cast import STD.Deletable.Interface instance () => ITObject (TObject) where clear :: forall c0. Castable c0 CString => TObject -> c0 -> IO () clear = (Ptr RawTObject -> CString -> IO ()) -> TObject -> 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 RawTObject -> CString -> IO () c_tobject_clear draw :: forall c0. Castable c0 CString => TObject -> c0 -> IO () draw = (Ptr RawTObject -> CString -> IO ()) -> TObject -> 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 RawTObject -> CString -> IO () c_tobject_draw findObject :: forall c0. Castable c0 CString => TObject -> c0 -> IO TObject findObject = (Ptr RawTObject -> CString -> IO (Ptr RawTObject)) -> TObject -> 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 RawTObject -> CString -> IO (Ptr RawTObject) c_tobject_findobject getName :: TObject -> IO CString getName = (Ptr RawTObject -> IO CString) -> TObject -> IO CString forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTObject -> IO CString c_tobject_getname isA :: TObject -> IO TClass isA = (Ptr RawTObject -> IO (Ptr RawTClass)) -> TObject -> IO TClass forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTObject -> IO (Ptr RawTClass) c_tobject_isa paint :: forall c0. Castable c0 CString => TObject -> c0 -> IO () paint = (Ptr RawTObject -> CString -> IO ()) -> TObject -> 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 RawTObject -> CString -> IO () c_tobject_paint printObj :: forall c0. Castable c0 CString => TObject -> c0 -> IO () printObj = (Ptr RawTObject -> CString -> IO ()) -> TObject -> 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 RawTObject -> CString -> IO () c_tobject_printobj saveAs :: forall c1 c0. (Castable c1 CString, Castable c0 CString) => TObject -> c0 -> c1 -> IO () saveAs = (Ptr RawTObject -> CString -> CString -> IO ()) -> TObject -> 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 RawTObject -> CString -> CString -> IO () c_tobject_saveas write :: forall c0. Castable c0 CString => TObject -> c0 -> CInt -> CInt -> IO CInt write = (Ptr RawTObject -> CString -> CInt -> CInt -> IO CInt) -> TObject -> 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 RawTObject -> CString -> CInt -> CInt -> IO CInt c_tobject_write write_ :: TObject -> IO CInt write_ = (Ptr RawTObject -> IO CInt) -> TObject -> IO CInt forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTObject -> IO CInt c_tobject_write_ instance () => IDeletable (TObject) where delete :: TObject -> IO () delete = (Ptr RawTObject -> IO ()) -> TObject -> IO () forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTObject -> IO () c_tobject_delete newTObject :: () => IO TObject newTObject :: IO TObject newTObject = IO (Ptr RawTObject) -> IO TObject forall a ca. Castable a ca => IO ca -> IO a xformnull IO (Ptr RawTObject) c_tobject_newtobject tObject_GetObjectStat :: () => IO CBool tObject_GetObjectStat :: IO CBool tObject_GetObjectStat = IO CBool -> IO CBool forall a ca. Castable a ca => IO ca -> IO a xformnull IO CBool c_tobject_tobject_getobjectstat