{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, OverlappingInstances, IncoherentInstances #-} module HROOT.Class.TAttFill.Implementation where import HROOT.TypeCast import HROOT.Class.TAttFill.RawType import HROOT.Class.TAttFill.FFI import HROOT.Class.TAttFill.Interface import HROOT.Class.TAttFill.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 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 :: Int -> Int -> 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)