{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, OverlappingInstances, IncoherentInstances #-} module HROOT.Class.TAtt3D.Implementation where import HROOT.TypeCast import HROOT.Class.TAtt3D.RawType import HROOT.Class.TAtt3D.FFI import HROOT.Class.TAtt3D.Interface import HROOT.Class.TAtt3D.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 ITAtt3D TAtt3D where instance IDeletable TAtt3D where delete = xform0 c_tatt3d_delete instance ITAtt3D (Exist TAtt3D) where instance IDeletable (Exist TAtt3D) where delete (ETAtt3D x) = delete x instance FPtr (Exist TAtt3D) where type Raw (Exist TAtt3D) = RawTAtt3D get_fptr (ETAtt3D obj) = castForeignPtr (get_fptr obj) cast_fptr_to_obj fptr = ETAtt3D (cast_fptr_to_obj (fptr :: ForeignPtr RawTAtt3D) :: TAtt3D)