module HROOT.Core.TAttMarker.Implementation where
import FFICXX.Runtime.Cast
import HROOT.Core.TAttMarker.RawType
import HROOT.Core.TAttMarker.FFI
import HROOT.Core.TAttMarker.Interface
import HROOT.Core.TAttMarker.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 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 :: CInt -> CInt -> CInt -> 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)