{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, OverlappingInstances, IncoherentInstances #-} module HROOT.Graf.TPad.Implementation where import FFICXX.Runtime.Cast import HROOT.Graf.TPad.RawType import HROOT.Graf.TPad.FFI import HROOT.Graf.TPad.Interface import HROOT.Graf.TPad.Cast import HROOT.Core.TClass.RawType import HROOT.Core.TClass.Cast import HROOT.Core.TClass.Interface import HROOT.Core.TVirtualPad.RawType import HROOT.Core.TVirtualPad.Cast import HROOT.Core.TVirtualPad.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 ITPad TPad where instance ITVirtualPad TPad where cd = xform1 c_tpad_cd divide_tvirtualpad = xform5 c_tpad_divide_tvirtualpad setLogx = xform1 c_tpad_setlogx setLogy = xform1 c_tpad_setlogy setLogz = xform1 c_tpad_setlogz instance ITObject TPad where draw = xform1 c_tpad_draw findObject = xform1 c_tpad_findobject getName = xform0 c_tpad_getname isA = xform0 c_tpad_isa paint = xform1 c_tpad_paint printObj = xform1 c_tpad_printobj saveAs = xform2 c_tpad_saveas write = xform3 c_tpad_write instance IDeletable TPad where delete = xform0 c_tpad_delete instance ITPad (Exist TPad) where instance ITVirtualPad (Exist TPad) where cd (ETPad x) a1 = return . ETPad =<< cd x a1 divide_tvirtualpad (ETPad x) = divide_tvirtualpad x setLogx (ETPad x) = setLogx x setLogy (ETPad x) = setLogy x setLogz (ETPad x) = setLogz x instance ITObject (Exist TPad) where draw (ETPad x) = draw x findObject (ETPad x) = findObject x getName (ETPad x) = getName x isA (ETPad x) = isA x paint (ETPad x) = paint x printObj (ETPad x) = printObj x saveAs (ETPad x) = saveAs x write (ETPad x) = write x instance IDeletable (Exist TPad) where delete (ETPad x) = delete x instance FPtr (Exist TPad) where type Raw (Exist TPad) = RawTPad get_fptr (ETPad obj) = castForeignPtr (get_fptr obj) cast_fptr_to_obj fptr = ETPad (cast_fptr_to_obj (fptr :: ForeignPtr RawTPad) :: TPad)