packages feed

HROOT-hist-0.10.0.1: src/HROOT/Hist/TGraph2D/Interface.hs

{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,
  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,
  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,
  TypeSynonymInstances #-}
module HROOT.Hist.TGraph2D.Interface where
import Data.Word
import Data.Int
import Foreign.C
import Foreign.Ptr
import FFICXX.Runtime.Cast
import HROOT.Hist.TGraph2D.RawType
import HROOT.Core.TNamed.Interface
import HROOT.Core.TAttLine.Interface
import HROOT.Core.TAttFill.Interface
import HROOT.Core.TAttMarker.Interface

class (ITNamed a, ITAttLine a, ITAttFill a, ITAttMarker a) =>
      ITGraph2D a where
        setN :: () => a -> CInt -> IO ()
        
        setPointXYZ ::
                      () => a -> CInt -> CDouble -> CDouble -> CDouble -> IO ()

upcastTGraph2D :: forall a . (FPtr a, ITGraph2D a) => a -> TGraph2D
upcastTGraph2D h
  = let fh = get_fptr h
        fh2 :: Ptr RawTGraph2D = castPtr fh
      in cast_fptr_to_obj fh2

downcastTGraph2D ::
                 forall a . (FPtr a, ITGraph2D a) => TGraph2D -> a
downcastTGraph2D h
  = let fh = get_fptr h
        fh2 = castPtr fh
      in cast_fptr_to_obj fh2