{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, OverlappingInstances, IncoherentInstances #-} module HROOT.Class.TAttBBox.Implementation where import HROOT.TypeCast import HROOT.Class.TAttBBox.RawType import HROOT.Class.TAttBBox.FFI import HROOT.Class.TAttBBox.Interface import HROOT.Class.TAttBBox.Cast import HROOT.Class.Deletable.RawType import HROOT.Class.Deletable.Cast import HROOT.Class.Deletable.Interface import Data.Word -- import Foreign.C -- import Foreign.Ptr import Foreign.ForeignPtr import System.IO.Unsafe instance ITAttBBox TAttBBox where instance IDeletable TAttBBox where delete = xform0 c_tattbbox_delete instance ITAttBBox (Exist TAttBBox) where instance IDeletable (Exist TAttBBox) where delete (ETAttBBox x) = delete x instance FPtr (Exist TAttBBox) where type Raw (Exist TAttBBox) = RawTAttBBox get_fptr (ETAttBBox obj) = castForeignPtr (get_fptr obj) cast_fptr_to_obj fptr = ETAttBBox (cast_fptr_to_obj (fptr :: ForeignPtr RawTAttBBox) :: TAttBBox)