{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, OverlappingInstances, IncoherentInstances #-} module HROOT.Core.TAttLine.Implementation where import FFICXX.Runtime.Cast import HROOT.Core.TAttLine.RawType import HROOT.Core.TAttLine.FFI import HROOT.Core.TAttLine.Interface import HROOT.Core.TAttLine.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 ITAttLine TAttLine where getLineColor = xform0 c_tattline_getlinecolor getLineStyle = xform0 c_tattline_getlinestyle getLineWidth = xform0 c_tattline_getlinewidth resetAttLine = xform1 c_tattline_resetattline setLineAttributes = xform0 c_tattline_setlineattributes setLineColor = xform1 c_tattline_setlinecolor setLineStyle = xform1 c_tattline_setlinestyle setLineWidth = xform1 c_tattline_setlinewidth instance IDeletable TAttLine where delete = xform0 c_tattline_delete instance ITAttLine (Exist TAttLine) where getLineColor (ETAttLine x) = getLineColor x getLineStyle (ETAttLine x) = getLineStyle x getLineWidth (ETAttLine x) = getLineWidth x resetAttLine (ETAttLine x) = resetAttLine x setLineAttributes (ETAttLine x) = setLineAttributes x setLineColor (ETAttLine x) = setLineColor x setLineStyle (ETAttLine x) = setLineStyle x setLineWidth (ETAttLine x) = setLineWidth x instance IDeletable (Exist TAttLine) where delete (ETAttLine x) = delete x newTAttLine :: CInt -> CInt -> CInt -> IO TAttLine newTAttLine = xform2 c_tattline_newtattline tAttLineDistancetoLine :: TAttLine -> CInt -> CInt -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt tAttLineDistancetoLine = xform6 c_tattline_tattlinedistancetoline instance FPtr (Exist TAttLine) where type Raw (Exist TAttLine) = RawTAttLine get_fptr (ETAttLine obj) = castForeignPtr (get_fptr obj) cast_fptr_to_obj fptr = ETAttLine (cast_fptr_to_obj (fptr :: ForeignPtr RawTAttLine) :: TAttLine)