-- GENERATED by C->Haskell Compiler, version 0.16.3 Crystal Seed, 24 Jan 2009 (Haskell) -- Edit the ORIGNAL .chs file instead! {-# LINE 1 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}{-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE TypeSynonymInstances #-} -- This source file is part of HGamer3D -- (A project to enable 3D game development in Haskell) -- For the latest info, see http://www.althainz.de/HGamer3D.html -- -- (c) 2011, 2012 Peter Althainz -- -- Licensed under the Apache License, Version 2.0 (the "License"); -- you may not use this file except in compliance with the License. -- You may obtain a copy of the License at -- -- http://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. -- -- ClassOgreRenderer.chs -- module HGamer3D.Bindings.CEGUI.ClassOgreRenderer 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.CEGUI.Utils {-# LINE 40 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} import HGamer3D.Bindings.CEGUI.ClassPtr {-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} import HGamer3D.Bindings.CEGUI.StructHG3DClass {-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} import HGamer3D.Bindings.CEGUI.EnumBlendMode {-# LINE 43 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | Convenience function that creates all the OgreCEGUI - Details: The created Renderer will use the default Ogre rendering window as the --default output surface. -- --This will create and initialise the following objects for you: --- CEGUI::OgreRenderer --- CEGUI::OgreResourceProvider --- CEGUI::OgreImageCodec --- CEGUI::System -- bootstrapSystem :: IO (HG3DClass) -- ^ bootstrapSystem = alloca $ \a1' -> bootstrapSystem'_ a1' >>= \res -> peek a1'>>= \a1'' -> return (a1'') {-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | Convenience function to cleanup the CEGUI - Details: This function will destroy the following objects for you: --- CEGUI::System --- CEGUI::OgreImageCodec --- CEGUI::OgreResourceProvider --- CEGUI::OgreRenderer -- destroySystem :: IO () -- ^ destroySystem = destroySystem'_ >>= \res -> return () {-# LINE 52 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | Create an OgreRendererOgre - Details: For this to succeed you must have initialised Ogre create :: IO (HG3DClass) -- ^ create = alloca $ \a1' -> create'_ a1' >>= \res -> peek a1'>>= \a1'' -> return (a1'') {-# LINE 56 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | destory an OgreRenderer destroy :: HG3DClass -- ^ renderer -> IO () -- ^ destroy a1 = withHG3DClass a1 $ \a1' -> destroy'_ a1' >>= \res -> return () {-# LINE 60 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | function to create a CEGUI::OgreResourceProvider createOgreResourceProvider :: IO (HG3DClass) -- ^ createOgreResourceProvider = alloca $ \a1' -> createOgreResourceProvider'_ a1' >>= \res -> peek a1'>>= \a1'' -> return (a1'') {-# LINE 64 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | function to destroy a CEGUI::OgreResourceProvider destroyOgreResourceProvider :: HG3DClass -- ^ rp -> IO () -- ^ destroyOgreResourceProvider a1 = withHG3DClass a1 $ \a1' -> destroyOgreResourceProvider'_ a1' >>= \res -> return () {-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | set whether CEGUI setRenderingEnabled :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> Bool -- ^ enabled -> IO () -- ^ setRenderingEnabled a1 a2 = withHG3DClass a1 $ \a1' -> let {a2' = fromBool a2} in setRenderingEnabled'_ a1' a2' >>= \res -> return () {-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | return whether CEGUI isRenderingEnabled :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO (Bool) -- ^ isRenderingEnabled a1 = withHG3DClass a1 $ \a1' -> alloca $ \a2' -> isRenderingEnabled'_ a1' a2' >>= \res -> peekBoolUtil a2'>>= \a2'' -> return (a2'') {-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | set the render states for the specified BlendMode. setupRenderingBlendMode :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> EnumBlendMode -- ^ mode -> Bool -- ^ force -> IO () -- ^ setupRenderingBlendMode a1 a2 a3 = withHG3DClass a1 $ \a1' -> let {a2' = cIntFromEnum a2} in let {a3' = fromBool a3} in setupRenderingBlendMode'_ a1' a2' a3' >>= \res -> return () {-# LINE 84 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | Controls whether rendering done by CEGUI - Details: This defaults to enabled and is required when using the default hook --that automatically calls CEGUI::System::renderGUI via a frame listener. --If you disable this setting, the automated rendering will also be --disabled, which is useful when you wish to perform your own calls to the --CEGUI::System::renderGUI function (and is the sole purpose for this --setting). -- setFrameControlExecutionEnabled :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> Bool -- ^ enabled -> IO () -- ^ setFrameControlExecutionEnabled a1 a2 = withHG3DClass a1 $ \a1' -> let {a2' = fromBool a2} in setFrameControlExecutionEnabled'_ a1' a2' >>= \res -> return () {-# LINE 89 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | Returns whether rendering done by CEGUI - Details: This defaults to enabled and is required when using the default hook --that automatically calls CEGUI::System::renderGUI via a frame listener. --If you disable this setting, the automated rendering will also be --disabled, which is useful when you wish to perform your own calls to the --CEGUI::System::renderGUI function (and is the sole purpose for this --setting). -- isFrameControlExecutionEnabled :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO (Bool) -- ^ isFrameControlExecutionEnabled a1 = withHG3DClass a1 $ \a1' -> alloca $ \a2' -> isFrameControlExecutionEnabled'_ a1' a2' >>= \res -> peekBoolUtil a2'>>= \a2'' -> return (a2'') {-# LINE 94 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | Sets all the required render states needed for CEGUI - Details: This is a low-level function intended for certain advanced concepts; in general it will not be required to call this function directly, since it is called automatically by the system when rendering is done. initialiseRenderStateSettings :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO () -- ^ initialiseRenderStateSettings a1 = withHG3DClass a1 $ \a1' -> initialiseRenderStateSettings'_ a1' >>= \res -> return () {-# LINE 98 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | Destroy all GeometryBuffer objects created by this Renderer destroyAllGeometryBuffers :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO () -- ^ destroyAllGeometryBuffers a1 = withHG3DClass a1 $ \a1' -> destroyAllGeometryBuffers'_ a1' >>= \res -> return () {-# LINE 102 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | Destory all TextureTarget objects created by this Renderer destroyAllTextureTargets :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO () -- ^ destroyAllTextureTargets a1 = withHG3DClass a1 $ \a1' -> destroyAllTextureTargets'_ a1' >>= \res -> return () {-# LINE 106 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | Destroy all Texture objects created by this Renderer destroyAllTextures :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO () -- ^ destroyAllTextures a1 = withHG3DClass a1 $ \a1' -> destroyAllTextures'_ a1' >>= \res -> return () {-# LINE 110 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | Perform any operations required to put the system into a state ready for rendering operations to begin. beginRendering :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO () -- ^ beginRendering a1 = withHG3DClass a1 $ \a1' -> beginRendering'_ a1' >>= \res -> return () {-# LINE 114 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | Perform any operations required to finalise rendering. endRendering :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO () -- ^ endRendering a1 = withHG3DClass a1 $ \a1' -> endRendering'_ a1' >>= \res -> return () {-# LINE 118 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | Return the pixel size of the maximum supported texture. getMaxTextureSize :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO (Int) -- ^ return value - Size of the maximum supported texture in pixels. getMaxTextureSize a1 = withHG3DClass a1 $ \a1' -> alloca $ \a2' -> getMaxTextureSize'_ a1' a2' >>= \res -> peekIntConv a2'>>= \a2'' -> return (a2'') {-# LINE 123 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} -- | Return identification string for the renderer module. getIdentifierString :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO (String) -- ^ return value - String object holding text that identifies the getIdentifierString a1 = withHG3DClass a1 $ \a1' -> alloc64k $ \a2' -> getIdentifierString'_ a1' a2' >>= \res -> peekCString a2'>>= \a2'' -> return (a2'') {-# LINE 128 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-} foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_bootstrapSystem" bootstrapSystem'_ :: ((HG3DClassPtr) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_destroySystem" destroySystem'_ :: (IO ()) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_create" create'_ :: ((HG3DClassPtr) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_destroy" destroy'_ :: ((HG3DClassPtr) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_createOgreResourceProvider" createOgreResourceProvider'_ :: ((HG3DClassPtr) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_destroyOgreResourceProvider" destroyOgreResourceProvider'_ :: ((HG3DClassPtr) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_setRenderingEnabled" setRenderingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_isRenderingEnabled" isRenderingEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_setupRenderingBlendMode" setupRenderingBlendMode'_ :: ((HG3DClassPtr) -> (CInt -> (CInt -> (IO ())))) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_setFrameControlExecutionEnabled" setFrameControlExecutionEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_isFrameControlExecutionEnabled" isFrameControlExecutionEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_initialiseRenderStateSettings" initialiseRenderStateSettings'_ :: ((HG3DClassPtr) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_destroyAllGeometryBuffers" destroyAllGeometryBuffers'_ :: ((HG3DClassPtr) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_destroyAllTextureTargets" destroyAllTextureTargets'_ :: ((HG3DClassPtr) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_destroyAllTextures" destroyAllTextures'_ :: ((HG3DClassPtr) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_beginRendering" beginRendering'_ :: ((HG3DClassPtr) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_endRendering" endRendering'_ :: ((HG3DClassPtr) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_getMaxTextureSize" getMaxTextureSize'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs.h cegui_ogrrndr_getIdentifierString" getIdentifierString'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))