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

instance () => IRectangle_t (Rectangle_t) where

instance () => IDeletable (Rectangle_t) where
        delete :: Rectangle_t -> IO ()
delete = (Ptr RawRectangle_t -> IO ()) -> Rectangle_t -> IO ()
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawRectangle_t -> IO ()
c_rectangle_t_delete

rectangle_t_fHeight_get :: () => Rectangle_t -> IO CUShort
rectangle_t_fHeight_get :: Rectangle_t -> IO CUShort
rectangle_t_fHeight_get = (Ptr RawRectangle_t -> IO CUShort) -> Rectangle_t -> IO CUShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawRectangle_t -> IO CUShort
c_rectangle_t_fheight_get

rectangle_t_fHeight_set :: () => Rectangle_t -> CUShort -> IO ()
rectangle_t_fHeight_set :: Rectangle_t -> CUShort -> IO ()
rectangle_t_fHeight_set = (Ptr RawRectangle_t -> CUShort -> IO ())
-> Rectangle_t -> CUShort -> 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 RawRectangle_t -> CUShort -> IO ()
c_rectangle_t_fheight_set

rectangle_t_fWidth_get :: () => Rectangle_t -> IO CUShort
rectangle_t_fWidth_get :: Rectangle_t -> IO CUShort
rectangle_t_fWidth_get = (Ptr RawRectangle_t -> IO CUShort) -> Rectangle_t -> IO CUShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawRectangle_t -> IO CUShort
c_rectangle_t_fwidth_get

rectangle_t_fWidth_set :: () => Rectangle_t -> CUShort -> IO ()
rectangle_t_fWidth_set :: Rectangle_t -> CUShort -> IO ()
rectangle_t_fWidth_set = (Ptr RawRectangle_t -> CUShort -> IO ())
-> Rectangle_t -> CUShort -> 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 RawRectangle_t -> CUShort -> IO ()
c_rectangle_t_fwidth_set

rectangle_t_fX_get :: () => Rectangle_t -> IO CShort
rectangle_t_fX_get :: Rectangle_t -> IO CShort
rectangle_t_fX_get = (Ptr RawRectangle_t -> IO CShort) -> Rectangle_t -> IO CShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawRectangle_t -> IO CShort
c_rectangle_t_fx_get

rectangle_t_fX_set :: () => Rectangle_t -> CShort -> IO ()
rectangle_t_fX_set :: Rectangle_t -> CShort -> IO ()
rectangle_t_fX_set = (Ptr RawRectangle_t -> CShort -> IO ())
-> Rectangle_t -> 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 RawRectangle_t -> CShort -> IO ()
c_rectangle_t_fx_set

rectangle_t_fY_get :: () => Rectangle_t -> IO CShort
rectangle_t_fY_get :: Rectangle_t -> IO CShort
rectangle_t_fY_get = (Ptr RawRectangle_t -> IO CShort) -> Rectangle_t -> IO CShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawRectangle_t -> IO CShort
c_rectangle_t_fy_get

rectangle_t_fY_set :: () => Rectangle_t -> CShort -> IO ()
rectangle_t_fY_set :: Rectangle_t -> CShort -> IO ()
rectangle_t_fY_set = (Ptr RawRectangle_t -> CShort -> IO ())
-> Rectangle_t -> 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 RawRectangle_t -> CShort -> IO ()
c_rectangle_t_fy_set