{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, OverlappingInstances, IncoherentInstances #-} module HROOT.Core.TAttFill.Implementation where import FFICXX.Runtime.Cast import HROOT.Core.TAttFill.RawType import HROOT.Core.TAttFill.FFI import HROOT.Core.TAttFill.Interface import HROOT.Core.TAttFill.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 ITAttFill TAttFill where setFillColor = xform1 c_tattfill_setfillcolor setFillStyle = xform1 c_tattfill_setfillstyle instance IDeletable TAttFill where delete = xform0 c_tattfill_delete instance ITAttFill (Exist TAttFill) where setFillColor (ETAttFill x) = setFillColor x setFillStyle (ETAttFill x) = setFillStyle x instance IDeletable (Exist TAttFill) where delete (ETAttFill x) = delete x newTAttFill :: CInt -> CInt -> IO TAttFill newTAttFill = xform1 c_tattfill_newtattfill instance FPtr (Exist TAttFill) where type Raw (Exist TAttFill) = RawTAttFill get_fptr (ETAttFill obj) = castForeignPtr (get_fptr obj) cast_fptr_to_obj fptr = ETAttFill (cast_fptr_to_obj (fptr :: ForeignPtr RawTAttFill) :: TAttFill)