module HROOT.Class.TAttLine.Implementation where
import HROOT.TypeCast
import HROOT.Class.TAttLine.RawType
import HROOT.Class.TAttLine.FFI
import HROOT.Class.TAttLine.Interface
import HROOT.Class.TAttLine.Cast
import HROOT.Class.Deletable.RawType
import HROOT.Class.Deletable.Cast
import HROOT.Class.Deletable.Interface
import Data.Word
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 :: Int -> Int -> Int -> IO TAttLine
newTAttLine = xform2 c_tattline_newtattline
tAttLineDistancetoLine :: TAttLine -> Int -> Int -> Double -> Double -> Double -> Double -> IO Int
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)