{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, OverlappingInstances, IncoherentInstances #-} module HROOT.Core.TAttCanvas.Implementation where import FFICXX.Runtime.Cast import HROOT.Core.TAttCanvas.RawType import HROOT.Core.TAttCanvas.FFI import HROOT.Core.TAttCanvas.Interface import HROOT.Core.TAttCanvas.Cast 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 ITAttCanvas TAttCanvas where instance IDeletable TAttCanvas where delete = xform0 c_tattcanvas_delete instance ITAttCanvas (Exist TAttCanvas) where instance IDeletable (Exist TAttCanvas) where delete (ETAttCanvas x) = delete x newTAttCanvas :: IO TAttCanvas newTAttCanvas = xformnull c_tattcanvas_newtattcanvas instance FPtr (Exist TAttCanvas) where type Raw (Exist TAttCanvas) = RawTAttCanvas get_fptr (ETAttCanvas obj) = castForeignPtr (get_fptr obj) cast_fptr_to_obj fptr = ETAttCanvas (cast_fptr_to_obj (fptr :: ForeignPtr RawTAttCanvas) :: TAttCanvas)