{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, OverlappingInstances, IncoherentInstances #-} module HROOT.Graf.TCanvas.Implementation where import FFICXX.Runtime.Cast import HROOT.Graf.TCanvas.RawType import HROOT.Graf.TCanvas.FFI import HROOT.Graf.TCanvas.Interface import HROOT.Graf.TCanvas.Cast import HROOT.Core.TClass.RawType import HROOT.Core.TClass.Cast import HROOT.Core.TClass.Interface import HROOT.Graf.TPad.RawType import HROOT.Graf.TPad.Cast import HROOT.Graf.TPad.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 ITCanvas TCanvas where instance ITPad TCanvas where instance ITVirtualPad TCanvas where cd = xform1 c_tcanvas_cd divide_tvirtualpad = xform5 c_tcanvas_divide_tvirtualpad setLogx = xform1 c_tcanvas_setlogx setLogy = xform1 c_tcanvas_setlogy setLogz = xform1 c_tcanvas_setlogz instance ITObject TCanvas where draw = xform1 c_tcanvas_draw findObject = xform1 c_tcanvas_findobject getName = xform0 c_tcanvas_getname isA = xform0 c_tcanvas_isa paint = xform1 c_tcanvas_paint printObj = xform1 c_tcanvas_printobj saveAs = xform2 c_tcanvas_saveas write = xform3 c_tcanvas_write instance IDeletable TCanvas where delete = xform0 c_tcanvas_delete instance ITCanvas (Exist TCanvas) where instance ITPad (Exist TCanvas) where instance ITVirtualPad (Exist TCanvas) where cd (ETCanvas x) a1 = return . ETCanvas =<< cd x a1 divide_tvirtualpad (ETCanvas x) = divide_tvirtualpad x setLogx (ETCanvas x) = setLogx x setLogy (ETCanvas x) = setLogy x setLogz (ETCanvas x) = setLogz x instance ITObject (Exist TCanvas) where draw (ETCanvas x) = draw x findObject (ETCanvas x) = findObject x getName (ETCanvas x) = getName x isA (ETCanvas x) = isA x paint (ETCanvas x) = paint x printObj (ETCanvas x) = printObj x saveAs (ETCanvas x) = saveAs x write (ETCanvas x) = write x instance IDeletable (Exist TCanvas) where delete (ETCanvas x) = delete x newTCanvas :: CString -> CString -> CInt -> CInt -> IO TCanvas newTCanvas = xform3 c_tcanvas_newtcanvas instance FPtr (Exist TCanvas) where type Raw (Exist TCanvas) = RawTCanvas get_fptr (ETCanvas obj) = castForeignPtr (get_fptr obj) cast_fptr_to_obj fptr = ETCanvas (cast_fptr_to_obj (fptr :: ForeignPtr RawTCanvas) :: TCanvas)