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)