packages feed

HROOT-core-0.9: src/HROOT/Core/TVirtualPad/Interface.hs

{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,
  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,
  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,
  TypeSynonymInstances #-}
module HROOT.Core.TVirtualPad.Interface where
import Data.Word
import Foreign.C
import Foreign.Ptr
import FFICXX.Runtime.Cast
import HROOT.Core.TVirtualPad.RawType
import HROOT.Core.TObject.Interface

class ITObject a => ITVirtualPad a where
        cd :: a -> CInt -> IO a
        
        divide_tvirtualpad ::
                             a -> CInt -> CInt -> CDouble -> CDouble -> CInt -> IO ()
        
        setLogx :: a -> CInt -> IO ()
        
        setLogy :: a -> CInt -> IO ()
        
        setLogz :: a -> CInt -> IO ()

upcastTVirtualPad ::
                  forall a . (FPtr a, ITVirtualPad a) => a -> TVirtualPad
upcastTVirtualPad h
  = let fh = get_fptr h
        fh2 :: Ptr RawTVirtualPad = castPtr fh
      in cast_fptr_to_obj fh2

downcastTVirtualPad ::
                    forall a . (FPtr a, ITVirtualPad a) => TVirtualPad -> a
downcastTVirtualPad h
  = let fh = get_fptr h
        fh2 = castPtr fh
      in cast_fptr_to_obj fh2