{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, OverlappingInstances, IncoherentInstances #-} module HROOT.Core.TAttBBox.Implementation where import FFICXX.Runtime.Cast import HROOT.Core.TAttBBox.RawType import HROOT.Core.TAttBBox.FFI import HROOT.Core.TAttBBox.Interface import HROOT.Core.TAttBBox.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 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)