{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances, MultiParamTypeClasses, OverlappingInstances, TemplateHaskell, TypeFamilies, TypeSynonymInstances #-} module HROOT.Core.TSystem.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.TSystem.RawType import HROOT.Core.TSystem.FFI import HROOT.Core.TSystem.Interface import HROOT.Core.TSystem.Cast import HROOT.Core.TSystem.RawType import HROOT.Core.TSystem.Cast import HROOT.Core.TSystem.Interface import HROOT.Core.TClass.RawType import HROOT.Core.TClass.Cast import HROOT.Core.TClass.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 STD.Deletable.RawType import STD.Deletable.Cast import STD.Deletable.Interface instance () => ITSystem (TSystem) where processEvents :: TSystem -> IO CBool processEvents = (Ptr RawTSystem -> IO CBool) -> TSystem -> IO CBool forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTSystem -> IO CBool c_tsystem_processevents instance () => ITNamed (TSystem) where setName :: forall c0. Castable c0 CString => TSystem -> c0 -> IO () setName = (Ptr RawTSystem -> CString -> IO ()) -> TSystem -> 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 RawTSystem -> CString -> IO () c_tsystem_setname setNameTitle :: forall c1 c0. (Castable c1 CString, Castable c0 CString) => TSystem -> c0 -> c1 -> IO () setNameTitle = (Ptr RawTSystem -> CString -> CString -> IO ()) -> TSystem -> 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 RawTSystem -> CString -> CString -> IO () c_tsystem_setnametitle setTitle :: forall c0. Castable c0 CString => TSystem -> c0 -> IO () setTitle = (Ptr RawTSystem -> CString -> IO ()) -> TSystem -> 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 RawTSystem -> CString -> IO () c_tsystem_settitle instance () => ITObject (TSystem) where clear :: forall c0. Castable c0 CString => TSystem -> c0 -> IO () clear = (Ptr RawTSystem -> CString -> IO ()) -> TSystem -> 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 RawTSystem -> CString -> IO () c_tsystem_clear draw :: forall c0. Castable c0 CString => TSystem -> c0 -> IO () draw = (Ptr RawTSystem -> CString -> IO ()) -> TSystem -> 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 RawTSystem -> CString -> IO () c_tsystem_draw findObject :: forall c0. Castable c0 CString => TSystem -> c0 -> IO TObject findObject = (Ptr RawTSystem -> CString -> IO (Ptr RawTObject)) -> TSystem -> 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 RawTSystem -> CString -> IO (Ptr RawTObject) c_tsystem_findobject getName :: TSystem -> IO CString getName = (Ptr RawTSystem -> IO CString) -> TSystem -> IO CString forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTSystem -> IO CString c_tsystem_getname isA :: TSystem -> IO TClass isA = (Ptr RawTSystem -> IO (Ptr RawTClass)) -> TSystem -> IO TClass forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTSystem -> IO (Ptr RawTClass) c_tsystem_isa paint :: forall c0. Castable c0 CString => TSystem -> c0 -> IO () paint = (Ptr RawTSystem -> CString -> IO ()) -> TSystem -> 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 RawTSystem -> CString -> IO () c_tsystem_paint printObj :: forall c0. Castable c0 CString => TSystem -> c0 -> IO () printObj = (Ptr RawTSystem -> CString -> IO ()) -> TSystem -> 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 RawTSystem -> CString -> IO () c_tsystem_printobj saveAs :: forall c1 c0. (Castable c1 CString, Castable c0 CString) => TSystem -> c0 -> c1 -> IO () saveAs = (Ptr RawTSystem -> CString -> CString -> IO ()) -> TSystem -> 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 RawTSystem -> CString -> CString -> IO () c_tsystem_saveas write :: forall c0. Castable c0 CString => TSystem -> c0 -> CInt -> CInt -> IO CInt write = (Ptr RawTSystem -> CString -> CInt -> CInt -> IO CInt) -> TSystem -> 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 RawTSystem -> CString -> CInt -> CInt -> IO CInt c_tsystem_write write_ :: TSystem -> IO CInt write_ = (Ptr RawTSystem -> IO CInt) -> TSystem -> IO CInt forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTSystem -> IO CInt c_tsystem_write_ instance () => IDeletable (TSystem) where delete :: TSystem -> IO () delete = (Ptr RawTSystem -> IO ()) -> TSystem -> IO () forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTSystem -> IO () c_tsystem_delete