module HROOT.Class.TAttMarker.Implementation where
import HROOT.TypeCast
import HROOT.Class.TAttMarker.RawType
import HROOT.Class.TAttMarker.FFI
import HROOT.Class.TAttMarker.Interface
import HROOT.Class.TAttMarker.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 ITAttMarker TAttMarker where
getMarkerColor = xform0 c_tattmarker_getmarkercolor
getMarkerStyle = xform0 c_tattmarker_getmarkerstyle
getMarkerSize = xform0 c_tattmarker_getmarkersize
resetAttMarker = xform1 c_tattmarker_resetattmarker
setMarkerAttributes = xform0 c_tattmarker_setmarkerattributes
setMarkerColor = xform1 c_tattmarker_setmarkercolor
setMarkerStyle = xform1 c_tattmarker_setmarkerstyle
setMarkerSize = xform1 c_tattmarker_setmarkersize
instance IDeletable TAttMarker where
delete = xform0 c_tattmarker_delete
instance ITAttMarker (Exist TAttMarker) where
getMarkerColor (ETAttMarker x) = getMarkerColor x
getMarkerStyle (ETAttMarker x) = getMarkerStyle x
getMarkerSize (ETAttMarker x) = getMarkerSize x
resetAttMarker (ETAttMarker x) = resetAttMarker x
setMarkerAttributes (ETAttMarker x) = setMarkerAttributes x
setMarkerColor (ETAttMarker x) = setMarkerColor x
setMarkerStyle (ETAttMarker x) = setMarkerStyle x
setMarkerSize (ETAttMarker x) = setMarkerSize x
instance IDeletable (Exist TAttMarker) where
delete (ETAttMarker x) = delete x
newTAttMarker :: Int -> Int -> Int -> IO TAttMarker
newTAttMarker = xform2 c_tattmarker_newtattmarker
instance FPtr (Exist TAttMarker) where
type Raw (Exist TAttMarker) = RawTAttMarker
get_fptr (ETAttMarker obj) = castForeignPtr (get_fptr obj)
cast_fptr_to_obj fptr = ETAttMarker (cast_fptr_to_obj (fptr :: ForeignPtr RawTAttMarker) :: TAttMarker)