module HGamer3D.Bindings.Ogre.ClassRenderTarget where
import Foreign
import Foreign.Ptr
import Foreign.C
import HGamer3D.Data.HG3DClass
import HGamer3D.Data.Vector
import HGamer3D.Data.Colour
import HGamer3D.Data.Angle
import HGamer3D.Bindings.Ogre.Utils
import HGamer3D.Bindings.Ogre.ClassPtr
import HGamer3D.Bindings.Ogre.StructHG3DClass
delete :: HG3DClass -> IO ()
delete a1 =
  withHG3DClass a1 $ \a1' -> 
  delete'_ a1' >>= \res ->
  return ()
getName :: HG3DClass -> IO (String)
getName a1 =
  withHG3DClass a1 $ \a1' -> 
  alloc64k $ \a2' -> 
  getName'_ a1' a2' >>= \res ->
  peekCString  a2'>>= \a2'' -> 
  return (a2'')
getMetrics :: HG3DClass -> IO (Int, Int, Int)
getMetrics a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  alloca $ \a3' -> 
  alloca $ \a4' -> 
  getMetrics'_ a1' a2' a3' a4' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  peekIntConv  a3'>>= \a3'' -> 
  peekIntConv  a4'>>= \a4'' -> 
  return (a2'', a3'', a4'')
getWidth :: HG3DClass -> IO (Int)
getWidth a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getWidth'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
getHeight :: HG3DClass -> IO (Int)
getHeight a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getHeight'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
getColourDepth :: HG3DClass -> IO (Int)
getColourDepth a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getColourDepth'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
setDepthBufferPool :: HG3DClass -> Int -> IO ()
setDepthBufferPool a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  setDepthBufferPool'_ a1' a2' >>= \res ->
  return ()
getDepthBufferPool :: HG3DClass -> IO (Int)
getDepthBufferPool a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getDepthBufferPool'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
detachDepthBuffer :: HG3DClass -> IO ()
detachDepthBuffer a1 =
  withHG3DClass a1 $ \a1' -> 
  detachDepthBuffer'_ a1' >>= \res ->
  return ()
update :: HG3DClass -> Bool -> IO ()
update a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  update'_ a1' a2' >>= \res ->
  return ()
swapBuffers :: HG3DClass -> Bool -> IO ()
swapBuffers a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  swapBuffers'_ a1' a2' >>= \res ->
  return ()
addViewport :: HG3DClass -> HG3DClass -> Int -> Float -> Float -> Float -> Float -> IO (HG3DClass)
addViewport a1 a2 a3 a4 a5 a6 a7 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  let {a3' = fromIntegral a3} in 
  let {a4' = realToFrac a4} in 
  let {a5' = realToFrac a5} in 
  let {a6' = realToFrac a6} in 
  let {a7' = realToFrac a7} in 
  alloca $ \a8' -> 
  addViewport'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  peek  a8'>>= \a8'' -> 
  return (a8'')
getNumViewports :: HG3DClass -> IO (Int)
getNumViewports a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getNumViewports'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
getViewport :: HG3DClass -> Int -> IO (HG3DClass)
getViewport a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  alloca $ \a3' -> 
  getViewport'_ a1' a2' a3' >>= \res ->
  peek  a3'>>= \a3'' -> 
  return (a3'')
getViewportByZOrder :: HG3DClass -> Int -> IO (HG3DClass)
getViewportByZOrder a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  alloca $ \a3' -> 
  getViewportByZOrder'_ a1' a2' a3' >>= \res ->
  peek  a3'>>= \a3'' -> 
  return (a3'')
hasViewportWithZOrder :: HG3DClass -> Int -> IO (Bool)
hasViewportWithZOrder a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  alloca $ \a3' -> 
  hasViewportWithZOrder'_ a1' a2' a3' >>= \res ->
  peekBoolUtil  a3'>>= \a3'' -> 
  return (a3'')
removeViewport :: HG3DClass -> Int -> IO ()
removeViewport a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  removeViewport'_ a1' a2' >>= \res ->
  return ()
removeAllViewports :: HG3DClass -> IO ()
removeAllViewports a1 =
  withHG3DClass a1 $ \a1' -> 
  removeAllViewports'_ a1' >>= \res ->
  return ()
getStatistics :: HG3DClass -> IO (Float, Float, Float, Float)
getStatistics a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  alloca $ \a3' -> 
  alloca $ \a4' -> 
  alloca $ \a5' -> 
  getStatistics'_ a1' a2' a3' a4' a5' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  peekFloatConv  a3'>>= \a3'' -> 
  peekFloatConv  a4'>>= \a4'' -> 
  peekFloatConv  a5'>>= \a5'' -> 
  return (a2'', a3'', a4'', a5'')
getLastFPS :: HG3DClass -> IO (Float)
getLastFPS a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getLastFPS'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
getAverageFPS :: HG3DClass -> IO (Float)
getAverageFPS a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getAverageFPS'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
getBestFPS :: HG3DClass -> IO (Float)
getBestFPS a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getBestFPS'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
getWorstFPS :: HG3DClass -> IO (Float)
getWorstFPS a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getWorstFPS'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
getBestFrameTime :: HG3DClass -> IO (Float)
getBestFrameTime a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getBestFrameTime'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
getWorstFrameTime :: HG3DClass -> IO (Float)
getWorstFrameTime a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getWorstFrameTime'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
resetStatistics :: HG3DClass -> IO ()
resetStatistics a1 =
  withHG3DClass a1 $ \a1' -> 
  resetStatistics'_ a1' >>= \res ->
  return ()
removeAllListeners :: HG3DClass -> IO ()
removeAllListeners a1 =
  withHG3DClass a1 $ \a1' -> 
  removeAllListeners'_ a1' >>= \res ->
  return ()
isActive :: HG3DClass -> IO (Bool)
isActive a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  isActive'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
setActive :: HG3DClass -> Bool -> IO ()
setActive a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  setActive'_ a1' a2' >>= \res ->
  return ()
setAutoUpdated :: HG3DClass -> Bool -> IO ()
setAutoUpdated a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  setAutoUpdated'_ a1' a2' >>= \res ->
  return ()
isAutoUpdated :: HG3DClass -> IO (Bool)
isAutoUpdated a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  isAutoUpdated'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
writeContentsToFile :: HG3DClass -> String -> IO ()
writeContentsToFile a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  writeContentsToFile'_ a1' a2' >>= \res ->
  return ()
writeContentsToTimestampedFile :: HG3DClass -> String -> String -> IO (String)
writeContentsToTimestampedFile a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  withCString a3 $ \a3' -> 
  alloc64k $ \a4' -> 
  writeContentsToTimestampedFile'_ a1' a2' a3' a4' >>= \res ->
  peekCString  a4'>>= \a4'' -> 
  return (a4'')
requiresTextureFlipping :: HG3DClass -> IO (Bool)
requiresTextureFlipping a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  requiresTextureFlipping'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
getTriangleCount :: HG3DClass -> IO (Int)
getTriangleCount a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getTriangleCount'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
getBatchCount :: HG3DClass -> IO (Int)
getBatchCount a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getBatchCount'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
isPrimary :: HG3DClass -> IO (Bool)
isPrimary a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  isPrimary'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
isHardwareGammaEnabled :: HG3DClass -> IO (Bool)
isHardwareGammaEnabled a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  isHardwareGammaEnabled'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
getFSAA :: HG3DClass -> IO (Int)
getFSAA a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getFSAA'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
getFSAAHint :: HG3DClass -> IO (String)
getFSAAHint a1 =
  withHG3DClass a1 $ \a1' -> 
  alloc64k $ \a2' -> 
  getFSAAHint'_ a1' a2' >>= \res ->
  peekCString  a2'>>= \a2'' -> 
  return (a2'')
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_destruct"
  delete'_ :: ((HG3DClassPtr) -> (IO ()))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getName"
  getName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getMetrics"
  getMetrics'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> ((Ptr CUInt) -> ((Ptr CUInt) -> (IO ())))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getWidth"
  getWidth'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getHeight"
  getHeight'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getColourDepth"
  getColourDepth'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_setDepthBufferPool"
  setDepthBufferPool'_ :: ((HG3DClassPtr) -> (CUShort -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getDepthBufferPool"
  getDepthBufferPool'_ :: ((HG3DClassPtr) -> ((Ptr CUShort) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_detachDepthBuffer"
  detachDepthBuffer'_ :: ((HG3DClassPtr) -> (IO ()))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_update"
  update'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_swapBuffers"
  swapBuffers'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_addViewport"
  addViewport'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CInt -> (CFloat -> (CFloat -> (CFloat -> (CFloat -> ((HG3DClassPtr) -> (IO ())))))))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getNumViewports"
  getNumViewports'_ :: ((HG3DClassPtr) -> ((Ptr CUShort) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getViewport"
  getViewport'_ :: ((HG3DClassPtr) -> (CUShort -> ((HG3DClassPtr) -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getViewportByZOrder"
  getViewportByZOrder'_ :: ((HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_hasViewportWithZOrder"
  hasViewportWithZOrder'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_removeViewport"
  removeViewport'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_removeAllViewports"
  removeAllViewports'_ :: ((HG3DClassPtr) -> (IO ()))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getStatistics"
  getStatistics'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO ()))))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getLastFPS"
  getLastFPS'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getAverageFPS"
  getAverageFPS'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getBestFPS"
  getBestFPS'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getWorstFPS"
  getWorstFPS'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getBestFrameTime"
  getBestFrameTime'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getWorstFrameTime"
  getWorstFrameTime'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_resetStatistics"
  resetStatistics'_ :: ((HG3DClassPtr) -> (IO ()))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_removeAllListeners"
  removeAllListeners'_ :: ((HG3DClassPtr) -> (IO ()))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_isActive"
  isActive'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_setActive"
  setActive'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_setAutoUpdated"
  setAutoUpdated'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_isAutoUpdated"
  isAutoUpdated'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_writeContentsToFile"
  writeContentsToFile'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_writeContentsToTimestampedFile"
  writeContentsToTimestampedFile'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ())))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_requiresTextureFlipping"
  requiresTextureFlipping'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getTriangleCount"
  getTriangleCount'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getBatchCount"
  getBatchCount'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_isPrimary"
  isPrimary'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_isHardwareGammaEnabled"
  isHardwareGammaEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getFSAA"
  getFSAA'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getFSAAHint"
  getFSAAHint'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))