{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,
  ForeignFunctionInterface, IncoherentInstances,
  MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,
  TypeFamilies, TypeSynonymInstances #-}
module HROOT.Core.TAttPad.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.Core.TAttPad.RawType
import HROOT.Core.TAttPad.FFI
import HROOT.Core.TAttPad.Interface
import HROOT.Core.TAttPad.Cast
import HROOT.Core.TAttPad.RawType
import HROOT.Core.TAttPad.Cast
import HROOT.Core.TAttPad.Interface
import STD.Deletable.RawType
import STD.Deletable.Cast
import STD.Deletable.Interface

instance () => ITAttPad (TAttPad) where
        resetAttPad :: forall c0. Castable c0 CString => TAttPad -> c0 -> IO ()
resetAttPad = (Ptr RawTAttPad -> CString -> IO ()) -> TAttPad -> 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 RawTAttPad -> CString -> IO ()
c_tattpad_resetattpad
        setBottomMargin :: TAttPad -> CFloat -> IO ()
setBottomMargin = (Ptr RawTAttPad -> CFloat -> IO ()) -> TAttPad -> 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 RawTAttPad -> CFloat -> IO ()
c_tattpad_setbottommargin
        setLeftMargin :: TAttPad -> CFloat -> IO ()
setLeftMargin = (Ptr RawTAttPad -> CFloat -> IO ()) -> TAttPad -> 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 RawTAttPad -> CFloat -> IO ()
c_tattpad_setleftmargin
        setRightMargin :: TAttPad -> CFloat -> IO ()
setRightMargin = (Ptr RawTAttPad -> CFloat -> IO ()) -> TAttPad -> 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 RawTAttPad -> CFloat -> IO ()
c_tattpad_setrightmargin
        setTopMargin :: TAttPad -> CFloat -> IO ()
setTopMargin = (Ptr RawTAttPad -> CFloat -> IO ()) -> TAttPad -> 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 RawTAttPad -> CFloat -> IO ()
c_tattpad_settopmargin
        setMargin :: TAttPad -> CFloat -> CFloat -> CFloat -> CFloat -> IO ()
setMargin = (Ptr RawTAttPad -> CFloat -> CFloat -> CFloat -> CFloat -> IO ())
-> TAttPad -> 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 RawTAttPad -> CFloat -> CFloat -> CFloat -> CFloat -> IO ()
c_tattpad_setmargin
        setAfile :: TAttPad -> CFloat -> IO ()
setAfile = (Ptr RawTAttPad -> CFloat -> IO ()) -> TAttPad -> 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 RawTAttPad -> CFloat -> IO ()
c_tattpad_setafile
        setXfile :: TAttPad -> CFloat -> IO ()
setXfile = (Ptr RawTAttPad -> CFloat -> IO ()) -> TAttPad -> 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 RawTAttPad -> CFloat -> IO ()
c_tattpad_setxfile
        setYfile :: TAttPad -> CFloat -> IO ()
setYfile = (Ptr RawTAttPad -> CFloat -> IO ()) -> TAttPad -> 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 RawTAttPad -> CFloat -> IO ()
c_tattpad_setyfile
        setAstat :: TAttPad -> CFloat -> IO ()
setAstat = (Ptr RawTAttPad -> CFloat -> IO ()) -> TAttPad -> 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 RawTAttPad -> CFloat -> IO ()
c_tattpad_setastat
        setXstat :: TAttPad -> CFloat -> IO ()
setXstat = (Ptr RawTAttPad -> CFloat -> IO ()) -> TAttPad -> 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 RawTAttPad -> CFloat -> IO ()
c_tattpad_setxstat
        setYstat :: TAttPad -> CFloat -> IO ()
setYstat = (Ptr RawTAttPad -> CFloat -> IO ()) -> TAttPad -> 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 RawTAttPad -> CFloat -> IO ()
c_tattpad_setystat

instance () => IDeletable (TAttPad) where
        delete :: TAttPad -> IO ()
delete = (Ptr RawTAttPad -> IO ()) -> TAttPad -> IO ()
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO ()
c_tattpad_delete

newTAttPad :: () => IO TAttPad
newTAttPad :: IO TAttPad
newTAttPad = IO (Ptr RawTAttPad) -> IO TAttPad
forall a ca. Castable a ca => IO ca -> IO a
xformnull IO (Ptr RawTAttPad)
c_tattpad_newtattpad

tAttPad_GetBottomMargin :: () => TAttPad -> IO CFloat
tAttPad_GetBottomMargin :: TAttPad -> IO CFloat
tAttPad_GetBottomMargin = (Ptr RawTAttPad -> IO CFloat) -> TAttPad -> IO CFloat
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CFloat
c_tattpad_tattpad_getbottommargin

tAttPad_GetLeftMargin :: () => TAttPad -> IO CFloat
tAttPad_GetLeftMargin :: TAttPad -> IO CFloat
tAttPad_GetLeftMargin = (Ptr RawTAttPad -> IO CFloat) -> TAttPad -> IO CFloat
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CFloat
c_tattpad_tattpad_getleftmargin

tAttPad_GetRightMargin :: () => TAttPad -> IO CFloat
tAttPad_GetRightMargin :: TAttPad -> IO CFloat
tAttPad_GetRightMargin = (Ptr RawTAttPad -> IO CFloat) -> TAttPad -> IO CFloat
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CFloat
c_tattpad_tattpad_getrightmargin

tAttPad_GetTopMargin :: () => TAttPad -> IO CFloat
tAttPad_GetTopMargin :: TAttPad -> IO CFloat
tAttPad_GetTopMargin = (Ptr RawTAttPad -> IO CFloat) -> TAttPad -> IO CFloat
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CFloat
c_tattpad_tattpad_gettopmargin

tAttPad_GetAfile :: () => TAttPad -> IO CFloat
tAttPad_GetAfile :: TAttPad -> IO CFloat
tAttPad_GetAfile = (Ptr RawTAttPad -> IO CFloat) -> TAttPad -> IO CFloat
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CFloat
c_tattpad_tattpad_getafile

tAttPad_GetXfile :: () => TAttPad -> IO CFloat
tAttPad_GetXfile :: TAttPad -> IO CFloat
tAttPad_GetXfile = (Ptr RawTAttPad -> IO CFloat) -> TAttPad -> IO CFloat
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CFloat
c_tattpad_tattpad_getxfile

tAttPad_GetYfile :: () => TAttPad -> IO CFloat
tAttPad_GetYfile :: TAttPad -> IO CFloat
tAttPad_GetYfile = (Ptr RawTAttPad -> IO CFloat) -> TAttPad -> IO CFloat
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CFloat
c_tattpad_tattpad_getyfile

tAttPad_GetAstat :: () => TAttPad -> IO CFloat
tAttPad_GetAstat :: TAttPad -> IO CFloat
tAttPad_GetAstat = (Ptr RawTAttPad -> IO CFloat) -> TAttPad -> IO CFloat
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CFloat
c_tattpad_tattpad_getastat

tAttPad_GetXstat :: () => TAttPad -> IO CFloat
tAttPad_GetXstat :: TAttPad -> IO CFloat
tAttPad_GetXstat = (Ptr RawTAttPad -> IO CFloat) -> TAttPad -> IO CFloat
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CFloat
c_tattpad_tattpad_getxstat

tAttPad_GetYstat :: () => TAttPad -> IO CFloat
tAttPad_GetYstat :: TAttPad -> IO CFloat
tAttPad_GetYstat = (Ptr RawTAttPad -> IO CFloat) -> TAttPad -> IO CFloat
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CFloat
c_tattpad_tattpad_getystat

tAttPad_GetFrameFillColor :: () => TAttPad -> IO CShort
tAttPad_GetFrameFillColor :: TAttPad -> IO CShort
tAttPad_GetFrameFillColor
  = (Ptr RawTAttPad -> IO CShort) -> TAttPad -> IO CShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CShort
c_tattpad_tattpad_getframefillcolor

tAttPad_GetFrameLineColor :: () => TAttPad -> IO CShort
tAttPad_GetFrameLineColor :: TAttPad -> IO CShort
tAttPad_GetFrameLineColor
  = (Ptr RawTAttPad -> IO CShort) -> TAttPad -> IO CShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CShort
c_tattpad_tattpad_getframelinecolor

tAttPad_GetFrameFillStyle :: () => TAttPad -> IO CShort
tAttPad_GetFrameFillStyle :: TAttPad -> IO CShort
tAttPad_GetFrameFillStyle
  = (Ptr RawTAttPad -> IO CShort) -> TAttPad -> IO CShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CShort
c_tattpad_tattpad_getframefillstyle

tAttPad_GetFrameLineStyle :: () => TAttPad -> IO CShort
tAttPad_GetFrameLineStyle :: TAttPad -> IO CShort
tAttPad_GetFrameLineStyle
  = (Ptr RawTAttPad -> IO CShort) -> TAttPad -> IO CShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CShort
c_tattpad_tattpad_getframelinestyle

tAttPad_GetFrameLineWidth :: () => TAttPad -> IO CShort
tAttPad_GetFrameLineWidth :: TAttPad -> IO CShort
tAttPad_GetFrameLineWidth
  = (Ptr RawTAttPad -> IO CShort) -> TAttPad -> IO CShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CShort
c_tattpad_tattpad_getframelinewidth

tAttPad_GetFrameBorderSize :: () => TAttPad -> IO CShort
tAttPad_GetFrameBorderSize :: TAttPad -> IO CShort
tAttPad_GetFrameBorderSize
  = (Ptr RawTAttPad -> IO CShort) -> TAttPad -> IO CShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CShort
c_tattpad_tattpad_getframebordersize

tAttPad_GetFrameBorderMode :: () => TAttPad -> IO CShort
tAttPad_GetFrameBorderMode :: TAttPad -> IO CShort
tAttPad_GetFrameBorderMode
  = (Ptr RawTAttPad -> IO CShort) -> TAttPad -> IO CShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTAttPad -> IO CShort
c_tattpad_tattpad_getframebordermode

tAttPad_SetFrameFillColor :: () => TAttPad -> CShort -> IO ()
tAttPad_SetFrameFillColor :: TAttPad -> CShort -> IO ()
tAttPad_SetFrameFillColor
  = (Ptr RawTAttPad -> CShort -> IO ()) -> TAttPad -> 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 RawTAttPad -> CShort -> IO ()
c_tattpad_tattpad_setframefillcolor

tAttPad_SetFrameLineColor :: () => TAttPad -> CShort -> IO ()
tAttPad_SetFrameLineColor :: TAttPad -> CShort -> IO ()
tAttPad_SetFrameLineColor
  = (Ptr RawTAttPad -> CShort -> IO ()) -> TAttPad -> 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 RawTAttPad -> CShort -> IO ()
c_tattpad_tattpad_setframelinecolor

tAttPad_SetFrameFillStyle :: () => TAttPad -> CShort -> IO ()
tAttPad_SetFrameFillStyle :: TAttPad -> CShort -> IO ()
tAttPad_SetFrameFillStyle
  = (Ptr RawTAttPad -> CShort -> IO ()) -> TAttPad -> 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 RawTAttPad -> CShort -> IO ()
c_tattpad_tattpad_setframefillstyle

tAttPad_SetFrameLineStyle :: () => TAttPad -> CShort -> IO ()
tAttPad_SetFrameLineStyle :: TAttPad -> CShort -> IO ()
tAttPad_SetFrameLineStyle
  = (Ptr RawTAttPad -> CShort -> IO ()) -> TAttPad -> 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 RawTAttPad -> CShort -> IO ()
c_tattpad_tattpad_setframelinestyle

tAttPad_SetFrameLineWidth :: () => TAttPad -> CShort -> IO ()
tAttPad_SetFrameLineWidth :: TAttPad -> CShort -> IO ()
tAttPad_SetFrameLineWidth
  = (Ptr RawTAttPad -> CShort -> IO ()) -> TAttPad -> 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 RawTAttPad -> CShort -> IO ()
c_tattpad_tattpad_setframelinewidth

tAttPad_SetFrameBorderSize :: () => TAttPad -> CShort -> IO ()
tAttPad_SetFrameBorderSize :: TAttPad -> CShort -> IO ()
tAttPad_SetFrameBorderSize
  = (Ptr RawTAttPad -> CShort -> IO ()) -> TAttPad -> 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 RawTAttPad -> CShort -> IO ()
c_tattpad_tattpad_setframebordersize

tAttPad_SetFrameBorderMode :: () => TAttPad -> CInt -> IO ()
tAttPad_SetFrameBorderMode :: TAttPad -> CInt -> IO ()
tAttPad_SetFrameBorderMode
  = (Ptr RawTAttPad -> CInt -> IO ()) -> TAttPad -> 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 RawTAttPad -> CInt -> IO ()
c_tattpad_tattpad_setframebordermode