{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances, MultiParamTypeClasses, OverlappingInstances, TemplateHaskell, TypeFamilies, TypeSynonymInstances #-} module HROOT.Graf.TPad.Implementation where import Data.Monoid import Data.Word import Data.Int import Foreign.C import Foreign.Ptr import Language.Haskell.TH import Language.Haskell.TH.Syntax import System.IO.Unsafe import FFICXX.Runtime.Cast import FFICXX.Runtime.CodeGen.Cxx import FFICXX.Runtime.TH import HROOT.Graf.TPad.RawType import HROOT.Graf.TPad.FFI import HROOT.Graf.TPad.Interface import HROOT.Graf.TPad.Cast import HROOT.Graf.TPad.RawType import HROOT.Graf.TPad.Cast import HROOT.Graf.TPad.Interface import HROOT.Core.TClass.RawType import HROOT.Core.TClass.Cast import HROOT.Core.TClass.Interface import HROOT.Hist.TH1F.RawType import HROOT.Hist.TH1F.Cast import HROOT.Hist.TH1F.Interface import HROOT.Graf.TView.RawType import HROOT.Graf.TView.Cast import HROOT.Graf.TView.Interface import HROOT.Core.TVirtualPad.RawType import HROOT.Core.TVirtualPad.Cast import HROOT.Core.TVirtualPad.Interface import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface import HROOT.Core.TAttLine.RawType import HROOT.Core.TAttLine.Cast import HROOT.Core.TAttLine.Interface import HROOT.Core.TAttFill.RawType import HROOT.Core.TAttFill.Cast import HROOT.Core.TAttFill.Interface import HROOT.Core.TAttPad.RawType import HROOT.Core.TAttPad.Cast import HROOT.Core.TAttPad.Interface import HROOT.Core.TQObject.RawType import HROOT.Core.TQObject.Cast import HROOT.Core.TQObject.Interface import STD.Deletable.RawType import STD.Deletable.Cast import STD.Deletable.Interface instance () => ITPad (TPad) where drawFrame :: forall c0. Castable c0 CString => TPad -> CDouble -> CDouble -> CDouble -> CDouble -> c0 -> IO TH1F drawFrame = (Ptr RawTPad -> CDouble -> CDouble -> CDouble -> CDouble -> CString -> IO (Ptr RawTH1F)) -> TPad -> CDouble -> CDouble -> CDouble -> CDouble -> c0 -> IO TH1F forall a ca x1 cx1 x2 cx2 x3 cx3 x4 cx4 x5 cx5 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable x5 cx5, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> cx5 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> x5 -> IO y xform5 Ptr RawTPad -> CDouble -> CDouble -> CDouble -> CDouble -> CString -> IO (Ptr RawTH1F) c_tpad_drawframe getView :: TPad -> IO TView getView = (Ptr RawTPad -> IO (Ptr RawTView)) -> TPad -> IO TView forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTPad -> IO (Ptr RawTView) c_tpad_getview setView0 :: TPad -> IO () setView0 = (Ptr RawTPad -> IO ()) -> TPad -> IO () forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTPad -> IO () c_tpad_setview0 setView :: forall c0. (ITView c0, FPtr c0) => TPad -> c0 -> IO () setView = (Ptr RawTPad -> Ptr RawTView -> IO ()) -> TPad -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> Ptr RawTView -> IO () c_tpad_setview instance () => ITVirtualPad (TPad) where cd :: TPad -> CInt -> IO TPad cd = (Ptr RawTPad -> CInt -> IO (Ptr RawTPad)) -> TPad -> CInt -> IO TPad forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CInt -> IO (Ptr RawTPad) c_tpad_cd divide_tvirtualpad :: TPad -> CInt -> CInt -> CFloat -> CFloat -> CInt -> IO () divide_tvirtualpad = (Ptr RawTPad -> CInt -> CInt -> CFloat -> CFloat -> CInt -> IO ()) -> TPad -> CInt -> CInt -> CFloat -> CFloat -> CInt -> IO () forall a ca x1 cx1 x2 cx2 x3 cx3 x4 cx4 x5 cx5 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable x5 cx5, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> cx5 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> x5 -> IO y xform5 Ptr RawTPad -> CInt -> CInt -> CFloat -> CFloat -> CInt -> IO () c_tpad_divide_tvirtualpad modified :: TPad -> CBool -> IO () modified = (Ptr RawTPad -> CBool -> IO ()) -> TPad -> CBool -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CBool -> IO () c_tpad_modified range :: TPad -> CDouble -> CDouble -> CDouble -> CDouble -> IO () range = (Ptr RawTPad -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()) -> TPad -> CDouble -> CDouble -> CDouble -> CDouble -> IO () forall a ca x1 cx1 x2 cx2 x3 cx3 x4 cx4 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> IO y xform4 Ptr RawTPad -> CDouble -> CDouble -> CDouble -> CDouble -> IO () c_tpad_range setLogx :: TPad -> CInt -> IO () setLogx = (Ptr RawTPad -> CInt -> IO ()) -> TPad -> CInt -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CInt -> IO () c_tpad_setlogx setLogy :: TPad -> CInt -> IO () setLogy = (Ptr RawTPad -> CInt -> IO ()) -> TPad -> CInt -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CInt -> IO () c_tpad_setlogy setLogz :: TPad -> CInt -> IO () setLogz = (Ptr RawTPad -> CInt -> IO ()) -> TPad -> CInt -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CInt -> IO () c_tpad_setlogz update :: TPad -> IO () update = (Ptr RawTPad -> IO ()) -> TPad -> IO () forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTPad -> IO () c_tpad_update instance () => ITObject (TPad) where clear :: forall c0. Castable c0 CString => TPad -> c0 -> IO () clear = (Ptr RawTPad -> CString -> IO ()) -> TPad -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CString -> IO () c_tpad_clear draw :: forall c0. Castable c0 CString => TPad -> c0 -> IO () draw = (Ptr RawTPad -> CString -> IO ()) -> TPad -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CString -> IO () c_tpad_draw findObject :: forall c0. Castable c0 CString => TPad -> c0 -> IO TObject findObject = (Ptr RawTPad -> CString -> IO (Ptr RawTObject)) -> TPad -> c0 -> IO TObject forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CString -> IO (Ptr RawTObject) c_tpad_findobject getName :: TPad -> IO CString getName = (Ptr RawTPad -> IO CString) -> TPad -> IO CString forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTPad -> IO CString c_tpad_getname isA :: TPad -> IO TClass isA = (Ptr RawTPad -> IO (Ptr RawTClass)) -> TPad -> IO TClass forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTPad -> IO (Ptr RawTClass) c_tpad_isa paint :: forall c0. Castable c0 CString => TPad -> c0 -> IO () paint = (Ptr RawTPad -> CString -> IO ()) -> TPad -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CString -> IO () c_tpad_paint printObj :: forall c0. Castable c0 CString => TPad -> c0 -> IO () printObj = (Ptr RawTPad -> CString -> IO ()) -> TPad -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CString -> IO () c_tpad_printobj saveAs :: forall c1 c0. (Castable c1 CString, Castable c0 CString) => TPad -> c0 -> c1 -> IO () saveAs = (Ptr RawTPad -> CString -> CString -> IO ()) -> TPad -> c0 -> c1 -> IO () forall a ca x1 cx1 x2 cx2 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) => (ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y xform2 Ptr RawTPad -> CString -> CString -> IO () c_tpad_saveas write :: forall c0. Castable c0 CString => TPad -> c0 -> CInt -> CInt -> IO CInt write = (Ptr RawTPad -> CString -> CInt -> CInt -> IO CInt) -> TPad -> c0 -> CInt -> CInt -> IO CInt forall a ca x1 cx1 x2 cx2 x3 cx3 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> IO cy) -> a -> x1 -> x2 -> x3 -> IO y xform3 Ptr RawTPad -> CString -> CInt -> CInt -> IO CInt c_tpad_write write_ :: TPad -> IO CInt write_ = (Ptr RawTPad -> IO CInt) -> TPad -> IO CInt forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTPad -> IO CInt c_tpad_write_ instance () => ITAttLine (TPad) where getLineColor :: TPad -> IO CShort getLineColor = (Ptr RawTPad -> IO CShort) -> TPad -> IO CShort forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTPad -> IO CShort c_tpad_getlinecolor getLineStyle :: TPad -> IO CShort getLineStyle = (Ptr RawTPad -> IO CShort) -> TPad -> IO CShort forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTPad -> IO CShort c_tpad_getlinestyle getLineWidth :: TPad -> IO CShort getLineWidth = (Ptr RawTPad -> IO CShort) -> TPad -> IO CShort forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTPad -> IO CShort c_tpad_getlinewidth resetAttLine :: forall c0. Castable c0 CString => TPad -> c0 -> IO () resetAttLine = (Ptr RawTPad -> CString -> IO ()) -> TPad -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CString -> IO () c_tpad_resetattline setLineAttributes :: TPad -> IO () setLineAttributes = (Ptr RawTPad -> IO ()) -> TPad -> IO () forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTPad -> IO () c_tpad_setlineattributes setLineColor :: TPad -> CShort -> IO () setLineColor = (Ptr RawTPad -> CShort -> IO ()) -> TPad -> CShort -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CShort -> IO () c_tpad_setlinecolor setLineStyle :: TPad -> CShort -> IO () setLineStyle = (Ptr RawTPad -> CShort -> IO ()) -> TPad -> CShort -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CShort -> IO () c_tpad_setlinestyle setLineWidth :: TPad -> CShort -> IO () setLineWidth = (Ptr RawTPad -> CShort -> IO ()) -> TPad -> CShort -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CShort -> IO () c_tpad_setlinewidth instance () => ITAttFill (TPad) where setFillColor :: TPad -> CInt -> IO () setFillColor = (Ptr RawTPad -> CInt -> IO ()) -> TPad -> CInt -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CInt -> IO () c_tpad_setfillcolor setFillStyle :: TPad -> CInt -> IO () setFillStyle = (Ptr RawTPad -> CInt -> IO ()) -> TPad -> CInt -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CInt -> IO () c_tpad_setfillstyle instance () => ITAttPad (TPad) where resetAttPad :: forall c0. Castable c0 CString => TPad -> c0 -> IO () resetAttPad = (Ptr RawTPad -> CString -> IO ()) -> TPad -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CString -> IO () c_tpad_resetattpad setBottomMargin :: TPad -> CFloat -> IO () setBottomMargin = (Ptr RawTPad -> CFloat -> IO ()) -> TPad -> CFloat -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CFloat -> IO () c_tpad_setbottommargin setLeftMargin :: TPad -> CFloat -> IO () setLeftMargin = (Ptr RawTPad -> CFloat -> IO ()) -> TPad -> CFloat -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CFloat -> IO () c_tpad_setleftmargin setRightMargin :: TPad -> CFloat -> IO () setRightMargin = (Ptr RawTPad -> CFloat -> IO ()) -> TPad -> CFloat -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CFloat -> IO () c_tpad_setrightmargin setTopMargin :: TPad -> CFloat -> IO () setTopMargin = (Ptr RawTPad -> CFloat -> IO ()) -> TPad -> CFloat -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CFloat -> IO () c_tpad_settopmargin setMargin :: TPad -> CFloat -> CFloat -> CFloat -> CFloat -> IO () setMargin = (Ptr RawTPad -> CFloat -> CFloat -> CFloat -> CFloat -> IO ()) -> TPad -> CFloat -> CFloat -> CFloat -> CFloat -> IO () forall a ca x1 cx1 x2 cx2 x3 cx3 x4 cx4 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> IO y xform4 Ptr RawTPad -> CFloat -> CFloat -> CFloat -> CFloat -> IO () c_tpad_setmargin setAfile :: TPad -> CFloat -> IO () setAfile = (Ptr RawTPad -> CFloat -> IO ()) -> TPad -> CFloat -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CFloat -> IO () c_tpad_setafile setXfile :: TPad -> CFloat -> IO () setXfile = (Ptr RawTPad -> CFloat -> IO ()) -> TPad -> CFloat -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CFloat -> IO () c_tpad_setxfile setYfile :: TPad -> CFloat -> IO () setYfile = (Ptr RawTPad -> CFloat -> IO ()) -> TPad -> CFloat -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CFloat -> IO () c_tpad_setyfile setAstat :: TPad -> CFloat -> IO () setAstat = (Ptr RawTPad -> CFloat -> IO ()) -> TPad -> CFloat -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CFloat -> IO () c_tpad_setastat setXstat :: TPad -> CFloat -> IO () setXstat = (Ptr RawTPad -> CFloat -> IO ()) -> TPad -> CFloat -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CFloat -> IO () c_tpad_setxstat setYstat :: TPad -> CFloat -> IO () setYstat = (Ptr RawTPad -> CFloat -> IO ()) -> TPad -> CFloat -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawTPad -> CFloat -> IO () c_tpad_setystat instance () => ITQObject (TPad) where instance () => IDeletable (TPad) where delete :: TPad -> IO () delete = (Ptr RawTPad -> IO ()) -> TPad -> IO () forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawTPad -> IO () c_tpad_delete newTPad :: (Castable c1 CString, Castable c0 CString) => c0 -> c1 -> CDouble -> CDouble -> CDouble -> CDouble -> IO TPad newTPad :: forall c1 c0. (Castable c1 CString, Castable c0 CString) => c0 -> c1 -> CDouble -> CDouble -> CDouble -> CDouble -> IO TPad newTPad = (CString -> CString -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTPad)) -> c0 -> c1 -> CDouble -> CDouble -> CDouble -> CDouble -> IO TPad forall a ca x1 cx1 x2 cx2 x3 cx3 x4 cx4 x5 cx5 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable x5 cx5, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> cx5 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> x5 -> IO y xform5 CString -> CString -> CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTPad) c_tpad_newtpad