diff --git a/HGamer3D-CEGUI-Binding.cabal b/HGamer3D-CEGUI-Binding.cabal
--- a/HGamer3D-CEGUI-Binding.cabal
+++ b/HGamer3D-CEGUI-Binding.cabal
@@ -1,13 +1,11 @@
 Name:                HGamer3D-CEGUI-Binding
-Version:             0.2.1
-Synopsis:            Windows Game Engine for the Haskell Programmer - CEGUI  Bindings
+Version:             0.3.0
+Synopsis:            A Game Engine for the Haskell Programmer - CEGUI  Bindings
 Description:         
-   HGamer3D is a game engine for developing 3D games in the programming 
-   language Haskell. The game engine uses available libraries for 3D graphics, 
-   sound, input device handling, gui programming and other areas and make
-   those functions available for the Haskell programmer by providing  
-   a Haskell API on top of that. HGamer3D is available on Windows only.
-   
+   HGamer3D is a game engine for developing 3D games in the programming 
+   language Haskell. This module provides the CEGUI Bindings.
+   HGamer3D-CEGUI-Binding is available on Windows and Linux.
+   
 
 	
 License:             OtherLicense
@@ -18,12 +16,12 @@
 Cabal-Version:       >=1.4
 Homepage:            http://www.hgamer3d.org
 Category:            Game Engine, GUI
-Extra-source-files:  Setup.hs, include/CEGUIDllDefines.h, include/ClassCheckbox.h, include/ClassCombobox.h, include/ClassComboDropList.h, include/ClassDefaultLogger.h, include/ClassDefaultResourceProvider.h, include/ClassDragContainer.h, include/ClassEditbox.h, include/ClassEventArgs.h, include/ClassEventSet.h, include/ClassFont.h, include/ClassFontManager.h, include/ClassFrameWindow.h, include/ClassHG3DEventController.h, include/ClassHG3DEventStaticFunctions.h, include/ClassHG3DListboxStaticFunctions.h, include/ClassHG3DWindowStaticFunctions.h, include/ClassImageCodec.h, include/ClassImageset.h, include/ClassItemEntry.h, include/ClassItemListbox.h, include/ClassListbox.h, include/ClassListboxItem.h, include/ClassListboxTextItem.h, include/ClassListHeader.h, include/ClassListHeaderSegment.h, include/ClassLogger.h, include/ClassMenuBase.h, include/ClassMenuItem.h, include/ClassMultiColumnList.h, include/ClassMultiLineEditbox.h, include/ClassOgreRenderer.h, include/ClassOgreResourceProvider.h, include/ClassProgressBar.h, include/ClassPropertySet.h, include/ClassPtr.h, include/ClassPushButton.h, include/ClassRadioButton.h, include/ClassRenderer.h, include/ClassResourceProvider.h, include/ClassScheme.h, include/ClassSchemeManager.h, include/ClassScriptFunctor.h, include/ClassScriptModule.h, include/ClassScrollablePane.h, include/ClassScrollbar.h, include/ClassScrolledContainer.h, include/ClassScrolledItemListBase.h, include/ClassSlider.h, include/ClassSpinner.h, include/ClassSystem.h, include/ClassSystemHG3D.h, include/ClassTabButton.h, include/ClassThumb.h, include/ClassTooltip.h, include/ClassTree.h, include/ClassWidgetLookManager.h, include/ClassWindow.h, include/ClassWindowManager.h, include/ClassWindowManagerHG3D.h, include/ClassXMLParser.h, include/EnumBlendMode.h, include/EnumFWSizingLocation.h, include/EnumHorizontalAlignment.h, include/EnumKeyScan.h, include/EnumLoggingLevel.h, include/EnumMouseButton.h, include/EnumQuadSplitMode.h, include/EnumSelectionMode.h, include/EnumSortDirection.h, include/EnumSystemKey.h, include/EnumTabPanePosition.h, include/EnumTextInputMode.h, include/EnumTipState.h, include/EnumVerticalAlignment.h, include/EnumWindowUpdateMode.h, include/StructHG3DClass.h
+Extra-source-files:  Setup.hs, include/SystemHG3D.h, include/quaternion_struct.h, include/WindowManagerHG3D.h, include/sharedptr_struct.h, include/radian_struct.h, include/vector2_struct.h, include/vector4_struct.h, include/hg3dstruct.h, include/vector3_struct.h, include/colorvalue_struct.h, include/degree_struct.h
 
 Library
-  Build-Depends:     base >= 3 && < 5,  HGamer3D-Data >= 0.2.0
+  Build-Depends:     base >= 3 && < 5,  HGamer3D-Data >= 0.3.0 && < 0.4.0
 
-  Exposed-modules:   HGamer3D.Bindings.CEGUI.Utils, HGamer3D.Bindings.CEGUI.ClassPtr, HGamer3D.Bindings.CEGUI.StructHG3DClass, HGamer3D.Bindings.CEGUI.EnumBlendMode, HGamer3D.Bindings.CEGUI.EnumFWSizingLocation, HGamer3D.Bindings.CEGUI.EnumHorizontalAlignment, HGamer3D.Bindings.CEGUI.EnumKeyScan, HGamer3D.Bindings.CEGUI.EnumLoggingLevel, HGamer3D.Bindings.CEGUI.EnumMouseButton, HGamer3D.Bindings.CEGUI.EnumQuadSplitMode, HGamer3D.Bindings.CEGUI.EnumSelectionMode, HGamer3D.Bindings.CEGUI.EnumSortDirection, HGamer3D.Bindings.CEGUI.EnumSystemKey, HGamer3D.Bindings.CEGUI.EnumTabPanePosition, HGamer3D.Bindings.CEGUI.EnumTextInputMode, HGamer3D.Bindings.CEGUI.EnumTipState, HGamer3D.Bindings.CEGUI.EnumVerticalAlignment, HGamer3D.Bindings.CEGUI.EnumWindowUpdateMode, HGamer3D.Bindings.CEGUI.ClassCheckbox, HGamer3D.Bindings.CEGUI.ClassCombobox, HGamer3D.Bindings.CEGUI.ClassComboDropList, HGamer3D.Bindings.CEGUI.ClassDefaultLogger, HGamer3D.Bindings.CEGUI.ClassDefaultResourceProvider, HGamer3D.Bindings.CEGUI.ClassDragContainer, HGamer3D.Bindings.CEGUI.ClassEditbox, HGamer3D.Bindings.CEGUI.ClassEventArgs, HGamer3D.Bindings.CEGUI.ClassEventSet, HGamer3D.Bindings.CEGUI.ClassFont, HGamer3D.Bindings.CEGUI.ClassFontManager, HGamer3D.Bindings.CEGUI.ClassFrameWindow, HGamer3D.Bindings.CEGUI.ClassHG3DEventController, HGamer3D.Bindings.CEGUI.ClassHG3DEventStaticFunctions, HGamer3D.Bindings.CEGUI.ClassHG3DListboxStaticFunctions, HGamer3D.Bindings.CEGUI.ClassHG3DWindowStaticFunctions, HGamer3D.Bindings.CEGUI.ClassImageCodec, HGamer3D.Bindings.CEGUI.ClassImageset, HGamer3D.Bindings.CEGUI.ClassItemEntry, HGamer3D.Bindings.CEGUI.ClassItemListbox, HGamer3D.Bindings.CEGUI.ClassListbox, HGamer3D.Bindings.CEGUI.ClassListboxItem, HGamer3D.Bindings.CEGUI.ClassListboxTextItem, HGamer3D.Bindings.CEGUI.ClassListHeader, HGamer3D.Bindings.CEGUI.ClassListHeaderSegment, HGamer3D.Bindings.CEGUI.ClassLogger, HGamer3D.Bindings.CEGUI.ClassMenuBase, HGamer3D.Bindings.CEGUI.ClassMenuItem, HGamer3D.Bindings.CEGUI.ClassMultiColumnList, HGamer3D.Bindings.CEGUI.ClassMultiLineEditbox, HGamer3D.Bindings.CEGUI.ClassOgreRenderer, HGamer3D.Bindings.CEGUI.ClassOgreResourceProvider, HGamer3D.Bindings.CEGUI.ClassProgressBar, HGamer3D.Bindings.CEGUI.ClassPropertySet, HGamer3D.Bindings.CEGUI.ClassPushButton, HGamer3D.Bindings.CEGUI.ClassRadioButton, HGamer3D.Bindings.CEGUI.ClassRenderer, HGamer3D.Bindings.CEGUI.ClassResourceProvider, HGamer3D.Bindings.CEGUI.ClassScheme, HGamer3D.Bindings.CEGUI.ClassSchemeManager, HGamer3D.Bindings.CEGUI.ClassScriptFunctor, HGamer3D.Bindings.CEGUI.ClassScriptModule, HGamer3D.Bindings.CEGUI.ClassScrollablePane, HGamer3D.Bindings.CEGUI.ClassScrollbar, HGamer3D.Bindings.CEGUI.ClassScrolledContainer, HGamer3D.Bindings.CEGUI.ClassScrolledItemListBase, HGamer3D.Bindings.CEGUI.ClassSlider, HGamer3D.Bindings.CEGUI.ClassSpinner, HGamer3D.Bindings.CEGUI.ClassSystem, HGamer3D.Bindings.CEGUI.ClassSystemHG3D, HGamer3D.Bindings.CEGUI.ClassTabButton, HGamer3D.Bindings.CEGUI.ClassThumb, HGamer3D.Bindings.CEGUI.ClassTooltip, HGamer3D.Bindings.CEGUI.ClassTree, HGamer3D.Bindings.CEGUI.ClassWidgetLookManager, HGamer3D.Bindings.CEGUI.ClassWindow, HGamer3D.Bindings.CEGUI.ClassWindowManager, HGamer3D.Bindings.CEGUI.ClassWindowManagerHG3D, HGamer3D.Bindings.CEGUI.ClassXMLParser
+  Exposed-modules:   HGamer3D.Bindings.CEGUI.Utils, HGamer3D.Bindings.CEGUI.StructHG3DClass, HGamer3D.Bindings.CEGUI.ClassPtr, HGamer3D.Bindings.CEGUI.EnumBlendMode, HGamer3D.Bindings.CEGUI.EnumTipState, HGamer3D.Bindings.CEGUI.EnumLoggingLevel, HGamer3D.Bindings.CEGUI.EnumVerticalAlignment, HGamer3D.Bindings.CEGUI.EnumKeyScan, HGamer3D.Bindings.CEGUI.EnumTextInputMode, HGamer3D.Bindings.CEGUI.EnumSortDirection, HGamer3D.Bindings.CEGUI.EnumHorizontalAlignment, HGamer3D.Bindings.CEGUI.EnumQuadSplitMode, HGamer3D.Bindings.CEGUI.EnumWindowUpdateMode, HGamer3D.Bindings.CEGUI.EnumFWSizingLocation, HGamer3D.Bindings.CEGUI.EnumTabPanePosition, HGamer3D.Bindings.CEGUI.EnumSystemKey, HGamer3D.Bindings.CEGUI.EnumMouseButton, HGamer3D.Bindings.CEGUI.EnumSelectionMode, HGamer3D.Bindings.CEGUI.ClassTooltip, HGamer3D.Bindings.CEGUI.ClassListboxItem, HGamer3D.Bindings.CEGUI.ClassScrolledItemListBase, HGamer3D.Bindings.CEGUI.ClassFontManager, HGamer3D.Bindings.CEGUI.ClassOgreResourceProvider, HGamer3D.Bindings.CEGUI.ClassMenuBase, HGamer3D.Bindings.CEGUI.ClassEventArgs, HGamer3D.Bindings.CEGUI.ClassScheme, HGamer3D.Bindings.CEGUI.ClassWindowManager, HGamer3D.Bindings.CEGUI.ClassListboxTextItem, HGamer3D.Bindings.CEGUI.ClassListbox, HGamer3D.Bindings.CEGUI.ClassDragContainer, HGamer3D.Bindings.CEGUI.ClassPropertySet, HGamer3D.Bindings.CEGUI.ClassDefaultLogger, HGamer3D.Bindings.CEGUI.ClassEventSet, HGamer3D.Bindings.CEGUI.ClassImageCodec, HGamer3D.Bindings.CEGUI.ClassResourceProvider, HGamer3D.Bindings.CEGUI.ClassListHeader, HGamer3D.Bindings.CEGUI.ClassHG3DWindowStaticFunctions, HGamer3D.Bindings.CEGUI.ClassWindow, HGamer3D.Bindings.CEGUI.ClassSpinner, HGamer3D.Bindings.CEGUI.ClassSchemeManager, HGamer3D.Bindings.CEGUI.ClassComboDropList, HGamer3D.Bindings.CEGUI.ClassScrollbar, HGamer3D.Bindings.CEGUI.ClassHG3DListboxStaticFunctions, HGamer3D.Bindings.CEGUI.ClassScriptModule, HGamer3D.Bindings.CEGUI.ClassHG3DEventController, HGamer3D.Bindings.CEGUI.ClassMultiColumnList, HGamer3D.Bindings.CEGUI.ClassWidgetLookManager, HGamer3D.Bindings.CEGUI.ClassScriptFunctor, HGamer3D.Bindings.CEGUI.ClassTree, HGamer3D.Bindings.CEGUI.ClassFrameWindow, HGamer3D.Bindings.CEGUI.ClassThumb, HGamer3D.Bindings.CEGUI.ClassFont, HGamer3D.Bindings.CEGUI.ClassDefaultResourceProvider, HGamer3D.Bindings.CEGUI.ClassItemListbox, HGamer3D.Bindings.CEGUI.ClassScrollablePane, HGamer3D.Bindings.CEGUI.ClassLogger, HGamer3D.Bindings.CEGUI.ClassHG3DEventStaticFunctions, HGamer3D.Bindings.CEGUI.ClassRenderer, HGamer3D.Bindings.CEGUI.ClassMenuItem, HGamer3D.Bindings.CEGUI.ClassListHeaderSegment, HGamer3D.Bindings.CEGUI.ClassProgressBar, HGamer3D.Bindings.CEGUI.ClassSystem, HGamer3D.Bindings.CEGUI.ClassTabButton, HGamer3D.Bindings.CEGUI.ClassSlider, HGamer3D.Bindings.CEGUI.ClassImageset, HGamer3D.Bindings.CEGUI.ClassMultiLineEditbox, HGamer3D.Bindings.CEGUI.ClassPushButton, HGamer3D.Bindings.CEGUI.ClassOgreRenderer, HGamer3D.Bindings.CEGUI.ClassWindowManagerHG3D, HGamer3D.Bindings.CEGUI.ClassScrolledContainer, HGamer3D.Bindings.CEGUI.ClassItemEntry, HGamer3D.Bindings.CEGUI.ClassCheckbox, HGamer3D.Bindings.CEGUI.ClassEditbox, HGamer3D.Bindings.CEGUI.ClassCombobox, HGamer3D.Bindings.CEGUI.ClassRadioButton, HGamer3D.Bindings.CEGUI.ClassSystemHG3D, HGamer3D.Bindings.CEGUI.ClassXMLParser
   Other-modules:     
 
   ghc-options:       
@@ -32,4 +30,7 @@
   Include-dirs:      include
   Build-tools:       
   build-depends:     
-  extra-libraries:   
+  if os(windows)
+     extra-libraries:   hg3dcegui030
+  else
+     extra-libraries:   hg3dcegui030,CEGUIBase-0.7.7,CEGUIOgreRenderer-0.7.7
diff --git a/HGamer3D/Bindings/CEGUI/ClassCheckbox.chs b/HGamer3D/Bindings/CEGUI/ClassCheckbox.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassCheckbox.chs
@@ -0,0 +1,63 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassCheckbox.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassCheckbox 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassCheckbox.h"
+{- function isSelected -}
+{#fun cegui_chkbx_isSelected as isSelected 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setSelected -}
+{#fun cegui_chkbx_setSelected as setSelected 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function Checkbox -}
+{#fun cegui_chkbx_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~Checkbox -}
+{#fun cegui_chkbx_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassCheckbox.hs b/HGamer3D/Bindings/CEGUI/ClassCheckbox.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassCheckbox.hs
+++ /dev/null
@@ -1,100 +0,0 @@
--- 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\\ClassCheckbox.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.
--- 
-
-
--- ClassCheckbox.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassCheckbox 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\\ClassCheckbox.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCheckbox.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCheckbox.chs" #-}
-
-{- function isSelected -}
-isSelected :: HG3DClass -> IO (Bool)
-isSelected a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSelected'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCheckbox.chs" #-}
-
-{- function setSelected -}
-setSelected :: HG3DClass -> Bool -> IO ()
-setSelected a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setSelected'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCheckbox.chs" #-}
-
-{- function Checkbox -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 59 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCheckbox.chs" #-}
-
-{- function ~Checkbox -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCheckbox.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCheckbox.chs.h cegui_chkbx_isSelected"
-  isSelected'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCheckbox.chs.h cegui_chkbx_setSelected"
-  setSelected'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCheckbox.chs.h cegui_chkbx_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCheckbox.chs.h cegui_chkbx_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassComboDropList.chs b/HGamer3D/Bindings/CEGUI/ClassComboDropList.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassComboDropList.chs
@@ -0,0 +1,77 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassComboDropList.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassComboDropList 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassComboDropList.h"
+{- function initialiseComponents -}
+{#fun cegui_cmbdrplst_initialiseComponents as initialiseComponents 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setArmed -}
+{#fun cegui_cmbdrplst_setArmed as setArmed 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function isArmed -}
+{#fun cegui_cmbdrplst_isArmed as isArmed 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setAutoArmEnabled -}
+{#fun cegui_cmbdrplst_setAutoArmEnabled as setAutoArmEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function isAutoArmEnabled -}
+{#fun cegui_cmbdrplst_isAutoArmEnabled as isAutoArmEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function ComboDropList -}
+{#fun cegui_cmbdrplst_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~ComboDropList -}
+{#fun cegui_cmbdrplst_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassComboDropList.hs b/HGamer3D/Bindings/CEGUI/ClassComboDropList.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassComboDropList.hs
+++ /dev/null
@@ -1,136 +0,0 @@
--- 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\\ClassComboDropList.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.
--- 
-
-
--- ClassComboDropList.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassComboDropList 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\\ClassComboDropList.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs" #-}
-
-{- function initialiseComponents -}
-initialiseComponents :: HG3DClass -> IO ()
-initialiseComponents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialiseComponents'_ a1' >>= \res ->
-  return ()
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs" #-}
-
-{- function setArmed -}
-setArmed :: HG3DClass -> Bool -> IO ()
-setArmed a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setArmed'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 52 ".\\HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs" #-}
-
-{- function isArmed -}
-isArmed :: HG3DClass -> IO (Bool)
-isArmed a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isArmed'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 57 ".\\HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs" #-}
-
-{- function setAutoArmEnabled -}
-setAutoArmEnabled :: HG3DClass -> Bool -> IO ()
-setAutoArmEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setAutoArmEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 62 ".\\HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs" #-}
-
-{- function isAutoArmEnabled -}
-isAutoArmEnabled :: HG3DClass -> IO (Bool)
-isAutoArmEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isAutoArmEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 67 ".\\HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs" #-}
-
-{- function ComboDropList -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs" #-}
-
-{- function ~ComboDropList -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 77 ".\\HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs.h cegui_cmbdrplst_initialiseComponents"
-  initialiseComponents'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs.h cegui_cmbdrplst_setArmed"
-  setArmed'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs.h cegui_cmbdrplst_isArmed"
-  isArmed'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs.h cegui_cmbdrplst_setAutoArmEnabled"
-  setAutoArmEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs.h cegui_cmbdrplst_isAutoArmEnabled"
-  isAutoArmEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs.h cegui_cmbdrplst_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassComboDropList.chs.h cegui_cmbdrplst_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassCombobox.chs b/HGamer3D/Bindings/CEGUI/ClassCombobox.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassCombobox.chs
@@ -0,0 +1,281 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassCombobox.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassCombobox 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassCombobox.h"
+{- function getSingleClickEnabled -}
+{#fun cegui_cmbbx_getSingleClickEnabled as getSingleClickEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isDropDownListVisible -}
+{#fun cegui_cmbbx_isDropDownListVisible as isDropDownListVisible 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getEditbox -}
+{#fun cegui_cmbbx_getEditbox as getEditbox 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getPushButton -}
+{#fun cegui_cmbbx_getPushButton as getPushButton 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getDropList -}
+{#fun cegui_cmbbx_getDropList as getDropList 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function hasInputFocus -}
+{#fun cegui_cmbbx_hasInputFocus as hasInputFocus 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isReadOnly -}
+{#fun cegui_cmbbx_isReadOnly as isReadOnly 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isTextValid -}
+{#fun cegui_cmbbx_isTextValid as isTextValid 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getValidationString -}
+{#fun cegui_cmbbx_getValidationString as getValidationString 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function getCaratIndex -}
+{#fun cegui_cmbbx_getCaratIndex as getCaratIndex 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSelectionStartIndex -}
+{#fun cegui_cmbbx_getSelectionStartIndex as getSelectionStartIndex 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSelectionEndIndex -}
+{#fun cegui_cmbbx_getSelectionEndIndex as getSelectionEndIndex 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSelectionLength -}
+{#fun cegui_cmbbx_getSelectionLength as getSelectionLength 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getMaxTextLength -}
+{#fun cegui_cmbbx_getMaxTextLength as getMaxTextLength 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getItemCount -}
+{#fun cegui_cmbbx_getItemCount as getItemCount 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSelectedItem -}
+{#fun cegui_cmbbx_getSelectedItem as getSelectedItem 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getListboxItemFromIndex -}
+{#fun cegui_cmbbx_getListboxItemFromIndex as getListboxItemFromIndex 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getItemIndex -}
+{#fun cegui_cmbbx_getItemIndex as getItemIndex 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function isSortEnabled -}
+{#fun cegui_cmbbx_isSortEnabled as isSortEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isItemSelected -}
+{#fun cegui_cmbbx_isItemSelected as isItemSelected 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function findItemWithText -}
+{#fun cegui_cmbbx_findItemWithText as findItemWithText 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function isListboxItemInList -}
+{#fun cegui_cmbbx_isListboxItemInList as isListboxItemInList 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isVertScrollbarAlwaysShown -}
+{#fun cegui_cmbbx_isVertScrollbarAlwaysShown as isVertScrollbarAlwaysShown 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isHorzScrollbarAlwaysShown -}
+{#fun cegui_cmbbx_isHorzScrollbarAlwaysShown as isHorzScrollbarAlwaysShown 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function initialiseComponents -}
+{#fun cegui_cmbbx_initialiseComponents as initialiseComponents 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function showDropList -}
+{#fun cegui_cmbbx_showDropList as showDropList 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function hideDropList -}
+{#fun cegui_cmbbx_hideDropList as hideDropList 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setSingleClickEnabled -}
+{#fun cegui_cmbbx_setSingleClickEnabled as setSingleClickEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setReadOnly -}
+{#fun cegui_cmbbx_setReadOnly as setReadOnly 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setValidationString -}
+{#fun cegui_cmbbx_setValidationString as setValidationString 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setCaratIndex -}
+{#fun cegui_cmbbx_setCaratIndex as setCaratIndex 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setSelection -}
+{#fun cegui_cmbbx_setSelection as setSelection 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setMaxTextLength -}
+{#fun cegui_cmbbx_setMaxTextLength as setMaxTextLength 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function activateEditbox -}
+{#fun cegui_cmbbx_activateEditbox as activateEditbox 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function resetList -}
+{#fun cegui_cmbbx_resetList as resetList 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function addItem -}
+{#fun cegui_cmbbx_addItem as addItem 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function insertItem -}
+{#fun cegui_cmbbx_insertItem as insertItem 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function removeItem -}
+{#fun cegui_cmbbx_removeItem as removeItem 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function clearAllSelections -}
+{#fun cegui_cmbbx_clearAllSelections as clearAllSelections 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setSortingEnabled -}
+{#fun cegui_cmbbx_setSortingEnabled as setSortingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setShowVertScrollbar -}
+{#fun cegui_cmbbx_setShowVertScrollbar as setShowVertScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setShowHorzScrollbar -}
+{#fun cegui_cmbbx_setShowHorzScrollbar as setShowHorzScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setItemSelectState -}
+{#fun cegui_cmbbx_setItemSelectState as setItemSelectState 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setItemSelectState2 -}
+{#fun cegui_cmbbx_setItemSelectState2 as setItemSelectState2 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function handleUpdatedListItemData -}
+{#fun cegui_cmbbx_handleUpdatedListItemData as handleUpdatedListItemData 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function Combobox -}
+{#fun cegui_cmbbx_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~Combobox -}
+{#fun cegui_cmbbx_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassCombobox.hs b/HGamer3D/Bindings/CEGUI/ClassCombobox.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassCombobox.hs
+++ /dev/null
@@ -1,642 +0,0 @@
--- 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\\ClassCombobox.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.
--- 
-
-
--- ClassCombobox.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassCombobox 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\\ClassCombobox.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function getSingleClickEnabled -}
-getSingleClickEnabled :: HG3DClass -> IO (Bool)
-getSingleClickEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSingleClickEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function isDropDownListVisible -}
-isDropDownListVisible :: HG3DClass -> IO (Bool)
-isDropDownListVisible a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isDropDownListVisible'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function getEditbox -}
-getEditbox :: HG3DClass -> IO (HG3DClass)
-getEditbox a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getEditbox'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function getPushButton -}
-getPushButton :: HG3DClass -> IO (HG3DClass)
-getPushButton a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getPushButton'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function getDropList -}
-getDropList :: HG3DClass -> IO (HG3DClass)
-getDropList a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getDropList'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function hasInputFocus -}
-hasInputFocus :: HG3DClass -> IO (Bool)
-hasInputFocus a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  hasInputFocus'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function isReadOnly -}
-isReadOnly :: HG3DClass -> IO (Bool)
-isReadOnly a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isReadOnly'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function isTextValid -}
-isTextValid :: HG3DClass -> IO (Bool)
-isTextValid a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isTextValid'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function getValidationString -}
-getValidationString :: HG3DClass -> IO (String)
-getValidationString a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getValidationString'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 88 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function getCaratIndex -}
-getCaratIndex :: HG3DClass -> IO (Int)
-getCaratIndex a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getCaratIndex'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 93 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function getSelectionStartIndex -}
-getSelectionStartIndex :: HG3DClass -> IO (Int)
-getSelectionStartIndex a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectionStartIndex'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 98 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function getSelectionEndIndex -}
-getSelectionEndIndex :: HG3DClass -> IO (Int)
-getSelectionEndIndex a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectionEndIndex'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 103 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function getSelectionLength -}
-getSelectionLength :: HG3DClass -> IO (Int)
-getSelectionLength a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectionLength'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 108 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function getMaxTextLength -}
-getMaxTextLength :: HG3DClass -> IO (Int)
-getMaxTextLength a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getMaxTextLength'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 113 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function getItemCount -}
-getItemCount :: HG3DClass -> IO (Int)
-getItemCount a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getItemCount'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 118 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function getSelectedItem -}
-getSelectedItem :: HG3DClass -> IO (HG3DClass)
-getSelectedItem a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectedItem'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 123 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function getListboxItemFromIndex -}
-getListboxItemFromIndex :: HG3DClass -> Int -> IO (HG3DClass)
-getListboxItemFromIndex a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getListboxItemFromIndex'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 129 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function getItemIndex -}
-getItemIndex :: HG3DClass -> HG3DClass -> IO (Int)
-getItemIndex a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getItemIndex'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 135 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function isSortEnabled -}
-isSortEnabled :: HG3DClass -> IO (Bool)
-isSortEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSortEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 140 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function isItemSelected -}
-isItemSelected :: HG3DClass -> Int -> IO (Bool)
-isItemSelected a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  isItemSelected'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 146 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function findItemWithText -}
-findItemWithText :: HG3DClass -> String -> HG3DClass -> IO (HG3DClass)
-findItemWithText a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withHG3DClass a3 $ \a3' -> 
-  alloca $ \a4' -> 
-  findItemWithText'_ a1' a2' a3' a4' >>= \res ->
-  peek  a4'>>= \a4'' -> 
-  return (a4'')
-{-# LINE 153 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function isListboxItemInList -}
-isListboxItemInList :: HG3DClass -> HG3DClass -> IO (Bool)
-isListboxItemInList a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isListboxItemInList'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 159 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function isVertScrollbarAlwaysShown -}
-isVertScrollbarAlwaysShown :: HG3DClass -> IO (Bool)
-isVertScrollbarAlwaysShown a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isVertScrollbarAlwaysShown'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 164 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function isHorzScrollbarAlwaysShown -}
-isHorzScrollbarAlwaysShown :: HG3DClass -> IO (Bool)
-isHorzScrollbarAlwaysShown a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isHorzScrollbarAlwaysShown'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 169 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function initialiseComponents -}
-initialiseComponents :: HG3DClass -> IO ()
-initialiseComponents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialiseComponents'_ a1' >>= \res ->
-  return ()
-{-# LINE 173 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function showDropList -}
-showDropList :: HG3DClass -> IO ()
-showDropList a1 =
-  withHG3DClass a1 $ \a1' -> 
-  showDropList'_ a1' >>= \res ->
-  return ()
-{-# LINE 177 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function hideDropList -}
-hideDropList :: HG3DClass -> IO ()
-hideDropList a1 =
-  withHG3DClass a1 $ \a1' -> 
-  hideDropList'_ a1' >>= \res ->
-  return ()
-{-# LINE 181 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function setSingleClickEnabled -}
-setSingleClickEnabled :: HG3DClass -> Bool -> IO ()
-setSingleClickEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setSingleClickEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 186 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function setReadOnly -}
-setReadOnly :: HG3DClass -> Bool -> IO ()
-setReadOnly a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setReadOnly'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 191 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function setValidationString -}
-setValidationString :: HG3DClass -> String -> IO ()
-setValidationString a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setValidationString'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 196 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function setCaratIndex -}
-setCaratIndex :: HG3DClass -> Int -> IO ()
-setCaratIndex a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setCaratIndex'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 201 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function setSelection -}
-setSelection :: HG3DClass -> Int -> Int -> IO ()
-setSelection a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  let {a3' = fromIntegral a3} in 
-  setSelection'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 207 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function setMaxTextLength -}
-setMaxTextLength :: HG3DClass -> Int -> IO ()
-setMaxTextLength a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setMaxTextLength'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 212 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function activateEditbox -}
-activateEditbox :: HG3DClass -> IO ()
-activateEditbox a1 =
-  withHG3DClass a1 $ \a1' -> 
-  activateEditbox'_ a1' >>= \res ->
-  return ()
-{-# LINE 216 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function resetList -}
-resetList :: HG3DClass -> IO ()
-resetList a1 =
-  withHG3DClass a1 $ \a1' -> 
-  resetList'_ a1' >>= \res ->
-  return ()
-{-# LINE 220 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function addItem -}
-addItem :: HG3DClass -> HG3DClass -> IO ()
-addItem a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  addItem'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 225 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function insertItem -}
-insertItem :: HG3DClass -> HG3DClass -> HG3DClass -> IO ()
-insertItem a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  withHG3DClass a3 $ \a3' -> 
-  insertItem'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 231 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function removeItem -}
-removeItem :: HG3DClass -> HG3DClass -> IO ()
-removeItem a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  removeItem'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 236 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function clearAllSelections -}
-clearAllSelections :: HG3DClass -> IO ()
-clearAllSelections a1 =
-  withHG3DClass a1 $ \a1' -> 
-  clearAllSelections'_ a1' >>= \res ->
-  return ()
-{-# LINE 240 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function setSortingEnabled -}
-setSortingEnabled :: HG3DClass -> Bool -> IO ()
-setSortingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setSortingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 245 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function setShowVertScrollbar -}
-setShowVertScrollbar :: HG3DClass -> Bool -> IO ()
-setShowVertScrollbar a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setShowVertScrollbar'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 250 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function setShowHorzScrollbar -}
-setShowHorzScrollbar :: HG3DClass -> Bool -> IO ()
-setShowHorzScrollbar a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setShowHorzScrollbar'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 255 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function setItemSelectState -}
-setItemSelectState :: HG3DClass -> HG3DClass -> Bool -> IO ()
-setItemSelectState a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  let {a3' = fromBool a3} in 
-  setItemSelectState'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 261 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function setItemSelectState2 -}
-setItemSelectState2 :: HG3DClass -> Int -> Bool -> IO ()
-setItemSelectState2 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  let {a3' = fromBool a3} in 
-  setItemSelectState2'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 267 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function handleUpdatedListItemData -}
-handleUpdatedListItemData :: HG3DClass -> IO ()
-handleUpdatedListItemData a1 =
-  withHG3DClass a1 $ \a1' -> 
-  handleUpdatedListItemData'_ a1' >>= \res ->
-  return ()
-{-# LINE 271 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function Combobox -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 277 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-{- function ~Combobox -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 281 ".\\HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_getSingleClickEnabled"
-  getSingleClickEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_isDropDownListVisible"
-  isDropDownListVisible'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_getEditbox"
-  getEditbox'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_getPushButton"
-  getPushButton'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_getDropList"
-  getDropList'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_hasInputFocus"
-  hasInputFocus'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_isReadOnly"
-  isReadOnly'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_isTextValid"
-  isTextValid'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_getValidationString"
-  getValidationString'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_getCaratIndex"
-  getCaratIndex'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_getSelectionStartIndex"
-  getSelectionStartIndex'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_getSelectionEndIndex"
-  getSelectionEndIndex'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_getSelectionLength"
-  getSelectionLength'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_getMaxTextLength"
-  getMaxTextLength'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_getItemCount"
-  getItemCount'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_getSelectedItem"
-  getSelectedItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_getListboxItemFromIndex"
-  getListboxItemFromIndex'_ :: ((HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_getItemIndex"
-  getItemIndex'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_isSortEnabled"
-  isSortEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_isItemSelected"
-  isItemSelected'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_findItemWithText"
-  findItemWithText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_isListboxItemInList"
-  isListboxItemInList'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_isVertScrollbarAlwaysShown"
-  isVertScrollbarAlwaysShown'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_isHorzScrollbarAlwaysShown"
-  isHorzScrollbarAlwaysShown'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_initialiseComponents"
-  initialiseComponents'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_showDropList"
-  showDropList'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_hideDropList"
-  hideDropList'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_setSingleClickEnabled"
-  setSingleClickEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_setReadOnly"
-  setReadOnly'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_setValidationString"
-  setValidationString'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_setCaratIndex"
-  setCaratIndex'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_setSelection"
-  setSelection'_ :: ((HG3DClassPtr) -> (CInt -> (CInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_setMaxTextLength"
-  setMaxTextLength'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_activateEditbox"
-  activateEditbox'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_resetList"
-  resetList'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_addItem"
-  addItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_insertItem"
-  insertItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_removeItem"
-  removeItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_clearAllSelections"
-  clearAllSelections'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_setSortingEnabled"
-  setSortingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_setShowVertScrollbar"
-  setShowVertScrollbar'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_setShowHorzScrollbar"
-  setShowHorzScrollbar'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_setItemSelectState"
-  setItemSelectState'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_setItemSelectState2"
-  setItemSelectState2'_ :: ((HG3DClassPtr) -> (CInt -> (CInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_handleUpdatedListItemData"
-  handleUpdatedListItemData'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassCombobox.chs.h cegui_cmbbx_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassDefaultLogger.chs b/HGamer3D/Bindings/CEGUI/ClassDefaultLogger.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassDefaultLogger.chs
@@ -0,0 +1,64 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassDefaultLogger.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassDefaultLogger 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+{# import HGamer3D.Bindings.CEGUI.EnumLoggingLevel #}
+
+#include "ClassDefaultLogger.h"
+{- function DefaultLogger -}
+{#fun cegui_dfltlgr_construct as new 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~DefaultLogger -}
+{#fun cegui_dfltlgr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function logEvent -}
+{#fun cegui_dfltlgr_logEvent as logEvent 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ cIntFromEnum `EnumLoggingLevel' } -> `()'  #}
+
+{- function setLogFilename -}
+{#fun cegui_dfltlgr_setLogFilename as setLogFilename 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ fromBool `Bool' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassDefaultLogger.hs b/HGamer3D/Bindings/CEGUI/ClassDefaultLogger.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassDefaultLogger.hs
+++ /dev/null
@@ -1,101 +0,0 @@
--- 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\\ClassDefaultLogger.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.
--- 
-
-
--- ClassDefaultLogger.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassDefaultLogger 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\\ClassDefaultLogger.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDefaultLogger.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDefaultLogger.chs" #-}
-import HGamer3D.Bindings.CEGUI.EnumLoggingLevel
-{-# LINE 43 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDefaultLogger.chs" #-}
-
-{- function DefaultLogger -}
-new :: IO (HG3DClass)
-new =
-  alloca $ \a1' -> 
-  new'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDefaultLogger.chs" #-}
-
-{- function ~DefaultLogger -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 52 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDefaultLogger.chs" #-}
-
-{- function logEvent -}
-logEvent :: HG3DClass -> String -> EnumLoggingLevel -> IO ()
-logEvent a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  let {a3' = cIntFromEnum a3} in 
-  logEvent'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDefaultLogger.chs" #-}
-
-{- function setLogFilename -}
-setLogFilename :: HG3DClass -> String -> Bool -> IO ()
-setLogFilename a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  let {a3' = fromBool a3} in 
-  setLogFilename'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 64 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDefaultLogger.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDefaultLogger.chs.h cegui_dfltlgr_construct"
-  new'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDefaultLogger.chs.h cegui_dfltlgr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDefaultLogger.chs.h cegui_dfltlgr_logEvent"
-  logEvent'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDefaultLogger.chs.h cegui_dfltlgr_setLogFilename"
-  setLogFilename'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> (IO ()))))
diff --git a/HGamer3D/Bindings/CEGUI/ClassDefaultResourceProvider.chs b/HGamer3D/Bindings/CEGUI/ClassDefaultResourceProvider.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassDefaultResourceProvider.chs
@@ -0,0 +1,68 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassDefaultResourceProvider.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassDefaultResourceProvider 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassDefaultResourceProvider.h"
+{- function DefaultResourceProvider -}
+{#fun cegui_drpr_construct as new 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~DefaultResourceProvider -}
+{#fun cegui_drpr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setResourceGroupDirectory -}
+{#fun cegui_drpr_setResourceGroupDirectory as setResourceGroupDirectory 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function getResourceGroupDirectory -}
+{#fun cegui_drpr_getResourceGroupDirectory as getResourceGroupDirectory 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function clearResourceGroupDirectory -}
+{#fun cegui_drpr_clearResourceGroupDirectory as clearResourceGroupDirectory 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassDefaultResourceProvider.hs b/HGamer3D/Bindings/CEGUI/ClassDefaultResourceProvider.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassDefaultResourceProvider.hs
+++ /dev/null
@@ -1,112 +0,0 @@
--- 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\\ClassDefaultResourceProvider.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.
--- 
-
-
--- ClassDefaultResourceProvider.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassDefaultResourceProvider 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\\ClassDefaultResourceProvider.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDefaultResourceProvider.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDefaultResourceProvider.chs" #-}
-
-{- function DefaultResourceProvider -}
-new :: IO (HG3DClass)
-new =
-  alloca $ \a1' -> 
-  new'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDefaultResourceProvider.chs" #-}
-
-{- function ~DefaultResourceProvider -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 51 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDefaultResourceProvider.chs" #-}
-
-{- function setResourceGroupDirectory -}
-setResourceGroupDirectory :: HG3DClass -> String -> String -> IO ()
-setResourceGroupDirectory a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  setResourceGroupDirectory'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 57 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDefaultResourceProvider.chs" #-}
-
-{- function getResourceGroupDirectory -}
-getResourceGroupDirectory :: HG3DClass -> String -> IO (String)
-getResourceGroupDirectory a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloc64k $ \a3' -> 
-  getResourceGroupDirectory'_ a1' a2' a3' >>= \res ->
-  peekCString  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDefaultResourceProvider.chs" #-}
-
-{- function clearResourceGroupDirectory -}
-clearResourceGroupDirectory :: HG3DClass -> String -> IO ()
-clearResourceGroupDirectory a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  clearResourceGroupDirectory'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDefaultResourceProvider.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDefaultResourceProvider.chs.h cegui_drpr_construct"
-  new'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDefaultResourceProvider.chs.h cegui_drpr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDefaultResourceProvider.chs.h cegui_drpr_setResourceGroupDirectory"
-  setResourceGroupDirectory'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDefaultResourceProvider.chs.h cegui_drpr_getResourceGroupDirectory"
-  getResourceGroupDirectory'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDefaultResourceProvider.chs.h cegui_drpr_clearResourceGroupDirectory"
-  clearResourceGroupDirectory'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
diff --git a/HGamer3D/Bindings/CEGUI/ClassDragContainer.chs b/HGamer3D/Bindings/CEGUI/ClassDragContainer.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassDragContainer.chs
@@ -0,0 +1,125 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassDragContainer.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassDragContainer 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassDragContainer.h"
+{- function DragContainer -}
+{#fun cegui_drgcnt_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~DragContainer -}
+{#fun cegui_drgcnt_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function isDraggingEnabled -}
+{#fun cegui_drgcnt_isDraggingEnabled as isDraggingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setDraggingEnabled -}
+{#fun cegui_drgcnt_setDraggingEnabled as setDraggingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function isBeingDragged -}
+{#fun cegui_drgcnt_isBeingDragged as isBeingDragged 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getPixelDragThreshold -}
+{#fun cegui_drgcnt_getPixelDragThreshold as getPixelDragThreshold 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setPixelDragThreshold -}
+{#fun cegui_drgcnt_setPixelDragThreshold as setPixelDragThreshold 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function getDragAlpha -}
+{#fun cegui_drgcnt_getDragAlpha as getDragAlpha 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setDragAlpha -}
+{#fun cegui_drgcnt_setDragAlpha as setDragAlpha 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function setDragCursorImage3 -}
+{#fun cegui_drgcnt_setDragCursorImage3 as setDragCursorImage3 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function getCurrentDropTarget -}
+{#fun cegui_drgcnt_getCurrentDropTarget as getCurrentDropTarget 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function isStickyModeEnabled -}
+{#fun cegui_drgcnt_isStickyModeEnabled as isStickyModeEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setStickyModeEnabled -}
+{#fun cegui_drgcnt_setStickyModeEnabled as setStickyModeEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function pickUp -}
+{#fun cegui_drgcnt_pickUp as pickUp 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setUsingFixedDragOffset -}
+{#fun cegui_drgcnt_setUsingFixedDragOffset as setUsingFixedDragOffset 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function isUsingFixedDragOffset -}
+{#fun cegui_drgcnt_isUsingFixedDragOffset as isUsingFixedDragOffset 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassDragContainer.hs b/HGamer3D/Bindings/CEGUI/ClassDragContainer.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassDragContainer.hs
+++ /dev/null
@@ -1,253 +0,0 @@
--- 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\\ClassDragContainer.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.
--- 
-
-
--- ClassDragContainer.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassDragContainer 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\\ClassDragContainer.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function DragContainer -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 49 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function ~DragContainer -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function isDraggingEnabled -}
-isDraggingEnabled :: HG3DClass -> IO (Bool)
-isDraggingEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isDraggingEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function setDraggingEnabled -}
-setDraggingEnabled :: HG3DClass -> Bool -> IO ()
-setDraggingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setDraggingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function isBeingDragged -}
-isBeingDragged :: HG3DClass -> IO (Bool)
-isBeingDragged a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isBeingDragged'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function getPixelDragThreshold -}
-getPixelDragThreshold :: HG3DClass -> IO (Float)
-getPixelDragThreshold a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getPixelDragThreshold'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function setPixelDragThreshold -}
-setPixelDragThreshold :: HG3DClass -> Float -> IO ()
-setPixelDragThreshold a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setPixelDragThreshold'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function getDragAlpha -}
-getDragAlpha :: HG3DClass -> IO (Float)
-getDragAlpha a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getDragAlpha'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function setDragAlpha -}
-setDragAlpha :: HG3DClass -> Float -> IO ()
-setDragAlpha a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setDragAlpha'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 88 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function setDragCursorImage3 -}
-setDragCursorImage3 :: HG3DClass -> String -> String -> IO ()
-setDragCursorImage3 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  setDragCursorImage3'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 94 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function getCurrentDropTarget -}
-getCurrentDropTarget :: HG3DClass -> IO (HG3DClass)
-getCurrentDropTarget a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getCurrentDropTarget'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 99 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function isStickyModeEnabled -}
-isStickyModeEnabled :: HG3DClass -> IO (Bool)
-isStickyModeEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isStickyModeEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 104 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function setStickyModeEnabled -}
-setStickyModeEnabled :: HG3DClass -> Bool -> IO ()
-setStickyModeEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setStickyModeEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 109 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function pickUp -}
-pickUp :: HG3DClass -> Bool -> IO (Bool)
-pickUp a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  alloca $ \a3' -> 
-  pickUp'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 115 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function setUsingFixedDragOffset -}
-setUsingFixedDragOffset :: HG3DClass -> Bool -> IO ()
-setUsingFixedDragOffset a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setUsingFixedDragOffset'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 120 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-{- function isUsingFixedDragOffset -}
-isUsingFixedDragOffset :: HG3DClass -> IO (Bool)
-isUsingFixedDragOffset a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isUsingFixedDragOffset'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 125 ".\\HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_isDraggingEnabled"
-  isDraggingEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_setDraggingEnabled"
-  setDraggingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_isBeingDragged"
-  isBeingDragged'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_getPixelDragThreshold"
-  getPixelDragThreshold'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_setPixelDragThreshold"
-  setPixelDragThreshold'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_getDragAlpha"
-  getDragAlpha'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_setDragAlpha"
-  setDragAlpha'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_setDragCursorImage3"
-  setDragCursorImage3'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_getCurrentDropTarget"
-  getCurrentDropTarget'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_isStickyModeEnabled"
-  isStickyModeEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_setStickyModeEnabled"
-  setStickyModeEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_pickUp"
-  pickUp'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_setUsingFixedDragOffset"
-  setUsingFixedDragOffset'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassDragContainer.chs.h cegui_drgcnt_isUsingFixedDragOffset"
-  isUsingFixedDragOffset'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
diff --git a/HGamer3D/Bindings/CEGUI/ClassEditbox.chs b/HGamer3D/Bindings/CEGUI/ClassEditbox.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassEditbox.chs
@@ -0,0 +1,144 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassEditbox.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassEditbox 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassEditbox.h"
+{- function hasInputFocus -}
+{#fun cegui_edtbx_hasInputFocus as hasInputFocus 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isReadOnly -}
+{#fun cegui_edtbx_isReadOnly as isReadOnly 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isTextMasked -}
+{#fun cegui_edtbx_isTextMasked as isTextMasked 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isTextValid -}
+{#fun cegui_edtbx_isTextValid as isTextValid 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getValidationString -}
+{#fun cegui_edtbx_getValidationString as getValidationString 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function getCaratIndex -}
+{#fun cegui_edtbx_getCaratIndex as getCaratIndex 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSelectionStartIndex -}
+{#fun cegui_edtbx_getSelectionStartIndex as getSelectionStartIndex 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSelectionEndIndex -}
+{#fun cegui_edtbx_getSelectionEndIndex as getSelectionEndIndex 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSelectionLength -}
+{#fun cegui_edtbx_getSelectionLength as getSelectionLength 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getMaskCodePoint -}
+{#fun cegui_edtbx_getMaskCodePoint as getMaskCodePoint 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getMaxTextLength -}
+{#fun cegui_edtbx_getMaxTextLength as getMaxTextLength 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function setReadOnly -}
+{#fun cegui_edtbx_setReadOnly as setReadOnly 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setTextMasked -}
+{#fun cegui_edtbx_setTextMasked as setTextMasked 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setValidationString -}
+{#fun cegui_edtbx_setValidationString as setValidationString 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setCaratIndex -}
+{#fun cegui_edtbx_setCaratIndex as setCaratIndex 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setSelection -}
+{#fun cegui_edtbx_setSelection as setSelection 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setMaskCodePoint -}
+{#fun cegui_edtbx_setMaskCodePoint as setMaskCodePoint 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setMaxTextLength -}
+{#fun cegui_edtbx_setMaxTextLength as setMaxTextLength 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function Editbox -}
+{#fun cegui_edtbx_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~Editbox -}
+{#fun cegui_edtbx_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassEditbox.hs b/HGamer3D/Bindings/CEGUI/ClassEditbox.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassEditbox.hs
+++ /dev/null
@@ -1,303 +0,0 @@
--- 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\\ClassEditbox.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.
--- 
-
-
--- ClassEditbox.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassEditbox 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\\ClassEditbox.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function hasInputFocus -}
-hasInputFocus :: HG3DClass -> IO (Bool)
-hasInputFocus a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  hasInputFocus'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function isReadOnly -}
-isReadOnly :: HG3DClass -> IO (Bool)
-isReadOnly a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isReadOnly'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function isTextMasked -}
-isTextMasked :: HG3DClass -> IO (Bool)
-isTextMasked a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isTextMasked'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function isTextValid -}
-isTextValid :: HG3DClass -> IO (Bool)
-isTextValid a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isTextValid'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function getValidationString -}
-getValidationString :: HG3DClass -> IO (String)
-getValidationString a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getValidationString'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function getCaratIndex -}
-getCaratIndex :: HG3DClass -> IO (Int)
-getCaratIndex a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getCaratIndex'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function getSelectionStartIndex -}
-getSelectionStartIndex :: HG3DClass -> IO (Int)
-getSelectionStartIndex a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectionStartIndex'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function getSelectionEndIndex -}
-getSelectionEndIndex :: HG3DClass -> IO (Int)
-getSelectionEndIndex a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectionEndIndex'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function getSelectionLength -}
-getSelectionLength :: HG3DClass -> IO (Int)
-getSelectionLength a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectionLength'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 88 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function getMaskCodePoint -}
-getMaskCodePoint :: HG3DClass -> IO (Int)
-getMaskCodePoint a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getMaskCodePoint'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 93 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function getMaxTextLength -}
-getMaxTextLength :: HG3DClass -> IO (Int)
-getMaxTextLength a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getMaxTextLength'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 98 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function setReadOnly -}
-setReadOnly :: HG3DClass -> Bool -> IO ()
-setReadOnly a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setReadOnly'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 103 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function setTextMasked -}
-setTextMasked :: HG3DClass -> Bool -> IO ()
-setTextMasked a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setTextMasked'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 108 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function setValidationString -}
-setValidationString :: HG3DClass -> String -> IO ()
-setValidationString a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setValidationString'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 113 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function setCaratIndex -}
-setCaratIndex :: HG3DClass -> Int -> IO ()
-setCaratIndex a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setCaratIndex'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 118 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function setSelection -}
-setSelection :: HG3DClass -> Int -> Int -> IO ()
-setSelection a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  let {a3' = fromIntegral a3} in 
-  setSelection'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 124 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function setMaskCodePoint -}
-setMaskCodePoint :: HG3DClass -> Int -> IO ()
-setMaskCodePoint a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setMaskCodePoint'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 129 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function setMaxTextLength -}
-setMaxTextLength :: HG3DClass -> Int -> IO ()
-setMaxTextLength a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setMaxTextLength'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 134 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function Editbox -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 140 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-{- function ~Editbox -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 144 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_hasInputFocus"
-  hasInputFocus'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_isReadOnly"
-  isReadOnly'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_isTextMasked"
-  isTextMasked'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_isTextValid"
-  isTextValid'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_getValidationString"
-  getValidationString'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_getCaratIndex"
-  getCaratIndex'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_getSelectionStartIndex"
-  getSelectionStartIndex'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_getSelectionEndIndex"
-  getSelectionEndIndex'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_getSelectionLength"
-  getSelectionLength'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_getMaskCodePoint"
-  getMaskCodePoint'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_getMaxTextLength"
-  getMaxTextLength'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_setReadOnly"
-  setReadOnly'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_setTextMasked"
-  setTextMasked'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_setValidationString"
-  setValidationString'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_setCaratIndex"
-  setCaratIndex'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_setSelection"
-  setSelection'_ :: ((HG3DClassPtr) -> (CInt -> (CInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_setMaskCodePoint"
-  setMaskCodePoint'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_setMaxTextLength"
-  setMaxTextLength'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEditbox.chs.h cegui_edtbx_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassEventArgs.chs b/HGamer3D/Bindings/CEGUI/ClassEventArgs.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassEventArgs.chs
@@ -0,0 +1,51 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassEventArgs.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassEventArgs 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassEventArgs.h"
+{- function EventArgs -}
+{#fun cegui_evntargs_construct as new 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~EventArgs -}
+{#fun cegui_evntargs_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassEventArgs.hs b/HGamer3D/Bindings/CEGUI/ClassEventArgs.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassEventArgs.hs
+++ /dev/null
@@ -1,73 +0,0 @@
--- 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\\ClassEventArgs.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.
--- 
-
-
--- ClassEventArgs.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassEventArgs 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\\ClassEventArgs.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventArgs.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventArgs.chs" #-}
-
-{- function EventArgs -}
-new :: IO (HG3DClass)
-new =
-  alloca $ \a1' -> 
-  new'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventArgs.chs" #-}
-
-{- function ~EventArgs -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 51 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventArgs.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEventArgs.chs.h cegui_evntargs_construct"
-  new'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEventArgs.chs.h cegui_evntargs_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassEventSet.chs b/HGamer3D/Bindings/CEGUI/ClassEventSet.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassEventSet.chs
@@ -0,0 +1,88 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassEventSet.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassEventSet 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassEventSet.h"
+{- function EventSet -}
+{#fun cegui_evtst_construct as new 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~EventSet -}
+{#fun cegui_evtst_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function addEvent -}
+{#fun cegui_evtst_addEvent as addEvent 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function removeEvent -}
+{#fun cegui_evtst_removeEvent as removeEvent 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function removeAllEvents -}
+{#fun cegui_evtst_removeAllEvents as removeAllEvents 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function isEventPresent -}
+{#fun cegui_evtst_isEventPresent as isEventPresent 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function fireEvent -}
+{#fun cegui_evtst_fireEvent as fireEvent 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function isMuted -}
+{#fun cegui_evtst_isMuted as isMuted 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setMutedState -}
+{#fun cegui_evtst_setMutedState as setMutedState 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassEventSet.hs b/HGamer3D/Bindings/CEGUI/ClassEventSet.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassEventSet.hs
+++ /dev/null
@@ -1,161 +0,0 @@
--- 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\\ClassEventSet.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.
--- 
-
-
--- ClassEventSet.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassEventSet 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\\ClassEventSet.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs" #-}
-
-{- function EventSet -}
-new :: IO (HG3DClass)
-new =
-  alloca $ \a1' -> 
-  new'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs" #-}
-
-{- function ~EventSet -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 51 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs" #-}
-
-{- function addEvent -}
-addEvent :: HG3DClass -> String -> IO ()
-addEvent a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  addEvent'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 56 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs" #-}
-
-{- function removeEvent -}
-removeEvent :: HG3DClass -> String -> IO ()
-removeEvent a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  removeEvent'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 61 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs" #-}
-
-{- function removeAllEvents -}
-removeAllEvents :: HG3DClass -> IO ()
-removeAllEvents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  removeAllEvents'_ a1' >>= \res ->
-  return ()
-{-# LINE 65 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs" #-}
-
-{- function isEventPresent -}
-isEventPresent :: HG3DClass -> String -> IO (Bool)
-isEventPresent a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isEventPresent'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 71 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs" #-}
-
-{- function fireEvent -}
-fireEvent :: HG3DClass -> String -> HG3DClass -> String -> IO ()
-fireEvent a1 a2 a3 a4 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withHG3DClass a3 $ \a3' -> 
-  withCString a4 $ \a4' -> 
-  fireEvent'_ a1' a2' a3' a4' >>= \res ->
-  return ()
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs" #-}
-
-{- function isMuted -}
-isMuted :: HG3DClass -> IO (Bool)
-isMuted a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isMuted'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs" #-}
-
-{- function setMutedState -}
-setMutedState :: HG3DClass -> Bool -> IO ()
-setMutedState a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setMutedState'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 88 ".\\HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs.h cegui_evtst_construct"
-  new'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs.h cegui_evtst_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs.h cegui_evtst_addEvent"
-  addEvent'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs.h cegui_evtst_removeEvent"
-  removeEvent'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs.h cegui_evtst_removeAllEvents"
-  removeAllEvents'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs.h cegui_evtst_isEventPresent"
-  isEventPresent'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs.h cegui_evtst_fireEvent"
-  fireEvent'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs.h cegui_evtst_isMuted"
-  isMuted'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassEventSet.chs.h cegui_evtst_setMutedState"
-  setMutedState'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
diff --git a/HGamer3D/Bindings/CEGUI/ClassFont.chs b/HGamer3D/Bindings/CEGUI/ClassFont.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassFont.chs
@@ -0,0 +1,123 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassFont.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassFont 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassFont.h"
+{- function ~Font -}
+{#fun cegui_fnt_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getName -}
+{#fun cegui_fnt_getName as getName 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function getTypeName -}
+{#fun cegui_fnt_getTypeName as getTypeName 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function isCodepointAvailable -}
+{#fun cegui_fnt_isCodepointAvailable as isCodepointAvailable 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setAutoScaled -}
+{#fun cegui_fnt_setAutoScaled as setAutoScaled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function isAutoScaled -}
+{#fun cegui_fnt_isAutoScaled as isAutoScaled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getLineSpacing -}
+{#fun cegui_fnt_getLineSpacing as getLineSpacing 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getFontHeight -}
+{#fun cegui_fnt_getFontHeight as getFontHeight 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getBaseline -}
+{#fun cegui_fnt_getBaseline as getBaseline 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getTextExtent -}
+{#fun cegui_fnt_getTextExtent as getTextExtent 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ realToFrac `Float' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getCharAtPixel -}
+{#fun cegui_fnt_getCharAtPixel as getCharAtPixel 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ realToFrac `Float' ,
+ realToFrac `Float' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getCharAtPixel2 -}
+{#fun cegui_fnt_getCharAtPixel2 as getCharAtPixel2 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ fromIntegral `Int' ,
+ realToFrac `Float' ,
+ realToFrac `Float' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function setDefaultResourceGroup -}
+{#fun cegui_fnt_setDefaultResourceGroup as setDefaultResourceGroup 
+{ withCString* `String' } -> `()'  #}
+
+{- function getDefaultResourceGroup -}
+{#fun cegui_fnt_getDefaultResourceGroup as getDefaultResourceGroup 
+{ alloc64k- `String' peekCString*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassFont.hs b/HGamer3D/Bindings/CEGUI/ClassFont.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassFont.hs
+++ /dev/null
@@ -1,239 +0,0 @@
--- 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\\ClassFont.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.
--- 
-
-
--- ClassFont.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassFont 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\\ClassFont.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-{- function ~Font -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-{- function getName -}
-getName :: HG3DClass -> IO (String)
-getName a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getName'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 52 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-{- function getTypeName -}
-getTypeName :: HG3DClass -> IO (String)
-getTypeName a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getTypeName'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 57 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-{- function isCodepointAvailable -}
-isCodepointAvailable :: HG3DClass -> Int -> IO (Bool)
-isCodepointAvailable a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  isCodepointAvailable'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-{- function setAutoScaled -}
-setAutoScaled :: HG3DClass -> Bool -> IO ()
-setAutoScaled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setAutoScaled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-{- function isAutoScaled -}
-isAutoScaled :: HG3DClass -> IO (Bool)
-isAutoScaled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isAutoScaled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-{- function getLineSpacing -}
-getLineSpacing :: HG3DClass -> Float -> IO (Float)
-getLineSpacing a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  alloca $ \a3' -> 
-  getLineSpacing'_ a1' a2' a3' >>= \res ->
-  peekFloatConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 79 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-{- function getFontHeight -}
-getFontHeight :: HG3DClass -> Float -> IO (Float)
-getFontHeight a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  alloca $ \a3' -> 
-  getFontHeight'_ a1' a2' a3' >>= \res ->
-  peekFloatConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 85 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-{- function getBaseline -}
-getBaseline :: HG3DClass -> Float -> IO (Float)
-getBaseline a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  alloca $ \a3' -> 
-  getBaseline'_ a1' a2' a3' >>= \res ->
-  peekFloatConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 91 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-{- function getTextExtent -}
-getTextExtent :: HG3DClass -> String -> Float -> IO (Float)
-getTextExtent a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  let {a3' = realToFrac a3} in 
-  alloca $ \a4' -> 
-  getTextExtent'_ a1' a2' a3' a4' >>= \res ->
-  peekFloatConv  a4'>>= \a4'' -> 
-  return (a4'')
-{-# LINE 98 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-{- function getCharAtPixel -}
-getCharAtPixel :: HG3DClass -> String -> Float -> Float -> IO (Int)
-getCharAtPixel a1 a2 a3 a4 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  let {a3' = realToFrac a3} in 
-  let {a4' = realToFrac a4} in 
-  alloca $ \a5' -> 
-  getCharAtPixel'_ a1' a2' a3' a4' a5' >>= \res ->
-  peekIntConv  a5'>>= \a5'' -> 
-  return (a5'')
-{-# LINE 106 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-{- function getCharAtPixel2 -}
-getCharAtPixel2 :: HG3DClass -> String -> Int -> Float -> Float -> IO (Int)
-getCharAtPixel2 a1 a2 a3 a4 a5 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  let {a3' = fromIntegral a3} in 
-  let {a4' = realToFrac a4} in 
-  let {a5' = realToFrac a5} in 
-  alloca $ \a6' -> 
-  getCharAtPixel2'_ a1' a2' a3' a4' a5' a6' >>= \res ->
-  peekIntConv  a6'>>= \a6'' -> 
-  return (a6'')
-{-# LINE 115 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-{- function setDefaultResourceGroup -}
-setDefaultResourceGroup :: String -> IO ()
-setDefaultResourceGroup a1 =
-  withCString a1 $ \a1' -> 
-  setDefaultResourceGroup'_ a1' >>= \res ->
-  return ()
-{-# LINE 119 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-{- function getDefaultResourceGroup -}
-getDefaultResourceGroup :: IO (String)
-getDefaultResourceGroup =
-  alloc64k $ \a1' -> 
-  getDefaultResourceGroup'_ a1' >>= \res ->
-  peekCString  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 123 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFont.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFont.chs.h cegui_fnt_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFont.chs.h cegui_fnt_getName"
-  getName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFont.chs.h cegui_fnt_getTypeName"
-  getTypeName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFont.chs.h cegui_fnt_isCodepointAvailable"
-  isCodepointAvailable'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFont.chs.h cegui_fnt_setAutoScaled"
-  setAutoScaled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFont.chs.h cegui_fnt_isAutoScaled"
-  isAutoScaled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFont.chs.h cegui_fnt_getLineSpacing"
-  getLineSpacing'_ :: ((HG3DClassPtr) -> (CFloat -> ((Ptr CFloat) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFont.chs.h cegui_fnt_getFontHeight"
-  getFontHeight'_ :: ((HG3DClassPtr) -> (CFloat -> ((Ptr CFloat) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFont.chs.h cegui_fnt_getBaseline"
-  getBaseline'_ :: ((HG3DClassPtr) -> (CFloat -> ((Ptr CFloat) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFont.chs.h cegui_fnt_getTextExtent"
-  getTextExtent'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CFloat -> ((Ptr CFloat) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFont.chs.h cegui_fnt_getCharAtPixel"
-  getCharAtPixel'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CFloat -> (CFloat -> ((Ptr CInt) -> (IO ()))))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFont.chs.h cegui_fnt_getCharAtPixel2"
-  getCharAtPixel2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> (CFloat -> (CFloat -> ((Ptr CInt) -> (IO ())))))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFont.chs.h cegui_fnt_setDefaultResourceGroup"
-  setDefaultResourceGroup'_ :: ((Ptr CChar) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFont.chs.h cegui_fnt_getDefaultResourceGroup"
-  getDefaultResourceGroup'_ :: ((Ptr CChar) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassFontManager.chs b/HGamer3D/Bindings/CEGUI/ClassFontManager.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassFontManager.chs
@@ -0,0 +1,51 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassFontManager.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassFontManager 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassFontManager.h"
+{- function FontManager -}
+{#fun cegui_fntmgr_construct as new 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~FontManager -}
+{#fun cegui_fntmgr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassFontManager.hs b/HGamer3D/Bindings/CEGUI/ClassFontManager.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassFontManager.hs
+++ /dev/null
@@ -1,73 +0,0 @@
--- 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\\ClassFontManager.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.
--- 
-
-
--- ClassFontManager.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassFontManager 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\\ClassFontManager.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFontManager.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFontManager.chs" #-}
-
-{- function FontManager -}
-new :: IO (HG3DClass)
-new =
-  alloca $ \a1' -> 
-  new'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFontManager.chs" #-}
-
-{- function ~FontManager -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 51 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFontManager.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFontManager.chs.h cegui_fntmgr_construct"
-  new'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFontManager.chs.h cegui_fntmgr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassFrameWindow.chs b/HGamer3D/Bindings/CEGUI/ClassFrameWindow.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassFrameWindow.chs
@@ -0,0 +1,165 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassFrameWindow.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassFrameWindow 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassFrameWindow.h"
+{- function initialiseComponents -}
+{#fun cegui_frmwndw_initialiseComponents as initialiseComponents 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function isSizingEnabled -}
+{#fun cegui_frmwndw_isSizingEnabled as isSizingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isFrameEnabled -}
+{#fun cegui_frmwndw_isFrameEnabled as isFrameEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isTitleBarEnabled -}
+{#fun cegui_frmwndw_isTitleBarEnabled as isTitleBarEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isCloseButtonEnabled -}
+{#fun cegui_frmwndw_isCloseButtonEnabled as isCloseButtonEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isRollupEnabled -}
+{#fun cegui_frmwndw_isRollupEnabled as isRollupEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isRolledup -}
+{#fun cegui_frmwndw_isRolledup as isRolledup 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getSizingBorderThickness -}
+{#fun cegui_frmwndw_getSizingBorderThickness as getSizingBorderThickness 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setSizingEnabled -}
+{#fun cegui_frmwndw_setSizingEnabled as setSizingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setFrameEnabled -}
+{#fun cegui_frmwndw_setFrameEnabled as setFrameEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setTitleBarEnabled -}
+{#fun cegui_frmwndw_setTitleBarEnabled as setTitleBarEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setCloseButtonEnabled -}
+{#fun cegui_frmwndw_setCloseButtonEnabled as setCloseButtonEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setRollupEnabled -}
+{#fun cegui_frmwndw_setRollupEnabled as setRollupEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function toggleRollup -}
+{#fun cegui_frmwndw_toggleRollup as toggleRollup 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setSizingBorderThickness -}
+{#fun cegui_frmwndw_setSizingBorderThickness as setSizingBorderThickness 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function isDragMovingEnabled -}
+{#fun cegui_frmwndw_isDragMovingEnabled as isDragMovingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setDragMovingEnabled -}
+{#fun cegui_frmwndw_setDragMovingEnabled as setDragMovingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setNSSizingCursorImage2 -}
+{#fun cegui_frmwndw_setNSSizingCursorImage2 as setNSSizingCursorImage2 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setEWSizingCursorImage2 -}
+{#fun cegui_frmwndw_setEWSizingCursorImage2 as setEWSizingCursorImage2 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setNWSESizingCursorImage2 -}
+{#fun cegui_frmwndw_setNWSESizingCursorImage2 as setNWSESizingCursorImage2 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setNESWSizingCursorImage2 -}
+{#fun cegui_frmwndw_setNESWSizingCursorImage2 as setNESWSizingCursorImage2 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function getCloseButton -}
+{#fun cegui_frmwndw_getCloseButton as getCloseButton 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function FrameWindow -}
+{#fun cegui_frmwndw_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~FrameWindow -}
+{#fun cegui_frmwndw_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassFrameWindow.hs b/HGamer3D/Bindings/CEGUI/ClassFrameWindow.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassFrameWindow.hs
+++ /dev/null
@@ -1,350 +0,0 @@
--- 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\\ClassFrameWindow.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.
--- 
-
-
--- ClassFrameWindow.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassFrameWindow 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\\ClassFrameWindow.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function initialiseComponents -}
-initialiseComponents :: HG3DClass -> IO ()
-initialiseComponents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialiseComponents'_ a1' >>= \res ->
-  return ()
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function isSizingEnabled -}
-isSizingEnabled :: HG3DClass -> IO (Bool)
-isSizingEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSizingEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 52 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function isFrameEnabled -}
-isFrameEnabled :: HG3DClass -> IO (Bool)
-isFrameEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isFrameEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 57 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function isTitleBarEnabled -}
-isTitleBarEnabled :: HG3DClass -> IO (Bool)
-isTitleBarEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isTitleBarEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 62 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function isCloseButtonEnabled -}
-isCloseButtonEnabled :: HG3DClass -> IO (Bool)
-isCloseButtonEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isCloseButtonEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 67 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function isRollupEnabled -}
-isRollupEnabled :: HG3DClass -> IO (Bool)
-isRollupEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isRollupEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 72 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function isRolledup -}
-isRolledup :: HG3DClass -> IO (Bool)
-isRolledup a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isRolledup'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 77 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function getSizingBorderThickness -}
-getSizingBorderThickness :: HG3DClass -> IO (Float)
-getSizingBorderThickness a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSizingBorderThickness'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 82 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function setSizingEnabled -}
-setSizingEnabled :: HG3DClass -> Bool -> IO ()
-setSizingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setSizingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 87 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function setFrameEnabled -}
-setFrameEnabled :: HG3DClass -> Bool -> IO ()
-setFrameEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setFrameEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 92 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function setTitleBarEnabled -}
-setTitleBarEnabled :: HG3DClass -> Bool -> IO ()
-setTitleBarEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setTitleBarEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 97 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function setCloseButtonEnabled -}
-setCloseButtonEnabled :: HG3DClass -> Bool -> IO ()
-setCloseButtonEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setCloseButtonEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 102 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function setRollupEnabled -}
-setRollupEnabled :: HG3DClass -> Bool -> IO ()
-setRollupEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setRollupEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 107 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function toggleRollup -}
-toggleRollup :: HG3DClass -> IO ()
-toggleRollup a1 =
-  withHG3DClass a1 $ \a1' -> 
-  toggleRollup'_ a1' >>= \res ->
-  return ()
-{-# LINE 111 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function setSizingBorderThickness -}
-setSizingBorderThickness :: HG3DClass -> Float -> IO ()
-setSizingBorderThickness a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setSizingBorderThickness'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 116 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function isDragMovingEnabled -}
-isDragMovingEnabled :: HG3DClass -> IO (Bool)
-isDragMovingEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isDragMovingEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 121 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function setDragMovingEnabled -}
-setDragMovingEnabled :: HG3DClass -> Bool -> IO ()
-setDragMovingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setDragMovingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 126 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function setNSSizingCursorImage2 -}
-setNSSizingCursorImage2 :: HG3DClass -> String -> String -> IO ()
-setNSSizingCursorImage2 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  setNSSizingCursorImage2'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 132 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function setEWSizingCursorImage2 -}
-setEWSizingCursorImage2 :: HG3DClass -> String -> String -> IO ()
-setEWSizingCursorImage2 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  setEWSizingCursorImage2'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 138 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function setNWSESizingCursorImage2 -}
-setNWSESizingCursorImage2 :: HG3DClass -> String -> String -> IO ()
-setNWSESizingCursorImage2 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  setNWSESizingCursorImage2'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 144 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function setNESWSizingCursorImage2 -}
-setNESWSizingCursorImage2 :: HG3DClass -> String -> String -> IO ()
-setNESWSizingCursorImage2 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  setNESWSizingCursorImage2'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 150 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function getCloseButton -}
-getCloseButton :: HG3DClass -> IO (HG3DClass)
-getCloseButton a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getCloseButton'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 155 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function FrameWindow -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 161 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-{- function ~FrameWindow -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 165 ".\\HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_initialiseComponents"
-  initialiseComponents'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_isSizingEnabled"
-  isSizingEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_isFrameEnabled"
-  isFrameEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_isTitleBarEnabled"
-  isTitleBarEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_isCloseButtonEnabled"
-  isCloseButtonEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_isRollupEnabled"
-  isRollupEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_isRolledup"
-  isRolledup'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_getSizingBorderThickness"
-  getSizingBorderThickness'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_setSizingEnabled"
-  setSizingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_setFrameEnabled"
-  setFrameEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_setTitleBarEnabled"
-  setTitleBarEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_setCloseButtonEnabled"
-  setCloseButtonEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_setRollupEnabled"
-  setRollupEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_toggleRollup"
-  toggleRollup'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_setSizingBorderThickness"
-  setSizingBorderThickness'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_isDragMovingEnabled"
-  isDragMovingEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_setDragMovingEnabled"
-  setDragMovingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_setNSSizingCursorImage2"
-  setNSSizingCursorImage2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_setEWSizingCursorImage2"
-  setEWSizingCursorImage2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_setNWSESizingCursorImage2"
-  setNWSESizingCursorImage2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_setNESWSizingCursorImage2"
-  setNESWSizingCursorImage2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_getCloseButton"
-  getCloseButton'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassFrameWindow.chs.h cegui_frmwndw_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassHG3DEventController.chs b/HGamer3D/Bindings/CEGUI/ClassHG3DEventController.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassHG3DEventController.chs
@@ -0,0 +1,70 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassHG3DEventController.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassHG3DEventController 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassHG3DEventController.h"
+{- function HG3DEventController -}
+{#fun construct as new 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~HG3DEventController -}
+{#fun destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function pushEvent -}
+{#fun pushEvent as pushEvent 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function eventsAvailable -}
+{#fun eventsAvailable as eventsAvailable 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function popEvent -}
+{#fun popEvent as popEvent 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*,
+ alloc64k- `String' peekCString*,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassHG3DEventController.hs b/HGamer3D/Bindings/CEGUI/ClassHG3DEventController.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassHG3DEventController.hs
+++ /dev/null
@@ -1,117 +0,0 @@
--- 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\\ClassHG3DEventController.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.
--- 
-
-
--- ClassHG3DEventController.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassHG3DEventController 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\\ClassHG3DEventController.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventController.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventController.chs" #-}
-
-{- function HG3DEventController -}
-new :: IO (HG3DClass)
-new =
-  alloca $ \a1' -> 
-  new'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventController.chs" #-}
-
-{- function ~HG3DEventController -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 51 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventController.chs" #-}
-
-{- function pushEvent -}
-pushEvent :: HG3DClass -> String -> String -> HG3DClass -> IO ()
-pushEvent a1 a2 a3 a4 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  withHG3DClass a4 $ \a4' -> 
-  pushEvent'_ a1' a2' a3' a4' >>= \res ->
-  return ()
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventController.chs" #-}
-
-{- function eventsAvailable -}
-eventsAvailable :: HG3DClass -> IO (Bool)
-eventsAvailable a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  eventsAvailable'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventController.chs" #-}
-
-{- function popEvent -}
-popEvent :: HG3DClass -> IO (String, String, HG3DClass)
-popEvent a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  alloc64k $ \a3' -> 
-  alloca $ \a4' -> 
-  popEvent'_ a1' a2' a3' a4' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  peekCString  a3'>>= \a3'' -> 
-  peek  a4'>>= \a4'' -> 
-  return (a2'', a3'', a4'')
-{-# LINE 70 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventController.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventController.chs.h construct"
-  new'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventController.chs.h destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventController.chs.h pushEvent"
-  pushEvent'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventController.chs.h eventsAvailable"
-  eventsAvailable'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventController.chs.h popEvent"
-  popEvent'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))))
diff --git a/HGamer3D/Bindings/CEGUI/ClassHG3DEventStaticFunctions.chs b/HGamer3D/Bindings/CEGUI/ClassHG3DEventStaticFunctions.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassHG3DEventStaticFunctions.chs
@@ -0,0 +1,49 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassHG3DEventStaticFunctions.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassHG3DEventStaticFunctions 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassHG3DEventStaticFunctions.h"
+{- function subscribeScriptedEvent -}
+{#fun cegui_hg3devtsf_subscribeScriptedEvent as subscribeScriptedEvent 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassHG3DEventStaticFunctions.hs b/HGamer3D/Bindings/CEGUI/ClassHG3DEventStaticFunctions.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassHG3DEventStaticFunctions.hs
+++ /dev/null
@@ -1,63 +0,0 @@
--- 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\\ClassHG3DEventStaticFunctions.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.
--- 
-
-
--- ClassHG3DEventStaticFunctions.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassHG3DEventStaticFunctions 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\\ClassHG3DEventStaticFunctions.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventStaticFunctions.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventStaticFunctions.chs" #-}
-
-{- function subscribeScriptedEvent -}
-subscribeScriptedEvent :: HG3DClass -> String -> String -> IO ()
-subscribeScriptedEvent a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  subscribeScriptedEvent'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 49 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventStaticFunctions.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DEventStaticFunctions.chs.h cegui_hg3devtsf_subscribeScriptedEvent"
-  subscribeScriptedEvent'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
diff --git a/HGamer3D/Bindings/CEGUI/ClassHG3DListboxStaticFunctions.chs b/HGamer3D/Bindings/CEGUI/ClassHG3DListboxStaticFunctions.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassHG3DListboxStaticFunctions.chs
@@ -0,0 +1,53 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassHG3DListboxStaticFunctions.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassHG3DListboxStaticFunctions 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassHG3DListboxStaticFunctions.h"
+{- function listboxAddItem -}
+{#fun cegui_hg3dlstbxsf_listboxAddItem as listboxAddItem 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function comboboxAddItem -}
+{#fun cegui_hg3dlstbxsf_comboboxAddItem as comboboxAddItem 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassHG3DListboxStaticFunctions.hs b/HGamer3D/Bindings/CEGUI/ClassHG3DListboxStaticFunctions.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassHG3DListboxStaticFunctions.hs
+++ /dev/null
@@ -1,74 +0,0 @@
--- 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\\ClassHG3DListboxStaticFunctions.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.
--- 
-
-
--- ClassHG3DListboxStaticFunctions.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassHG3DListboxStaticFunctions 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\\ClassHG3DListboxStaticFunctions.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DListboxStaticFunctions.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DListboxStaticFunctions.chs" #-}
-
-{- function listboxAddItem -}
-listboxAddItem :: HG3DClass -> String -> IO ()
-listboxAddItem a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  listboxAddItem'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DListboxStaticFunctions.chs" #-}
-
-{- function comboboxAddItem -}
-comboboxAddItem :: HG3DClass -> String -> IO ()
-comboboxAddItem a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  comboboxAddItem'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DListboxStaticFunctions.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DListboxStaticFunctions.chs.h cegui_hg3dlstbxsf_listboxAddItem"
-  listboxAddItem'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DListboxStaticFunctions.chs.h cegui_hg3dlstbxsf_comboboxAddItem"
-  comboboxAddItem'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
diff --git a/HGamer3D/Bindings/CEGUI/ClassHG3DWindowStaticFunctions.chs b/HGamer3D/Bindings/CEGUI/ClassHG3DWindowStaticFunctions.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassHG3DWindowStaticFunctions.chs
@@ -0,0 +1,98 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassHG3DWindowStaticFunctions.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassHG3DWindowStaticFunctions 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassHG3DWindowStaticFunctions.h"
+{- function castWindowToPushButton -}
+{#fun cegui_hg3dwsfs_castWindowToPushButton as castWindowToPushButton 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function castWindowToListbox -}
+{#fun cegui_hg3dwsfs_castWindowToListbox as castWindowToListbox 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function castWindowToCombobox -}
+{#fun cegui_hg3dwsfs_castWindowToCombobox as castWindowToCombobox 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function castWindowToRadioButton -}
+{#fun cegui_hg3dwsfs_castWindowToRadioButton as castWindowToRadioButton 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function castWindowToEditbox -}
+{#fun cegui_hg3dwsfs_castWindowToEditbox as castWindowToEditbox 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function castWindowToMultiLineEditbox -}
+{#fun cegui_hg3dwsfs_castWindowToMultiLineEditbox as castWindowToMultiLineEditbox 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function castWindowToFrameWindow -}
+{#fun cegui_hg3dwsfs_castWindowToFrameWindow as castWindowToFrameWindow 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function castWindowToProgressBar -}
+{#fun cegui_hg3dwsfs_castWindowToProgressBar as castWindowToProgressBar 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function castWindowToSlider -}
+{#fun cegui_hg3dwsfs_castWindowToSlider as castWindowToSlider 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function castWindowToSpinner -}
+{#fun cegui_hg3dwsfs_castWindowToSpinner as castWindowToSpinner 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function castWindowToMultiColumnList -}
+{#fun cegui_hg3dwsfs_castWindowToMultiColumnList as castWindowToMultiColumnList 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassHG3DWindowStaticFunctions.hs b/HGamer3D/Bindings/CEGUI/ClassHG3DWindowStaticFunctions.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassHG3DWindowStaticFunctions.hs
+++ /dev/null
@@ -1,206 +0,0 @@
--- 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\\ClassHG3DWindowStaticFunctions.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.
--- 
-
-
--- ClassHG3DWindowStaticFunctions.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassHG3DWindowStaticFunctions 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\\ClassHG3DWindowStaticFunctions.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs" #-}
-
-{- function castWindowToPushButton -}
-castWindowToPushButton :: HG3DClass -> IO (HG3DClass)
-castWindowToPushButton a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  castWindowToPushButton'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs" #-}
-
-{- function castWindowToListbox -}
-castWindowToListbox :: HG3DClass -> IO (HG3DClass)
-castWindowToListbox a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  castWindowToListbox'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs" #-}
-
-{- function castWindowToCombobox -}
-castWindowToCombobox :: HG3DClass -> IO (HG3DClass)
-castWindowToCombobox a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  castWindowToCombobox'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs" #-}
-
-{- function castWindowToCheckbox -}
-castWindowToCheckbox :: HG3DClass -> IO (HG3DClass)
-castWindowToCheckbox a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  castWindowToCheckbox'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs" #-}
-
-{- function castWindowToRadioButton -}
-castWindowToRadioButton :: HG3DClass -> IO (HG3DClass)
-castWindowToRadioButton a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  castWindowToRadioButton'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs" #-}
-
-{- function castWindowToEditbox -}
-castWindowToEditbox :: HG3DClass -> IO (HG3DClass)
-castWindowToEditbox a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  castWindowToEditbox'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs" #-}
-
-{- function castWindowToMultiLineEditbox -}
-castWindowToMultiLineEditbox :: HG3DClass -> IO (HG3DClass)
-castWindowToMultiLineEditbox a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  castWindowToMultiLineEditbox'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs" #-}
-
-{- function castWindowToFrameWindow -}
-castWindowToFrameWindow :: HG3DClass -> IO (HG3DClass)
-castWindowToFrameWindow a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  castWindowToFrameWindow'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs" #-}
-
-{- function castWindowToProgressBar -}
-castWindowToProgressBar :: HG3DClass -> IO (HG3DClass)
-castWindowToProgressBar a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  castWindowToProgressBar'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 88 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs" #-}
-
-{- function castWindowToSlider -}
-castWindowToSlider :: HG3DClass -> IO (HG3DClass)
-castWindowToSlider a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  castWindowToSlider'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 93 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs" #-}
-
-{- function castWindowToSpinner -}
-castWindowToSpinner :: HG3DClass -> IO (HG3DClass)
-castWindowToSpinner a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  castWindowToSpinner'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 98 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs" #-}
-
-{- function castWindowToMultiColumnList -}
-castWindowToMultiColumnList :: HG3DClass -> IO (HG3DClass)
-castWindowToMultiColumnList a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  castWindowToMultiColumnList'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 103 ".\\HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs.h cegui_hg3dwsfs_castWindowToPushButton"
-  castWindowToPushButton'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs.h cegui_hg3dwsfs_castWindowToListbox"
-  castWindowToListbox'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs.h cegui_hg3dwsfs_castWindowToCombobox"
-  castWindowToCombobox'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs.h cegui_hg3dwsfs_castWindowToCheckbox"
-  castWindowToCheckbox'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs.h cegui_hg3dwsfs_castWindowToRadioButton"
-  castWindowToRadioButton'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs.h cegui_hg3dwsfs_castWindowToEditbox"
-  castWindowToEditbox'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs.h cegui_hg3dwsfs_castWindowToMultiLineEditbox"
-  castWindowToMultiLineEditbox'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs.h cegui_hg3dwsfs_castWindowToFrameWindow"
-  castWindowToFrameWindow'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs.h cegui_hg3dwsfs_castWindowToProgressBar"
-  castWindowToProgressBar'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs.h cegui_hg3dwsfs_castWindowToSlider"
-  castWindowToSlider'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs.h cegui_hg3dwsfs_castWindowToSpinner"
-  castWindowToSpinner'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassHG3DWindowStaticFunctions.chs.h cegui_hg3dwsfs_castWindowToMultiColumnList"
-  castWindowToMultiColumnList'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
diff --git a/HGamer3D/Bindings/CEGUI/ClassImageCodec.chs b/HGamer3D/Bindings/CEGUI/ClassImageCodec.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassImageCodec.chs
@@ -0,0 +1,57 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassImageCodec.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassImageCodec 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassImageCodec.h"
+{- function ~ImageCodec -}
+{#fun cegui_imgcdc_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getIdentifierString -}
+{#fun cegui_imgcdc_getIdentifierString as getIdentifierString 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function getSupportedFormat -}
+{#fun cegui_imgcdc_getSupportedFormat as getSupportedFormat 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassImageCodec.hs b/HGamer3D/Bindings/CEGUI/ClassImageCodec.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassImageCodec.hs
+++ /dev/null
@@ -1,87 +0,0 @@
--- 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\\ClassImageCodec.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.
--- 
-
-
--- ClassImageCodec.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassImageCodec 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\\ClassImageCodec.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageCodec.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageCodec.chs" #-}
-
-{- function ~ImageCodec -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageCodec.chs" #-}
-
-{- function getIdentifierString -}
-getIdentifierString :: HG3DClass -> IO (String)
-getIdentifierString a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getIdentifierString'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 52 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageCodec.chs" #-}
-
-{- function getSupportedFormat -}
-getSupportedFormat :: HG3DClass -> IO (String)
-getSupportedFormat a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getSupportedFormat'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 57 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageCodec.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageCodec.chs.h cegui_imgcdc_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageCodec.chs.h cegui_imgcdc_getIdentifierString"
-  getIdentifierString'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageCodec.chs.h cegui_imgcdc_getSupportedFormat"
-  getSupportedFormat'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
diff --git a/HGamer3D/Bindings/CEGUI/ClassImageset.chs b/HGamer3D/Bindings/CEGUI/ClassImageset.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassImageset.chs
@@ -0,0 +1,121 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassImageset.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassImageset 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassImageset.h"
+{- function Imageset2 -}
+{#fun cegui_imgst_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~Imageset -}
+{#fun cegui_imgst_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getName -}
+{#fun cegui_imgst_getName as getName 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function getImageCount -}
+{#fun cegui_imgst_getImageCount as getImageCount 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function isImageDefined -}
+{#fun cegui_imgst_isImageDefined as isImageDefined 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function undefineImage -}
+{#fun cegui_imgst_undefineImage as undefineImage 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function undefineAllImages -}
+{#fun cegui_imgst_undefineAllImages as undefineAllImages 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getImageWidth -}
+{#fun cegui_imgst_getImageWidth as getImageWidth 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getImageHeight -}
+{#fun cegui_imgst_getImageHeight as getImageHeight 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getImageOffsetX -}
+{#fun cegui_imgst_getImageOffsetX as getImageOffsetX 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getImageOffsetY -}
+{#fun cegui_imgst_getImageOffsetY as getImageOffsetY 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function isAutoScaled -}
+{#fun cegui_imgst_isAutoScaled as isAutoScaled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setAutoScalingEnabled -}
+{#fun cegui_imgst_setAutoScalingEnabled as setAutoScalingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setDefaultResourceGroup -}
+{#fun cegui_imgst_setDefaultResourceGroup as setDefaultResourceGroup 
+{ withCString* `String' } -> `()'  #}
+
+{- function getDefaultResourceGroup -}
+{#fun cegui_imgst_getDefaultResourceGroup as getDefaultResourceGroup 
+{ alloc64k- `String' peekCString*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassImageset.hs b/HGamer3D/Bindings/CEGUI/ClassImageset.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassImageset.hs
+++ /dev/null
@@ -1,243 +0,0 @@
--- 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\\ClassImageset.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.
--- 
-
-
--- ClassImageset.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassImageset 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\\ClassImageset.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function Imageset2 -}
-new :: String -> String -> String -> IO (HG3DClass)
-new a1 a2 a3 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  alloca $ \a4' -> 
-  new'_ a1' a2' a3' a4' >>= \res ->
-  peek  a4'>>= \a4'' -> 
-  return (a4'')
-{-# LINE 50 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function ~Imageset -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 54 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function getName -}
-getName :: HG3DClass -> IO (String)
-getName a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getName'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 59 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function getImageCount -}
-getImageCount :: HG3DClass -> IO (Int)
-getImageCount a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getImageCount'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 64 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function isImageDefined -}
-isImageDefined :: HG3DClass -> String -> IO (Bool)
-isImageDefined a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isImageDefined'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 70 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function undefineImage -}
-undefineImage :: HG3DClass -> String -> IO ()
-undefineImage a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  undefineImage'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 75 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function undefineAllImages -}
-undefineAllImages :: HG3DClass -> IO ()
-undefineAllImages a1 =
-  withHG3DClass a1 $ \a1' -> 
-  undefineAllImages'_ a1' >>= \res ->
-  return ()
-{-# LINE 79 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function getImageWidth -}
-getImageWidth :: HG3DClass -> String -> IO (Float)
-getImageWidth a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getImageWidth'_ a1' a2' a3' >>= \res ->
-  peekFloatConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 85 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function getImageHeight -}
-getImageHeight :: HG3DClass -> String -> IO (Float)
-getImageHeight a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getImageHeight'_ a1' a2' a3' >>= \res ->
-  peekFloatConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 91 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function getImageOffsetX -}
-getImageOffsetX :: HG3DClass -> String -> IO (Float)
-getImageOffsetX a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getImageOffsetX'_ a1' a2' a3' >>= \res ->
-  peekFloatConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 97 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function getImageOffsetY -}
-getImageOffsetY :: HG3DClass -> String -> IO (Float)
-getImageOffsetY a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getImageOffsetY'_ a1' a2' a3' >>= \res ->
-  peekFloatConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 103 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function isAutoScaled -}
-isAutoScaled :: HG3DClass -> IO (Bool)
-isAutoScaled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isAutoScaled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 108 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function setAutoScalingEnabled -}
-setAutoScalingEnabled :: HG3DClass -> Bool -> IO ()
-setAutoScalingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setAutoScalingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 113 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function setDefaultResourceGroup -}
-setDefaultResourceGroup :: String -> IO ()
-setDefaultResourceGroup a1 =
-  withCString a1 $ \a1' -> 
-  setDefaultResourceGroup'_ a1' >>= \res ->
-  return ()
-{-# LINE 117 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-{- function getDefaultResourceGroup -}
-getDefaultResourceGroup :: IO (String)
-getDefaultResourceGroup =
-  alloc64k $ \a1' -> 
-  getDefaultResourceGroup'_ a1' >>= \res ->
-  peekCString  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 121 ".\\HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_getName"
-  getName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_getImageCount"
-  getImageCount'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_isImageDefined"
-  isImageDefined'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_undefineImage"
-  undefineImage'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_undefineAllImages"
-  undefineAllImages'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_getImageWidth"
-  getImageWidth'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CFloat) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_getImageHeight"
-  getImageHeight'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CFloat) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_getImageOffsetX"
-  getImageOffsetX'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CFloat) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_getImageOffsetY"
-  getImageOffsetY'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CFloat) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_isAutoScaled"
-  isAutoScaled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_setAutoScalingEnabled"
-  setAutoScalingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_setDefaultResourceGroup"
-  setDefaultResourceGroup'_ :: ((Ptr CChar) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassImageset.chs.h cegui_imgst_getDefaultResourceGroup"
-  getDefaultResourceGroup'_ :: ((Ptr CChar) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassItemEntry.chs b/HGamer3D/Bindings/CEGUI/ClassItemEntry.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassItemEntry.chs
@@ -0,0 +1,87 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassItemEntry.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassItemEntry 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassItemEntry.h"
+{- function isSelected -}
+{#fun cegui_itmentr_isSelected as isSelected 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isSelectable -}
+{#fun cegui_itmentr_isSelectable as isSelectable 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setSelected -}
+{#fun cegui_itmentr_setSelected as setSelected 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function select -}
+{#fun cegui_itmentr_select as select 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function deselect -}
+{#fun cegui_itmentr_deselect as deselect 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setSelected_impl -}
+{#fun cegui_itmentr_setSelected_impl as setSelectedImpl 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setSelectable -}
+{#fun cegui_itmentr_setSelectable as setSelectable 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function ItemEntry -}
+{#fun cegui_itmentr_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~ItemEntry -}
+{#fun cegui_itmentr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassItemEntry.hs b/HGamer3D/Bindings/CEGUI/ClassItemEntry.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassItemEntry.hs
+++ /dev/null
@@ -1,160 +0,0 @@
--- 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\\ClassItemEntry.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.
--- 
-
-
--- ClassItemEntry.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassItemEntry 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\\ClassItemEntry.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs" #-}
-
-{- function isSelected -}
-isSelected :: HG3DClass -> IO (Bool)
-isSelected a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSelected'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs" #-}
-
-{- function isSelectable -}
-isSelectable :: HG3DClass -> IO (Bool)
-isSelectable a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSelectable'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs" #-}
-
-{- function setSelected -}
-setSelected :: HG3DClass -> Bool -> IO ()
-setSelected a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setSelected'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs" #-}
-
-{- function select -}
-select :: HG3DClass -> IO ()
-select a1 =
-  withHG3DClass a1 $ \a1' -> 
-  select'_ a1' >>= \res ->
-  return ()
-{-# LINE 62 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs" #-}
-
-{- function deselect -}
-deselect :: HG3DClass -> IO ()
-deselect a1 =
-  withHG3DClass a1 $ \a1' -> 
-  deselect'_ a1' >>= \res ->
-  return ()
-{-# LINE 66 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs" #-}
-
-{- function setSelected_impl -}
-setSelectedImpl :: HG3DClass -> Bool -> Bool -> IO ()
-setSelectedImpl a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  let {a3' = fromBool a3} in 
-  setSelectedImpl'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 72 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs" #-}
-
-{- function setSelectable -}
-setSelectable :: HG3DClass -> Bool -> IO ()
-setSelectable a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setSelectable'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 77 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs" #-}
-
-{- function ItemEntry -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs" #-}
-
-{- function ~ItemEntry -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 87 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs.h cegui_itmentr_isSelected"
-  isSelected'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs.h cegui_itmentr_isSelectable"
-  isSelectable'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs.h cegui_itmentr_setSelected"
-  setSelected'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs.h cegui_itmentr_select"
-  select'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs.h cegui_itmentr_deselect"
-  deselect'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs.h cegui_itmentr_setSelected_impl"
-  setSelectedImpl'_ :: ((HG3DClassPtr) -> (CInt -> (CInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs.h cegui_itmentr_setSelectable"
-  setSelectable'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs.h cegui_itmentr_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemEntry.chs.h cegui_itmentr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassItemListbox.chs b/HGamer3D/Bindings/CEGUI/ClassItemListbox.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassItemListbox.chs
@@ -0,0 +1,135 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassItemListbox.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassItemListbox 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassItemListbox.h"
+{- function getSelectedCount -}
+{#fun cegui_itmlstbx_getSelectedCount as getSelectedCount 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getLastSelectedItem -}
+{#fun cegui_itmlstbx_getLastSelectedItem as getLastSelectedItem 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getFirstSelectedItem -}
+{#fun cegui_itmlstbx_getFirstSelectedItem as getFirstSelectedItem 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getNextSelectedItem -}
+{#fun cegui_itmlstbx_getNextSelectedItem as getNextSelectedItem 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getNextSelectedItemAfter -}
+{#fun cegui_itmlstbx_getNextSelectedItemAfter as getNextSelectedItemAfter 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function isMultiSelectEnabled -}
+{#fun cegui_itmlstbx_isMultiSelectEnabled as isMultiSelectEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isItemSelected -}
+{#fun cegui_itmlstbx_isItemSelected as isItemSelected 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function initialiseComponents -}
+{#fun cegui_itmlstbx_initialiseComponents as initialiseComponents 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setMultiSelectEnabled -}
+{#fun cegui_itmlstbx_setMultiSelectEnabled as setMultiSelectEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function clearAllSelections -}
+{#fun cegui_itmlstbx_clearAllSelections as clearAllSelections 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function selectRange -}
+{#fun cegui_itmlstbx_selectRange as selectRange 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function selectAllItems -}
+{#fun cegui_itmlstbx_selectAllItems as selectAllItems 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function ItemListbox -}
+{#fun cegui_itmlstbx_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~ItemListbox -}
+{#fun cegui_itmlstbx_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function layoutItemWidgets -}
+{#fun cegui_itmlstbx_layoutItemWidgets as layoutItemWidgets 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function testClassName_impl -}
+{#fun cegui_itmlstbx_testClassName_impl as testClassNameImpl 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function notifyItemClicked -}
+{#fun cegui_itmlstbx_notifyItemClicked as notifyItemClicked 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function notifyItemSelectState -}
+{#fun cegui_itmlstbx_notifyItemSelectState as notifyItemSelectState 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassItemListbox.hs b/HGamer3D/Bindings/CEGUI/ClassItemListbox.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassItemListbox.hs
+++ /dev/null
@@ -1,277 +0,0 @@
--- 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\\ClassItemListbox.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.
--- 
-
-
--- ClassItemListbox.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassItemListbox 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\\ClassItemListbox.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function getSelectedCount -}
-getSelectedCount :: HG3DClass -> IO (Int)
-getSelectedCount a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectedCount'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function getLastSelectedItem -}
-getLastSelectedItem :: HG3DClass -> IO (HG3DClass)
-getLastSelectedItem a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getLastSelectedItem'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function getFirstSelectedItem -}
-getFirstSelectedItem :: HG3DClass -> Int -> IO (HG3DClass)
-getFirstSelectedItem a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getFirstSelectedItem'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 59 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function getNextSelectedItem -}
-getNextSelectedItem :: HG3DClass -> IO (HG3DClass)
-getNextSelectedItem a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getNextSelectedItem'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 64 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function getNextSelectedItemAfter -}
-getNextSelectedItemAfter :: HG3DClass -> HG3DClass -> IO (HG3DClass)
-getNextSelectedItemAfter a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getNextSelectedItemAfter'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 70 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function isMultiSelectEnabled -}
-isMultiSelectEnabled :: HG3DClass -> IO (Bool)
-isMultiSelectEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isMultiSelectEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 75 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function isItemSelected -}
-isItemSelected :: HG3DClass -> Int -> IO (Bool)
-isItemSelected a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  isItemSelected'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 81 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function initialiseComponents -}
-initialiseComponents :: HG3DClass -> IO ()
-initialiseComponents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialiseComponents'_ a1' >>= \res ->
-  return ()
-{-# LINE 85 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function setMultiSelectEnabled -}
-setMultiSelectEnabled :: HG3DClass -> Bool -> IO ()
-setMultiSelectEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setMultiSelectEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 90 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function clearAllSelections -}
-clearAllSelections :: HG3DClass -> IO ()
-clearAllSelections a1 =
-  withHG3DClass a1 $ \a1' -> 
-  clearAllSelections'_ a1' >>= \res ->
-  return ()
-{-# LINE 94 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function selectRange -}
-selectRange :: HG3DClass -> Int -> Int -> IO ()
-selectRange a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  let {a3' = fromIntegral a3} in 
-  selectRange'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 100 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function selectAllItems -}
-selectAllItems :: HG3DClass -> IO ()
-selectAllItems a1 =
-  withHG3DClass a1 $ \a1' -> 
-  selectAllItems'_ a1' >>= \res ->
-  return ()
-{-# LINE 104 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function ItemListbox -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 110 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function ~ItemListbox -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 114 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function layoutItemWidgets -}
-layoutItemWidgets :: HG3DClass -> IO ()
-layoutItemWidgets a1 =
-  withHG3DClass a1 $ \a1' -> 
-  layoutItemWidgets'_ a1' >>= \res ->
-  return ()
-{-# LINE 118 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function testClassName_impl -}
-testClassNameImpl :: HG3DClass -> String -> IO (Bool)
-testClassNameImpl a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  testClassNameImpl'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 124 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function notifyItemClicked -}
-notifyItemClicked :: HG3DClass -> HG3DClass -> IO ()
-notifyItemClicked a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  notifyItemClicked'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 129 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-{- function notifyItemSelectState -}
-notifyItemSelectState :: HG3DClass -> HG3DClass -> Bool -> IO ()
-notifyItemSelectState a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  let {a3' = fromBool a3} in 
-  notifyItemSelectState'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 135 ".\\HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_getSelectedCount"
-  getSelectedCount'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_getLastSelectedItem"
-  getLastSelectedItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_getFirstSelectedItem"
-  getFirstSelectedItem'_ :: ((HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_getNextSelectedItem"
-  getNextSelectedItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_getNextSelectedItemAfter"
-  getNextSelectedItemAfter'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_isMultiSelectEnabled"
-  isMultiSelectEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_isItemSelected"
-  isItemSelected'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_initialiseComponents"
-  initialiseComponents'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_setMultiSelectEnabled"
-  setMultiSelectEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_clearAllSelections"
-  clearAllSelections'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_selectRange"
-  selectRange'_ :: ((HG3DClassPtr) -> (CInt -> (CInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_selectAllItems"
-  selectAllItems'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_layoutItemWidgets"
-  layoutItemWidgets'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_testClassName_impl"
-  testClassNameImpl'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_notifyItemClicked"
-  notifyItemClicked'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassItemListbox.chs.h cegui_itmlstbx_notifyItemSelectState"
-  notifyItemSelectState'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CInt -> (IO ()))))
diff --git a/HGamer3D/Bindings/CEGUI/ClassListHeader.chs b/HGamer3D/Bindings/CEGUI/ClassListHeader.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassListHeader.chs
@@ -0,0 +1,215 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassListHeader.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassListHeader 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+{# import HGamer3D.Bindings.CEGUI.EnumSortDirection #}
+
+#include "ClassListHeader.h"
+{- function getColumnCount -}
+{#fun cegui_lsthdr_getColumnCount as getColumnCount 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSegmentFromColumn -}
+{#fun cegui_lsthdr_getSegmentFromColumn as getSegmentFromColumn 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getSegmentFromID -}
+{#fun cegui_lsthdr_getSegmentFromID as getSegmentFromID 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getSortSegment -}
+{#fun cegui_lsthdr_getSortSegment as getSortSegment 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getColumnFromSegment -}
+{#fun cegui_lsthdr_getColumnFromSegment as getColumnFromSegment 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getColumnFromID -}
+{#fun cegui_lsthdr_getColumnFromID as getColumnFromID 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSortColumn -}
+{#fun cegui_lsthdr_getSortColumn as getSortColumn 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getColumnWithText -}
+{#fun cegui_lsthdr_getColumnWithText as getColumnWithText 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getPixelOffsetToSegment -}
+{#fun cegui_lsthdr_getPixelOffsetToSegment as getPixelOffsetToSegment 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getPixelOffsetToColumn -}
+{#fun cegui_lsthdr_getPixelOffsetToColumn as getPixelOffsetToColumn 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getTotalSegmentsPixelExtent -}
+{#fun cegui_lsthdr_getTotalSegmentsPixelExtent as getTotalSegmentsPixelExtent 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getSortDirection -}
+{#fun cegui_lsthdr_getSortDirection as getSortDirection 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `EnumSortDirection' peekEnumUtil*} -> `()'  #}
+
+{- function isSortingEnabled -}
+{#fun cegui_lsthdr_isSortingEnabled as isSortingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isColumnSizingEnabled -}
+{#fun cegui_lsthdr_isColumnSizingEnabled as isColumnSizingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isColumnDraggingEnabled -}
+{#fun cegui_lsthdr_isColumnDraggingEnabled as isColumnDraggingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getSegmentOffset -}
+{#fun cegui_lsthdr_getSegmentOffset as getSegmentOffset 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setSortingEnabled -}
+{#fun cegui_lsthdr_setSortingEnabled as setSortingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setSortDirection -}
+{#fun cegui_lsthdr_setSortDirection as setSortDirection 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumSortDirection' } -> `()'  #}
+
+{- function setSortSegment -}
+{#fun cegui_lsthdr_setSortSegment as setSortSegment 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setSortColumn -}
+{#fun cegui_lsthdr_setSortColumn as setSortColumn 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setSortColumnFromID -}
+{#fun cegui_lsthdr_setSortColumnFromID as setSortColumnFromID 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setColumnSizingEnabled -}
+{#fun cegui_lsthdr_setColumnSizingEnabled as setColumnSizingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setColumnDraggingEnabled -}
+{#fun cegui_lsthdr_setColumnDraggingEnabled as setColumnDraggingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function removeColumn -}
+{#fun cegui_lsthdr_removeColumn as removeColumn 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function removeSegment -}
+{#fun cegui_lsthdr_removeSegment as removeSegment 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function moveColumn -}
+{#fun cegui_lsthdr_moveColumn as moveColumn 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function moveColumn2 -}
+{#fun cegui_lsthdr_moveColumn2 as moveColumn2 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function moveSegment -}
+{#fun cegui_lsthdr_moveSegment as moveSegment 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function moveSegment2 -}
+{#fun cegui_lsthdr_moveSegment2 as moveSegment2 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setSegmentOffset -}
+{#fun cegui_lsthdr_setSegmentOffset as setSegmentOffset 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function ListHeader -}
+{#fun cegui_lsthdr_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~ListHeader -}
+{#fun cegui_lsthdr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassListHeader.hs b/HGamer3D/Bindings/CEGUI/ClassListHeader.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassListHeader.hs
+++ /dev/null
@@ -1,464 +0,0 @@
--- 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\\ClassListHeader.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.
--- 
-
-
--- ClassListHeader.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassListHeader 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\\ClassListHeader.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-import HGamer3D.Bindings.CEGUI.EnumSortDirection
-{-# LINE 43 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function getColumnCount -}
-getColumnCount :: HG3DClass -> IO (Int)
-getColumnCount a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getColumnCount'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 49 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function getSegmentFromColumn -}
-getSegmentFromColumn :: HG3DClass -> Int -> IO (HG3DClass)
-getSegmentFromColumn a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getSegmentFromColumn'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 55 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function getSegmentFromID -}
-getSegmentFromID :: HG3DClass -> Int -> IO (HG3DClass)
-getSegmentFromID a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getSegmentFromID'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 61 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function getSortSegment -}
-getSortSegment :: HG3DClass -> IO (HG3DClass)
-getSortSegment a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSortSegment'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 66 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function getColumnFromSegment -}
-getColumnFromSegment :: HG3DClass -> HG3DClass -> IO (Int)
-getColumnFromSegment a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getColumnFromSegment'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 72 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function getColumnFromID -}
-getColumnFromID :: HG3DClass -> Int -> IO (Int)
-getColumnFromID a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getColumnFromID'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function getSortColumn -}
-getSortColumn :: HG3DClass -> IO (Int)
-getSortColumn a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSortColumn'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function getColumnWithText -}
-getColumnWithText :: HG3DClass -> String -> IO (Int)
-getColumnWithText a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getColumnWithText'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 89 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function getPixelOffsetToSegment -}
-getPixelOffsetToSegment :: HG3DClass -> HG3DClass -> IO (Float)
-getPixelOffsetToSegment a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getPixelOffsetToSegment'_ a1' a2' a3' >>= \res ->
-  peekFloatConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 95 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function getPixelOffsetToColumn -}
-getPixelOffsetToColumn :: HG3DClass -> Int -> IO (Float)
-getPixelOffsetToColumn a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getPixelOffsetToColumn'_ a1' a2' a3' >>= \res ->
-  peekFloatConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 101 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function getTotalSegmentsPixelExtent -}
-getTotalSegmentsPixelExtent :: HG3DClass -> IO (Float)
-getTotalSegmentsPixelExtent a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getTotalSegmentsPixelExtent'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 106 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function getSortDirection -}
-getSortDirection :: HG3DClass -> IO (EnumSortDirection)
-getSortDirection a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSortDirection'_ a1' a2' >>= \res ->
-  peekEnumUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 111 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function isSortingEnabled -}
-isSortingEnabled :: HG3DClass -> IO (Bool)
-isSortingEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSortingEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 116 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function isColumnSizingEnabled -}
-isColumnSizingEnabled :: HG3DClass -> IO (Bool)
-isColumnSizingEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isColumnSizingEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 121 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function isColumnDraggingEnabled -}
-isColumnDraggingEnabled :: HG3DClass -> IO (Bool)
-isColumnDraggingEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isColumnDraggingEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 126 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function getSegmentOffset -}
-getSegmentOffset :: HG3DClass -> IO (Float)
-getSegmentOffset a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSegmentOffset'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 131 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function setSortingEnabled -}
-setSortingEnabled :: HG3DClass -> Bool -> IO ()
-setSortingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setSortingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 136 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function setSortDirection -}
-setSortDirection :: HG3DClass -> EnumSortDirection -> IO ()
-setSortDirection a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = cIntFromEnum a2} in 
-  setSortDirection'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 141 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function setSortSegment -}
-setSortSegment :: HG3DClass -> HG3DClass -> IO ()
-setSortSegment a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  setSortSegment'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 146 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function setSortColumn -}
-setSortColumn :: HG3DClass -> Int -> IO ()
-setSortColumn a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setSortColumn'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 151 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function setSortColumnFromID -}
-setSortColumnFromID :: HG3DClass -> Int -> IO ()
-setSortColumnFromID a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setSortColumnFromID'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 156 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function setColumnSizingEnabled -}
-setColumnSizingEnabled :: HG3DClass -> Bool -> IO ()
-setColumnSizingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setColumnSizingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 161 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function setColumnDraggingEnabled -}
-setColumnDraggingEnabled :: HG3DClass -> Bool -> IO ()
-setColumnDraggingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setColumnDraggingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 166 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function removeColumn -}
-removeColumn :: HG3DClass -> Int -> IO ()
-removeColumn a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  removeColumn'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 171 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function removeSegment -}
-removeSegment :: HG3DClass -> HG3DClass -> IO ()
-removeSegment a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  removeSegment'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 176 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function moveColumn -}
-moveColumn :: HG3DClass -> Int -> Int -> IO ()
-moveColumn a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  let {a3' = fromIntegral a3} in 
-  moveColumn'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 182 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function moveColumn2 -}
-moveColumn2 :: HG3DClass -> Int -> HG3DClass -> IO ()
-moveColumn2 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  withHG3DClass a3 $ \a3' -> 
-  moveColumn2'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 188 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function moveSegment -}
-moveSegment :: HG3DClass -> HG3DClass -> Int -> IO ()
-moveSegment a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  let {a3' = fromIntegral a3} in 
-  moveSegment'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 194 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function moveSegment2 -}
-moveSegment2 :: HG3DClass -> HG3DClass -> HG3DClass -> IO ()
-moveSegment2 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  withHG3DClass a3 $ \a3' -> 
-  moveSegment2'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 200 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function setSegmentOffset -}
-setSegmentOffset :: HG3DClass -> Float -> IO ()
-setSegmentOffset a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setSegmentOffset'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 205 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function ListHeader -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 211 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-{- function ~ListHeader -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 215 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_getColumnCount"
-  getColumnCount'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_getSegmentFromColumn"
-  getSegmentFromColumn'_ :: ((HG3DClassPtr) -> (CUInt -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_getSegmentFromID"
-  getSegmentFromID'_ :: ((HG3DClassPtr) -> (CUInt -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_getSortSegment"
-  getSortSegment'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_getColumnFromSegment"
-  getColumnFromSegment'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_getColumnFromID"
-  getColumnFromID'_ :: ((HG3DClassPtr) -> (CUInt -> ((Ptr CUInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_getSortColumn"
-  getSortColumn'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_getColumnWithText"
-  getColumnWithText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CUInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_getPixelOffsetToSegment"
-  getPixelOffsetToSegment'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_getPixelOffsetToColumn"
-  getPixelOffsetToColumn'_ :: ((HG3DClassPtr) -> (CUInt -> ((Ptr CFloat) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_getTotalSegmentsPixelExtent"
-  getTotalSegmentsPixelExtent'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_getSortDirection"
-  getSortDirection'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_isSortingEnabled"
-  isSortingEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_isColumnSizingEnabled"
-  isColumnSizingEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_isColumnDraggingEnabled"
-  isColumnDraggingEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_getSegmentOffset"
-  getSegmentOffset'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_setSortingEnabled"
-  setSortingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_setSortDirection"
-  setSortDirection'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_setSortSegment"
-  setSortSegment'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_setSortColumn"
-  setSortColumn'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_setSortColumnFromID"
-  setSortColumnFromID'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_setColumnSizingEnabled"
-  setColumnSizingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_setColumnDraggingEnabled"
-  setColumnDraggingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_removeColumn"
-  removeColumn'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_removeSegment"
-  removeSegment'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_moveColumn"
-  moveColumn'_ :: ((HG3DClassPtr) -> (CUInt -> (CUInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_moveColumn2"
-  moveColumn2'_ :: ((HG3DClassPtr) -> (CUInt -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_moveSegment"
-  moveSegment'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CUInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_moveSegment2"
-  moveSegment2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_setSegmentOffset"
-  setSegmentOffset'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeader.chs.h cegui_lsthdr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassListHeaderSegment.chs b/HGamer3D/Bindings/CEGUI/ClassListHeaderSegment.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassListHeaderSegment.chs
@@ -0,0 +1,131 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassListHeaderSegment.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassListHeaderSegment 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+{# import HGamer3D.Bindings.CEGUI.EnumSortDirection #}
+
+#include "ClassListHeaderSegment.h"
+{- function isSizingEnabled -}
+{#fun cegui_lsthdrsgm_isSizingEnabled as isSizingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getSortDirection -}
+{#fun cegui_lsthdrsgm_getSortDirection as getSortDirection 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `EnumSortDirection' peekEnumUtil*} -> `()'  #}
+
+{- function isDragMovingEnabled -}
+{#fun cegui_lsthdrsgm_isDragMovingEnabled as isDragMovingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isClickable -}
+{#fun cegui_lsthdrsgm_isClickable as isClickable 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isSegmentHovering -}
+{#fun cegui_lsthdrsgm_isSegmentHovering as isSegmentHovering 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isSegmentPushed -}
+{#fun cegui_lsthdrsgm_isSegmentPushed as isSegmentPushed 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isSplitterHovering -}
+{#fun cegui_lsthdrsgm_isSplitterHovering as isSplitterHovering 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isBeingDragMoved -}
+{#fun cegui_lsthdrsgm_isBeingDragMoved as isBeingDragMoved 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isBeingDragSized -}
+{#fun cegui_lsthdrsgm_isBeingDragSized as isBeingDragSized 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setSizingEnabled -}
+{#fun cegui_lsthdrsgm_setSizingEnabled as setSizingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setSortDirection -}
+{#fun cegui_lsthdrsgm_setSortDirection as setSortDirection 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumSortDirection' } -> `()'  #}
+
+{- function setDragMovingEnabled -}
+{#fun cegui_lsthdrsgm_setDragMovingEnabled as setDragMovingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setClickable -}
+{#fun cegui_lsthdrsgm_setClickable as setClickable 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setSizingCursorImage2 -}
+{#fun cegui_lsthdrsgm_setSizingCursorImage2 as setSizingCursorImage2 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setMovingCursorImage2 -}
+{#fun cegui_lsthdrsgm_setMovingCursorImage2 as setMovingCursorImage2 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function ListHeaderSegment -}
+{#fun cegui_lsthdrsgm_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~ListHeaderSegment -}
+{#fun cegui_lsthdrsgm_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassListHeaderSegment.hs b/HGamer3D/Bindings/CEGUI/ClassListHeaderSegment.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassListHeaderSegment.hs
+++ /dev/null
@@ -1,268 +0,0 @@
--- 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\\ClassListHeaderSegment.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.
--- 
-
-
--- ClassListHeaderSegment.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassListHeaderSegment 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\\ClassListHeaderSegment.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-import HGamer3D.Bindings.CEGUI.EnumSortDirection
-{-# LINE 43 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function isSizingEnabled -}
-isSizingEnabled :: HG3DClass -> IO (Bool)
-isSizingEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSizingEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 49 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function getSortDirection -}
-getSortDirection :: HG3DClass -> IO (EnumSortDirection)
-getSortDirection a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSortDirection'_ a1' a2' >>= \res ->
-  peekEnumUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 54 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function isDragMovingEnabled -}
-isDragMovingEnabled :: HG3DClass -> IO (Bool)
-isDragMovingEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isDragMovingEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 59 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function isClickable -}
-isClickable :: HG3DClass -> IO (Bool)
-isClickable a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isClickable'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 64 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function isSegmentHovering -}
-isSegmentHovering :: HG3DClass -> IO (Bool)
-isSegmentHovering a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSegmentHovering'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 69 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function isSegmentPushed -}
-isSegmentPushed :: HG3DClass -> IO (Bool)
-isSegmentPushed a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSegmentPushed'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 74 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function isSplitterHovering -}
-isSplitterHovering :: HG3DClass -> IO (Bool)
-isSplitterHovering a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSplitterHovering'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 79 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function isBeingDragMoved -}
-isBeingDragMoved :: HG3DClass -> IO (Bool)
-isBeingDragMoved a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isBeingDragMoved'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 84 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function isBeingDragSized -}
-isBeingDragSized :: HG3DClass -> IO (Bool)
-isBeingDragSized a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isBeingDragSized'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 89 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function setSizingEnabled -}
-setSizingEnabled :: HG3DClass -> Bool -> IO ()
-setSizingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setSizingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 94 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function setSortDirection -}
-setSortDirection :: HG3DClass -> EnumSortDirection -> IO ()
-setSortDirection a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = cIntFromEnum a2} in 
-  setSortDirection'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 99 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function setDragMovingEnabled -}
-setDragMovingEnabled :: HG3DClass -> Bool -> IO ()
-setDragMovingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setDragMovingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 104 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function setClickable -}
-setClickable :: HG3DClass -> Bool -> IO ()
-setClickable a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setClickable'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 109 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function setSizingCursorImage2 -}
-setSizingCursorImage2 :: HG3DClass -> String -> String -> IO ()
-setSizingCursorImage2 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  setSizingCursorImage2'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 115 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function setMovingCursorImage2 -}
-setMovingCursorImage2 :: HG3DClass -> String -> String -> IO ()
-setMovingCursorImage2 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  setMovingCursorImage2'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 121 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function ListHeaderSegment -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 127 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-{- function ~ListHeaderSegment -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 131 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_isSizingEnabled"
-  isSizingEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_getSortDirection"
-  getSortDirection'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_isDragMovingEnabled"
-  isDragMovingEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_isClickable"
-  isClickable'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_isSegmentHovering"
-  isSegmentHovering'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_isSegmentPushed"
-  isSegmentPushed'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_isSplitterHovering"
-  isSplitterHovering'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_isBeingDragMoved"
-  isBeingDragMoved'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_isBeingDragSized"
-  isBeingDragSized'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_setSizingEnabled"
-  setSizingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_setSortDirection"
-  setSortDirection'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_setDragMovingEnabled"
-  setDragMovingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_setClickable"
-  setClickable'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_setSizingCursorImage2"
-  setSizingCursorImage2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_setMovingCursorImage2"
-  setMovingCursorImage2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListHeaderSegment.chs.h cegui_lsthdrsgm_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassListbox.chs b/HGamer3D/Bindings/CEGUI/ClassListbox.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassListbox.chs
@@ -0,0 +1,229 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassListbox.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassListbox 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassListbox.h"
+{- function getItemCount -}
+{#fun cegui_lstbx_getItemCount as getItemCount 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSelectedCount -}
+{#fun cegui_lstbx_getSelectedCount as getSelectedCount 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getFirstSelectedItem -}
+{#fun cegui_lstbx_getFirstSelectedItem as getFirstSelectedItem 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getNextSelected -}
+{#fun cegui_lstbx_getNextSelected as getNextSelected 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getListboxItemFromIndex -}
+{#fun cegui_lstbx_getListboxItemFromIndex as getListboxItemFromIndex 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getItemIndex -}
+{#fun cegui_lstbx_getItemIndex as getItemIndex 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function isSortEnabled -}
+{#fun cegui_lstbx_isSortEnabled as isSortEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isMultiselectEnabled -}
+{#fun cegui_lstbx_isMultiselectEnabled as isMultiselectEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isItemTooltipsEnabled -}
+{#fun cegui_lstbx_isItemTooltipsEnabled as isItemTooltipsEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isItemSelected -}
+{#fun cegui_lstbx_isItemSelected as isItemSelected 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function findItemWithText -}
+{#fun cegui_lstbx_findItemWithText as findItemWithText 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function isListboxItemInList -}
+{#fun cegui_lstbx_isListboxItemInList as isListboxItemInList 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isVertScrollbarAlwaysShown -}
+{#fun cegui_lstbx_isVertScrollbarAlwaysShown as isVertScrollbarAlwaysShown 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isHorzScrollbarAlwaysShown -}
+{#fun cegui_lstbx_isHorzScrollbarAlwaysShown as isHorzScrollbarAlwaysShown 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function initialiseComponents -}
+{#fun cegui_lstbx_initialiseComponents as initialiseComponents 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function resetList -}
+{#fun cegui_lstbx_resetList as resetList 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function addItem -}
+{#fun cegui_lstbx_addItem as addItem 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function insertItem -}
+{#fun cegui_lstbx_insertItem as insertItem 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function removeItem -}
+{#fun cegui_lstbx_removeItem as removeItem 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function clearAllSelections -}
+{#fun cegui_lstbx_clearAllSelections as clearAllSelections 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setSortingEnabled -}
+{#fun cegui_lstbx_setSortingEnabled as setSortingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setMultiselectEnabled -}
+{#fun cegui_lstbx_setMultiselectEnabled as setMultiselectEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setShowVertScrollbar -}
+{#fun cegui_lstbx_setShowVertScrollbar as setShowVertScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setShowHorzScrollbar -}
+{#fun cegui_lstbx_setShowHorzScrollbar as setShowHorzScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setItemTooltipsEnabled -}
+{#fun cegui_lstbx_setItemTooltipsEnabled as setItemTooltipsEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setItemSelectState -}
+{#fun cegui_lstbx_setItemSelectState as setItemSelectState 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setItemSelectState2 -}
+{#fun cegui_lstbx_setItemSelectState2 as setItemSelectState2 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function handleUpdatedItemData -}
+{#fun cegui_lstbx_handleUpdatedItemData as handleUpdatedItemData 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function ensureItemIsVisible -}
+{#fun cegui_lstbx_ensureItemIsVisible as ensureItemIsVisible 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function ensureItemIsVisible2 -}
+{#fun cegui_lstbx_ensureItemIsVisible2 as ensureItemIsVisible2 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getVertScrollbar -}
+{#fun cegui_lstbx_getVertScrollbar as getVertScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getHorzScrollbar -}
+{#fun cegui_lstbx_getHorzScrollbar as getHorzScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getTotalItemsHeight -}
+{#fun cegui_lstbx_getTotalItemsHeight as getTotalItemsHeight 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getWidestItemWidth -}
+{#fun cegui_lstbx_getWidestItemWidth as getWidestItemWidth 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function Listbox -}
+{#fun cegui_lstbx_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~Listbox -}
+{#fun cegui_lstbx_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassListbox.hs b/HGamer3D/Bindings/CEGUI/ClassListbox.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassListbox.hs
+++ /dev/null
@@ -1,507 +0,0 @@
--- 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\\ClassListbox.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.
--- 
-
-
--- ClassListbox.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassListbox 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\\ClassListbox.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function getItemCount -}
-getItemCount :: HG3DClass -> IO (Int)
-getItemCount a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getItemCount'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function getSelectedCount -}
-getSelectedCount :: HG3DClass -> IO (Int)
-getSelectedCount a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectedCount'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function getFirstSelectedItem -}
-getFirstSelectedItem :: HG3DClass -> IO (HG3DClass)
-getFirstSelectedItem a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getFirstSelectedItem'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function getNextSelected -}
-getNextSelected :: HG3DClass -> HG3DClass -> IO (HG3DClass)
-getNextSelected a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getNextSelected'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 64 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function getListboxItemFromIndex -}
-getListboxItemFromIndex :: HG3DClass -> Int -> IO (HG3DClass)
-getListboxItemFromIndex a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getListboxItemFromIndex'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 70 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function getItemIndex -}
-getItemIndex :: HG3DClass -> HG3DClass -> IO (Int)
-getItemIndex a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getItemIndex'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 76 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function isSortEnabled -}
-isSortEnabled :: HG3DClass -> IO (Bool)
-isSortEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSortEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 81 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function isMultiselectEnabled -}
-isMultiselectEnabled :: HG3DClass -> IO (Bool)
-isMultiselectEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isMultiselectEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 86 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function isItemTooltipsEnabled -}
-isItemTooltipsEnabled :: HG3DClass -> IO (Bool)
-isItemTooltipsEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isItemTooltipsEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 91 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function isItemSelected -}
-isItemSelected :: HG3DClass -> Int -> IO (Bool)
-isItemSelected a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  isItemSelected'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 97 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function findItemWithText -}
-findItemWithText :: HG3DClass -> String -> HG3DClass -> IO (HG3DClass)
-findItemWithText a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withHG3DClass a3 $ \a3' -> 
-  alloca $ \a4' -> 
-  findItemWithText'_ a1' a2' a3' a4' >>= \res ->
-  peek  a4'>>= \a4'' -> 
-  return (a4'')
-{-# LINE 104 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function isListboxItemInList -}
-isListboxItemInList :: HG3DClass -> HG3DClass -> IO (Bool)
-isListboxItemInList a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isListboxItemInList'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 110 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function isVertScrollbarAlwaysShown -}
-isVertScrollbarAlwaysShown :: HG3DClass -> IO (Bool)
-isVertScrollbarAlwaysShown a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isVertScrollbarAlwaysShown'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 115 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function isHorzScrollbarAlwaysShown -}
-isHorzScrollbarAlwaysShown :: HG3DClass -> IO (Bool)
-isHorzScrollbarAlwaysShown a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isHorzScrollbarAlwaysShown'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 120 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function initialiseComponents -}
-initialiseComponents :: HG3DClass -> IO ()
-initialiseComponents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialiseComponents'_ a1' >>= \res ->
-  return ()
-{-# LINE 124 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function resetList -}
-resetList :: HG3DClass -> IO ()
-resetList a1 =
-  withHG3DClass a1 $ \a1' -> 
-  resetList'_ a1' >>= \res ->
-  return ()
-{-# LINE 128 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function addItem -}
-addItem :: HG3DClass -> HG3DClass -> IO ()
-addItem a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  addItem'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 133 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function insertItem -}
-insertItem :: HG3DClass -> HG3DClass -> HG3DClass -> IO ()
-insertItem a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  withHG3DClass a3 $ \a3' -> 
-  insertItem'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 139 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function removeItem -}
-removeItem :: HG3DClass -> HG3DClass -> IO ()
-removeItem a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  removeItem'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 144 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function clearAllSelections -}
-clearAllSelections :: HG3DClass -> IO ()
-clearAllSelections a1 =
-  withHG3DClass a1 $ \a1' -> 
-  clearAllSelections'_ a1' >>= \res ->
-  return ()
-{-# LINE 148 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function setSortingEnabled -}
-setSortingEnabled :: HG3DClass -> Bool -> IO ()
-setSortingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setSortingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 153 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function setMultiselectEnabled -}
-setMultiselectEnabled :: HG3DClass -> Bool -> IO ()
-setMultiselectEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setMultiselectEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 158 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function setShowVertScrollbar -}
-setShowVertScrollbar :: HG3DClass -> Bool -> IO ()
-setShowVertScrollbar a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setShowVertScrollbar'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 163 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function setShowHorzScrollbar -}
-setShowHorzScrollbar :: HG3DClass -> Bool -> IO ()
-setShowHorzScrollbar a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setShowHorzScrollbar'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 168 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function setItemTooltipsEnabled -}
-setItemTooltipsEnabled :: HG3DClass -> Bool -> IO ()
-setItemTooltipsEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setItemTooltipsEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 173 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function setItemSelectState -}
-setItemSelectState :: HG3DClass -> HG3DClass -> Bool -> IO ()
-setItemSelectState a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  let {a3' = fromBool a3} in 
-  setItemSelectState'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 179 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function setItemSelectState2 -}
-setItemSelectState2 :: HG3DClass -> Int -> Bool -> IO ()
-setItemSelectState2 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  let {a3' = fromBool a3} in 
-  setItemSelectState2'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 185 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function handleUpdatedItemData -}
-handleUpdatedItemData :: HG3DClass -> IO ()
-handleUpdatedItemData a1 =
-  withHG3DClass a1 $ \a1' -> 
-  handleUpdatedItemData'_ a1' >>= \res ->
-  return ()
-{-# LINE 189 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function ensureItemIsVisible -}
-ensureItemIsVisible :: HG3DClass -> Int -> IO ()
-ensureItemIsVisible a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  ensureItemIsVisible'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 194 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function ensureItemIsVisible2 -}
-ensureItemIsVisible2 :: HG3DClass -> HG3DClass -> IO ()
-ensureItemIsVisible2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  ensureItemIsVisible2'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 199 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function getVertScrollbar -}
-getVertScrollbar :: HG3DClass -> IO (HG3DClass)
-getVertScrollbar a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getVertScrollbar'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 204 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function getHorzScrollbar -}
-getHorzScrollbar :: HG3DClass -> IO (HG3DClass)
-getHorzScrollbar a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getHorzScrollbar'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 209 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function getTotalItemsHeight -}
-getTotalItemsHeight :: HG3DClass -> IO (Float)
-getTotalItemsHeight a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getTotalItemsHeight'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 214 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function getWidestItemWidth -}
-getWidestItemWidth :: HG3DClass -> IO (Float)
-getWidestItemWidth a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getWidestItemWidth'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 219 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function Listbox -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 225 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-{- function ~Listbox -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 229 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_getItemCount"
-  getItemCount'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_getSelectedCount"
-  getSelectedCount'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_getFirstSelectedItem"
-  getFirstSelectedItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_getNextSelected"
-  getNextSelected'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_getListboxItemFromIndex"
-  getListboxItemFromIndex'_ :: ((HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_getItemIndex"
-  getItemIndex'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_isSortEnabled"
-  isSortEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_isMultiselectEnabled"
-  isMultiselectEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_isItemTooltipsEnabled"
-  isItemTooltipsEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_isItemSelected"
-  isItemSelected'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_findItemWithText"
-  findItemWithText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_isListboxItemInList"
-  isListboxItemInList'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_isVertScrollbarAlwaysShown"
-  isVertScrollbarAlwaysShown'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_isHorzScrollbarAlwaysShown"
-  isHorzScrollbarAlwaysShown'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_initialiseComponents"
-  initialiseComponents'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_resetList"
-  resetList'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_addItem"
-  addItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_insertItem"
-  insertItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_removeItem"
-  removeItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_clearAllSelections"
-  clearAllSelections'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_setSortingEnabled"
-  setSortingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_setMultiselectEnabled"
-  setMultiselectEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_setShowVertScrollbar"
-  setShowVertScrollbar'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_setShowHorzScrollbar"
-  setShowHorzScrollbar'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_setItemTooltipsEnabled"
-  setItemTooltipsEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_setItemSelectState"
-  setItemSelectState'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_setItemSelectState2"
-  setItemSelectState2'_ :: ((HG3DClassPtr) -> (CInt -> (CInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_handleUpdatedItemData"
-  handleUpdatedItemData'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_ensureItemIsVisible"
-  ensureItemIsVisible'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_ensureItemIsVisible2"
-  ensureItemIsVisible2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_getVertScrollbar"
-  getVertScrollbar'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_getHorzScrollbar"
-  getHorzScrollbar'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_getTotalItemsHeight"
-  getTotalItemsHeight'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_getWidestItemWidth"
-  getWidestItemWidth'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListbox.chs.h cegui_lstbx_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassListboxItem.chs b/HGamer3D/Bindings/CEGUI/ClassListboxItem.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassListboxItem.chs
@@ -0,0 +1,128 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassListboxItem.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassListboxItem 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassListboxItem.h"
+{- function ~ListboxItem -}
+{#fun cegui_lstbxitm_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getTooltipText -}
+{#fun cegui_lstbxitm_getTooltipText as getTooltipText 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function getText -}
+{#fun cegui_lstbxitm_getText as getText 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function getTextVisual -}
+{#fun cegui_lstbxitm_getTextVisual as getTextVisual 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function getID -}
+{#fun cegui_lstbxitm_getID as getID 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function isSelected -}
+{#fun cegui_lstbxitm_isSelected as isSelected 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isDisabled -}
+{#fun cegui_lstbxitm_isDisabled as isDisabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isAutoDeleted -}
+{#fun cegui_lstbxitm_isAutoDeleted as isAutoDeleted 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getOwnerWindow -}
+{#fun cegui_lstbxitm_getOwnerWindow as getOwnerWindow 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function setText -}
+{#fun cegui_lstbxitm_setText as setText 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setTooltipText -}
+{#fun cegui_lstbxitm_setTooltipText as setTooltipText 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setID -}
+{#fun cegui_lstbxitm_setID as setID 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setSelected -}
+{#fun cegui_lstbxitm_setSelected as setSelected 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setDisabled -}
+{#fun cegui_lstbxitm_setDisabled as setDisabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setAutoDeleted -}
+{#fun cegui_lstbxitm_setAutoDeleted as setAutoDeleted 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setOwnerWindow -}
+{#fun cegui_lstbxitm_setOwnerWindow as setOwnerWindow 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setSelectionBrushImage2 -}
+{#fun cegui_lstbxitm_setSelectionBrushImage2 as setSelectionBrushImage2 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassListboxItem.hs b/HGamer3D/Bindings/CEGUI/ClassListboxItem.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassListboxItem.hs
+++ /dev/null
@@ -1,262 +0,0 @@
--- 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\\ClassListboxItem.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.
--- 
-
-
--- ClassListboxItem.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassListboxItem 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\\ClassListboxItem.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function ~ListboxItem -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function getTooltipText -}
-getTooltipText :: HG3DClass -> IO (String)
-getTooltipText a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getTooltipText'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 52 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function getText -}
-getText :: HG3DClass -> IO (String)
-getText a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getText'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 57 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function getTextVisual -}
-getTextVisual :: HG3DClass -> IO (String)
-getTextVisual a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getTextVisual'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 62 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function getID -}
-getID :: HG3DClass -> IO (Int)
-getID a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getID'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 67 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function isSelected -}
-isSelected :: HG3DClass -> IO (Bool)
-isSelected a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSelected'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 72 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function isDisabled -}
-isDisabled :: HG3DClass -> IO (Bool)
-isDisabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isDisabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 77 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function isAutoDeleted -}
-isAutoDeleted :: HG3DClass -> IO (Bool)
-isAutoDeleted a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isAutoDeleted'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 82 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function getOwnerWindow -}
-getOwnerWindow :: HG3DClass -> IO (HG3DClass)
-getOwnerWindow a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getOwnerWindow'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 87 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function setText -}
-setText :: HG3DClass -> String -> IO ()
-setText a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setText'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 92 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function setTooltipText -}
-setTooltipText :: HG3DClass -> String -> IO ()
-setTooltipText a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setTooltipText'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 97 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function setID -}
-setID :: HG3DClass -> Int -> IO ()
-setID a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setID'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 102 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function setSelected -}
-setSelected :: HG3DClass -> Bool -> IO ()
-setSelected a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setSelected'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 107 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function setDisabled -}
-setDisabled :: HG3DClass -> Bool -> IO ()
-setDisabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setDisabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 112 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function setAutoDeleted -}
-setAutoDeleted :: HG3DClass -> Bool -> IO ()
-setAutoDeleted a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setAutoDeleted'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 117 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function setOwnerWindow -}
-setOwnerWindow :: HG3DClass -> HG3DClass -> IO ()
-setOwnerWindow a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  setOwnerWindow'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 122 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-{- function setSelectionBrushImage2 -}
-setSelectionBrushImage2 :: HG3DClass -> String -> String -> IO ()
-setSelectionBrushImage2 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  setSelectionBrushImage2'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 128 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_getTooltipText"
-  getTooltipText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_getText"
-  getText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_getTextVisual"
-  getTextVisual'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_getID"
-  getID'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_isSelected"
-  isSelected'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_isDisabled"
-  isDisabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_isAutoDeleted"
-  isAutoDeleted'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_getOwnerWindow"
-  getOwnerWindow'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_setText"
-  setText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_setTooltipText"
-  setTooltipText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_setID"
-  setID'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_setSelected"
-  setSelected'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_setDisabled"
-  setDisabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_setAutoDeleted"
-  setAutoDeleted'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_setOwnerWindow"
-  setOwnerWindow'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxItem.chs.h cegui_lstbxitm_setSelectionBrushImage2"
-  setSelectionBrushImage2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
diff --git a/HGamer3D/Bindings/CEGUI/ClassListboxTextItem.chs b/HGamer3D/Bindings/CEGUI/ClassListboxTextItem.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassListboxTextItem.chs
@@ -0,0 +1,77 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassListboxTextItem.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassListboxTextItem 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassListboxTextItem.h"
+{- function ~ListboxTextItem -}
+{#fun cegui_lstbxti_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getFont -}
+{#fun cegui_lstbxti_getFont as getFont 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function setFont -}
+{#fun cegui_lstbxti_setFont as setFont 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setFont2 -}
+{#fun cegui_lstbxti_setFont2 as setFont2 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setTextParsingEnabled -}
+{#fun cegui_lstbxti_setTextParsingEnabled as setTextParsingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function isTextParsingEnabled -}
+{#fun cegui_lstbxti_isTextParsingEnabled as isTextParsingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setText -}
+{#fun cegui_lstbxti_setText as setText 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassListboxTextItem.hs b/HGamer3D/Bindings/CEGUI/ClassListboxTextItem.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassListboxTextItem.hs
+++ /dev/null
@@ -1,135 +0,0 @@
--- 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\\ClassListboxTextItem.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.
--- 
-
-
--- ClassListboxTextItem.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassListboxTextItem 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\\ClassListboxTextItem.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs" #-}
-
-{- function ~ListboxTextItem -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs" #-}
-
-{- function getFont -}
-getFont :: HG3DClass -> IO (HG3DClass)
-getFont a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getFont'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 52 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs" #-}
-
-{- function setFont -}
-setFont :: HG3DClass -> HG3DClass -> IO ()
-setFont a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  setFont'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 57 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs" #-}
-
-{- function setFont2 -}
-setFont2 :: HG3DClass -> String -> IO ()
-setFont2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setFont2'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 62 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs" #-}
-
-{- function setTextParsingEnabled -}
-setTextParsingEnabled :: HG3DClass -> Bool -> IO ()
-setTextParsingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setTextParsingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 67 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs" #-}
-
-{- function isTextParsingEnabled -}
-isTextParsingEnabled :: HG3DClass -> IO (Bool)
-isTextParsingEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isTextParsingEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 72 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs" #-}
-
-{- function setText -}
-setText :: HG3DClass -> String -> IO ()
-setText a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setText'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 77 ".\\HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs.h cegui_lstbxti_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs.h cegui_lstbxti_getFont"
-  getFont'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs.h cegui_lstbxti_setFont"
-  setFont'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs.h cegui_lstbxti_setFont2"
-  setFont2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs.h cegui_lstbxti_setTextParsingEnabled"
-  setTextParsingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs.h cegui_lstbxti_isTextParsingEnabled"
-  isTextParsingEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassListboxTextItem.chs.h cegui_lstbxti_setText"
-  setText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
diff --git a/HGamer3D/Bindings/CEGUI/ClassLogger.chs b/HGamer3D/Bindings/CEGUI/ClassLogger.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassLogger.chs
@@ -0,0 +1,70 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassLogger.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassLogger 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+{# import HGamer3D.Bindings.CEGUI.EnumLoggingLevel #}
+
+#include "ClassLogger.h"
+{- function ~Logger -}
+{#fun cegui_lggr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setLoggingLevel -}
+{#fun cegui_lggr_setLoggingLevel as setLoggingLevel 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumLoggingLevel' } -> `()'  #}
+
+{- function getLoggingLevel -}
+{#fun cegui_lggr_getLoggingLevel as getLoggingLevel 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `EnumLoggingLevel' peekEnumUtil*} -> `()'  #}
+
+{- function logEvent -}
+{#fun cegui_lggr_logEvent as logEvent 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ cIntFromEnum `EnumLoggingLevel' } -> `()'  #}
+
+{- function setLogFilename -}
+{#fun cegui_lggr_setLogFilename as setLogFilename 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ fromBool `Bool' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassLogger.hs b/HGamer3D/Bindings/CEGUI/ClassLogger.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassLogger.hs
+++ /dev/null
@@ -1,114 +0,0 @@
--- 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\\ClassLogger.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.
--- 
-
-
--- ClassLogger.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassLogger 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\\ClassLogger.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassLogger.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassLogger.chs" #-}
-import HGamer3D.Bindings.CEGUI.EnumLoggingLevel
-{-# LINE 43 ".\\HGamer3D\\Bindings\\CEGUI\\ClassLogger.chs" #-}
-
-{- function ~Logger -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassLogger.chs" #-}
-
-{- function setLoggingLevel -}
-setLoggingLevel :: HG3DClass -> EnumLoggingLevel -> IO ()
-setLoggingLevel a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = cIntFromEnum a2} in 
-  setLoggingLevel'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassLogger.chs" #-}
-
-{- function getLoggingLevel -}
-getLoggingLevel :: HG3DClass -> IO (EnumLoggingLevel)
-getLoggingLevel a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getLoggingLevel'_ a1' a2' >>= \res ->
-  peekEnumUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassLogger.chs" #-}
-
-{- function logEvent -}
-logEvent :: HG3DClass -> String -> EnumLoggingLevel -> IO ()
-logEvent a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  let {a3' = cIntFromEnum a3} in 
-  logEvent'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 64 ".\\HGamer3D\\Bindings\\CEGUI\\ClassLogger.chs" #-}
-
-{- function setLogFilename -}
-setLogFilename :: HG3DClass -> String -> Bool -> IO ()
-setLogFilename a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  let {a3' = fromBool a3} in 
-  setLogFilename'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 70 ".\\HGamer3D\\Bindings\\CEGUI\\ClassLogger.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassLogger.chs.h cegui_lggr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassLogger.chs.h cegui_lggr_setLoggingLevel"
-  setLoggingLevel'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassLogger.chs.h cegui_lggr_getLoggingLevel"
-  getLoggingLevel'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassLogger.chs.h cegui_lggr_logEvent"
-  logEvent'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassLogger.chs.h cegui_lggr_setLogFilename"
-  setLogFilename'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> (IO ()))))
diff --git a/HGamer3D/Bindings/CEGUI/ClassMenuBase.chs b/HGamer3D/Bindings/CEGUI/ClassMenuBase.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassMenuBase.chs
@@ -0,0 +1,87 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassMenuBase.chs
+
+-- abstrakte Klasse!
+
+module HGamer3D.Bindings.CEGUI.ClassMenuBase 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassMenuBase.h"
+{- function getItemSpacing -}
+{#fun cegui_mnbs_getItemSpacing as getItemSpacing 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function isMultiplePopupsAllowed -}
+{#fun cegui_mnbs_isMultiplePopupsAllowed as isMultiplePopupsAllowed 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getAutoCloseNestedPopups -}
+{#fun cegui_mnbs_getAutoCloseNestedPopups as getAutoCloseNestedPopups 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getPopupMenuItem -}
+{#fun cegui_mnbs_getPopupMenuItem as getPopupMenuItem 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function setItemSpacing -}
+{#fun cegui_mnbs_setItemSpacing as setItemSpacing 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function changePopupMenuItem -}
+{#fun cegui_mnbs_changePopupMenuItem as changePopupMenuItem 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setAllowMultiplePopups -}
+{#fun cegui_mnbs_setAllowMultiplePopups as setAllowMultiplePopups 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setAutoCloseNestedPopups -}
+{#fun cegui_mnbs_setAutoCloseNestedPopups as setAutoCloseNestedPopups 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setPopupMenuItemClosing -}
+{#fun cegui_mnbs_setPopupMenuItemClosing as setPopupMenuItemClosing 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassMenuBase.hs b/HGamer3D/Bindings/CEGUI/ClassMenuBase.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassMenuBase.hs
+++ /dev/null
@@ -1,161 +0,0 @@
--- 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\\ClassMenuBase.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.
--- 
-
-
--- ClassMenuBase.chs
-
--- abstrakte Klasse!
-
-module HGamer3D.Bindings.CEGUI.ClassMenuBase 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\\ClassMenuBase.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-
-{- function getItemSpacing -}
-getItemSpacing :: HG3DClass -> IO (Float)
-getItemSpacing a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getItemSpacing'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-
-{- function isMultiplePopupsAllowed -}
-isMultiplePopupsAllowed :: HG3DClass -> IO (Bool)
-isMultiplePopupsAllowed a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isMultiplePopupsAllowed'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-
-{- function getAutoCloseNestedPopups -}
-getAutoCloseNestedPopups :: HG3DClass -> IO (Bool)
-getAutoCloseNestedPopups a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getAutoCloseNestedPopups'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-
-{- function getPopupMenuItem -}
-getPopupMenuItem :: HG3DClass -> IO (HG3DClass)
-getPopupMenuItem a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getPopupMenuItem'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-
-{- function setItemSpacing -}
-setItemSpacing :: HG3DClass -> Float -> IO ()
-setItemSpacing a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setItemSpacing'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-
-{- function changePopupMenuItem -}
-changePopupMenuItem :: HG3DClass -> HG3DClass -> IO ()
-changePopupMenuItem a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  changePopupMenuItem'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-
-{- function setAllowMultiplePopups -}
-setAllowMultiplePopups :: HG3DClass -> Bool -> IO ()
-setAllowMultiplePopups a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setAllowMultiplePopups'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-
-{- function setAutoCloseNestedPopups -}
-setAutoCloseNestedPopups :: HG3DClass -> Bool -> IO ()
-setAutoCloseNestedPopups a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setAutoCloseNestedPopups'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-
-{- function setPopupMenuItemClosing -}
-setPopupMenuItemClosing :: HG3DClass -> IO ()
-setPopupMenuItemClosing a1 =
-  withHG3DClass a1 $ \a1' -> 
-  setPopupMenuItemClosing'_ a1' >>= \res ->
-  return ()
-{-# LINE 87 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_getItemSpacing"
-  getItemSpacing'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_isMultiplePopupsAllowed"
-  isMultiplePopupsAllowed'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_getAutoCloseNestedPopups"
-  getAutoCloseNestedPopups'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_getPopupMenuItem"
-  getPopupMenuItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_setItemSpacing"
-  setItemSpacing'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_changePopupMenuItem"
-  changePopupMenuItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_setAllowMultiplePopups"
-  setAllowMultiplePopups'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_setAutoCloseNestedPopups"
-  setAutoCloseNestedPopups'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_setPopupMenuItemClosing"
-  setPopupMenuItemClosing'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassMenuItem.chs b/HGamer3D/Bindings/CEGUI/ClassMenuItem.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassMenuItem.chs
@@ -0,0 +1,111 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassMenuItem.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassMenuItem 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassMenuItem.h"
+{- function isHovering -}
+{#fun cegui_mnitm_isHovering as isHovering 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isPushed -}
+{#fun cegui_mnitm_isPushed as isPushed 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isOpened -}
+{#fun cegui_mnitm_isOpened as isOpened 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isPopupClosing -}
+{#fun cegui_mnitm_isPopupClosing as isPopupClosing 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function hasAutoPopup -}
+{#fun cegui_mnitm_hasAutoPopup as hasAutoPopup 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getAutoPopupTimeout -}
+{#fun cegui_mnitm_getAutoPopupTimeout as getAutoPopupTimeout 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setAutoPopupTimeout -}
+{#fun cegui_mnitm_setAutoPopupTimeout as setAutoPopupTimeout 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function openPopupMenu -}
+{#fun cegui_mnitm_openPopupMenu as openPopupMenu 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function closePopupMenu -}
+{#fun cegui_mnitm_closePopupMenu as closePopupMenu 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function togglePopupMenu -}
+{#fun cegui_mnitm_togglePopupMenu as togglePopupMenu 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function startPopupClosing -}
+{#fun cegui_mnitm_startPopupClosing as startPopupClosing 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function startPopupOpening -}
+{#fun cegui_mnitm_startPopupOpening as startPopupOpening 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function MenuItem -}
+{#fun cegui_mnitm_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~MenuItem -}
+{#fun cegui_mnitm_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassMenuItem.hs b/HGamer3D/Bindings/CEGUI/ClassMenuItem.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassMenuItem.hs
+++ /dev/null
@@ -1,224 +0,0 @@
--- 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\\ClassMenuItem.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.
--- 
-
-
--- ClassMenuItem.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassMenuItem 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\\ClassMenuItem.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-{- function isHovering -}
-isHovering :: HG3DClass -> IO (Bool)
-isHovering a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isHovering'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-{- function isPushed -}
-isPushed :: HG3DClass -> IO (Bool)
-isPushed a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isPushed'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-{- function isOpened -}
-isOpened :: HG3DClass -> IO (Bool)
-isOpened a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isOpened'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-{- function isPopupClosing -}
-isPopupClosing :: HG3DClass -> IO (Bool)
-isPopupClosing a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isPopupClosing'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-{- function hasAutoPopup -}
-hasAutoPopup :: HG3DClass -> IO (Bool)
-hasAutoPopup a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  hasAutoPopup'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-{- function getAutoPopupTimeout -}
-getAutoPopupTimeout :: HG3DClass -> IO (Float)
-getAutoPopupTimeout a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getAutoPopupTimeout'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-{- function setAutoPopupTimeout -}
-setAutoPopupTimeout :: HG3DClass -> Float -> IO ()
-setAutoPopupTimeout a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setAutoPopupTimeout'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-{- function openPopupMenu -}
-openPopupMenu :: HG3DClass -> Bool -> IO ()
-openPopupMenu a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  openPopupMenu'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-{- function closePopupMenu -}
-closePopupMenu :: HG3DClass -> Bool -> IO ()
-closePopupMenu a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  closePopupMenu'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 88 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-{- function togglePopupMenu -}
-togglePopupMenu :: HG3DClass -> IO (Bool)
-togglePopupMenu a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  togglePopupMenu'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 93 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-{- function startPopupClosing -}
-startPopupClosing :: HG3DClass -> IO ()
-startPopupClosing a1 =
-  withHG3DClass a1 $ \a1' -> 
-  startPopupClosing'_ a1' >>= \res ->
-  return ()
-{-# LINE 97 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-{- function startPopupOpening -}
-startPopupOpening :: HG3DClass -> IO ()
-startPopupOpening a1 =
-  withHG3DClass a1 $ \a1' -> 
-  startPopupOpening'_ a1' >>= \res ->
-  return ()
-{-# LINE 101 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-{- function MenuItem -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 107 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-{- function ~MenuItem -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 111 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs.h cegui_mnitm_isHovering"
-  isHovering'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs.h cegui_mnitm_isPushed"
-  isPushed'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs.h cegui_mnitm_isOpened"
-  isOpened'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs.h cegui_mnitm_isPopupClosing"
-  isPopupClosing'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs.h cegui_mnitm_hasAutoPopup"
-  hasAutoPopup'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs.h cegui_mnitm_getAutoPopupTimeout"
-  getAutoPopupTimeout'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs.h cegui_mnitm_setAutoPopupTimeout"
-  setAutoPopupTimeout'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs.h cegui_mnitm_openPopupMenu"
-  openPopupMenu'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs.h cegui_mnitm_closePopupMenu"
-  closePopupMenu'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs.h cegui_mnitm_togglePopupMenu"
-  togglePopupMenu'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs.h cegui_mnitm_startPopupClosing"
-  startPopupClosing'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs.h cegui_mnitm_startPopupOpening"
-  startPopupOpening'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs.h cegui_mnitm_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuItem.chs.h cegui_mnitm_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassMultiColumnList.chs b/HGamer3D/Bindings/CEGUI/ClassMultiColumnList.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassMultiColumnList.chs
@@ -0,0 +1,416 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassMultiColumnList.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassMultiColumnList 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+{# import HGamer3D.Bindings.CEGUI.EnumSortDirection #}
+{# import HGamer3D.Bindings.CEGUI.EnumSelectionMode #}
+
+#include "ClassMultiColumnList.h"
+{- function isUserSortControlEnabled -}
+{#fun cegui_mltclmlst_isUserSortControlEnabled as isUserSortControlEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isUserColumnSizingEnabled -}
+{#fun cegui_mltclmlst_isUserColumnSizingEnabled as isUserColumnSizingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isUserColumnDraggingEnabled -}
+{#fun cegui_mltclmlst_isUserColumnDraggingEnabled as isUserColumnDraggingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getColumnCount -}
+{#fun cegui_mltclmlst_getColumnCount as getColumnCount 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getRowCount -}
+{#fun cegui_mltclmlst_getRowCount as getRowCount 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSortColumn -}
+{#fun cegui_mltclmlst_getSortColumn as getSortColumn 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getColumnWithID -}
+{#fun cegui_mltclmlst_getColumnWithID as getColumnWithID 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getColumnWithHeaderText -}
+{#fun cegui_mltclmlst_getColumnWithHeaderText as getColumnWithHeaderText 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSortDirection -}
+{#fun cegui_mltclmlst_getSortDirection as getSortDirection 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `EnumSortDirection' peekEnumUtil*} -> `()'  #}
+
+{- function getHeaderSegmentForColumn -}
+{#fun cegui_mltclmlst_getHeaderSegmentForColumn as getHeaderSegmentForColumn 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getItemRowIndex -}
+{#fun cegui_mltclmlst_getItemRowIndex as getItemRowIndex 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getItemColumnIndex -}
+{#fun cegui_mltclmlst_getItemColumnIndex as getItemColumnIndex 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function isListboxItemInColumn -}
+{#fun cegui_mltclmlst_isListboxItemInColumn as isListboxItemInColumn 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isListboxItemInRow -}
+{#fun cegui_mltclmlst_isListboxItemInRow as isListboxItemInRow 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isListboxItemInList -}
+{#fun cegui_mltclmlst_isListboxItemInList as isListboxItemInList 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function findColumnItemWithText -}
+{#fun cegui_mltclmlst_findColumnItemWithText as findColumnItemWithText 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ fromIntegral `Int' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function findRowItemWithText -}
+{#fun cegui_mltclmlst_findRowItemWithText as findRowItemWithText 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ fromIntegral `Int' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function findListItemWithText -}
+{#fun cegui_mltclmlst_findListItemWithText as findListItemWithText 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getFirstSelectedItem -}
+{#fun cegui_mltclmlst_getFirstSelectedItem as getFirstSelectedItem 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getNextSelected -}
+{#fun cegui_mltclmlst_getNextSelected as getNextSelected 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getSelectedCount -}
+{#fun cegui_mltclmlst_getSelectedCount as getSelectedCount 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getNominatedSelectionColumnID -}
+{#fun cegui_mltclmlst_getNominatedSelectionColumnID as getNominatedSelectionColumnID 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getNominatedSelectionColumn -}
+{#fun cegui_mltclmlst_getNominatedSelectionColumn as getNominatedSelectionColumn 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getNominatedSelectionRow -}
+{#fun cegui_mltclmlst_getNominatedSelectionRow as getNominatedSelectionRow 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSelectionMode -}
+{#fun cegui_mltclmlst_getSelectionMode as getSelectionMode 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `EnumSelectionMode' peekEnumUtil*} -> `()'  #}
+
+{- function isVertScrollbarAlwaysShown -}
+{#fun cegui_mltclmlst_isVertScrollbarAlwaysShown as isVertScrollbarAlwaysShown 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isHorzScrollbarAlwaysShown -}
+{#fun cegui_mltclmlst_isHorzScrollbarAlwaysShown as isHorzScrollbarAlwaysShown 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getColumnID -}
+{#fun cegui_mltclmlst_getColumnID as getColumnID 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getRowID -}
+{#fun cegui_mltclmlst_getRowID as getRowID 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getRowWithID -}
+{#fun cegui_mltclmlst_getRowWithID as getRowWithID 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getVertScrollbar -}
+{#fun cegui_mltclmlst_getVertScrollbar as getVertScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getHorzScrollbar -}
+{#fun cegui_mltclmlst_getHorzScrollbar as getHorzScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getListHeader -}
+{#fun cegui_mltclmlst_getListHeader as getListHeader 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getTotalRowsHeight -}
+{#fun cegui_mltclmlst_getTotalRowsHeight as getTotalRowsHeight 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getWidestColumnItemWidth -}
+{#fun cegui_mltclmlst_getWidestColumnItemWidth as getWidestColumnItemWidth 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getHighestRowItemHeight -}
+{#fun cegui_mltclmlst_getHighestRowItemHeight as getHighestRowItemHeight 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function initialiseComponents -}
+{#fun cegui_mltclmlst_initialiseComponents as initialiseComponents 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function resetList -}
+{#fun cegui_mltclmlst_resetList as resetList 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function removeColumn -}
+{#fun cegui_mltclmlst_removeColumn as removeColumn 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function removeColumnWithID -}
+{#fun cegui_mltclmlst_removeColumnWithID as removeColumnWithID 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function moveColumn -}
+{#fun cegui_mltclmlst_moveColumn as moveColumn 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function moveColumnWithID -}
+{#fun cegui_mltclmlst_moveColumnWithID as moveColumnWithID 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function addRow -}
+{#fun cegui_mltclmlst_addRow as addRow 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function addRow2 -}
+{#fun cegui_mltclmlst_addRow2 as addRow2 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromIntegral `Int' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function insertRow -}
+{#fun cegui_mltclmlst_insertRow as insertRow 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromIntegral `Int' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function insertRow2 -}
+{#fun cegui_mltclmlst_insertRow2 as insertRow2 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromIntegral `Int' ,
+ fromIntegral `Int' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function removeRow -}
+{#fun cegui_mltclmlst_removeRow as removeRow 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setItem2 -}
+{#fun cegui_mltclmlst_setItem2 as setItem2 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setSelectionMode -}
+{#fun cegui_mltclmlst_setSelectionMode as setSelectionMode 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumSelectionMode' } -> `()'  #}
+
+{- function setNominatedSelectionColumnID -}
+{#fun cegui_mltclmlst_setNominatedSelectionColumnID as setNominatedSelectionColumnID 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setNominatedSelectionColumn -}
+{#fun cegui_mltclmlst_setNominatedSelectionColumn as setNominatedSelectionColumn 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setNominatedSelectionRow -}
+{#fun cegui_mltclmlst_setNominatedSelectionRow as setNominatedSelectionRow 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setSortDirection -}
+{#fun cegui_mltclmlst_setSortDirection as setSortDirection 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumSortDirection' } -> `()'  #}
+
+{- function setSortColumn -}
+{#fun cegui_mltclmlst_setSortColumn as setSortColumn 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setSortColumnByID -}
+{#fun cegui_mltclmlst_setSortColumnByID as setSortColumnByID 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setShowVertScrollbar -}
+{#fun cegui_mltclmlst_setShowVertScrollbar as setShowVertScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setShowHorzScrollbar -}
+{#fun cegui_mltclmlst_setShowHorzScrollbar as setShowHorzScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function clearAllSelections -}
+{#fun cegui_mltclmlst_clearAllSelections as clearAllSelections 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setItemSelectState -}
+{#fun cegui_mltclmlst_setItemSelectState as setItemSelectState 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function handleUpdatedItemData -}
+{#fun cegui_mltclmlst_handleUpdatedItemData as handleUpdatedItemData 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setUserSortControlEnabled -}
+{#fun cegui_mltclmlst_setUserSortControlEnabled as setUserSortControlEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setUserColumnSizingEnabled -}
+{#fun cegui_mltclmlst_setUserColumnSizingEnabled as setUserColumnSizingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setUserColumnDraggingEnabled -}
+{#fun cegui_mltclmlst_setUserColumnDraggingEnabled as setUserColumnDraggingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function autoSizeColumnHeader -}
+{#fun cegui_mltclmlst_autoSizeColumnHeader as autoSizeColumnHeader 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setRowID -}
+{#fun cegui_mltclmlst_setRowID as setRowID 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function MultiColumnList -}
+{#fun cegui_mltclmlst_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~MultiColumnList -}
+{#fun cegui_mltclmlst_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassMultiColumnList.hs b/HGamer3D/Bindings/CEGUI/ClassMultiColumnList.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassMultiColumnList.hs
+++ /dev/null
@@ -1,935 +0,0 @@
--- 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\\ClassMultiColumnList.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.
--- 
-
-
--- ClassMultiColumnList.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassMultiColumnList 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\\ClassMultiColumnList.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-import HGamer3D.Bindings.CEGUI.EnumSortDirection
-{-# LINE 43 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-import HGamer3D.Bindings.CEGUI.EnumSelectionMode
-{-# LINE 44 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function isUserSortControlEnabled -}
-isUserSortControlEnabled :: HG3DClass -> IO (Bool)
-isUserSortControlEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isUserSortControlEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 50 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function isUserColumnSizingEnabled -}
-isUserColumnSizingEnabled :: HG3DClass -> IO (Bool)
-isUserColumnSizingEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isUserColumnSizingEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 55 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function isUserColumnDraggingEnabled -}
-isUserColumnDraggingEnabled :: HG3DClass -> IO (Bool)
-isUserColumnDraggingEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isUserColumnDraggingEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 60 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getColumnCount -}
-getColumnCount :: HG3DClass -> IO (Int)
-getColumnCount a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getColumnCount'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 65 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getRowCount -}
-getRowCount :: HG3DClass -> IO (Int)
-getRowCount a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getRowCount'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 70 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getSortColumn -}
-getSortColumn :: HG3DClass -> IO (Int)
-getSortColumn a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSortColumn'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 75 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getColumnWithID -}
-getColumnWithID :: HG3DClass -> Int -> IO (Int)
-getColumnWithID a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getColumnWithID'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 81 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getColumnWithHeaderText -}
-getColumnWithHeaderText :: HG3DClass -> String -> IO (Int)
-getColumnWithHeaderText a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getColumnWithHeaderText'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 87 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getSortDirection -}
-getSortDirection :: HG3DClass -> IO (EnumSortDirection)
-getSortDirection a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSortDirection'_ a1' a2' >>= \res ->
-  peekEnumUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 92 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getHeaderSegmentForColumn -}
-getHeaderSegmentForColumn :: HG3DClass -> Int -> IO (HG3DClass)
-getHeaderSegmentForColumn a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getHeaderSegmentForColumn'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 98 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getItemRowIndex -}
-getItemRowIndex :: HG3DClass -> HG3DClass -> IO (Int)
-getItemRowIndex a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getItemRowIndex'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 104 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getItemColumnIndex -}
-getItemColumnIndex :: HG3DClass -> HG3DClass -> IO (Int)
-getItemColumnIndex a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getItemColumnIndex'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 110 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function isListboxItemInColumn -}
-isListboxItemInColumn :: HG3DClass -> HG3DClass -> Int -> IO (Bool)
-isListboxItemInColumn a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  let {a3' = fromIntegral a3} in 
-  alloca $ \a4' -> 
-  isListboxItemInColumn'_ a1' a2' a3' a4' >>= \res ->
-  peekBoolUtil  a4'>>= \a4'' -> 
-  return (a4'')
-{-# LINE 117 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function isListboxItemInRow -}
-isListboxItemInRow :: HG3DClass -> HG3DClass -> Int -> IO (Bool)
-isListboxItemInRow a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  let {a3' = fromIntegral a3} in 
-  alloca $ \a4' -> 
-  isListboxItemInRow'_ a1' a2' a3' a4' >>= \res ->
-  peekBoolUtil  a4'>>= \a4'' -> 
-  return (a4'')
-{-# LINE 124 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function isListboxItemInList -}
-isListboxItemInList :: HG3DClass -> HG3DClass -> IO (Bool)
-isListboxItemInList a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isListboxItemInList'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 130 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function findColumnItemWithText -}
-findColumnItemWithText :: HG3DClass -> String -> Int -> HG3DClass -> IO (HG3DClass)
-findColumnItemWithText a1 a2 a3 a4 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  let {a3' = fromIntegral a3} in 
-  withHG3DClass a4 $ \a4' -> 
-  alloca $ \a5' -> 
-  findColumnItemWithText'_ a1' a2' a3' a4' a5' >>= \res ->
-  peek  a5'>>= \a5'' -> 
-  return (a5'')
-{-# LINE 138 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function findRowItemWithText -}
-findRowItemWithText :: HG3DClass -> String -> Int -> HG3DClass -> IO (HG3DClass)
-findRowItemWithText a1 a2 a3 a4 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  let {a3' = fromIntegral a3} in 
-  withHG3DClass a4 $ \a4' -> 
-  alloca $ \a5' -> 
-  findRowItemWithText'_ a1' a2' a3' a4' a5' >>= \res ->
-  peek  a5'>>= \a5'' -> 
-  return (a5'')
-{-# LINE 146 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function findListItemWithText -}
-findListItemWithText :: HG3DClass -> String -> HG3DClass -> IO (HG3DClass)
-findListItemWithText a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withHG3DClass a3 $ \a3' -> 
-  alloca $ \a4' -> 
-  findListItemWithText'_ a1' a2' a3' a4' >>= \res ->
-  peek  a4'>>= \a4'' -> 
-  return (a4'')
-{-# LINE 153 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getFirstSelectedItem -}
-getFirstSelectedItem :: HG3DClass -> IO (HG3DClass)
-getFirstSelectedItem a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getFirstSelectedItem'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 158 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getNextSelected -}
-getNextSelected :: HG3DClass -> HG3DClass -> IO (HG3DClass)
-getNextSelected a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getNextSelected'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 164 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getSelectedCount -}
-getSelectedCount :: HG3DClass -> IO (Int)
-getSelectedCount a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectedCount'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 169 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getNominatedSelectionColumnID -}
-getNominatedSelectionColumnID :: HG3DClass -> IO (Int)
-getNominatedSelectionColumnID a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getNominatedSelectionColumnID'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 174 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getNominatedSelectionColumn -}
-getNominatedSelectionColumn :: HG3DClass -> IO (Int)
-getNominatedSelectionColumn a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getNominatedSelectionColumn'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 179 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getNominatedSelectionRow -}
-getNominatedSelectionRow :: HG3DClass -> IO (Int)
-getNominatedSelectionRow a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getNominatedSelectionRow'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 184 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getSelectionMode -}
-getSelectionMode :: HG3DClass -> IO (EnumSelectionMode)
-getSelectionMode a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectionMode'_ a1' a2' >>= \res ->
-  peekEnumUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 189 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function isVertScrollbarAlwaysShown -}
-isVertScrollbarAlwaysShown :: HG3DClass -> IO (Bool)
-isVertScrollbarAlwaysShown a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isVertScrollbarAlwaysShown'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 194 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function isHorzScrollbarAlwaysShown -}
-isHorzScrollbarAlwaysShown :: HG3DClass -> IO (Bool)
-isHorzScrollbarAlwaysShown a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isHorzScrollbarAlwaysShown'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 199 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getColumnID -}
-getColumnID :: HG3DClass -> Int -> IO (Int)
-getColumnID a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getColumnID'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 205 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getRowID -}
-getRowID :: HG3DClass -> Int -> IO (Int)
-getRowID a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getRowID'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 211 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getRowWithID -}
-getRowWithID :: HG3DClass -> Int -> IO (Int)
-getRowWithID a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getRowWithID'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 217 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getVertScrollbar -}
-getVertScrollbar :: HG3DClass -> IO (HG3DClass)
-getVertScrollbar a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getVertScrollbar'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 222 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getHorzScrollbar -}
-getHorzScrollbar :: HG3DClass -> IO (HG3DClass)
-getHorzScrollbar a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getHorzScrollbar'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 227 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getListHeader -}
-getListHeader :: HG3DClass -> IO (HG3DClass)
-getListHeader a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getListHeader'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 232 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getTotalRowsHeight -}
-getTotalRowsHeight :: HG3DClass -> IO (Float)
-getTotalRowsHeight a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getTotalRowsHeight'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 237 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getWidestColumnItemWidth -}
-getWidestColumnItemWidth :: HG3DClass -> Int -> IO (Float)
-getWidestColumnItemWidth a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getWidestColumnItemWidth'_ a1' a2' a3' >>= \res ->
-  peekFloatConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 243 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function getHighestRowItemHeight -}
-getHighestRowItemHeight :: HG3DClass -> Int -> IO (Float)
-getHighestRowItemHeight a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getHighestRowItemHeight'_ a1' a2' a3' >>= \res ->
-  peekFloatConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 249 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function initialiseComponents -}
-initialiseComponents :: HG3DClass -> IO ()
-initialiseComponents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialiseComponents'_ a1' >>= \res ->
-  return ()
-{-# LINE 253 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function resetList -}
-resetList :: HG3DClass -> IO ()
-resetList a1 =
-  withHG3DClass a1 $ \a1' -> 
-  resetList'_ a1' >>= \res ->
-  return ()
-{-# LINE 257 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function removeColumn -}
-removeColumn :: HG3DClass -> Int -> IO ()
-removeColumn a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  removeColumn'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 262 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function removeColumnWithID -}
-removeColumnWithID :: HG3DClass -> Int -> IO ()
-removeColumnWithID a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  removeColumnWithID'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 267 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function moveColumn -}
-moveColumn :: HG3DClass -> Int -> Int -> IO ()
-moveColumn a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  let {a3' = fromIntegral a3} in 
-  moveColumn'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 273 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function moveColumnWithID -}
-moveColumnWithID :: HG3DClass -> Int -> Int -> IO ()
-moveColumnWithID a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  let {a3' = fromIntegral a3} in 
-  moveColumnWithID'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 279 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function addRow -}
-addRow :: HG3DClass -> Int -> IO (Int)
-addRow a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  addRow'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 285 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function addRow2 -}
-addRow2 :: HG3DClass -> HG3DClass -> Int -> Int -> IO (Int)
-addRow2 a1 a2 a3 a4 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  let {a3' = fromIntegral a3} in 
-  let {a4' = fromIntegral a4} in 
-  alloca $ \a5' -> 
-  addRow2'_ a1' a2' a3' a4' a5' >>= \res ->
-  peekIntConv  a5'>>= \a5'' -> 
-  return (a5'')
-{-# LINE 293 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function insertRow -}
-insertRow :: HG3DClass -> Int -> Int -> IO (Int)
-insertRow a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  let {a3' = fromIntegral a3} in 
-  alloca $ \a4' -> 
-  insertRow'_ a1' a2' a3' a4' >>= \res ->
-  peekIntConv  a4'>>= \a4'' -> 
-  return (a4'')
-{-# LINE 300 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function insertRow2 -}
-insertRow2 :: HG3DClass -> HG3DClass -> Int -> Int -> Int -> IO (Int)
-insertRow2 a1 a2 a3 a4 a5 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  let {a3' = fromIntegral a3} in 
-  let {a4' = fromIntegral a4} in 
-  let {a5' = fromIntegral a5} in 
-  alloca $ \a6' -> 
-  insertRow2'_ a1' a2' a3' a4' a5' a6' >>= \res ->
-  peekIntConv  a6'>>= \a6'' -> 
-  return (a6'')
-{-# LINE 309 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function removeRow -}
-removeRow :: HG3DClass -> Int -> IO ()
-removeRow a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  removeRow'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 314 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setItem2 -}
-setItem2 :: HG3DClass -> HG3DClass -> Int -> Int -> IO ()
-setItem2 a1 a2 a3 a4 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  let {a3' = fromIntegral a3} in 
-  let {a4' = fromIntegral a4} in 
-  setItem2'_ a1' a2' a3' a4' >>= \res ->
-  return ()
-{-# LINE 321 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setSelectionMode -}
-setSelectionMode :: HG3DClass -> EnumSelectionMode -> IO ()
-setSelectionMode a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = cIntFromEnum a2} in 
-  setSelectionMode'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 326 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setNominatedSelectionColumnID -}
-setNominatedSelectionColumnID :: HG3DClass -> Int -> IO ()
-setNominatedSelectionColumnID a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setNominatedSelectionColumnID'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 331 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setNominatedSelectionColumn -}
-setNominatedSelectionColumn :: HG3DClass -> Int -> IO ()
-setNominatedSelectionColumn a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setNominatedSelectionColumn'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 336 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setNominatedSelectionRow -}
-setNominatedSelectionRow :: HG3DClass -> Int -> IO ()
-setNominatedSelectionRow a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setNominatedSelectionRow'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 341 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setSortDirection -}
-setSortDirection :: HG3DClass -> EnumSortDirection -> IO ()
-setSortDirection a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = cIntFromEnum a2} in 
-  setSortDirection'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 346 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setSortColumn -}
-setSortColumn :: HG3DClass -> Int -> IO ()
-setSortColumn a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setSortColumn'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 351 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setSortColumnByID -}
-setSortColumnByID :: HG3DClass -> Int -> IO ()
-setSortColumnByID a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setSortColumnByID'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 356 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setShowVertScrollbar -}
-setShowVertScrollbar :: HG3DClass -> Bool -> IO ()
-setShowVertScrollbar a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setShowVertScrollbar'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 361 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setShowHorzScrollbar -}
-setShowHorzScrollbar :: HG3DClass -> Bool -> IO ()
-setShowHorzScrollbar a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setShowHorzScrollbar'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 366 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function clearAllSelections -}
-clearAllSelections :: HG3DClass -> IO ()
-clearAllSelections a1 =
-  withHG3DClass a1 $ \a1' -> 
-  clearAllSelections'_ a1' >>= \res ->
-  return ()
-{-# LINE 370 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setItemSelectState -}
-setItemSelectState :: HG3DClass -> HG3DClass -> Bool -> IO ()
-setItemSelectState a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  let {a3' = fromBool a3} in 
-  setItemSelectState'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 376 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function handleUpdatedItemData -}
-handleUpdatedItemData :: HG3DClass -> IO ()
-handleUpdatedItemData a1 =
-  withHG3DClass a1 $ \a1' -> 
-  handleUpdatedItemData'_ a1' >>= \res ->
-  return ()
-{-# LINE 380 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setUserSortControlEnabled -}
-setUserSortControlEnabled :: HG3DClass -> Bool -> IO ()
-setUserSortControlEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setUserSortControlEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 385 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setUserColumnSizingEnabled -}
-setUserColumnSizingEnabled :: HG3DClass -> Bool -> IO ()
-setUserColumnSizingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setUserColumnSizingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 390 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setUserColumnDraggingEnabled -}
-setUserColumnDraggingEnabled :: HG3DClass -> Bool -> IO ()
-setUserColumnDraggingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setUserColumnDraggingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 395 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function autoSizeColumnHeader -}
-autoSizeColumnHeader :: HG3DClass -> Int -> IO ()
-autoSizeColumnHeader a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  autoSizeColumnHeader'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 400 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function setRowID -}
-setRowID :: HG3DClass -> Int -> Int -> IO ()
-setRowID a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  let {a3' = fromIntegral a3} in 
-  setRowID'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 406 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function MultiColumnList -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 412 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-{- function ~MultiColumnList -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 416 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_isUserSortControlEnabled"
-  isUserSortControlEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_isUserColumnSizingEnabled"
-  isUserColumnSizingEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_isUserColumnDraggingEnabled"
-  isUserColumnDraggingEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getColumnCount"
-  getColumnCount'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getRowCount"
-  getRowCount'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getSortColumn"
-  getSortColumn'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getColumnWithID"
-  getColumnWithID'_ :: ((HG3DClassPtr) -> (CUInt -> ((Ptr CUInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getColumnWithHeaderText"
-  getColumnWithHeaderText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CUInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getSortDirection"
-  getSortDirection'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getHeaderSegmentForColumn"
-  getHeaderSegmentForColumn'_ :: ((HG3DClassPtr) -> (CUInt -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getItemRowIndex"
-  getItemRowIndex'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getItemColumnIndex"
-  getItemColumnIndex'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_isListboxItemInColumn"
-  isListboxItemInColumn'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CUInt -> ((Ptr CInt) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_isListboxItemInRow"
-  isListboxItemInRow'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CUInt -> ((Ptr CInt) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_isListboxItemInList"
-  isListboxItemInList'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_findColumnItemWithText"
-  findColumnItemWithText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CUInt -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_findRowItemWithText"
-  findRowItemWithText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CUInt -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_findListItemWithText"
-  findListItemWithText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getFirstSelectedItem"
-  getFirstSelectedItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getNextSelected"
-  getNextSelected'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getSelectedCount"
-  getSelectedCount'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getNominatedSelectionColumnID"
-  getNominatedSelectionColumnID'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getNominatedSelectionColumn"
-  getNominatedSelectionColumn'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getNominatedSelectionRow"
-  getNominatedSelectionRow'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getSelectionMode"
-  getSelectionMode'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_isVertScrollbarAlwaysShown"
-  isVertScrollbarAlwaysShown'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_isHorzScrollbarAlwaysShown"
-  isHorzScrollbarAlwaysShown'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getColumnID"
-  getColumnID'_ :: ((HG3DClassPtr) -> (CUInt -> ((Ptr CUInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getRowID"
-  getRowID'_ :: ((HG3DClassPtr) -> (CUInt -> ((Ptr CUInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getRowWithID"
-  getRowWithID'_ :: ((HG3DClassPtr) -> (CUInt -> ((Ptr CUInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getVertScrollbar"
-  getVertScrollbar'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getHorzScrollbar"
-  getHorzScrollbar'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getListHeader"
-  getListHeader'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getTotalRowsHeight"
-  getTotalRowsHeight'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getWidestColumnItemWidth"
-  getWidestColumnItemWidth'_ :: ((HG3DClassPtr) -> (CUInt -> ((Ptr CFloat) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_getHighestRowItemHeight"
-  getHighestRowItemHeight'_ :: ((HG3DClassPtr) -> (CUInt -> ((Ptr CFloat) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_initialiseComponents"
-  initialiseComponents'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_resetList"
-  resetList'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_removeColumn"
-  removeColumn'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_removeColumnWithID"
-  removeColumnWithID'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_moveColumn"
-  moveColumn'_ :: ((HG3DClassPtr) -> (CUInt -> (CUInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_moveColumnWithID"
-  moveColumnWithID'_ :: ((HG3DClassPtr) -> (CUInt -> (CUInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_addRow"
-  addRow'_ :: ((HG3DClassPtr) -> (CUInt -> ((Ptr CUInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_addRow2"
-  addRow2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CUInt -> (CUInt -> ((Ptr CUInt) -> (IO ()))))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_insertRow"
-  insertRow'_ :: ((HG3DClassPtr) -> (CUInt -> (CUInt -> ((Ptr CUInt) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_insertRow2"
-  insertRow2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CUInt -> (CUInt -> (CUInt -> ((Ptr CUInt) -> (IO ())))))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_removeRow"
-  removeRow'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setItem2"
-  setItem2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CUInt -> (CUInt -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setSelectionMode"
-  setSelectionMode'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setNominatedSelectionColumnID"
-  setNominatedSelectionColumnID'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setNominatedSelectionColumn"
-  setNominatedSelectionColumn'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setNominatedSelectionRow"
-  setNominatedSelectionRow'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setSortDirection"
-  setSortDirection'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setSortColumn"
-  setSortColumn'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setSortColumnByID"
-  setSortColumnByID'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setShowVertScrollbar"
-  setShowVertScrollbar'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setShowHorzScrollbar"
-  setShowHorzScrollbar'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_clearAllSelections"
-  clearAllSelections'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setItemSelectState"
-  setItemSelectState'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_handleUpdatedItemData"
-  handleUpdatedItemData'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setUserSortControlEnabled"
-  setUserSortControlEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setUserColumnSizingEnabled"
-  setUserColumnSizingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setUserColumnDraggingEnabled"
-  setUserColumnDraggingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_autoSizeColumnHeader"
-  autoSizeColumnHeader'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_setRowID"
-  setRowID'_ :: ((HG3DClassPtr) -> (CUInt -> (CUInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiColumnList.chs.h cegui_mltclmlst_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassMultiLineEditbox.chs b/HGamer3D/Bindings/CEGUI/ClassMultiLineEditbox.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassMultiLineEditbox.chs
@@ -0,0 +1,153 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassMultiLineEditbox.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassMultiLineEditbox 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassMultiLineEditbox.h"
+{- function hasInputFocus -}
+{#fun cegui_mltlnedtbx_hasInputFocus as hasInputFocus 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isReadOnly -}
+{#fun cegui_mltlnedtbx_isReadOnly as isReadOnly 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getCaratIndex -}
+{#fun cegui_mltlnedtbx_getCaratIndex as getCaratIndex 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSelectionStartIndex -}
+{#fun cegui_mltlnedtbx_getSelectionStartIndex as getSelectionStartIndex 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSelectionEndIndex -}
+{#fun cegui_mltlnedtbx_getSelectionEndIndex as getSelectionEndIndex 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSelectionLength -}
+{#fun cegui_mltlnedtbx_getSelectionLength as getSelectionLength 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getMaxTextLength -}
+{#fun cegui_mltlnedtbx_getMaxTextLength as getMaxTextLength 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function isWordWrapped -}
+{#fun cegui_mltlnedtbx_isWordWrapped as isWordWrapped 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getVertScrollbar -}
+{#fun cegui_mltlnedtbx_getVertScrollbar as getVertScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function isVertScrollbarAlwaysShown -}
+{#fun cegui_mltlnedtbx_isVertScrollbarAlwaysShown as isVertScrollbarAlwaysShown 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getHorzScrollbar -}
+{#fun cegui_mltlnedtbx_getHorzScrollbar as getHorzScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getLineNumberFromIndex -}
+{#fun cegui_mltlnedtbx_getLineNumberFromIndex as getLineNumberFromIndex 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function initialiseComponents -}
+{#fun cegui_mltlnedtbx_initialiseComponents as initialiseComponents 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setReadOnly -}
+{#fun cegui_mltlnedtbx_setReadOnly as setReadOnly 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setCaratIndex -}
+{#fun cegui_mltlnedtbx_setCaratIndex as setCaratIndex 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setSelection -}
+{#fun cegui_mltlnedtbx_setSelection as setSelection 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setMaxTextLength -}
+{#fun cegui_mltlnedtbx_setMaxTextLength as setMaxTextLength 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function ensureCaratIsVisible -}
+{#fun cegui_mltlnedtbx_ensureCaratIsVisible as ensureCaratIsVisible 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setWordWrapping -}
+{#fun cegui_mltlnedtbx_setWordWrapping as setWordWrapping 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setShowVertScrollbar -}
+{#fun cegui_mltlnedtbx_setShowVertScrollbar as setShowVertScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function MultiLineEditbox -}
+{#fun cegui_mltlnedtbx_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~MultiLineEditbox -}
+{#fun cegui_mltlnedtbx_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassMultiLineEditbox.hs b/HGamer3D/Bindings/CEGUI/ClassMultiLineEditbox.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassMultiLineEditbox.hs
+++ /dev/null
@@ -1,327 +0,0 @@
--- 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\\ClassMultiLineEditbox.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.
--- 
-
-
--- ClassMultiLineEditbox.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassMultiLineEditbox 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\\ClassMultiLineEditbox.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function hasInputFocus -}
-hasInputFocus :: HG3DClass -> IO (Bool)
-hasInputFocus a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  hasInputFocus'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function isReadOnly -}
-isReadOnly :: HG3DClass -> IO (Bool)
-isReadOnly a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isReadOnly'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function getCaratIndex -}
-getCaratIndex :: HG3DClass -> IO (Int)
-getCaratIndex a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getCaratIndex'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function getSelectionStartIndex -}
-getSelectionStartIndex :: HG3DClass -> IO (Int)
-getSelectionStartIndex a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectionStartIndex'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function getSelectionEndIndex -}
-getSelectionEndIndex :: HG3DClass -> IO (Int)
-getSelectionEndIndex a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectionEndIndex'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function getSelectionLength -}
-getSelectionLength :: HG3DClass -> IO (Int)
-getSelectionLength a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectionLength'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function getMaxTextLength -}
-getMaxTextLength :: HG3DClass -> IO (Int)
-getMaxTextLength a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getMaxTextLength'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function isWordWrapped -}
-isWordWrapped :: HG3DClass -> IO (Bool)
-isWordWrapped a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isWordWrapped'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function getVertScrollbar -}
-getVertScrollbar :: HG3DClass -> IO (HG3DClass)
-getVertScrollbar a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getVertScrollbar'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 88 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function isVertScrollbarAlwaysShown -}
-isVertScrollbarAlwaysShown :: HG3DClass -> IO (Bool)
-isVertScrollbarAlwaysShown a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isVertScrollbarAlwaysShown'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 93 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function getHorzScrollbar -}
-getHorzScrollbar :: HG3DClass -> IO (HG3DClass)
-getHorzScrollbar a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getHorzScrollbar'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 98 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function getLineNumberFromIndex -}
-getLineNumberFromIndex :: HG3DClass -> Int -> IO (Int)
-getLineNumberFromIndex a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getLineNumberFromIndex'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 104 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function initialiseComponents -}
-initialiseComponents :: HG3DClass -> IO ()
-initialiseComponents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialiseComponents'_ a1' >>= \res ->
-  return ()
-{-# LINE 108 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function setReadOnly -}
-setReadOnly :: HG3DClass -> Bool -> IO ()
-setReadOnly a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setReadOnly'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 113 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function setCaratIndex -}
-setCaratIndex :: HG3DClass -> Int -> IO ()
-setCaratIndex a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setCaratIndex'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 118 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function setSelection -}
-setSelection :: HG3DClass -> Int -> Int -> IO ()
-setSelection a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  let {a3' = fromIntegral a3} in 
-  setSelection'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 124 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function setMaxTextLength -}
-setMaxTextLength :: HG3DClass -> Int -> IO ()
-setMaxTextLength a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setMaxTextLength'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 129 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function ensureCaratIsVisible -}
-ensureCaratIsVisible :: HG3DClass -> IO ()
-ensureCaratIsVisible a1 =
-  withHG3DClass a1 $ \a1' -> 
-  ensureCaratIsVisible'_ a1' >>= \res ->
-  return ()
-{-# LINE 133 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function setWordWrapping -}
-setWordWrapping :: HG3DClass -> Bool -> IO ()
-setWordWrapping a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setWordWrapping'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 138 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function setShowVertScrollbar -}
-setShowVertScrollbar :: HG3DClass -> Bool -> IO ()
-setShowVertScrollbar a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setShowVertScrollbar'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 143 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function MultiLineEditbox -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 149 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-{- function ~MultiLineEditbox -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 153 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_hasInputFocus"
-  hasInputFocus'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_isReadOnly"
-  isReadOnly'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_getCaratIndex"
-  getCaratIndex'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_getSelectionStartIndex"
-  getSelectionStartIndex'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_getSelectionEndIndex"
-  getSelectionEndIndex'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_getSelectionLength"
-  getSelectionLength'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_getMaxTextLength"
-  getMaxTextLength'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_isWordWrapped"
-  isWordWrapped'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_getVertScrollbar"
-  getVertScrollbar'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_isVertScrollbarAlwaysShown"
-  isVertScrollbarAlwaysShown'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_getHorzScrollbar"
-  getHorzScrollbar'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_getLineNumberFromIndex"
-  getLineNumberFromIndex'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_initialiseComponents"
-  initialiseComponents'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_setReadOnly"
-  setReadOnly'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_setCaratIndex"
-  setCaratIndex'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_setSelection"
-  setSelection'_ :: ((HG3DClassPtr) -> (CInt -> (CInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_setMaxTextLength"
-  setMaxTextLength'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_ensureCaratIsVisible"
-  ensureCaratIsVisible'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_setWordWrapping"
-  setWordWrapping'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_setShowVertScrollbar"
-  setShowVertScrollbar'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMultiLineEditbox.chs.h cegui_mltlnedtbx_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassOgreRenderer.chs b/HGamer3D/Bindings/CEGUI/ClassOgreRenderer.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassOgreRenderer.chs
@@ -0,0 +1,128 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+{# import HGamer3D.Bindings.CEGUI.EnumBlendMode #}
+
+#include "ClassOgreRenderer.h"
+{- function bootstrapSystem -}
+{#fun cegui_ogrrndr_bootstrapSystem as bootstrapSystem 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function destroySystem -}
+{#fun cegui_ogrrndr_destroySystem as destroySystem 
+{ } -> `()'  #}
+
+{- function create -}
+{#fun cegui_ogrrndr_create as create 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function destroy -}
+{#fun cegui_ogrrndr_destroy as destroy 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function createOgreResourceProvider -}
+{#fun cegui_ogrrndr_createOgreResourceProvider as createOgreResourceProvider 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function destroyOgreResourceProvider -}
+{#fun cegui_ogrrndr_destroyOgreResourceProvider as destroyOgreResourceProvider 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setRenderingEnabled -}
+{#fun cegui_ogrrndr_setRenderingEnabled as setRenderingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function isRenderingEnabled -}
+{#fun cegui_ogrrndr_isRenderingEnabled as isRenderingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setupRenderingBlendMode -}
+{#fun cegui_ogrrndr_setupRenderingBlendMode as setupRenderingBlendMode 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumBlendMode' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setFrameControlExecutionEnabled -}
+{#fun cegui_ogrrndr_setFrameControlExecutionEnabled as setFrameControlExecutionEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function isFrameControlExecutionEnabled -}
+{#fun cegui_ogrrndr_isFrameControlExecutionEnabled as isFrameControlExecutionEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function initialiseRenderStateSettings -}
+{#fun cegui_ogrrndr_initialiseRenderStateSettings as initialiseRenderStateSettings 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function destroyAllGeometryBuffers -}
+{#fun cegui_ogrrndr_destroyAllGeometryBuffers as destroyAllGeometryBuffers 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function destroyAllTextureTargets -}
+{#fun cegui_ogrrndr_destroyAllTextureTargets as destroyAllTextureTargets 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function destroyAllTextures -}
+{#fun cegui_ogrrndr_destroyAllTextures as destroyAllTextures 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function beginRendering -}
+{#fun cegui_ogrrndr_beginRendering as beginRendering 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function endRendering -}
+{#fun cegui_ogrrndr_endRendering as endRendering 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getMaxTextureSize -}
+{#fun cegui_ogrrndr_getMaxTextureSize as getMaxTextureSize 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getIdentifierString -}
+{#fun cegui_ogrrndr_getIdentifierString as getIdentifierString 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassOgreRenderer.hs b/HGamer3D/Bindings/CEGUI/ClassOgreRenderer.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassOgreRenderer.hs
+++ /dev/null
@@ -1,275 +0,0 @@
--- 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" #-}
-
-{- function bootstrapSystem -}
-bootstrapSystem :: IO (HG3DClass)
-bootstrapSystem =
-  alloca $ \a1' -> 
-  bootstrapSystem'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function destroySystem -}
-destroySystem :: IO ()
-destroySystem =
-  destroySystem'_ >>= \res ->
-  return ()
-{-# LINE 52 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function create -}
-create :: IO (HG3DClass)
-create =
-  alloca $ \a1' -> 
-  create'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 56 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function destroy -}
-destroy :: HG3DClass -> IO ()
-destroy a1 =
-  withHG3DClass a1 $ \a1' -> 
-  destroy'_ a1' >>= \res ->
-  return ()
-{-# LINE 60 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function createOgreResourceProvider -}
-createOgreResourceProvider :: IO (HG3DClass)
-createOgreResourceProvider =
-  alloca $ \a1' -> 
-  createOgreResourceProvider'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 64 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function destroyOgreResourceProvider -}
-destroyOgreResourceProvider :: HG3DClass -> IO ()
-destroyOgreResourceProvider a1 =
-  withHG3DClass a1 $ \a1' -> 
-  destroyOgreResourceProvider'_ a1' >>= \res ->
-  return ()
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function setRenderingEnabled -}
-setRenderingEnabled :: HG3DClass -> Bool -> IO ()
-setRenderingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setRenderingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function isRenderingEnabled -}
-isRenderingEnabled :: HG3DClass -> 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" #-}
-
-{- function setupRenderingBlendMode -}
-setupRenderingBlendMode :: HG3DClass -> EnumBlendMode -> Bool -> 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" #-}
-
-{- function setFrameControlExecutionEnabled -}
-setFrameControlExecutionEnabled :: HG3DClass -> Bool -> IO ()
-setFrameControlExecutionEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setFrameControlExecutionEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 89 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function isFrameControlExecutionEnabled -}
-isFrameControlExecutionEnabled :: HG3DClass -> 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" #-}
-
-{- function initialiseRenderStateSettings -}
-initialiseRenderStateSettings :: HG3DClass -> IO ()
-initialiseRenderStateSettings a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialiseRenderStateSettings'_ a1' >>= \res ->
-  return ()
-{-# LINE 98 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function destroyAllGeometryBuffers -}
-destroyAllGeometryBuffers :: HG3DClass -> IO ()
-destroyAllGeometryBuffers a1 =
-  withHG3DClass a1 $ \a1' -> 
-  destroyAllGeometryBuffers'_ a1' >>= \res ->
-  return ()
-{-# LINE 102 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function destroyAllTextureTargets -}
-destroyAllTextureTargets :: HG3DClass -> IO ()
-destroyAllTextureTargets a1 =
-  withHG3DClass a1 $ \a1' -> 
-  destroyAllTextureTargets'_ a1' >>= \res ->
-  return ()
-{-# LINE 106 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function destroyAllTextures -}
-destroyAllTextures :: HG3DClass -> IO ()
-destroyAllTextures a1 =
-  withHG3DClass a1 $ \a1' -> 
-  destroyAllTextures'_ a1' >>= \res ->
-  return ()
-{-# LINE 110 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function beginRendering -}
-beginRendering :: HG3DClass -> IO ()
-beginRendering a1 =
-  withHG3DClass a1 $ \a1' -> 
-  beginRendering'_ a1' >>= \res ->
-  return ()
-{-# LINE 114 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function endRendering -}
-endRendering :: HG3DClass -> IO ()
-endRendering a1 =
-  withHG3DClass a1 $ \a1' -> 
-  endRendering'_ a1' >>= \res ->
-  return ()
-{-# LINE 118 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function getMaxTextureSize -}
-getMaxTextureSize :: HG3DClass -> IO (Int)
-getMaxTextureSize a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getMaxTextureSize'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 123 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreRenderer.chs" #-}
-
-{- function getIdentifierString -}
-getIdentifierString :: HG3DClass -> IO (String)
-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 ())))
diff --git a/HGamer3D/Bindings/CEGUI/ClassOgreResourceProvider.chs b/HGamer3D/Bindings/CEGUI/ClassOgreResourceProvider.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassOgreResourceProvider.chs
@@ -0,0 +1,43 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassOgreResourceProvider.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassOgreResourceProvider 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassOgreResourceProvider.h"
diff --git a/HGamer3D/Bindings/CEGUI/ClassOgreResourceProvider.hs b/HGamer3D/Bindings/CEGUI/ClassOgreResourceProvider.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassOgreResourceProvider.hs
+++ /dev/null
@@ -1,50 +0,0 @@
--- 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\\ClassOgreResourceProvider.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.
--- 
-
-
--- ClassOgreResourceProvider.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassOgreResourceProvider 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\\ClassOgreResourceProvider.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreResourceProvider.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassOgreResourceProvider.chs" #-}
-
diff --git a/HGamer3D/Bindings/CEGUI/ClassProgressBar.chs b/HGamer3D/Bindings/CEGUI/ClassProgressBar.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassProgressBar.chs
@@ -0,0 +1,82 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassProgressBar.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassProgressBar 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassProgressBar.h"
+{- function getProgress -}
+{#fun cegui_prgbr_getProgress as getProgress 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getStep -}
+{#fun cegui_prgbr_getStep as getStep 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setProgress -}
+{#fun cegui_prgbr_setProgress as setProgress 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function setStepSize -}
+{#fun cegui_prgbr_setStepSize as setStepSize 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function step -}
+{#fun cegui_prgbr_step as step 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function adjustProgress -}
+{#fun cegui_prgbr_adjustProgress as adjustProgress 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function ProgressBar -}
+{#fun cegui_prgbr_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~ProgressBar -}
+{#fun cegui_prgbr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassProgressBar.hs b/HGamer3D/Bindings/CEGUI/ClassProgressBar.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassProgressBar.hs
+++ /dev/null
@@ -1,148 +0,0 @@
--- 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\\ClassProgressBar.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.
--- 
-
-
--- ClassProgressBar.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassProgressBar 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\\ClassProgressBar.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs" #-}
-
-{- function getProgress -}
-getProgress :: HG3DClass -> IO (Float)
-getProgress a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getProgress'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs" #-}
-
-{- function getStep -}
-getStep :: HG3DClass -> IO (Float)
-getStep a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getStep'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs" #-}
-
-{- function setProgress -}
-setProgress :: HG3DClass -> Float -> IO ()
-setProgress a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setProgress'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs" #-}
-
-{- function setStepSize -}
-setStepSize :: HG3DClass -> Float -> IO ()
-setStepSize a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setStepSize'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs" #-}
-
-{- function step -}
-step :: HG3DClass -> IO ()
-step a1 =
-  withHG3DClass a1 $ \a1' -> 
-  step'_ a1' >>= \res ->
-  return ()
-{-# LINE 67 ".\\HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs" #-}
-
-{- function adjustProgress -}
-adjustProgress :: HG3DClass -> Float -> IO ()
-adjustProgress a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  adjustProgress'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 72 ".\\HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs" #-}
-
-{- function ProgressBar -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs" #-}
-
-{- function ~ProgressBar -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 82 ".\\HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs.h cegui_prgbr_getProgress"
-  getProgress'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs.h cegui_prgbr_getStep"
-  getStep'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs.h cegui_prgbr_setProgress"
-  setProgress'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs.h cegui_prgbr_setStepSize"
-  setStepSize'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs.h cegui_prgbr_step"
-  step'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs.h cegui_prgbr_adjustProgress"
-  adjustProgress'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs.h cegui_prgbr_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassProgressBar.chs.h cegui_prgbr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassPropertySet.chs b/HGamer3D/Bindings/CEGUI/ClassPropertySet.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassPropertySet.chs
@@ -0,0 +1,96 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassPropertySet.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassPropertySet 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassPropertySet.h"
+{- function PropertySet -}
+{#fun cegui_prpst_construct as new 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~PropertySet -}
+{#fun cegui_prpst_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function removeProperty -}
+{#fun cegui_prpst_removeProperty as removeProperty 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function clearProperties -}
+{#fun cegui_prpst_clearProperties as clearProperties 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function isPropertyPresent -}
+{#fun cegui_prpst_isPropertyPresent as isPropertyPresent 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getPropertyHelp -}
+{#fun cegui_prpst_getPropertyHelp as getPropertyHelp 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function getProperty -}
+{#fun cegui_prpst_getProperty as getProperty 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function setProperty -}
+{#fun cegui_prpst_setProperty as setProperty 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function isPropertyDefault -}
+{#fun cegui_prpst_isPropertyDefault as isPropertyDefault 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getPropertyDefault -}
+{#fun cegui_prpst_getPropertyDefault as getPropertyDefault 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassPropertySet.hs b/HGamer3D/Bindings/CEGUI/ClassPropertySet.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassPropertySet.hs
+++ /dev/null
@@ -1,179 +0,0 @@
--- 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\\ClassPropertySet.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.
--- 
-
-
--- ClassPropertySet.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassPropertySet 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\\ClassPropertySet.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs" #-}
-
-{- function PropertySet -}
-new :: IO (HG3DClass)
-new =
-  alloca $ \a1' -> 
-  new'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs" #-}
-
-{- function ~PropertySet -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 51 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs" #-}
-
-{- function removeProperty -}
-removeProperty :: HG3DClass -> String -> IO ()
-removeProperty a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  removeProperty'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 56 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs" #-}
-
-{- function clearProperties -}
-clearProperties :: HG3DClass -> IO ()
-clearProperties a1 =
-  withHG3DClass a1 $ \a1' -> 
-  clearProperties'_ a1' >>= \res ->
-  return ()
-{-# LINE 60 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs" #-}
-
-{- function isPropertyPresent -}
-isPropertyPresent :: HG3DClass -> String -> IO (Bool)
-isPropertyPresent a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isPropertyPresent'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 66 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs" #-}
-
-{- function getPropertyHelp -}
-getPropertyHelp :: HG3DClass -> String -> IO (String)
-getPropertyHelp a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloc64k $ \a3' -> 
-  getPropertyHelp'_ a1' a2' a3' >>= \res ->
-  peekCString  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 72 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs" #-}
-
-{- function getProperty -}
-getProperty :: HG3DClass -> String -> IO (String)
-getProperty a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloc64k $ \a3' -> 
-  getProperty'_ a1' a2' a3' >>= \res ->
-  peekCString  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs" #-}
-
-{- function setProperty -}
-setProperty :: HG3DClass -> String -> String -> IO ()
-setProperty a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  setProperty'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 84 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs" #-}
-
-{- function isPropertyDefault -}
-isPropertyDefault :: HG3DClass -> String -> IO (Bool)
-isPropertyDefault a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isPropertyDefault'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 90 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs" #-}
-
-{- function getPropertyDefault -}
-getPropertyDefault :: HG3DClass -> String -> IO (String)
-getPropertyDefault a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloc64k $ \a3' -> 
-  getPropertyDefault'_ a1' a2' a3' >>= \res ->
-  peekCString  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 96 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs.h cegui_prpst_construct"
-  new'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs.h cegui_prpst_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs.h cegui_prpst_removeProperty"
-  removeProperty'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs.h cegui_prpst_clearProperties"
-  clearProperties'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs.h cegui_prpst_isPropertyPresent"
-  isPropertyPresent'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs.h cegui_prpst_getPropertyHelp"
-  getPropertyHelp'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs.h cegui_prpst_getProperty"
-  getProperty'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs.h cegui_prpst_setProperty"
-  setProperty'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs.h cegui_prpst_isPropertyDefault"
-  isPropertyDefault'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassPropertySet.chs.h cegui_prpst_getPropertyDefault"
-  getPropertyDefault'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
diff --git a/HGamer3D/Bindings/CEGUI/ClassPtr.chs b/HGamer3D/Bindings/CEGUI/ClassPtr.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassPtr.chs
@@ -0,0 +1,160 @@
+{-# LANGUAGE EmptyDataDecls #-}
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassPtr.chs
+
+-- Class Ptr Utilities
+
+module HGamer3D.Bindings.CEGUI.ClassPtr 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 #}
+
+#include "ClassPtr.h"
+{- class ClassCheckbox -}
+{#pointer *ClassCheckbox as ClassCheckbox#}
+{- class ClassCombobox -}
+{#pointer *ClassCombobox as ClassCombobox#}
+{- class ClassComboDropList -}
+{#pointer *ClassComboDropList as ClassComboDropList#}
+{- class ClassDefaultLogger -}
+{#pointer *ClassDefaultLogger as ClassDefaultLogger#}
+{- class ClassDefaultResourceProvider -}
+{#pointer *ClassDefaultResourceProvider as ClassDefaultResourceProvider#}
+{- class ClassDragContainer -}
+{#pointer *ClassDragContainer as ClassDragContainer#}
+{- class ClassEditbox -}
+{#pointer *ClassEditbox as ClassEditbox#}
+{- class ClassEventArgs -}
+{#pointer *ClassEventArgs as ClassEventArgs#}
+{- class ClassEventSet -}
+{#pointer *ClassEventSet as ClassEventSet#}
+{- class ClassFont -}
+{#pointer *ClassFont as ClassFont#}
+{- class ClassFontManager -}
+{#pointer *ClassFontManager as ClassFontManager#}
+{- class ClassFrameWindow -}
+{#pointer *ClassFrameWindow as ClassFrameWindow#}
+{- class ClassImageCodec -}
+{#pointer *ClassImageCodec as ClassImageCodec#}
+{- class ClassImageset -}
+{#pointer *ClassImageset as ClassImageset#}
+{- class ClassItemEntry -}
+{#pointer *ClassItemEntry as ClassItemEntry#}
+{- class ClassItemListbox -}
+{#pointer *ClassItemListbox as ClassItemListbox#}
+{- class ClassListbox -}
+{#pointer *ClassListbox as ClassListbox#}
+{- class ClassListboxItem -}
+{#pointer *ClassListboxItem as ClassListboxItem#}
+{- class ClassListboxTextItem -}
+{#pointer *ClassListboxTextItem as ClassListboxTextItem#}
+{- class ClassListHeader -}
+{#pointer *ClassListHeader as ClassListHeader#}
+{- class ClassListHeaderSegment -}
+{#pointer *ClassListHeaderSegment as ClassListHeaderSegment#}
+{- class ClassLogger -}
+{#pointer *ClassLogger as ClassLogger#}
+{- class ClassMenuBase -}
+{#pointer *ClassMenuBase as ClassMenuBase#}
+{- class ClassMenuItem -}
+{#pointer *ClassMenuItem as ClassMenuItem#}
+{- class ClassMultiColumnList -}
+{#pointer *ClassMultiColumnList as ClassMultiColumnList#}
+{- class ClassMultiLineEditbox -}
+{#pointer *ClassMultiLineEditbox as ClassMultiLineEditbox#}
+{- class ClassOgreRenderer -}
+{#pointer *ClassOgreRenderer as ClassOgreRenderer#}
+{- class ClassOgreResourceProvider -}
+{#pointer *ClassOgreResourceProvider as ClassOgreResourceProvider#}
+{- class ClassProgressBar -}
+{#pointer *ClassProgressBar as ClassProgressBar#}
+{- class ClassPropertySet -}
+{#pointer *ClassPropertySet as ClassPropertySet#}
+{- class ClassPushButton -}
+{#pointer *ClassPushButton as ClassPushButton#}
+{- class ClassRadioButton -}
+{#pointer *ClassRadioButton as ClassRadioButton#}
+{- class ClassRenderer -}
+{#pointer *ClassRenderer as ClassRenderer#}
+{- class ClassResourceProvider -}
+{#pointer *ClassResourceProvider as ClassResourceProvider#}
+{- class ClassScheme -}
+{#pointer *ClassScheme as ClassScheme#}
+{- class ClassSchemeManager -}
+{#pointer *ClassSchemeManager as ClassSchemeManager#}
+{- class ClassScriptFunctor -}
+{#pointer *ClassScriptFunctor as ClassScriptFunctor#}
+{- class ClassScriptModule -}
+{#pointer *ClassScriptModule as ClassScriptModule#}
+{- class ClassScrollablePane -}
+{#pointer *ClassScrollablePane as ClassScrollablePane#}
+{- class ClassScrollbar -}
+{#pointer *ClassScrollbar as ClassScrollbar#}
+{- class ClassScrolledContainer -}
+{#pointer *ClassScrolledContainer as ClassScrolledContainer#}
+{- class ClassScrolledItemListBase -}
+{#pointer *ClassScrolledItemListBase as ClassScrolledItemListBase#}
+{- class ClassSlider -}
+{#pointer *ClassSlider as ClassSlider#}
+{- class ClassSpinner -}
+{#pointer *ClassSpinner as ClassSpinner#}
+{- class ClassSystem -}
+{#pointer *ClassSystem as ClassSystem#}
+{- class ClassTabButton -}
+{#pointer *ClassTabButton as ClassTabButton#}
+{- class ClassThumb -}
+{#pointer *ClassThumb as ClassThumb#}
+{- class ClassTooltip -}
+{#pointer *ClassTooltip as ClassTooltip#}
+{- class ClassTree -}
+{#pointer *ClassTree as ClassTree#}
+{- class ClassWidgetLookManager -}
+{#pointer *ClassWidgetLookManager as ClassWidgetLookManager#}
+{- class ClassWindow -}
+{#pointer *ClassWindow as ClassWindow#}
+{- class ClassWindowManager -}
+{#pointer *ClassWindowManager as ClassWindowManager#}
+{- class ClassXMLParser -}
+{#pointer *ClassXMLParser as ClassXMLParser#}
+{- class ClassHG3DEventController -}
+{#pointer *ClassHG3DEventController as ClassHG3DEventController#}
+{- class ClassHG3DEventStaticFunctions -}
+{#pointer *ClassHG3DEventStaticFunctions as ClassHG3DEventStaticFunctions#}
+{- class ClassHG3DListboxStaticFunctions -}
+{#pointer *ClassHG3DListboxStaticFunctions as ClassHG3DListboxStaticFunctions#}
+{- class ClassHG3DWindowStaticFunctions -}
+{#pointer *ClassHG3DWindowStaticFunctions as ClassHG3DWindowStaticFunctions#}
+{- class ClassSystemHG3D -}
+{#pointer *ClassSystemHG3D as ClassSystemHG3D#}
+{- class ClassWindowManagerHG3D -}
+{#pointer *ClassWindowManagerHG3D as ClassWindowManagerHG3D#}
diff --git a/HGamer3D/Bindings/CEGUI/ClassPtr.hs b/HGamer3D/Bindings/CEGUI/ClassPtr.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassPtr.hs
+++ /dev/null
@@ -1,223 +0,0 @@
--- 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\\ClassPtr.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.
--- 
-
-
--- ClassPtr.chs
-
--- Class Ptr Utilities
-
-module HGamer3D.Bindings.CEGUI.ClassPtr 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\\ClassPtr.chs" #-}
-
-{- class ClassCheckbox -}
-type ClassCheckbox = Ptr (())
-{-# LINE 44 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassCombobox -}
-type ClassCombobox = Ptr (())
-{-# LINE 46 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassComboDropList -}
-type ClassComboDropList = Ptr (())
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassDefaultLogger -}
-type ClassDefaultLogger = Ptr (())
-{-# LINE 50 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassDefaultResourceProvider -}
-type ClassDefaultResourceProvider = Ptr (())
-{-# LINE 52 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassDragContainer -}
-type ClassDragContainer = Ptr (())
-{-# LINE 54 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassEditbox -}
-type ClassEditbox = Ptr (())
-{-# LINE 56 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassEventArgs -}
-type ClassEventArgs = Ptr (())
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassEventSet -}
-type ClassEventSet = Ptr (())
-{-# LINE 60 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassFont -}
-type ClassFont = Ptr (())
-{-# LINE 62 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassFontManager -}
-type ClassFontManager = Ptr (())
-{-# LINE 64 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassFrameWindow -}
-type ClassFrameWindow = Ptr (())
-{-# LINE 66 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassImageCodec -}
-type ClassImageCodec = Ptr (())
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassImageset -}
-type ClassImageset = Ptr (())
-{-# LINE 70 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassItemEntry -}
-type ClassItemEntry = Ptr (())
-{-# LINE 72 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassItemListbox -}
-type ClassItemListbox = Ptr (())
-{-# LINE 74 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassListbox -}
-type ClassListbox = Ptr (())
-{-# LINE 76 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassListboxItem -}
-type ClassListboxItem = Ptr (())
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassListboxTextItem -}
-type ClassListboxTextItem = Ptr (())
-{-# LINE 80 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassListHeader -}
-type ClassListHeader = Ptr (())
-{-# LINE 82 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassListHeaderSegment -}
-type ClassListHeaderSegment = Ptr (())
-{-# LINE 84 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassLogger -}
-type ClassLogger = Ptr (())
-{-# LINE 86 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassMenuBase -}
-type ClassMenuBase = Ptr (())
-{-# LINE 88 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassMenuItem -}
-type ClassMenuItem = Ptr (())
-{-# LINE 90 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassMultiColumnList -}
-type ClassMultiColumnList = Ptr (())
-{-# LINE 92 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassMultiLineEditbox -}
-type ClassMultiLineEditbox = Ptr (())
-{-# LINE 94 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassOgreRenderer -}
-type ClassOgreRenderer = Ptr (())
-{-# LINE 96 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassOgreResourceProvider -}
-type ClassOgreResourceProvider = Ptr (())
-{-# LINE 98 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassProgressBar -}
-type ClassProgressBar = Ptr (())
-{-# LINE 100 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassPropertySet -}
-type ClassPropertySet = Ptr (())
-{-# LINE 102 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassPushButton -}
-type ClassPushButton = Ptr (())
-{-# LINE 104 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassRadioButton -}
-type ClassRadioButton = Ptr (())
-{-# LINE 106 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassRenderer -}
-type ClassRenderer = Ptr (())
-{-# LINE 108 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassResourceProvider -}
-type ClassResourceProvider = Ptr (())
-{-# LINE 110 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassScheme -}
-type ClassScheme = Ptr (())
-{-# LINE 112 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassSchemeManager -}
-type ClassSchemeManager = Ptr (())
-{-# LINE 114 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassScriptFunctor -}
-type ClassScriptFunctor = Ptr (())
-{-# LINE 116 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassScriptModule -}
-type ClassScriptModule = Ptr (())
-{-# LINE 118 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassScrollablePane -}
-type ClassScrollablePane = Ptr (())
-{-# LINE 120 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassScrollbar -}
-type ClassScrollbar = Ptr (())
-{-# LINE 122 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassScrolledContainer -}
-type ClassScrolledContainer = Ptr (())
-{-# LINE 124 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassScrolledItemListBase -}
-type ClassScrolledItemListBase = Ptr (())
-{-# LINE 126 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassSlider -}
-type ClassSlider = Ptr (())
-{-# LINE 128 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassSpinner -}
-type ClassSpinner = Ptr (())
-{-# LINE 130 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassSystem -}
-type ClassSystem = Ptr (())
-{-# LINE 132 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassTabButton -}
-type ClassTabButton = Ptr (())
-{-# LINE 134 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassThumb -}
-type ClassThumb = Ptr (())
-{-# LINE 136 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassTooltip -}
-type ClassTooltip = Ptr (())
-{-# LINE 138 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassTree -}
-type ClassTree = Ptr (())
-{-# LINE 140 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassWidgetLookManager -}
-type ClassWidgetLookManager = Ptr (())
-{-# LINE 142 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassWindow -}
-type ClassWindow = Ptr (())
-{-# LINE 144 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassWindowManager -}
-type ClassWindowManager = Ptr (())
-{-# LINE 146 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassXMLParser -}
-type ClassXMLParser = Ptr (())
-{-# LINE 148 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassHG3DEventController -}
-type ClassHG3DEventController = Ptr (())
-{-# LINE 150 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassHG3DEventStaticFunctions -}
-type ClassHG3DEventStaticFunctions = Ptr (())
-{-# LINE 152 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassHG3DListboxStaticFunctions -}
-type ClassHG3DListboxStaticFunctions = Ptr (())
-{-# LINE 154 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassHG3DWindowStaticFunctions -}
-type ClassHG3DWindowStaticFunctions = Ptr (())
-{-# LINE 156 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassSystemHG3D -}
-type ClassSystemHG3D = Ptr (())
-{-# LINE 158 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
-{- class ClassWindowManagerHG3D -}
-type ClassWindowManagerHG3D = Ptr (())
-{-# LINE 160 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPtr.chs" #-}
diff --git a/HGamer3D/Bindings/CEGUI/ClassPushButton.chs b/HGamer3D/Bindings/CEGUI/ClassPushButton.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassPushButton.chs
@@ -0,0 +1,53 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassPushButton.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassPushButton 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassPushButton.h"
+{- function PushButton -}
+{#fun cegui_pshbttn_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~PushButton -}
+{#fun cegui_pshbttn_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassPushButton.hs b/HGamer3D/Bindings/CEGUI/ClassPushButton.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassPushButton.hs
+++ /dev/null
@@ -1,75 +0,0 @@
--- 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\\ClassPushButton.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.
--- 
-
-
--- ClassPushButton.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassPushButton 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\\ClassPushButton.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPushButton.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPushButton.chs" #-}
-
-{- function PushButton -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 49 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPushButton.chs" #-}
-
-{- function ~PushButton -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassPushButton.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassPushButton.chs.h cegui_pshbttn_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassPushButton.chs.h cegui_pshbttn_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassRadioButton.chs b/HGamer3D/Bindings/CEGUI/ClassRadioButton.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassRadioButton.chs
@@ -0,0 +1,68 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassRadioButton.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassRadioButton 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassRadioButton.h"
+{- function isSelected -}
+{#fun cegui_rdbttn_isSelected as isSelected 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getSelectedButtonInGroup -}
+{#fun cegui_rdbttn_getSelectedButtonInGroup as getSelectedButtonInGroup 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function setSelected -}
+{#fun cegui_rdbttn_setSelected as setSelected 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function RadioButton -}
+{#fun cegui_rdbttn_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~RadioButton -}
+{#fun cegui_rdbttn_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassRadioButton.hs b/HGamer3D/Bindings/CEGUI/ClassRadioButton.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassRadioButton.hs
+++ /dev/null
@@ -1,113 +0,0 @@
--- 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\\ClassRadioButton.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.
--- 
-
-
--- ClassRadioButton.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassRadioButton 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\\ClassRadioButton.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRadioButton.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRadioButton.chs" #-}
-
-{- function isSelected -}
-isSelected :: HG3DClass -> IO (Bool)
-isSelected a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSelected'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRadioButton.chs" #-}
-
-{- function getSelectedButtonInGroup -}
-getSelectedButtonInGroup :: HG3DClass -> IO (HG3DClass)
-getSelectedButtonInGroup a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectedButtonInGroup'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRadioButton.chs" #-}
-
-{- function setSelected -}
-setSelected :: HG3DClass -> Bool -> IO ()
-setSelected a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setSelected'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRadioButton.chs" #-}
-
-{- function RadioButton -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 64 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRadioButton.chs" #-}
-
-{- function ~RadioButton -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRadioButton.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassRadioButton.chs.h cegui_rdbttn_isSelected"
-  isSelected'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassRadioButton.chs.h cegui_rdbttn_getSelectedButtonInGroup"
-  getSelectedButtonInGroup'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassRadioButton.chs.h cegui_rdbttn_setSelected"
-  setSelected'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassRadioButton.chs.h cegui_rdbttn_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassRadioButton.chs.h cegui_rdbttn_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassRenderer.chs b/HGamer3D/Bindings/CEGUI/ClassRenderer.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassRenderer.chs
@@ -0,0 +1,77 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassRenderer.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassRenderer 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassRenderer.h"
+{- function destroyAllGeometryBuffers -}
+{#fun cegui_rndr_destroyAllGeometryBuffers as destroyAllGeometryBuffers 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function destroyAllTextureTargets -}
+{#fun cegui_rndr_destroyAllTextureTargets as destroyAllTextureTargets 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function destroyAllTextures -}
+{#fun cegui_rndr_destroyAllTextures as destroyAllTextures 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function beginRendering -}
+{#fun cegui_rndr_beginRendering as beginRendering 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function endRendering -}
+{#fun cegui_rndr_endRendering as endRendering 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getMaxTextureSize -}
+{#fun cegui_rndr_getMaxTextureSize as getMaxTextureSize 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getIdentifierString -}
+{#fun cegui_rndr_getIdentifierString as getIdentifierString 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function ~Renderer -}
+{#fun cegui_rndr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassRenderer.hs b/HGamer3D/Bindings/CEGUI/ClassRenderer.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassRenderer.hs
+++ /dev/null
@@ -1,142 +0,0 @@
--- 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\\ClassRenderer.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.
--- 
-
-
--- ClassRenderer.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassRenderer 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\\ClassRenderer.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs" #-}
-
-{- function destroyAllGeometryBuffers -}
-destroyAllGeometryBuffers :: HG3DClass -> IO ()
-destroyAllGeometryBuffers a1 =
-  withHG3DClass a1 $ \a1' -> 
-  destroyAllGeometryBuffers'_ a1' >>= \res ->
-  return ()
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs" #-}
-
-{- function destroyAllTextureTargets -}
-destroyAllTextureTargets :: HG3DClass -> IO ()
-destroyAllTextureTargets a1 =
-  withHG3DClass a1 $ \a1' -> 
-  destroyAllTextureTargets'_ a1' >>= \res ->
-  return ()
-{-# LINE 51 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs" #-}
-
-{- function destroyAllTextures -}
-destroyAllTextures :: HG3DClass -> IO ()
-destroyAllTextures a1 =
-  withHG3DClass a1 $ \a1' -> 
-  destroyAllTextures'_ a1' >>= \res ->
-  return ()
-{-# LINE 55 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs" #-}
-
-{- function beginRendering -}
-beginRendering :: HG3DClass -> IO ()
-beginRendering a1 =
-  withHG3DClass a1 $ \a1' -> 
-  beginRendering'_ a1' >>= \res ->
-  return ()
-{-# LINE 59 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs" #-}
-
-{- function endRendering -}
-endRendering :: HG3DClass -> IO ()
-endRendering a1 =
-  withHG3DClass a1 $ \a1' -> 
-  endRendering'_ a1' >>= \res ->
-  return ()
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs" #-}
-
-{- function getMaxTextureSize -}
-getMaxTextureSize :: HG3DClass -> IO (Int)
-getMaxTextureSize a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getMaxTextureSize'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs" #-}
-
-{- function getIdentifierString -}
-getIdentifierString :: HG3DClass -> IO (String)
-getIdentifierString a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getIdentifierString'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs" #-}
-
-{- function ~Renderer -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 77 ".\\HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs.h cegui_rndr_destroyAllGeometryBuffers"
-  destroyAllGeometryBuffers'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs.h cegui_rndr_destroyAllTextureTargets"
-  destroyAllTextureTargets'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs.h cegui_rndr_destroyAllTextures"
-  destroyAllTextures'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs.h cegui_rndr_beginRendering"
-  beginRendering'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs.h cegui_rndr_endRendering"
-  endRendering'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs.h cegui_rndr_getMaxTextureSize"
-  getMaxTextureSize'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs.h cegui_rndr_getIdentifierString"
-  getIdentifierString'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassRenderer.chs.h cegui_rndr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassResourceProvider.chs b/HGamer3D/Bindings/CEGUI/ClassResourceProvider.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassResourceProvider.chs
@@ -0,0 +1,57 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassResourceProvider.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassResourceProvider 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassResourceProvider.h"
+{- function ~ResourceProvider -}
+{#fun cegui_rsrcpr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getDefaultResourceGroup -}
+{#fun cegui_rsrcpr_getDefaultResourceGroup as getDefaultResourceGroup 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function setDefaultResourceGroup -}
+{#fun cegui_rsrcpr_setDefaultResourceGroup as setDefaultResourceGroup 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassResourceProvider.hs b/HGamer3D/Bindings/CEGUI/ClassResourceProvider.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassResourceProvider.hs
+++ /dev/null
@@ -1,86 +0,0 @@
--- 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\\ClassResourceProvider.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.
--- 
-
-
--- ClassResourceProvider.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassResourceProvider 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\\ClassResourceProvider.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassResourceProvider.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassResourceProvider.chs" #-}
-
-{- function ~ResourceProvider -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassResourceProvider.chs" #-}
-
-{- function getDefaultResourceGroup -}
-getDefaultResourceGroup :: HG3DClass -> IO (String)
-getDefaultResourceGroup a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getDefaultResourceGroup'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 52 ".\\HGamer3D\\Bindings\\CEGUI\\ClassResourceProvider.chs" #-}
-
-{- function setDefaultResourceGroup -}
-setDefaultResourceGroup :: HG3DClass -> String -> IO ()
-setDefaultResourceGroup a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setDefaultResourceGroup'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 57 ".\\HGamer3D\\Bindings\\CEGUI\\ClassResourceProvider.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassResourceProvider.chs.h cegui_rsrcpr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassResourceProvider.chs.h cegui_rsrcpr_getDefaultResourceGroup"
-  getDefaultResourceGroup'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassResourceProvider.chs.h cegui_rsrcpr_setDefaultResourceGroup"
-  setDefaultResourceGroup'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
diff --git a/HGamer3D/Bindings/CEGUI/ClassScheme.chs b/HGamer3D/Bindings/CEGUI/ClassScheme.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassScheme.chs
@@ -0,0 +1,73 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassScheme.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassScheme 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassScheme.h"
+{- function loadResources -}
+{#fun cegui_schm_loadResources as loadResources 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function unloadResources -}
+{#fun cegui_schm_unloadResources as unloadResources 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function resourcesLoaded -}
+{#fun cegui_schm_resourcesLoaded as resourcesLoaded 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getName -}
+{#fun cegui_schm_getName as getName 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function ~Scheme -}
+{#fun cegui_schm_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getDefaultResourceGroup -}
+{#fun cegui_schm_getDefaultResourceGroup as getDefaultResourceGroup 
+{ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function setDefaultResourceGroup -}
+{#fun cegui_schm_setDefaultResourceGroup as setDefaultResourceGroup 
+{ withCString* `String' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassScheme.hs b/HGamer3D/Bindings/CEGUI/ClassScheme.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassScheme.hs
+++ /dev/null
@@ -1,132 +0,0 @@
--- 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\\ClassScheme.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.
--- 
-
-
--- ClassScheme.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassScheme 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\\ClassScheme.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs" #-}
-
-{- function loadResources -}
-loadResources :: HG3DClass -> IO ()
-loadResources a1 =
-  withHG3DClass a1 $ \a1' -> 
-  loadResources'_ a1' >>= \res ->
-  return ()
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs" #-}
-
-{- function unloadResources -}
-unloadResources :: HG3DClass -> IO ()
-unloadResources a1 =
-  withHG3DClass a1 $ \a1' -> 
-  unloadResources'_ a1' >>= \res ->
-  return ()
-{-# LINE 51 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs" #-}
-
-{- function resourcesLoaded -}
-resourcesLoaded :: HG3DClass -> IO (Bool)
-resourcesLoaded a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  resourcesLoaded'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 56 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs" #-}
-
-{- function getName -}
-getName :: HG3DClass -> IO (String)
-getName a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getName'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 61 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs" #-}
-
-{- function ~Scheme -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 65 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs" #-}
-
-{- function getDefaultResourceGroup -}
-getDefaultResourceGroup :: IO (String)
-getDefaultResourceGroup =
-  alloc64k $ \a1' -> 
-  getDefaultResourceGroup'_ a1' >>= \res ->
-  peekCString  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 69 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs" #-}
-
-{- function setDefaultResourceGroup -}
-setDefaultResourceGroup :: String -> IO ()
-setDefaultResourceGroup a1 =
-  withCString a1 $ \a1' -> 
-  setDefaultResourceGroup'_ a1' >>= \res ->
-  return ()
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs.h cegui_schm_loadResources"
-  loadResources'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs.h cegui_schm_unloadResources"
-  unloadResources'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs.h cegui_schm_resourcesLoaded"
-  resourcesLoaded'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs.h cegui_schm_getName"
-  getName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs.h cegui_schm_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs.h cegui_schm_getDefaultResourceGroup"
-  getDefaultResourceGroup'_ :: ((Ptr CChar) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScheme.chs.h cegui_schm_setDefaultResourceGroup"
-  setDefaultResourceGroup'_ :: ((Ptr CChar) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassSchemeManager.chs b/HGamer3D/Bindings/CEGUI/ClassSchemeManager.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassSchemeManager.chs
@@ -0,0 +1,51 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassSchemeManager.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassSchemeManager 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassSchemeManager.h"
+{- function SchemeManager -}
+{#fun cegui_schmmgr_construct as new 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~SchemeManager -}
+{#fun cegui_schmmgr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassSchemeManager.hs b/HGamer3D/Bindings/CEGUI/ClassSchemeManager.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassSchemeManager.hs
+++ /dev/null
@@ -1,73 +0,0 @@
--- 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\\ClassSchemeManager.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.
--- 
-
-
--- ClassSchemeManager.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassSchemeManager 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\\ClassSchemeManager.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSchemeManager.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSchemeManager.chs" #-}
-
-{- function SchemeManager -}
-new :: IO (HG3DClass)
-new =
-  alloca $ \a1' -> 
-  new'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSchemeManager.chs" #-}
-
-{- function ~SchemeManager -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 51 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSchemeManager.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSchemeManager.chs.h cegui_schmmgr_construct"
-  new'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSchemeManager.chs.h cegui_schmmgr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassScriptFunctor.chs b/HGamer3D/Bindings/CEGUI/ClassScriptFunctor.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassScriptFunctor.chs
@@ -0,0 +1,48 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassScriptFunctor.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassScriptFunctor 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassScriptFunctor.h"
+{- function ScriptFunctor -}
+{#fun cegui_scrfnct_construct as new 
+{ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassScriptFunctor.hs b/HGamer3D/Bindings/CEGUI/ClassScriptFunctor.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassScriptFunctor.hs
+++ /dev/null
@@ -1,63 +0,0 @@
--- 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\\ClassScriptFunctor.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.
--- 
-
-
--- ClassScriptFunctor.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassScriptFunctor 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\\ClassScriptFunctor.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptFunctor.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptFunctor.chs" #-}
-
-{- function ScriptFunctor -}
-new :: String -> IO (HG3DClass)
-new a1 =
-  withCString a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  new'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptFunctor.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScriptFunctor.chs.h cegui_scrfnct_construct"
-  new'_ :: ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))
diff --git a/HGamer3D/Bindings/CEGUI/ClassScriptModule.chs b/HGamer3D/Bindings/CEGUI/ClassScriptModule.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassScriptModule.chs
@@ -0,0 +1,92 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassScriptModule.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassScriptModule 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassScriptModule.h"
+{- function ~ScriptModule -}
+{#fun cegui_scrmd_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function executeScriptFile -}
+{#fun cegui_scrmd_executeScriptFile as executeScriptFile 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function executeScriptGlobal -}
+{#fun cegui_scrmd_executeScriptGlobal as executeScriptGlobal 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function executeScriptedEventHandler -}
+{#fun cegui_scrmd_executeScriptedEventHandler as executeScriptedEventHandler 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function executeString -}
+{#fun cegui_scrmd_executeString as executeString 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function createBindings -}
+{#fun cegui_scrmd_createBindings as createBindings 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function destroyBindings -}
+{#fun cegui_scrmd_destroyBindings as destroyBindings 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getIdentifierString -}
+{#fun cegui_scrmd_getIdentifierString as getIdentifierString 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function setDefaultResourceGroup -}
+{#fun cegui_scrmd_setDefaultResourceGroup as setDefaultResourceGroup 
+{ withCString* `String' } -> `()'  #}
+
+{- function getDefaultResourceGroup -}
+{#fun cegui_scrmd_getDefaultResourceGroup as getDefaultResourceGroup 
+{ alloc64k- `String' peekCString*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassScriptModule.hs b/HGamer3D/Bindings/CEGUI/ClassScriptModule.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassScriptModule.hs
+++ /dev/null
@@ -1,173 +0,0 @@
--- 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\\ClassScriptModule.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.
--- 
-
-
--- ClassScriptModule.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassScriptModule 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\\ClassScriptModule.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs" #-}
-
-{- function ~ScriptModule -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs" #-}
-
-{- function executeScriptFile -}
-executeScriptFile :: HG3DClass -> String -> String -> IO ()
-executeScriptFile a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  executeScriptFile'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs" #-}
-
-{- function executeScriptGlobal -}
-executeScriptGlobal :: HG3DClass -> String -> IO (Int)
-executeScriptGlobal a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  executeScriptGlobal'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 59 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs" #-}
-
-{- function executeScriptedEventHandler -}
-executeScriptedEventHandler :: HG3DClass -> String -> HG3DClass -> IO (Bool)
-executeScriptedEventHandler a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withHG3DClass a3 $ \a3' -> 
-  alloca $ \a4' -> 
-  executeScriptedEventHandler'_ a1' a2' a3' a4' >>= \res ->
-  peekBoolUtil  a4'>>= \a4'' -> 
-  return (a4'')
-{-# LINE 66 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs" #-}
-
-{- function executeString -}
-executeString :: HG3DClass -> String -> IO ()
-executeString a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  executeString'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 71 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs" #-}
-
-{- function createBindings -}
-createBindings :: HG3DClass -> IO ()
-createBindings a1 =
-  withHG3DClass a1 $ \a1' -> 
-  createBindings'_ a1' >>= \res ->
-  return ()
-{-# LINE 75 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs" #-}
-
-{- function destroyBindings -}
-destroyBindings :: HG3DClass -> IO ()
-destroyBindings a1 =
-  withHG3DClass a1 $ \a1' -> 
-  destroyBindings'_ a1' >>= \res ->
-  return ()
-{-# LINE 79 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs" #-}
-
-{- function getIdentifierString -}
-getIdentifierString :: HG3DClass -> IO (String)
-getIdentifierString a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getIdentifierString'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 84 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs" #-}
-
-{- function setDefaultResourceGroup -}
-setDefaultResourceGroup :: String -> IO ()
-setDefaultResourceGroup a1 =
-  withCString a1 $ \a1' -> 
-  setDefaultResourceGroup'_ a1' >>= \res ->
-  return ()
-{-# LINE 88 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs" #-}
-
-{- function getDefaultResourceGroup -}
-getDefaultResourceGroup :: IO (String)
-getDefaultResourceGroup =
-  alloc64k $ \a1' -> 
-  getDefaultResourceGroup'_ a1' >>= \res ->
-  peekCString  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 92 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs.h cegui_scrmd_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs.h cegui_scrmd_executeScriptFile"
-  executeScriptFile'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs.h cegui_scrmd_executeScriptGlobal"
-  executeScriptGlobal'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs.h cegui_scrmd_executeScriptedEventHandler"
-  executeScriptedEventHandler'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs.h cegui_scrmd_executeString"
-  executeString'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs.h cegui_scrmd_createBindings"
-  createBindings'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs.h cegui_scrmd_destroyBindings"
-  destroyBindings'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs.h cegui_scrmd_getIdentifierString"
-  getIdentifierString'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs.h cegui_scrmd_setDefaultResourceGroup"
-  setDefaultResourceGroup'_ :: ((Ptr CChar) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScriptModule.chs.h cegui_scrmd_getDefaultResourceGroup"
-  getDefaultResourceGroup'_ :: ((Ptr CChar) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassScrollablePane.chs b/HGamer3D/Bindings/CEGUI/ClassScrollablePane.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassScrollablePane.chs
@@ -0,0 +1,166 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassScrollablePane.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassScrollablePane 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassScrollablePane.h"
+{- function ScrollablePane -}
+{#fun cegui_scrlpn_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~ScrollablePane -}
+{#fun cegui_scrlpn_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getContentPane -}
+{#fun cegui_scrlpn_getContentPane as getContentPane 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function isVertScrollbarAlwaysShown -}
+{#fun cegui_scrlpn_isVertScrollbarAlwaysShown as isVertScrollbarAlwaysShown 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setShowVertScrollbar -}
+{#fun cegui_scrlpn_setShowVertScrollbar as setShowVertScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function isHorzScrollbarAlwaysShown -}
+{#fun cegui_scrlpn_isHorzScrollbarAlwaysShown as isHorzScrollbarAlwaysShown 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setShowHorzScrollbar -}
+{#fun cegui_scrlpn_setShowHorzScrollbar as setShowHorzScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function isContentPaneAutoSized -}
+{#fun cegui_scrlpn_isContentPaneAutoSized as isContentPaneAutoSized 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setContentPaneAutoSized -}
+{#fun cegui_scrlpn_setContentPaneAutoSized as setContentPaneAutoSized 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function getHorizontalStepSize -}
+{#fun cegui_scrlpn_getHorizontalStepSize as getHorizontalStepSize 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setHorizontalStepSize -}
+{#fun cegui_scrlpn_setHorizontalStepSize as setHorizontalStepSize 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function getHorizontalOverlapSize -}
+{#fun cegui_scrlpn_getHorizontalOverlapSize as getHorizontalOverlapSize 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setHorizontalOverlapSize -}
+{#fun cegui_scrlpn_setHorizontalOverlapSize as setHorizontalOverlapSize 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function getHorizontalScrollPosition -}
+{#fun cegui_scrlpn_getHorizontalScrollPosition as getHorizontalScrollPosition 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setHorizontalScrollPosition -}
+{#fun cegui_scrlpn_setHorizontalScrollPosition as setHorizontalScrollPosition 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function getVerticalStepSize -}
+{#fun cegui_scrlpn_getVerticalStepSize as getVerticalStepSize 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setVerticalStepSize -}
+{#fun cegui_scrlpn_setVerticalStepSize as setVerticalStepSize 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function getVerticalOverlapSize -}
+{#fun cegui_scrlpn_getVerticalOverlapSize as getVerticalOverlapSize 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setVerticalOverlapSize -}
+{#fun cegui_scrlpn_setVerticalOverlapSize as setVerticalOverlapSize 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function getVerticalScrollPosition -}
+{#fun cegui_scrlpn_getVerticalScrollPosition as getVerticalScrollPosition 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setVerticalScrollPosition -}
+{#fun cegui_scrlpn_setVerticalScrollPosition as setVerticalScrollPosition 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function getVertScrollbar -}
+{#fun cegui_scrlpn_getVertScrollbar as getVertScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getHorzScrollbar -}
+{#fun cegui_scrlpn_getHorzScrollbar as getHorzScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function initialiseComponents -}
+{#fun cegui_scrlpn_initialiseComponents as initialiseComponents 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function destroy -}
+{#fun cegui_scrlpn_destroy as destroy 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassScrollablePane.hs b/HGamer3D/Bindings/CEGUI/ClassScrollablePane.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassScrollablePane.hs
+++ /dev/null
@@ -1,361 +0,0 @@
--- 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\\ClassScrollablePane.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.
--- 
-
-
--- ClassScrollablePane.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassScrollablePane 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\\ClassScrollablePane.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function ScrollablePane -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 49 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function ~ScrollablePane -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function getContentPane -}
-getContentPane :: HG3DClass -> IO (HG3DClass)
-getContentPane a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getContentPane'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function isVertScrollbarAlwaysShown -}
-isVertScrollbarAlwaysShown :: HG3DClass -> IO (Bool)
-isVertScrollbarAlwaysShown a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isVertScrollbarAlwaysShown'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function setShowVertScrollbar -}
-setShowVertScrollbar :: HG3DClass -> Bool -> IO ()
-setShowVertScrollbar a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setShowVertScrollbar'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function isHorzScrollbarAlwaysShown -}
-isHorzScrollbarAlwaysShown :: HG3DClass -> IO (Bool)
-isHorzScrollbarAlwaysShown a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isHorzScrollbarAlwaysShown'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function setShowHorzScrollbar -}
-setShowHorzScrollbar :: HG3DClass -> Bool -> IO ()
-setShowHorzScrollbar a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setShowHorzScrollbar'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function isContentPaneAutoSized -}
-isContentPaneAutoSized :: HG3DClass -> IO (Bool)
-isContentPaneAutoSized a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isContentPaneAutoSized'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function setContentPaneAutoSized -}
-setContentPaneAutoSized :: HG3DClass -> Bool -> IO ()
-setContentPaneAutoSized a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setContentPaneAutoSized'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 88 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function getHorizontalStepSize -}
-getHorizontalStepSize :: HG3DClass -> IO (Float)
-getHorizontalStepSize a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getHorizontalStepSize'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 93 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function setHorizontalStepSize -}
-setHorizontalStepSize :: HG3DClass -> Float -> IO ()
-setHorizontalStepSize a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setHorizontalStepSize'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 98 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function getHorizontalOverlapSize -}
-getHorizontalOverlapSize :: HG3DClass -> IO (Float)
-getHorizontalOverlapSize a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getHorizontalOverlapSize'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 103 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function setHorizontalOverlapSize -}
-setHorizontalOverlapSize :: HG3DClass -> Float -> IO ()
-setHorizontalOverlapSize a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setHorizontalOverlapSize'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 108 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function getHorizontalScrollPosition -}
-getHorizontalScrollPosition :: HG3DClass -> IO (Float)
-getHorizontalScrollPosition a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getHorizontalScrollPosition'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 113 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function setHorizontalScrollPosition -}
-setHorizontalScrollPosition :: HG3DClass -> Float -> IO ()
-setHorizontalScrollPosition a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setHorizontalScrollPosition'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 118 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function getVerticalStepSize -}
-getVerticalStepSize :: HG3DClass -> IO (Float)
-getVerticalStepSize a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getVerticalStepSize'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 123 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function setVerticalStepSize -}
-setVerticalStepSize :: HG3DClass -> Float -> IO ()
-setVerticalStepSize a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setVerticalStepSize'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 128 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function getVerticalOverlapSize -}
-getVerticalOverlapSize :: HG3DClass -> IO (Float)
-getVerticalOverlapSize a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getVerticalOverlapSize'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 133 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function setVerticalOverlapSize -}
-setVerticalOverlapSize :: HG3DClass -> Float -> IO ()
-setVerticalOverlapSize a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setVerticalOverlapSize'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 138 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function getVerticalScrollPosition -}
-getVerticalScrollPosition :: HG3DClass -> IO (Float)
-getVerticalScrollPosition a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getVerticalScrollPosition'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 143 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function setVerticalScrollPosition -}
-setVerticalScrollPosition :: HG3DClass -> Float -> IO ()
-setVerticalScrollPosition a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setVerticalScrollPosition'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 148 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function getVertScrollbar -}
-getVertScrollbar :: HG3DClass -> IO (HG3DClass)
-getVertScrollbar a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getVertScrollbar'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 153 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function getHorzScrollbar -}
-getHorzScrollbar :: HG3DClass -> IO (HG3DClass)
-getHorzScrollbar a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getHorzScrollbar'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 158 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function initialiseComponents -}
-initialiseComponents :: HG3DClass -> IO ()
-initialiseComponents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialiseComponents'_ a1' >>= \res ->
-  return ()
-{-# LINE 162 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-{- function destroy -}
-destroy :: HG3DClass -> IO ()
-destroy a1 =
-  withHG3DClass a1 $ \a1' -> 
-  destroy'_ a1' >>= \res ->
-  return ()
-{-# LINE 166 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_getContentPane"
-  getContentPane'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_isVertScrollbarAlwaysShown"
-  isVertScrollbarAlwaysShown'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_setShowVertScrollbar"
-  setShowVertScrollbar'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_isHorzScrollbarAlwaysShown"
-  isHorzScrollbarAlwaysShown'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_setShowHorzScrollbar"
-  setShowHorzScrollbar'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_isContentPaneAutoSized"
-  isContentPaneAutoSized'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_setContentPaneAutoSized"
-  setContentPaneAutoSized'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_getHorizontalStepSize"
-  getHorizontalStepSize'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_setHorizontalStepSize"
-  setHorizontalStepSize'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_getHorizontalOverlapSize"
-  getHorizontalOverlapSize'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_setHorizontalOverlapSize"
-  setHorizontalOverlapSize'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_getHorizontalScrollPosition"
-  getHorizontalScrollPosition'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_setHorizontalScrollPosition"
-  setHorizontalScrollPosition'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_getVerticalStepSize"
-  getVerticalStepSize'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_setVerticalStepSize"
-  setVerticalStepSize'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_getVerticalOverlapSize"
-  getVerticalOverlapSize'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_setVerticalOverlapSize"
-  setVerticalOverlapSize'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_getVerticalScrollPosition"
-  getVerticalScrollPosition'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_setVerticalScrollPosition"
-  setVerticalScrollPosition'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_getVertScrollbar"
-  getVertScrollbar'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_getHorzScrollbar"
-  getHorzScrollbar'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_initialiseComponents"
-  initialiseComponents'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollablePane.chs.h cegui_scrlpn_destroy"
-  destroy'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassScrollbar.chs b/HGamer3D/Bindings/CEGUI/ClassScrollbar.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassScrollbar.chs
@@ -0,0 +1,132 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassScrollbar.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassScrollbar 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassScrollbar.h"
+{- function getDocumentSize -}
+{#fun cegui_scrlbr_getDocumentSize as getDocumentSize 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getPageSize -}
+{#fun cegui_scrlbr_getPageSize as getPageSize 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getStepSize -}
+{#fun cegui_scrlbr_getStepSize as getStepSize 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getOverlapSize -}
+{#fun cegui_scrlbr_getOverlapSize as getOverlapSize 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getScrollPosition -}
+{#fun cegui_scrlbr_getScrollPosition as getScrollPosition 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getIncreaseButton -}
+{#fun cegui_scrlbr_getIncreaseButton as getIncreaseButton 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getDecreaseButton -}
+{#fun cegui_scrlbr_getDecreaseButton as getDecreaseButton 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getThumb -}
+{#fun cegui_scrlbr_getThumb as getThumb 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function initialiseComponents -}
+{#fun cegui_scrlbr_initialiseComponents as initialiseComponents 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setDocumentSize -}
+{#fun cegui_scrlbr_setDocumentSize as setDocumentSize 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function setPageSize -}
+{#fun cegui_scrlbr_setPageSize as setPageSize 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function setStepSize -}
+{#fun cegui_scrlbr_setStepSize as setStepSize 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function setOverlapSize -}
+{#fun cegui_scrlbr_setOverlapSize as setOverlapSize 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function setScrollPosition -}
+{#fun cegui_scrlbr_setScrollPosition as setScrollPosition 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function setEndLockEnabled -}
+{#fun cegui_scrlbr_setEndLockEnabled as setEndLockEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function isEndLockEnabled -}
+{#fun cegui_scrlbr_isEndLockEnabled as isEndLockEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function Scrollbar -}
+{#fun cegui_scrlbr_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~Scrollbar -}
+{#fun cegui_scrlbr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassScrollbar.hs b/HGamer3D/Bindings/CEGUI/ClassScrollbar.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassScrollbar.hs
+++ /dev/null
@@ -1,275 +0,0 @@
--- 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\\ClassScrollbar.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.
--- 
-
-
--- ClassScrollbar.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassScrollbar 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\\ClassScrollbar.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function getDocumentSize -}
-getDocumentSize :: HG3DClass -> IO (Float)
-getDocumentSize a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getDocumentSize'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function getPageSize -}
-getPageSize :: HG3DClass -> IO (Float)
-getPageSize a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getPageSize'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function getStepSize -}
-getStepSize :: HG3DClass -> IO (Float)
-getStepSize a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getStepSize'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function getOverlapSize -}
-getOverlapSize :: HG3DClass -> IO (Float)
-getOverlapSize a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getOverlapSize'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function getScrollPosition -}
-getScrollPosition :: HG3DClass -> IO (Float)
-getScrollPosition a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getScrollPosition'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function getIncreaseButton -}
-getIncreaseButton :: HG3DClass -> IO (HG3DClass)
-getIncreaseButton a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getIncreaseButton'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function getDecreaseButton -}
-getDecreaseButton :: HG3DClass -> IO (HG3DClass)
-getDecreaseButton a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getDecreaseButton'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function getThumb -}
-getThumb :: HG3DClass -> IO (HG3DClass)
-getThumb a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getThumb'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function initialiseComponents -}
-initialiseComponents :: HG3DClass -> IO ()
-initialiseComponents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialiseComponents'_ a1' >>= \res ->
-  return ()
-{-# LINE 87 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function setDocumentSize -}
-setDocumentSize :: HG3DClass -> Float -> IO ()
-setDocumentSize a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setDocumentSize'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 92 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function setPageSize -}
-setPageSize :: HG3DClass -> Float -> IO ()
-setPageSize a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setPageSize'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 97 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function setStepSize -}
-setStepSize :: HG3DClass -> Float -> IO ()
-setStepSize a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setStepSize'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 102 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function setOverlapSize -}
-setOverlapSize :: HG3DClass -> Float -> IO ()
-setOverlapSize a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setOverlapSize'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 107 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function setScrollPosition -}
-setScrollPosition :: HG3DClass -> Float -> IO ()
-setScrollPosition a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setScrollPosition'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 112 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function setEndLockEnabled -}
-setEndLockEnabled :: HG3DClass -> Bool -> IO ()
-setEndLockEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setEndLockEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 117 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function isEndLockEnabled -}
-isEndLockEnabled :: HG3DClass -> IO (Bool)
-isEndLockEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isEndLockEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 122 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function Scrollbar -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 128 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-{- function ~Scrollbar -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 132 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_getDocumentSize"
-  getDocumentSize'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_getPageSize"
-  getPageSize'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_getStepSize"
-  getStepSize'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_getOverlapSize"
-  getOverlapSize'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_getScrollPosition"
-  getScrollPosition'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_getIncreaseButton"
-  getIncreaseButton'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_getDecreaseButton"
-  getDecreaseButton'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_getThumb"
-  getThumb'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_initialiseComponents"
-  initialiseComponents'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_setDocumentSize"
-  setDocumentSize'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_setPageSize"
-  setPageSize'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_setStepSize"
-  setStepSize'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_setOverlapSize"
-  setOverlapSize'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_setScrollPosition"
-  setScrollPosition'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_setEndLockEnabled"
-  setEndLockEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_isEndLockEnabled"
-  isEndLockEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrollbar.chs.h cegui_scrlbr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassScrolledContainer.chs b/HGamer3D/Bindings/CEGUI/ClassScrolledContainer.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassScrolledContainer.chs
@@ -0,0 +1,63 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassScrolledContainer.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassScrolledContainer 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassScrolledContainer.h"
+{- function ScrolledContainer -}
+{#fun cegui_scrlcnt_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~ScrolledContainer -}
+{#fun cegui_scrlcnt_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function isContentPaneAutoSized -}
+{#fun cegui_scrlcnt_isContentPaneAutoSized as isContentPaneAutoSized 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setContentPaneAutoSized -}
+{#fun cegui_scrlcnt_setContentPaneAutoSized as setContentPaneAutoSized 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassScrolledContainer.hs b/HGamer3D/Bindings/CEGUI/ClassScrolledContainer.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassScrolledContainer.hs
+++ /dev/null
@@ -1,100 +0,0 @@
--- 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\\ClassScrolledContainer.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.
--- 
-
-
--- ClassScrolledContainer.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassScrolledContainer 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\\ClassScrolledContainer.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledContainer.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledContainer.chs" #-}
-
-{- function ScrolledContainer -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 49 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledContainer.chs" #-}
-
-{- function ~ScrolledContainer -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledContainer.chs" #-}
-
-{- function isContentPaneAutoSized -}
-isContentPaneAutoSized :: HG3DClass -> IO (Bool)
-isContentPaneAutoSized a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isContentPaneAutoSized'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledContainer.chs" #-}
-
-{- function setContentPaneAutoSized -}
-setContentPaneAutoSized :: HG3DClass -> Bool -> IO ()
-setContentPaneAutoSized a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setContentPaneAutoSized'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledContainer.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrolledContainer.chs.h cegui_scrlcnt_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrolledContainer.chs.h cegui_scrlcnt_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrolledContainer.chs.h cegui_scrlcnt_isContentPaneAutoSized"
-  isContentPaneAutoSized'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrolledContainer.chs.h cegui_scrlcnt_setContentPaneAutoSized"
-  setContentPaneAutoSized'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
diff --git a/HGamer3D/Bindings/CEGUI/ClassScrolledItemListBase.chs b/HGamer3D/Bindings/CEGUI/ClassScrolledItemListBase.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassScrolledItemListBase.chs
@@ -0,0 +1,87 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassScrolledItemListBase.chs
+
+-- abstrakte Klasse!
+
+module HGamer3D.Bindings.CEGUI.ClassScrolledItemListBase 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassScrolledItemListBase.h"
+{- function isVertScrollbarAlwaysShown -}
+{#fun cegui_scrlitmlstbs_isVertScrollbarAlwaysShown as isVertScrollbarAlwaysShown 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isHorzScrollbarAlwaysShown -}
+{#fun cegui_scrlitmlstbs_isHorzScrollbarAlwaysShown as isHorzScrollbarAlwaysShown 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getVertScrollbar -}
+{#fun cegui_scrlitmlstbs_getVertScrollbar as getVertScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getHorzScrollbar -}
+{#fun cegui_scrlitmlstbs_getHorzScrollbar as getHorzScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function setShowVertScrollbar -}
+{#fun cegui_scrlitmlstbs_setShowVertScrollbar as setShowVertScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setShowHorzScrollbar -}
+{#fun cegui_scrlitmlstbs_setShowHorzScrollbar as setShowHorzScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function ensureItemIsVisibleVert -}
+{#fun cegui_scrlitmlstbs_ensureItemIsVisibleVert as ensureItemIsVisibleVert 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function ensureItemIsVisibleHorz -}
+{#fun cegui_scrlitmlstbs_ensureItemIsVisibleHorz as ensureItemIsVisibleHorz 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function initialiseComponents -}
+{#fun cegui_scrlitmlstbs_initialiseComponents as initialiseComponents 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassScrolledItemListBase.hs b/HGamer3D/Bindings/CEGUI/ClassScrolledItemListBase.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassScrolledItemListBase.hs
+++ /dev/null
@@ -1,161 +0,0 @@
--- 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\\ClassScrolledItemListBase.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.
--- 
-
-
--- ClassScrolledItemListBase.chs
-
--- abstrakte Klasse!
-
-module HGamer3D.Bindings.CEGUI.ClassScrolledItemListBase 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\\ClassScrolledItemListBase.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs" #-}
-
-{- function isVertScrollbarAlwaysShown -}
-isVertScrollbarAlwaysShown :: HG3DClass -> IO (Bool)
-isVertScrollbarAlwaysShown a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isVertScrollbarAlwaysShown'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs" #-}
-
-{- function isHorzScrollbarAlwaysShown -}
-isHorzScrollbarAlwaysShown :: HG3DClass -> IO (Bool)
-isHorzScrollbarAlwaysShown a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isHorzScrollbarAlwaysShown'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs" #-}
-
-{- function getVertScrollbar -}
-getVertScrollbar :: HG3DClass -> IO (HG3DClass)
-getVertScrollbar a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getVertScrollbar'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs" #-}
-
-{- function getHorzScrollbar -}
-getHorzScrollbar :: HG3DClass -> IO (HG3DClass)
-getHorzScrollbar a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getHorzScrollbar'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs" #-}
-
-{- function setShowVertScrollbar -}
-setShowVertScrollbar :: HG3DClass -> Bool -> IO ()
-setShowVertScrollbar a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setShowVertScrollbar'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs" #-}
-
-{- function setShowHorzScrollbar -}
-setShowHorzScrollbar :: HG3DClass -> Bool -> IO ()
-setShowHorzScrollbar a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setShowHorzScrollbar'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs" #-}
-
-{- function ensureItemIsVisibleVert -}
-ensureItemIsVisibleVert :: HG3DClass -> HG3DClass -> IO ()
-ensureItemIsVisibleVert a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  ensureItemIsVisibleVert'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs" #-}
-
-{- function ensureItemIsVisibleHorz -}
-ensureItemIsVisibleHorz :: HG3DClass -> HG3DClass -> IO ()
-ensureItemIsVisibleHorz a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  ensureItemIsVisibleHorz'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs" #-}
-
-{- function initialiseComponents -}
-initialiseComponents :: HG3DClass -> IO ()
-initialiseComponents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialiseComponents'_ a1' >>= \res ->
-  return ()
-{-# LINE 87 ".\\HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs.h cegui_scrlitmlstbs_isVertScrollbarAlwaysShown"
-  isVertScrollbarAlwaysShown'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs.h cegui_scrlitmlstbs_isHorzScrollbarAlwaysShown"
-  isHorzScrollbarAlwaysShown'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs.h cegui_scrlitmlstbs_getVertScrollbar"
-  getVertScrollbar'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs.h cegui_scrlitmlstbs_getHorzScrollbar"
-  getHorzScrollbar'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs.h cegui_scrlitmlstbs_setShowVertScrollbar"
-  setShowVertScrollbar'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs.h cegui_scrlitmlstbs_setShowHorzScrollbar"
-  setShowHorzScrollbar'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs.h cegui_scrlitmlstbs_ensureItemIsVisibleVert"
-  ensureItemIsVisibleVert'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs.h cegui_scrlitmlstbs_ensureItemIsVisibleHorz"
-  ensureItemIsVisibleHorz'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassScrolledItemListBase.chs.h cegui_scrlitmlstbs_initialiseComponents"
-  initialiseComponents'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassSlider.chs b/HGamer3D/Bindings/CEGUI/ClassSlider.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassSlider.chs
@@ -0,0 +1,92 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassSlider.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassSlider 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassSlider.h"
+{- function getCurrentValue -}
+{#fun cegui_sldr_getCurrentValue as getCurrentValue 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getMaxValue -}
+{#fun cegui_sldr_getMaxValue as getMaxValue 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getClickStep -}
+{#fun cegui_sldr_getClickStep as getClickStep 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getThumb -}
+{#fun cegui_sldr_getThumb as getThumb 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function initialiseComponents -}
+{#fun cegui_sldr_initialiseComponents as initialiseComponents 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setMaxValue -}
+{#fun cegui_sldr_setMaxValue as setMaxValue 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function setCurrentValue -}
+{#fun cegui_sldr_setCurrentValue as setCurrentValue 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function setClickStep -}
+{#fun cegui_sldr_setClickStep as setClickStep 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function Slider -}
+{#fun cegui_sldr_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~Slider -}
+{#fun cegui_sldr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassSlider.hs b/HGamer3D/Bindings/CEGUI/ClassSlider.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassSlider.hs
+++ /dev/null
@@ -1,174 +0,0 @@
--- 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\\ClassSlider.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.
--- 
-
-
--- ClassSlider.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassSlider 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\\ClassSlider.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs" #-}
-
-{- function getCurrentValue -}
-getCurrentValue :: HG3DClass -> IO (Float)
-getCurrentValue a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getCurrentValue'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs" #-}
-
-{- function getMaxValue -}
-getMaxValue :: HG3DClass -> IO (Float)
-getMaxValue a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getMaxValue'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs" #-}
-
-{- function getClickStep -}
-getClickStep :: HG3DClass -> IO (Float)
-getClickStep a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getClickStep'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs" #-}
-
-{- function getThumb -}
-getThumb :: HG3DClass -> IO (HG3DClass)
-getThumb a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getThumb'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs" #-}
-
-{- function initialiseComponents -}
-initialiseComponents :: HG3DClass -> IO ()
-initialiseComponents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialiseComponents'_ a1' >>= \res ->
-  return ()
-{-# LINE 67 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs" #-}
-
-{- function setMaxValue -}
-setMaxValue :: HG3DClass -> Float -> IO ()
-setMaxValue a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setMaxValue'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 72 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs" #-}
-
-{- function setCurrentValue -}
-setCurrentValue :: HG3DClass -> Float -> IO ()
-setCurrentValue a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setCurrentValue'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 77 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs" #-}
-
-{- function setClickStep -}
-setClickStep :: HG3DClass -> Float -> IO ()
-setClickStep a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setClickStep'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 82 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs" #-}
-
-{- function Slider -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 88 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs" #-}
-
-{- function ~Slider -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 92 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs.h cegui_sldr_getCurrentValue"
-  getCurrentValue'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs.h cegui_sldr_getMaxValue"
-  getMaxValue'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs.h cegui_sldr_getClickStep"
-  getClickStep'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs.h cegui_sldr_getThumb"
-  getThumb'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs.h cegui_sldr_initialiseComponents"
-  initialiseComponents'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs.h cegui_sldr_setMaxValue"
-  setMaxValue'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs.h cegui_sldr_setCurrentValue"
-  setCurrentValue'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs.h cegui_sldr_setClickStep"
-  setClickStep'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs.h cegui_sldr_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSlider.chs.h cegui_sldr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassSpinner.chs b/HGamer3D/Bindings/CEGUI/ClassSpinner.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassSpinner.chs
@@ -0,0 +1,108 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassSpinner.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassSpinner 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+{# import HGamer3D.Bindings.CEGUI.EnumTextInputMode #}
+
+#include "ClassSpinner.h"
+{- function Spinner -}
+{#fun cegui_spnnr_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~Spinner -}
+{#fun cegui_spnnr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function initialiseComponents -}
+{#fun cegui_spnnr_initialiseComponents as initialiseComponents 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getCurrentValue -}
+{#fun cegui_spnnr_getCurrentValue as getCurrentValue 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Double' peekFloatConv*} -> `()'  #}
+
+{- function getStepSize -}
+{#fun cegui_spnnr_getStepSize as getStepSize 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Double' peekFloatConv*} -> `()'  #}
+
+{- function getMaximumValue -}
+{#fun cegui_spnnr_getMaximumValue as getMaximumValue 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Double' peekFloatConv*} -> `()'  #}
+
+{- function getMinimumValue -}
+{#fun cegui_spnnr_getMinimumValue as getMinimumValue 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Double' peekFloatConv*} -> `()'  #}
+
+{- function getTextInputMode -}
+{#fun cegui_spnnr_getTextInputMode as getTextInputMode 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `EnumTextInputMode' peekEnumUtil*} -> `()'  #}
+
+{- function setCurrentValue -}
+{#fun cegui_spnnr_setCurrentValue as setCurrentValue 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Double' } -> `()'  #}
+
+{- function setStepSize -}
+{#fun cegui_spnnr_setStepSize as setStepSize 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Double' } -> `()'  #}
+
+{- function setMaximumValue -}
+{#fun cegui_spnnr_setMaximumValue as setMaximumValue 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Double' } -> `()'  #}
+
+{- function setMinimumValue -}
+{#fun cegui_spnnr_setMinimumValue as setMinimumValue 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Double' } -> `()'  #}
+
+{- function setTextInputMode -}
+{#fun cegui_spnnr_setTextInputMode as setTextInputMode 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumTextInputMode' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassSpinner.hs b/HGamer3D/Bindings/CEGUI/ClassSpinner.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassSpinner.hs
+++ /dev/null
@@ -1,213 +0,0 @@
--- 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\\ClassSpinner.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.
--- 
-
-
--- ClassSpinner.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassSpinner 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\\ClassSpinner.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-import HGamer3D.Bindings.CEGUI.EnumTextInputMode
-{-# LINE 43 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-
-{- function Spinner -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 50 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-
-{- function ~Spinner -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 54 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-
-{- function initialiseComponents -}
-initialiseComponents :: HG3DClass -> IO ()
-initialiseComponents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialiseComponents'_ a1' >>= \res ->
-  return ()
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-
-{- function getCurrentValue -}
-getCurrentValue :: HG3DClass -> IO (Double)
-getCurrentValue a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getCurrentValue'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-
-{- function getStepSize -}
-getStepSize :: HG3DClass -> IO (Double)
-getStepSize a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getStepSize'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-
-{- function getMaximumValue -}
-getMaximumValue :: HG3DClass -> IO (Double)
-getMaximumValue a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getMaximumValue'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-
-{- function getMinimumValue -}
-getMinimumValue :: HG3DClass -> IO (Double)
-getMinimumValue a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getMinimumValue'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-
-{- function getTextInputMode -}
-getTextInputMode :: HG3DClass -> IO (EnumTextInputMode)
-getTextInputMode a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getTextInputMode'_ a1' a2' >>= \res ->
-  peekEnumUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-
-{- function setCurrentValue -}
-setCurrentValue :: HG3DClass -> Double -> IO ()
-setCurrentValue a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setCurrentValue'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 88 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-
-{- function setStepSize -}
-setStepSize :: HG3DClass -> Double -> IO ()
-setStepSize a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setStepSize'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 93 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-
-{- function setMaximumValue -}
-setMaximumValue :: HG3DClass -> Double -> IO ()
-setMaximumValue a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setMaximumValue'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 98 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-
-{- function setMinimumValue -}
-setMinimumValue :: HG3DClass -> Double -> IO ()
-setMinimumValue a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setMinimumValue'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 103 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-
-{- function setTextInputMode -}
-setTextInputMode :: HG3DClass -> EnumTextInputMode -> IO ()
-setTextInputMode a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = cIntFromEnum a2} in 
-  setTextInputMode'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 108 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs.h cegui_spnnr_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs.h cegui_spnnr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs.h cegui_spnnr_initialiseComponents"
-  initialiseComponents'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs.h cegui_spnnr_getCurrentValue"
-  getCurrentValue'_ :: ((HG3DClassPtr) -> ((Ptr CDouble) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs.h cegui_spnnr_getStepSize"
-  getStepSize'_ :: ((HG3DClassPtr) -> ((Ptr CDouble) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs.h cegui_spnnr_getMaximumValue"
-  getMaximumValue'_ :: ((HG3DClassPtr) -> ((Ptr CDouble) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs.h cegui_spnnr_getMinimumValue"
-  getMinimumValue'_ :: ((HG3DClassPtr) -> ((Ptr CDouble) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs.h cegui_spnnr_getTextInputMode"
-  getTextInputMode'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs.h cegui_spnnr_setCurrentValue"
-  setCurrentValue'_ :: ((HG3DClassPtr) -> (CDouble -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs.h cegui_spnnr_setStepSize"
-  setStepSize'_ :: ((HG3DClassPtr) -> (CDouble -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs.h cegui_spnnr_setMaximumValue"
-  setMaximumValue'_ :: ((HG3DClassPtr) -> (CDouble -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs.h cegui_spnnr_setMinimumValue"
-  setMinimumValue'_ :: ((HG3DClassPtr) -> (CDouble -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSpinner.chs.h cegui_spnnr_setTextInputMode"
-  setTextInputMode'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
diff --git a/HGamer3D/Bindings/CEGUI/ClassSystem.chs b/HGamer3D/Bindings/CEGUI/ClassSystem.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassSystem.chs
@@ -0,0 +1,363 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassSystem.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassSystem 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+{# import HGamer3D.Bindings.CEGUI.EnumMouseButton #}
+
+#include "ClassSystem.h"
+{- function create -}
+{#fun cegui_sstm_create as create 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function destroy -}
+{#fun cegui_sstm_destroy as destroy 
+{ } -> `()'  #}
+
+{- function getSingleton -}
+{#fun cegui_sstm_getSingleton as getSingleton 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getSingletonPtr -}
+{#fun cegui_sstm_getSingletonPtr as getSingletonPtr 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function setDefaultXMLParserName -}
+{#fun cegui_sstm_setDefaultXMLParserName as setDefaultXMLParserName 
+{ withCString* `String' } -> `()'  #}
+
+{- function getDefaultXMLParserName -}
+{#fun cegui_sstm_getDefaultXMLParserName as getDefaultXMLParserName 
+{ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function setDefaultImageCodecName -}
+{#fun cegui_sstm_setDefaultImageCodecName as setDefaultImageCodecName 
+{ withCString* `String' } -> `()'  #}
+
+{- function getDefaultImageCodecName -}
+{#fun cegui_sstm_getDefaultImageCodecName as getDefaultImageCodecName 
+{ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function getRenderer -}
+{#fun cegui_sstm_getRenderer as getRenderer 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function setDefaultFont -}
+{#fun cegui_sstm_setDefaultFont as setDefaultFont 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setDefaultFont2 -}
+{#fun cegui_sstm_setDefaultFont2 as setDefaultFont2 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getDefaultFont -}
+{#fun cegui_sstm_getDefaultFont as getDefaultFont 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function signalRedraw -}
+{#fun cegui_sstm_signalRedraw as signalRedraw 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function isRedrawRequested -}
+{#fun cegui_sstm_isRedrawRequested as isRedrawRequested 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function renderGUI -}
+{#fun cegui_sstm_renderGUI as renderGUI 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setGUISheet -}
+{#fun cegui_sstm_setGUISheet as setGUISheet 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getGUISheet -}
+{#fun cegui_sstm_getGUISheet as getGUISheet 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getSingleClickTimeout -}
+{#fun cegui_sstm_getSingleClickTimeout as getSingleClickTimeout 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Double' peekFloatConv*} -> `()'  #}
+
+{- function getMultiClickTimeout -}
+{#fun cegui_sstm_getMultiClickTimeout as getMultiClickTimeout 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Double' peekFloatConv*} -> `()'  #}
+
+{- function setSingleClickTimeout -}
+{#fun cegui_sstm_setSingleClickTimeout as setSingleClickTimeout 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Double' } -> `()'  #}
+
+{- function setMultiClickTimeout -}
+{#fun cegui_sstm_setMultiClickTimeout as setMultiClickTimeout 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Double' } -> `()'  #}
+
+{- function isMouseClickEventGenerationEnabled -}
+{#fun cegui_sstm_isMouseClickEventGenerationEnabled as isMouseClickEventGenerationEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setMouseClickEventGenerationEnabled -}
+{#fun cegui_sstm_setMouseClickEventGenerationEnabled as setMouseClickEventGenerationEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setDefaultMouseCursor3 -}
+{#fun cegui_sstm_setDefaultMouseCursor3 as setDefaultMouseCursor3 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function getWindowContainingMouse -}
+{#fun cegui_sstm_getWindowContainingMouse as getWindowContainingMouse 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getScriptingModule -}
+{#fun cegui_sstm_getScriptingModule as getScriptingModule 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function setScriptingModule -}
+{#fun cegui_sstm_setScriptingModule as setScriptingModule 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getResourceProvider -}
+{#fun cegui_sstm_getResourceProvider as getResourceProvider 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function executeScriptFile -}
+{#fun cegui_sstm_executeScriptFile as executeScriptFile 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function executeScriptGlobal -}
+{#fun cegui_sstm_executeScriptGlobal as executeScriptGlobal 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function executeScriptString -}
+{#fun cegui_sstm_executeScriptString as executeScriptString 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function getMouseMoveScaling -}
+{#fun cegui_sstm_getMouseMoveScaling as getMouseMoveScaling 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setMouseMoveScaling -}
+{#fun cegui_sstm_setMouseMoveScaling as setMouseMoveScaling 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function notifyWindowDestroyed -}
+{#fun cegui_sstm_notifyWindowDestroyed as notifyWindowDestroyed 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getSystemKeys -}
+{#fun cegui_sstm_getSystemKeys as getSystemKeys 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function setXMLParser -}
+{#fun cegui_sstm_setXMLParser as setXMLParser 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setXMLParser2 -}
+{#fun cegui_sstm_setXMLParser2 as setXMLParser2 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getXMLParser -}
+{#fun cegui_sstm_getXMLParser as getXMLParser 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function setDefaultTooltip -}
+{#fun cegui_sstm_setDefaultTooltip as setDefaultTooltip 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setDefaultTooltip2 -}
+{#fun cegui_sstm_setDefaultTooltip2 as setDefaultTooltip2 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function getDefaultTooltip -}
+{#fun cegui_sstm_getDefaultTooltip as getDefaultTooltip 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function setModalTarget -}
+{#fun cegui_sstm_setModalTarget as setModalTarget 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getModalTarget -}
+{#fun cegui_sstm_getModalTarget as getModalTarget 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function updateWindowContainingMouse -}
+{#fun cegui_sstm_updateWindowContainingMouse as updateWindowContainingMouse 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getImageCodec -}
+{#fun cegui_sstm_getImageCodec as getImageCodec 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function setImageCodec -}
+{#fun cegui_sstm_setImageCodec as setImageCodec 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setImageCodec2 -}
+{#fun cegui_sstm_setImageCodec2 as setImageCodec2 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function invalidateAllCachedRendering -}
+{#fun cegui_sstm_invalidateAllCachedRendering as invalidateAllCachedRendering 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function injectMouseMove -}
+{#fun cegui_sstm_injectMouseMove as injectMouseMove 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' ,
+ realToFrac `Float' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function injectMouseLeaves -}
+{#fun cegui_sstm_injectMouseLeaves as injectMouseLeaves 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function injectMouseButtonDown -}
+{#fun cegui_sstm_injectMouseButtonDown as injectMouseButtonDown 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumMouseButton' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function injectMouseButtonUp -}
+{#fun cegui_sstm_injectMouseButtonUp as injectMouseButtonUp 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumMouseButton' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function injectKeyDown -}
+{#fun cegui_sstm_injectKeyDown as injectKeyDown 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function injectKeyUp -}
+{#fun cegui_sstm_injectKeyUp as injectKeyUp 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function injectChar -}
+{#fun cegui_sstm_injectChar as injectChar 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function injectMouseWheelChange -}
+{#fun cegui_sstm_injectMouseWheelChange as injectMouseWheelChange 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function injectMousePosition -}
+{#fun cegui_sstm_injectMousePosition as injectMousePosition 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' ,
+ realToFrac `Float' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function injectTimePulse -}
+{#fun cegui_sstm_injectTimePulse as injectTimePulse 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function injectMouseButtonClick -}
+{#fun cegui_sstm_injectMouseButtonClick as injectMouseButtonClick 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumMouseButton' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function injectMouseButtonDoubleClick -}
+{#fun cegui_sstm_injectMouseButtonDoubleClick as injectMouseButtonDoubleClick 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumMouseButton' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function injectMouseButtonTripleClick -}
+{#fun cegui_sstm_injectMouseButtonTripleClick as injectMouseButtonTripleClick 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumMouseButton' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassSystem.hs b/HGamer3D/Bindings/CEGUI/ClassSystem.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassSystem.hs
+++ /dev/null
@@ -1,834 +0,0 @@
--- 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\\ClassSystem.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.
--- 
-
-
--- ClassSystem.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassSystem 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\\ClassSystem.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-import HGamer3D.Bindings.CEGUI.EnumMouseButton
-{-# LINE 43 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function create -}
-create :: HG3DClass -> HG3DClass -> HG3DClass -> HG3DClass -> HG3DClass -> String -> String -> IO (HG3DClass)
-create a1 a2 a3 a4 a5 a6 a7 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  withHG3DClass a3 $ \a3' -> 
-  withHG3DClass a4 $ \a4' -> 
-  withHG3DClass a5 $ \a5' -> 
-  withCString a6 $ \a6' -> 
-  withCString a7 $ \a7' -> 
-  alloca $ \a8' -> 
-  create'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
-  peek  a8'>>= \a8'' -> 
-  return (a8'')
-{-# LINE 55 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function destroy -}
-destroy :: IO ()
-destroy =
-  destroy'_ >>= \res ->
-  return ()
-{-# LINE 59 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getSingleton -}
-getSingleton :: IO (HG3DClass)
-getSingleton =
-  alloca $ \a1' -> 
-  getSingleton'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getSingletonPtr -}
-getSingletonPtr :: IO (HG3DClass)
-getSingletonPtr =
-  alloca $ \a1' -> 
-  getSingletonPtr'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 67 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setDefaultXMLParserName -}
-setDefaultXMLParserName :: String -> IO ()
-setDefaultXMLParserName a1 =
-  withCString a1 $ \a1' -> 
-  setDefaultXMLParserName'_ a1' >>= \res ->
-  return ()
-{-# LINE 71 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getDefaultXMLParserName -}
-getDefaultXMLParserName :: IO (String)
-getDefaultXMLParserName =
-  alloc64k $ \a1' -> 
-  getDefaultXMLParserName'_ a1' >>= \res ->
-  peekCString  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 75 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setDefaultImageCodecName -}
-setDefaultImageCodecName :: String -> IO ()
-setDefaultImageCodecName a1 =
-  withCString a1 $ \a1' -> 
-  setDefaultImageCodecName'_ a1' >>= \res ->
-  return ()
-{-# LINE 79 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getDefaultImageCodecName -}
-getDefaultImageCodecName :: IO (String)
-getDefaultImageCodecName =
-  alloc64k $ \a1' -> 
-  getDefaultImageCodecName'_ a1' >>= \res ->
-  peekCString  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getRenderer -}
-getRenderer :: HG3DClass -> IO (HG3DClass)
-getRenderer a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getRenderer'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 88 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setDefaultFont -}
-setDefaultFont :: HG3DClass -> String -> IO ()
-setDefaultFont a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setDefaultFont'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 93 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setDefaultFont2 -}
-setDefaultFont2 :: HG3DClass -> HG3DClass -> IO ()
-setDefaultFont2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  setDefaultFont2'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 98 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getDefaultFont -}
-getDefaultFont :: HG3DClass -> IO (HG3DClass)
-getDefaultFont a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getDefaultFont'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 103 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function signalRedraw -}
-signalRedraw :: HG3DClass -> IO ()
-signalRedraw a1 =
-  withHG3DClass a1 $ \a1' -> 
-  signalRedraw'_ a1' >>= \res ->
-  return ()
-{-# LINE 107 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function isRedrawRequested -}
-isRedrawRequested :: HG3DClass -> IO (Bool)
-isRedrawRequested a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isRedrawRequested'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 112 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function renderGUI -}
-renderGUI :: HG3DClass -> IO ()
-renderGUI a1 =
-  withHG3DClass a1 $ \a1' -> 
-  renderGUI'_ a1' >>= \res ->
-  return ()
-{-# LINE 116 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setGUISheet -}
-setGUISheet :: HG3DClass -> HG3DClass -> IO (HG3DClass)
-setGUISheet a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  setGUISheet'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 122 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getGUISheet -}
-getGUISheet :: HG3DClass -> IO (HG3DClass)
-getGUISheet a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getGUISheet'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 127 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getSingleClickTimeout -}
-getSingleClickTimeout :: HG3DClass -> IO (Double)
-getSingleClickTimeout a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSingleClickTimeout'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 132 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getMultiClickTimeout -}
-getMultiClickTimeout :: HG3DClass -> IO (Double)
-getMultiClickTimeout a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getMultiClickTimeout'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 137 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setSingleClickTimeout -}
-setSingleClickTimeout :: HG3DClass -> Double -> IO ()
-setSingleClickTimeout a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setSingleClickTimeout'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 142 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setMultiClickTimeout -}
-setMultiClickTimeout :: HG3DClass -> Double -> IO ()
-setMultiClickTimeout a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setMultiClickTimeout'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 147 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function isMouseClickEventGenerationEnabled -}
-isMouseClickEventGenerationEnabled :: HG3DClass -> IO (Bool)
-isMouseClickEventGenerationEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isMouseClickEventGenerationEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 152 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setMouseClickEventGenerationEnabled -}
-setMouseClickEventGenerationEnabled :: HG3DClass -> Bool -> IO ()
-setMouseClickEventGenerationEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setMouseClickEventGenerationEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 157 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setDefaultMouseCursor3 -}
-setDefaultMouseCursor3 :: HG3DClass -> String -> String -> IO ()
-setDefaultMouseCursor3 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  setDefaultMouseCursor3'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 163 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getWindowContainingMouse -}
-getWindowContainingMouse :: HG3DClass -> IO (HG3DClass)
-getWindowContainingMouse a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getWindowContainingMouse'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 168 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getScriptingModule -}
-getScriptingModule :: HG3DClass -> IO (HG3DClass)
-getScriptingModule a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getScriptingModule'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 173 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setScriptingModule -}
-setScriptingModule :: HG3DClass -> HG3DClass -> IO ()
-setScriptingModule a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  setScriptingModule'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 178 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getResourceProvider -}
-getResourceProvider :: HG3DClass -> IO (HG3DClass)
-getResourceProvider a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getResourceProvider'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 183 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function executeScriptFile -}
-executeScriptFile :: HG3DClass -> String -> String -> IO ()
-executeScriptFile a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  executeScriptFile'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 189 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function executeScriptGlobal -}
-executeScriptGlobal :: HG3DClass -> String -> IO (Int)
-executeScriptGlobal a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  executeScriptGlobal'_ a1' a2' a3' >>= \res ->
-  peekIntConv  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 195 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function executeScriptString -}
-executeScriptString :: HG3DClass -> String -> IO ()
-executeScriptString a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  executeScriptString'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 200 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getMouseMoveScaling -}
-getMouseMoveScaling :: HG3DClass -> IO (Float)
-getMouseMoveScaling a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getMouseMoveScaling'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 205 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setMouseMoveScaling -}
-setMouseMoveScaling :: HG3DClass -> Float -> IO ()
-setMouseMoveScaling a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setMouseMoveScaling'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 210 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function notifyWindowDestroyed -}
-notifyWindowDestroyed :: HG3DClass -> HG3DClass -> IO ()
-notifyWindowDestroyed a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  notifyWindowDestroyed'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 215 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getSystemKeys -}
-getSystemKeys :: HG3DClass -> IO (Int)
-getSystemKeys a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSystemKeys'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 220 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setXMLParser -}
-setXMLParser :: HG3DClass -> String -> IO ()
-setXMLParser a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setXMLParser'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 225 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setXMLParser2 -}
-setXMLParser2 :: HG3DClass -> HG3DClass -> IO ()
-setXMLParser2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  setXMLParser2'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 230 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getXMLParser -}
-getXMLParser :: HG3DClass -> IO (HG3DClass)
-getXMLParser a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getXMLParser'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 235 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setDefaultTooltip -}
-setDefaultTooltip :: HG3DClass -> HG3DClass -> IO ()
-setDefaultTooltip a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  setDefaultTooltip'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 240 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setDefaultTooltip2 -}
-setDefaultTooltip2 :: HG3DClass -> String -> IO ()
-setDefaultTooltip2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setDefaultTooltip2'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 245 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getDefaultTooltip -}
-getDefaultTooltip :: HG3DClass -> IO (HG3DClass)
-getDefaultTooltip a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getDefaultTooltip'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 250 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setModalTarget -}
-setModalTarget :: HG3DClass -> HG3DClass -> IO ()
-setModalTarget a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  setModalTarget'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 255 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getModalTarget -}
-getModalTarget :: HG3DClass -> IO (HG3DClass)
-getModalTarget a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getModalTarget'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 260 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function updateWindowContainingMouse -}
-updateWindowContainingMouse :: HG3DClass -> IO (Bool)
-updateWindowContainingMouse a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  updateWindowContainingMouse'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 265 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function getImageCodec -}
-getImageCodec :: HG3DClass -> IO (HG3DClass)
-getImageCodec a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getImageCodec'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 270 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setImageCodec -}
-setImageCodec :: HG3DClass -> String -> IO ()
-setImageCodec a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setImageCodec'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 275 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function setImageCodec2 -}
-setImageCodec2 :: HG3DClass -> HG3DClass -> IO ()
-setImageCodec2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  setImageCodec2'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 280 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function invalidateAllCachedRendering -}
-invalidateAllCachedRendering :: HG3DClass -> IO ()
-invalidateAllCachedRendering a1 =
-  withHG3DClass a1 $ \a1' -> 
-  invalidateAllCachedRendering'_ a1' >>= \res ->
-  return ()
-{-# LINE 284 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function injectMouseMove -}
-injectMouseMove :: HG3DClass -> Float -> Float -> IO (Bool)
-injectMouseMove a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  let {a3' = realToFrac a3} in 
-  alloca $ \a4' -> 
-  injectMouseMove'_ a1' a2' a3' a4' >>= \res ->
-  peekBoolUtil  a4'>>= \a4'' -> 
-  return (a4'')
-{-# LINE 291 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function injectMouseLeaves -}
-injectMouseLeaves :: HG3DClass -> IO (Bool)
-injectMouseLeaves a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  injectMouseLeaves'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 296 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function injectMouseButtonDown -}
-injectMouseButtonDown :: HG3DClass -> EnumMouseButton -> IO (Bool)
-injectMouseButtonDown a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = cIntFromEnum a2} in 
-  alloca $ \a3' -> 
-  injectMouseButtonDown'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 302 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function injectMouseButtonUp -}
-injectMouseButtonUp :: HG3DClass -> EnumMouseButton -> IO (Bool)
-injectMouseButtonUp a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = cIntFromEnum a2} in 
-  alloca $ \a3' -> 
-  injectMouseButtonUp'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 308 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function injectKeyDown -}
-injectKeyDown :: HG3DClass -> Int -> IO (Bool)
-injectKeyDown a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  injectKeyDown'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 314 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function injectKeyUp -}
-injectKeyUp :: HG3DClass -> Int -> IO (Bool)
-injectKeyUp a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  injectKeyUp'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 320 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function injectChar -}
-injectChar :: HG3DClass -> Int -> IO (Bool)
-injectChar a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  injectChar'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 326 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function injectMouseWheelChange -}
-injectMouseWheelChange :: HG3DClass -> Float -> IO (Bool)
-injectMouseWheelChange a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  alloca $ \a3' -> 
-  injectMouseWheelChange'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 332 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function injectMousePosition -}
-injectMousePosition :: HG3DClass -> Float -> Float -> IO (Bool)
-injectMousePosition a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  let {a3' = realToFrac a3} in 
-  alloca $ \a4' -> 
-  injectMousePosition'_ a1' a2' a3' a4' >>= \res ->
-  peekBoolUtil  a4'>>= \a4'' -> 
-  return (a4'')
-{-# LINE 339 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function injectTimePulse -}
-injectTimePulse :: HG3DClass -> Float -> IO (Bool)
-injectTimePulse a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  alloca $ \a3' -> 
-  injectTimePulse'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 345 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function injectMouseButtonClick -}
-injectMouseButtonClick :: HG3DClass -> EnumMouseButton -> IO (Bool)
-injectMouseButtonClick a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = cIntFromEnum a2} in 
-  alloca $ \a3' -> 
-  injectMouseButtonClick'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 351 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function injectMouseButtonDoubleClick -}
-injectMouseButtonDoubleClick :: HG3DClass -> EnumMouseButton -> IO (Bool)
-injectMouseButtonDoubleClick a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = cIntFromEnum a2} in 
-  alloca $ \a3' -> 
-  injectMouseButtonDoubleClick'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 357 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-{- function injectMouseButtonTripleClick -}
-injectMouseButtonTripleClick :: HG3DClass -> EnumMouseButton -> IO (Bool)
-injectMouseButtonTripleClick a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = cIntFromEnum a2} in 
-  alloca $ \a3' -> 
-  injectMouseButtonTripleClick'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 363 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_create"
-  create'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))))))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_destroy"
-  destroy'_ :: (IO ())
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getSingleton"
-  getSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getSingletonPtr"
-  getSingletonPtr'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setDefaultXMLParserName"
-  setDefaultXMLParserName'_ :: ((Ptr CChar) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getDefaultXMLParserName"
-  getDefaultXMLParserName'_ :: ((Ptr CChar) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setDefaultImageCodecName"
-  setDefaultImageCodecName'_ :: ((Ptr CChar) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getDefaultImageCodecName"
-  getDefaultImageCodecName'_ :: ((Ptr CChar) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getRenderer"
-  getRenderer'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setDefaultFont"
-  setDefaultFont'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setDefaultFont2"
-  setDefaultFont2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getDefaultFont"
-  getDefaultFont'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_signalRedraw"
-  signalRedraw'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_isRedrawRequested"
-  isRedrawRequested'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_renderGUI"
-  renderGUI'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setGUISheet"
-  setGUISheet'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getGUISheet"
-  getGUISheet'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getSingleClickTimeout"
-  getSingleClickTimeout'_ :: ((HG3DClassPtr) -> ((Ptr CDouble) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getMultiClickTimeout"
-  getMultiClickTimeout'_ :: ((HG3DClassPtr) -> ((Ptr CDouble) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setSingleClickTimeout"
-  setSingleClickTimeout'_ :: ((HG3DClassPtr) -> (CDouble -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setMultiClickTimeout"
-  setMultiClickTimeout'_ :: ((HG3DClassPtr) -> (CDouble -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_isMouseClickEventGenerationEnabled"
-  isMouseClickEventGenerationEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setMouseClickEventGenerationEnabled"
-  setMouseClickEventGenerationEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setDefaultMouseCursor3"
-  setDefaultMouseCursor3'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getWindowContainingMouse"
-  getWindowContainingMouse'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getScriptingModule"
-  getScriptingModule'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setScriptingModule"
-  setScriptingModule'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getResourceProvider"
-  getResourceProvider'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_executeScriptFile"
-  executeScriptFile'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_executeScriptGlobal"
-  executeScriptGlobal'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_executeScriptString"
-  executeScriptString'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getMouseMoveScaling"
-  getMouseMoveScaling'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setMouseMoveScaling"
-  setMouseMoveScaling'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_notifyWindowDestroyed"
-  notifyWindowDestroyed'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getSystemKeys"
-  getSystemKeys'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setXMLParser"
-  setXMLParser'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setXMLParser2"
-  setXMLParser2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getXMLParser"
-  getXMLParser'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setDefaultTooltip"
-  setDefaultTooltip'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setDefaultTooltip2"
-  setDefaultTooltip2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getDefaultTooltip"
-  getDefaultTooltip'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setModalTarget"
-  setModalTarget'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getModalTarget"
-  getModalTarget'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_updateWindowContainingMouse"
-  updateWindowContainingMouse'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_getImageCodec"
-  getImageCodec'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setImageCodec"
-  setImageCodec'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_setImageCodec2"
-  setImageCodec2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_invalidateAllCachedRendering"
-  invalidateAllCachedRendering'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_injectMouseMove"
-  injectMouseMove'_ :: ((HG3DClassPtr) -> (CFloat -> (CFloat -> ((Ptr CInt) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_injectMouseLeaves"
-  injectMouseLeaves'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_injectMouseButtonDown"
-  injectMouseButtonDown'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_injectMouseButtonUp"
-  injectMouseButtonUp'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_injectKeyDown"
-  injectKeyDown'_ :: ((HG3DClassPtr) -> (CUInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_injectKeyUp"
-  injectKeyUp'_ :: ((HG3DClassPtr) -> (CUInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_injectChar"
-  injectChar'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_injectMouseWheelChange"
-  injectMouseWheelChange'_ :: ((HG3DClassPtr) -> (CFloat -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_injectMousePosition"
-  injectMousePosition'_ :: ((HG3DClassPtr) -> (CFloat -> (CFloat -> ((Ptr CInt) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_injectTimePulse"
-  injectTimePulse'_ :: ((HG3DClassPtr) -> (CFloat -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_injectMouseButtonClick"
-  injectMouseButtonClick'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_injectMouseButtonDoubleClick"
-  injectMouseButtonDoubleClick'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystem.chs.h cegui_sstm_injectMouseButtonTripleClick"
-  injectMouseButtonTripleClick'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
diff --git a/HGamer3D/Bindings/CEGUI/ClassSystemHG3D.chs b/HGamer3D/Bindings/CEGUI/ClassSystemHG3D.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassSystemHG3D.chs
@@ -0,0 +1,74 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassSystemHG3D.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassSystemHG3D 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassSystemHG3D.h"
+{- function createNoLogger -}
+{#fun cegui_sstm_hg3d_createNoLogger as createNoLogger 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getDefaultResourceProvider -}
+{#fun cegui_sstm_hg3d_getDefaultResourceProvider as getDefaultResourceProvider 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getSchemeManagerSingleton -}
+{#fun cegui_sstm_hg3d_getSchemeManagerSingleton as getSchemeManagerSingleton 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function schemeManagerCreate -}
+{#fun cegui_sstm_hg3d_schemeManagerCreate as schemeManagerCreate 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function fontManagerCreate -}
+{#fun cegui_sstm_hg3d_fontManagerCreate as fontManagerCreate 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function getFontManagerSingleton -}
+{#fun cegui_sstm_hg3d_getFontManagerSingleton as getFontManagerSingleton 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getLoggerSingleton -}
+{#fun cegui_sstm_hg3d_getLoggerSingleton as getLoggerSingleton 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassSystemHG3D.hs b/HGamer3D/Bindings/CEGUI/ClassSystemHG3D.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassSystemHG3D.hs
+++ /dev/null
@@ -1,135 +0,0 @@
--- 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\\ClassSystemHG3D.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.
--- 
-
-
--- ClassSystemHG3D.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassSystemHG3D 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\\ClassSystemHG3D.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs" #-}
-
-{- function createNoLogger -}
-createNoLogger :: IO (HG3DClass)
-createNoLogger =
-  alloca $ \a1' -> 
-  createNoLogger'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs" #-}
-
-{- function getDefaultResourceProvider -}
-getDefaultResourceProvider :: HG3DClass -> IO (HG3DClass)
-getDefaultResourceProvider a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getDefaultResourceProvider'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 52 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs" #-}
-
-{- function getSchemeManagerSingleton -}
-getSchemeManagerSingleton :: IO (HG3DClass)
-getSchemeManagerSingleton =
-  alloca $ \a1' -> 
-  getSchemeManagerSingleton'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 56 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs" #-}
-
-{- function schemeManagerCreate -}
-schemeManagerCreate :: HG3DClass -> String -> IO ()
-schemeManagerCreate a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  schemeManagerCreate'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 61 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs" #-}
-
-{- function fontManagerCreate -}
-fontManagerCreate :: HG3DClass -> String -> IO ()
-fontManagerCreate a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  fontManagerCreate'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 66 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs" #-}
-
-{- function getFontManagerSingleton -}
-getFontManagerSingleton :: IO (HG3DClass)
-getFontManagerSingleton =
-  alloca $ \a1' -> 
-  getFontManagerSingleton'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 70 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs" #-}
-
-{- function getLoggerSingleton -}
-getLoggerSingleton :: IO (HG3DClass)
-getLoggerSingleton =
-  alloca $ \a1' -> 
-  getLoggerSingleton'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 74 ".\\HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs.h cegui_sstm_hg3d_createNoLogger"
-  createNoLogger'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs.h cegui_sstm_hg3d_getDefaultResourceProvider"
-  getDefaultResourceProvider'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs.h cegui_sstm_hg3d_getSchemeManagerSingleton"
-  getSchemeManagerSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs.h cegui_sstm_hg3d_schemeManagerCreate"
-  schemeManagerCreate'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs.h cegui_sstm_hg3d_fontManagerCreate"
-  fontManagerCreate'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs.h cegui_sstm_hg3d_getFontManagerSingleton"
-  getFontManagerSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassSystemHG3D.chs.h cegui_sstm_hg3d_getLoggerSingleton"
-  getLoggerSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassTabButton.chs b/HGamer3D/Bindings/CEGUI/ClassTabButton.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassTabButton.chs
@@ -0,0 +1,73 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassTabButton.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassTabButton 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassTabButton.h"
+{- function TabButton -}
+{#fun cegui_tbbtn_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~TabButton -}
+{#fun cegui_tbbtn_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setSelected -}
+{#fun cegui_tbbtn_setSelected as setSelected 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function isSelected -}
+{#fun cegui_tbbtn_isSelected as isSelected 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setTargetWindow -}
+{#fun cegui_tbbtn_setTargetWindow as setTargetWindow 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getTargetWindow -}
+{#fun cegui_tbbtn_getTargetWindow as getTargetWindow 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassTabButton.hs b/HGamer3D/Bindings/CEGUI/ClassTabButton.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassTabButton.hs
+++ /dev/null
@@ -1,125 +0,0 @@
--- 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\\ClassTabButton.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.
--- 
-
-
--- ClassTabButton.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassTabButton 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\\ClassTabButton.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTabButton.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTabButton.chs" #-}
-
-{- function TabButton -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 49 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTabButton.chs" #-}
-
-{- function ~TabButton -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTabButton.chs" #-}
-
-{- function setSelected -}
-setSelected :: HG3DClass -> Bool -> IO ()
-setSelected a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setSelected'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTabButton.chs" #-}
-
-{- function isSelected -}
-isSelected :: HG3DClass -> IO (Bool)
-isSelected a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSelected'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTabButton.chs" #-}
-
-{- function setTargetWindow -}
-setTargetWindow :: HG3DClass -> HG3DClass -> IO ()
-setTargetWindow a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  setTargetWindow'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTabButton.chs" #-}
-
-{- function getTargetWindow -}
-getTargetWindow :: HG3DClass -> IO (HG3DClass)
-getTargetWindow a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getTargetWindow'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTabButton.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTabButton.chs.h cegui_tbbtn_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTabButton.chs.h cegui_tbbtn_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTabButton.chs.h cegui_tbbtn_setSelected"
-  setSelected'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTabButton.chs.h cegui_tbbtn_isSelected"
-  isSelected'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTabButton.chs.h cegui_tbbtn_setTargetWindow"
-  setTargetWindow'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTabButton.chs.h cegui_tbbtn_getTargetWindow"
-  getTargetWindow'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
diff --git a/HGamer3D/Bindings/CEGUI/ClassThumb.chs b/HGamer3D/Bindings/CEGUI/ClassThumb.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassThumb.chs
@@ -0,0 +1,95 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassThumb.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassThumb 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassThumb.h"
+{- function isHotTracked -}
+{#fun cegui_thmb_isHotTracked as isHotTracked 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isVertFree -}
+{#fun cegui_thmb_isVertFree as isVertFree 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isHorzFree -}
+{#fun cegui_thmb_isHorzFree as isHorzFree 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setHotTracked -}
+{#fun cegui_thmb_setHotTracked as setHotTracked 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setVertFree -}
+{#fun cegui_thmb_setVertFree as setVertFree 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setHorzFree -}
+{#fun cegui_thmb_setHorzFree as setHorzFree 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setVertRange -}
+{#fun cegui_thmb_setVertRange as setVertRange 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function setHorzRange -}
+{#fun cegui_thmb_setHorzRange as setHorzRange 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function Thumb -}
+{#fun cegui_thmb_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~Thumb -}
+{#fun cegui_thmb_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassThumb.hs b/HGamer3D/Bindings/CEGUI/ClassThumb.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassThumb.hs
+++ /dev/null
@@ -1,176 +0,0 @@
--- 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\\ClassThumb.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.
--- 
-
-
--- ClassThumb.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassThumb 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\\ClassThumb.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs" #-}
-
-{- function isHotTracked -}
-isHotTracked :: HG3DClass -> IO (Bool)
-isHotTracked a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isHotTracked'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs" #-}
-
-{- function isVertFree -}
-isVertFree :: HG3DClass -> IO (Bool)
-isVertFree a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isVertFree'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs" #-}
-
-{- function isHorzFree -}
-isHorzFree :: HG3DClass -> IO (Bool)
-isHorzFree a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isHorzFree'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs" #-}
-
-{- function setHotTracked -}
-setHotTracked :: HG3DClass -> Bool -> IO ()
-setHotTracked a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setHotTracked'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs" #-}
-
-{- function setVertFree -}
-setVertFree :: HG3DClass -> Bool -> IO ()
-setVertFree a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setVertFree'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs" #-}
-
-{- function setHorzFree -}
-setHorzFree :: HG3DClass -> Bool -> IO ()
-setHorzFree a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setHorzFree'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs" #-}
-
-{- function setVertRange -}
-setVertRange :: HG3DClass -> Float -> Float -> IO ()
-setVertRange a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  let {a3' = realToFrac a3} in 
-  setVertRange'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 79 ".\\HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs" #-}
-
-{- function setHorzRange -}
-setHorzRange :: HG3DClass -> Float -> Float -> IO ()
-setHorzRange a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  let {a3' = realToFrac a3} in 
-  setHorzRange'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 85 ".\\HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs" #-}
-
-{- function Thumb -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 91 ".\\HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs" #-}
-
-{- function ~Thumb -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 95 ".\\HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs.h cegui_thmb_isHotTracked"
-  isHotTracked'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs.h cegui_thmb_isVertFree"
-  isVertFree'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs.h cegui_thmb_isHorzFree"
-  isHorzFree'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs.h cegui_thmb_setHotTracked"
-  setHotTracked'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs.h cegui_thmb_setVertFree"
-  setVertFree'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs.h cegui_thmb_setHorzFree"
-  setHorzFree'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs.h cegui_thmb_setVertRange"
-  setVertRange'_ :: ((HG3DClassPtr) -> (CFloat -> (CFloat -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs.h cegui_thmb_setHorzRange"
-  setHorzRange'_ :: ((HG3DClassPtr) -> (CFloat -> (CFloat -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs.h cegui_thmb_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassThumb.chs.h cegui_thmb_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassTooltip.chs b/HGamer3D/Bindings/CEGUI/ClassTooltip.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassTooltip.chs
@@ -0,0 +1,105 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassTooltip.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassTooltip 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassTooltip.h"
+{- function Tooltip -}
+{#fun cegui_tltp_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~Tooltip -}
+{#fun cegui_tltp_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setTargetWindow -}
+{#fun cegui_tltp_setTargetWindow as setTargetWindow 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getTargetWindow -}
+{#fun cegui_tltp_getTargetWindow as getTargetWindow 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function resetTimer -}
+{#fun cegui_tltp_resetTimer as resetTimer 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getHoverTime -}
+{#fun cegui_tltp_getHoverTime as getHoverTime 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setDisplayTime -}
+{#fun cegui_tltp_setDisplayTime as setDisplayTime 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function getFadeTime -}
+{#fun cegui_tltp_getFadeTime as getFadeTime 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setHoverTime -}
+{#fun cegui_tltp_setHoverTime as setHoverTime 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function getDisplayTime -}
+{#fun cegui_tltp_getDisplayTime as getDisplayTime 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function setFadeTime -}
+{#fun cegui_tltp_setFadeTime as setFadeTime 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function positionSelf -}
+{#fun cegui_tltp_positionSelf as positionSelf 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function sizeSelf -}
+{#fun cegui_tltp_sizeSelf as sizeSelf 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassTooltip.hs b/HGamer3D/Bindings/CEGUI/ClassTooltip.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassTooltip.hs
+++ /dev/null
@@ -1,208 +0,0 @@
--- 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\\ClassTooltip.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.
--- 
-
-
--- ClassTooltip.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassTooltip 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\\ClassTooltip.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-
-{- function Tooltip -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 49 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-
-{- function ~Tooltip -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-
-{- function setTargetWindow -}
-setTargetWindow :: HG3DClass -> HG3DClass -> IO ()
-setTargetWindow a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  setTargetWindow'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-
-{- function getTargetWindow -}
-getTargetWindow :: HG3DClass -> IO (HG3DClass)
-getTargetWindow a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getTargetWindow'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-
-{- function resetTimer -}
-resetTimer :: HG3DClass -> IO ()
-resetTimer a1 =
-  withHG3DClass a1 $ \a1' -> 
-  resetTimer'_ a1' >>= \res ->
-  return ()
-{-# LINE 67 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-
-{- function getHoverTime -}
-getHoverTime :: HG3DClass -> IO (Float)
-getHoverTime a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getHoverTime'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 72 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-
-{- function setDisplayTime -}
-setDisplayTime :: HG3DClass -> Float -> IO ()
-setDisplayTime a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setDisplayTime'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 77 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-
-{- function getFadeTime -}
-getFadeTime :: HG3DClass -> IO (Float)
-getFadeTime a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getFadeTime'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 82 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-
-{- function setHoverTime -}
-setHoverTime :: HG3DClass -> Float -> IO ()
-setHoverTime a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setHoverTime'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 87 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-
-{- function getDisplayTime -}
-getDisplayTime :: HG3DClass -> IO (Float)
-getDisplayTime a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getDisplayTime'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 92 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-
-{- function setFadeTime -}
-setFadeTime :: HG3DClass -> Float -> IO ()
-setFadeTime a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setFadeTime'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 97 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-
-{- function positionSelf -}
-positionSelf :: HG3DClass -> IO ()
-positionSelf a1 =
-  withHG3DClass a1 $ \a1' -> 
-  positionSelf'_ a1' >>= \res ->
-  return ()
-{-# LINE 101 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-
-{- function sizeSelf -}
-sizeSelf :: HG3DClass -> IO ()
-sizeSelf a1 =
-  withHG3DClass a1 $ \a1' -> 
-  sizeSelf'_ a1' >>= \res ->
-  return ()
-{-# LINE 105 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs.h cegui_tltp_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs.h cegui_tltp_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs.h cegui_tltp_setTargetWindow"
-  setTargetWindow'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs.h cegui_tltp_getTargetWindow"
-  getTargetWindow'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs.h cegui_tltp_resetTimer"
-  resetTimer'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs.h cegui_tltp_getHoverTime"
-  getHoverTime'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs.h cegui_tltp_setDisplayTime"
-  setDisplayTime'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs.h cegui_tltp_getFadeTime"
-  getFadeTime'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs.h cegui_tltp_setHoverTime"
-  setHoverTime'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs.h cegui_tltp_getDisplayTime"
-  getDisplayTime'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs.h cegui_tltp_setFadeTime"
-  setFadeTime'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs.h cegui_tltp_positionSelf"
-  positionSelf'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTooltip.chs.h cegui_tltp_sizeSelf"
-  sizeSelf'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassTree.chs b/HGamer3D/Bindings/CEGUI/ClassTree.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassTree.chs
@@ -0,0 +1,158 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassTree.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassTree 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassTree.h"
+{- function doTreeRender -}
+{#fun cegui_tree_doTreeRender as doTreeRender 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function doScrollbars -}
+{#fun cegui_tree_doScrollbars as doScrollbars 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getItemCount -}
+{#fun cegui_tree_getItemCount as getItemCount 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getSelectedCount -}
+{#fun cegui_tree_getSelectedCount as getSelectedCount 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function isSortEnabled -}
+{#fun cegui_tree_isSortEnabled as isSortEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getVertScrollbar -}
+{#fun cegui_tree_getVertScrollbar as getVertScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getHorzScrollbar -}
+{#fun cegui_tree_getHorzScrollbar as getHorzScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function isMultiselectEnabled -}
+{#fun cegui_tree_isMultiselectEnabled as isMultiselectEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isItemTooltipsEnabled -}
+{#fun cegui_tree_isItemTooltipsEnabled as isItemTooltipsEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isVertScrollbarAlwaysShown -}
+{#fun cegui_tree_isVertScrollbarAlwaysShown as isVertScrollbarAlwaysShown 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isHorzScrollbarAlwaysShown -}
+{#fun cegui_tree_isHorzScrollbarAlwaysShown as isHorzScrollbarAlwaysShown 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function initialise -}
+{#fun cegui_tree_initialise as initialise 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function resetList -}
+{#fun cegui_tree_resetList as resetList 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function clearAllSelections -}
+{#fun cegui_tree_clearAllSelections as clearAllSelections 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setSortingEnabled -}
+{#fun cegui_tree_setSortingEnabled as setSortingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setMultiselectEnabled -}
+{#fun cegui_tree_setMultiselectEnabled as setMultiselectEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setShowVertScrollbar -}
+{#fun cegui_tree_setShowVertScrollbar as setShowVertScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setShowHorzScrollbar -}
+{#fun cegui_tree_setShowHorzScrollbar as setShowHorzScrollbar 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setItemTooltipsEnabled -}
+{#fun cegui_tree_setItemTooltipsEnabled as setItemTooltipsEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setItemSelectState2 -}
+{#fun cegui_tree_setItemSelectState2 as setItemSelectState2 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setLookNFeel -}
+{#fun cegui_tree_setLookNFeel as setLookNFeel 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function handleUpdatedItemData -}
+{#fun cegui_tree_handleUpdatedItemData as handleUpdatedItemData 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function Tree -}
+{#fun cegui_tree_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~Tree -}
+{#fun cegui_tree_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassTree.hs b/HGamer3D/Bindings/CEGUI/ClassTree.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassTree.hs
+++ /dev/null
@@ -1,343 +0,0 @@
--- 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\\ClassTree.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.
--- 
-
-
--- ClassTree.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassTree 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\\ClassTree.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function doTreeRender -}
-doTreeRender :: HG3DClass -> IO ()
-doTreeRender a1 =
-  withHG3DClass a1 $ \a1' -> 
-  doTreeRender'_ a1' >>= \res ->
-  return ()
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function doScrollbars -}
-doScrollbars :: HG3DClass -> IO ()
-doScrollbars a1 =
-  withHG3DClass a1 $ \a1' -> 
-  doScrollbars'_ a1' >>= \res ->
-  return ()
-{-# LINE 51 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function getItemCount -}
-getItemCount :: HG3DClass -> IO (Int)
-getItemCount a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getItemCount'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 56 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function getSelectedCount -}
-getSelectedCount :: HG3DClass -> IO (Int)
-getSelectedCount a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getSelectedCount'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 61 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function isSortEnabled -}
-isSortEnabled :: HG3DClass -> IO (Bool)
-isSortEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isSortEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 66 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function getVertScrollbar -}
-getVertScrollbar :: HG3DClass -> IO (HG3DClass)
-getVertScrollbar a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getVertScrollbar'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 71 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function getHorzScrollbar -}
-getHorzScrollbar :: HG3DClass -> IO (HG3DClass)
-getHorzScrollbar a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getHorzScrollbar'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 76 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function isMultiselectEnabled -}
-isMultiselectEnabled :: HG3DClass -> IO (Bool)
-isMultiselectEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isMultiselectEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 81 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function isItemTooltipsEnabled -}
-isItemTooltipsEnabled :: HG3DClass -> IO (Bool)
-isItemTooltipsEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isItemTooltipsEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 86 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function isVertScrollbarAlwaysShown -}
-isVertScrollbarAlwaysShown :: HG3DClass -> IO (Bool)
-isVertScrollbarAlwaysShown a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isVertScrollbarAlwaysShown'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 91 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function isHorzScrollbarAlwaysShown -}
-isHorzScrollbarAlwaysShown :: HG3DClass -> IO (Bool)
-isHorzScrollbarAlwaysShown a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isHorzScrollbarAlwaysShown'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 96 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function initialise -}
-initialise :: HG3DClass -> IO ()
-initialise a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialise'_ a1' >>= \res ->
-  return ()
-{-# LINE 100 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function resetList -}
-resetList :: HG3DClass -> IO ()
-resetList a1 =
-  withHG3DClass a1 $ \a1' -> 
-  resetList'_ a1' >>= \res ->
-  return ()
-{-# LINE 104 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function clearAllSelections -}
-clearAllSelections :: HG3DClass -> IO ()
-clearAllSelections a1 =
-  withHG3DClass a1 $ \a1' -> 
-  clearAllSelections'_ a1' >>= \res ->
-  return ()
-{-# LINE 108 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function setSortingEnabled -}
-setSortingEnabled :: HG3DClass -> Bool -> IO ()
-setSortingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setSortingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 113 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function setMultiselectEnabled -}
-setMultiselectEnabled :: HG3DClass -> Bool -> IO ()
-setMultiselectEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setMultiselectEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 118 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function setShowVertScrollbar -}
-setShowVertScrollbar :: HG3DClass -> Bool -> IO ()
-setShowVertScrollbar a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setShowVertScrollbar'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 123 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function setShowHorzScrollbar -}
-setShowHorzScrollbar :: HG3DClass -> Bool -> IO ()
-setShowHorzScrollbar a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setShowHorzScrollbar'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 128 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function setItemTooltipsEnabled -}
-setItemTooltipsEnabled :: HG3DClass -> Bool -> IO ()
-setItemTooltipsEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setItemTooltipsEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 133 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function setItemSelectState2 -}
-setItemSelectState2 :: HG3DClass -> Int -> Bool -> IO ()
-setItemSelectState2 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  let {a3' = fromBool a3} in 
-  setItemSelectState2'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 139 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function setLookNFeel -}
-setLookNFeel :: HG3DClass -> String -> IO ()
-setLookNFeel a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setLookNFeel'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 144 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function handleUpdatedItemData -}
-handleUpdatedItemData :: HG3DClass -> IO ()
-handleUpdatedItemData a1 =
-  withHG3DClass a1 $ \a1' -> 
-  handleUpdatedItemData'_ a1' >>= \res ->
-  return ()
-{-# LINE 148 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function Tree -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 154 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-{- function ~Tree -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 158 ".\\HGamer3D\\Bindings\\CEGUI\\ClassTree.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_doTreeRender"
-  doTreeRender'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_doScrollbars"
-  doScrollbars'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_getItemCount"
-  getItemCount'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_getSelectedCount"
-  getSelectedCount'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_isSortEnabled"
-  isSortEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_getVertScrollbar"
-  getVertScrollbar'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_getHorzScrollbar"
-  getHorzScrollbar'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_isMultiselectEnabled"
-  isMultiselectEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_isItemTooltipsEnabled"
-  isItemTooltipsEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_isVertScrollbarAlwaysShown"
-  isVertScrollbarAlwaysShown'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_isHorzScrollbarAlwaysShown"
-  isHorzScrollbarAlwaysShown'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_initialise"
-  initialise'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_resetList"
-  resetList'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_clearAllSelections"
-  clearAllSelections'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_setSortingEnabled"
-  setSortingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_setMultiselectEnabled"
-  setMultiselectEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_setShowVertScrollbar"
-  setShowVertScrollbar'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_setShowHorzScrollbar"
-  setShowHorzScrollbar'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_setItemTooltipsEnabled"
-  setItemTooltipsEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_setItemSelectState2"
-  setItemSelectState2'_ :: ((HG3DClassPtr) -> (CInt -> (CInt -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_setLookNFeel"
-  setLookNFeel'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_handleUpdatedItemData"
-  handleUpdatedItemData'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassTree.chs.h cegui_tree_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassWidgetLookManager.chs b/HGamer3D/Bindings/CEGUI/ClassWidgetLookManager.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassWidgetLookManager.chs
@@ -0,0 +1,84 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassWidgetLookManager.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassWidgetLookManager 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassWidgetLookManager.h"
+{- function WidgetLookManager -}
+{#fun cegui_wdgtlmgr_construct as new 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~WidgetLookManager -}
+{#fun cegui_wdgtlmgr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function parseLookNFeelSpecification -}
+{#fun cegui_wdgtlmgr_parseLookNFeelSpecification as parseLookNFeelSpecification 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function isWidgetLookAvailable -}
+{#fun cegui_wdgtlmgr_isWidgetLookAvailable as isWidgetLookAvailable 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function eraseWidgetLook -}
+{#fun cegui_wdgtlmgr_eraseWidgetLook as eraseWidgetLook 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function getSingleton -}
+{#fun cegui_wdgtlmgr_getSingleton as getSingleton 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getSingletonPtr -}
+{#fun cegui_wdgtlmgr_getSingletonPtr as getSingletonPtr 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getDefaultResourceGroup -}
+{#fun cegui_wdgtlmgr_getDefaultResourceGroup as getDefaultResourceGroup 
+{ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function setDefaultResourceGroup -}
+{#fun cegui_wdgtlmgr_setDefaultResourceGroup as setDefaultResourceGroup 
+{ withCString* `String' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassWidgetLookManager.hs b/HGamer3D/Bindings/CEGUI/ClassWidgetLookManager.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassWidgetLookManager.hs
+++ /dev/null
@@ -1,159 +0,0 @@
--- 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\\ClassWidgetLookManager.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.
--- 
-
-
--- ClassWidgetLookManager.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassWidgetLookManager 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\\ClassWidgetLookManager.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs" #-}
-
-{- function WidgetLookManager -}
-new :: IO (HG3DClass)
-new =
-  alloca $ \a1' -> 
-  new'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs" #-}
-
-{- function ~WidgetLookManager -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 51 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs" #-}
-
-{- function parseLookNFeelSpecification -}
-parseLookNFeelSpecification :: HG3DClass -> String -> String -> IO ()
-parseLookNFeelSpecification a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  parseLookNFeelSpecification'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 57 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs" #-}
-
-{- function isWidgetLookAvailable -}
-isWidgetLookAvailable :: HG3DClass -> String -> IO (Bool)
-isWidgetLookAvailable a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isWidgetLookAvailable'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs" #-}
-
-{- function eraseWidgetLook -}
-eraseWidgetLook :: HG3DClass -> String -> IO ()
-eraseWidgetLook a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  eraseWidgetLook'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs" #-}
-
-{- function getSingleton -}
-getSingleton :: IO (HG3DClass)
-getSingleton =
-  alloca $ \a1' -> 
-  getSingleton'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 72 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs" #-}
-
-{- function getSingletonPtr -}
-getSingletonPtr :: IO (HG3DClass)
-getSingletonPtr =
-  alloca $ \a1' -> 
-  getSingletonPtr'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 76 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs" #-}
-
-{- function getDefaultResourceGroup -}
-getDefaultResourceGroup :: IO (String)
-getDefaultResourceGroup =
-  alloc64k $ \a1' -> 
-  getDefaultResourceGroup'_ a1' >>= \res ->
-  peekCString  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 80 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs" #-}
-
-{- function setDefaultResourceGroup -}
-setDefaultResourceGroup :: String -> IO ()
-setDefaultResourceGroup a1 =
-  withCString a1 $ \a1' -> 
-  setDefaultResourceGroup'_ a1' >>= \res ->
-  return ()
-{-# LINE 84 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs.h cegui_wdgtlmgr_construct"
-  new'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs.h cegui_wdgtlmgr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs.h cegui_wdgtlmgr_parseLookNFeelSpecification"
-  parseLookNFeelSpecification'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs.h cegui_wdgtlmgr_isWidgetLookAvailable"
-  isWidgetLookAvailable'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs.h cegui_wdgtlmgr_eraseWidgetLook"
-  eraseWidgetLook'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs.h cegui_wdgtlmgr_getSingleton"
-  getSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs.h cegui_wdgtlmgr_getSingletonPtr"
-  getSingletonPtr'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs.h cegui_wdgtlmgr_getDefaultResourceGroup"
-  getDefaultResourceGroup'_ :: ((Ptr CChar) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWidgetLookManager.chs.h cegui_wdgtlmgr_setDefaultResourceGroup"
-  setDefaultResourceGroup'_ :: ((Ptr CChar) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassWindow.chs b/HGamer3D/Bindings/CEGUI/ClassWindow.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassWindow.chs
@@ -0,0 +1,809 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassWindow.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassWindow 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+{# import HGamer3D.Bindings.CEGUI.EnumVerticalAlignment #}
+{# import HGamer3D.Bindings.CEGUI.EnumHorizontalAlignment #}
+{# import HGamer3D.Bindings.CEGUI.EnumWindowUpdateMode #}
+
+#include "ClassWindow.h"
+{- function Window -}
+{#fun cegui_wnd_construct as new 
+{ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~Window -}
+{#fun cegui_wnd_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getType -}
+{#fun cegui_wnd_getType as getType 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function getName -}
+{#fun cegui_wnd_getName as getName 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function isDestroyedByParent -}
+{#fun cegui_wnd_isDestroyedByParent as isDestroyedByParent 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isAlwaysOnTop -}
+{#fun cegui_wnd_isAlwaysOnTop as isAlwaysOnTop 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isDisabled -}
+{#fun cegui_wnd_isDisabled as isDisabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isVisible -}
+{#fun cegui_wnd_isVisible as isVisible 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isActive -}
+{#fun cegui_wnd_isActive as isActive 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isClippedByParent -}
+{#fun cegui_wnd_isClippedByParent as isClippedByParent 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getID -}
+{#fun cegui_wnd_getID as getID 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function getChildCount -}
+{#fun cegui_wnd_getChildCount as getChildCount 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function isChild -}
+{#fun cegui_wnd_isChild as isChild 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isChild2 -}
+{#fun cegui_wnd_isChild2 as isChild2 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isChildRecursive -}
+{#fun cegui_wnd_isChildRecursive as isChildRecursive 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isChild3 -}
+{#fun cegui_wnd_isChild3 as isChild3 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getChild -}
+{#fun cegui_wnd_getChild as getChild 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getChild2 -}
+{#fun cegui_wnd_getChild2 as getChild2 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getChildRecursive -}
+{#fun cegui_wnd_getChildRecursive as getChildRecursive 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getChildRecursive2 -}
+{#fun cegui_wnd_getChildRecursive2 as getChildRecursive2 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getChildAtIdx -}
+{#fun cegui_wnd_getChildAtIdx as getChildAtIdx 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getActiveChild -}
+{#fun cegui_wnd_getActiveChild as getActiveChild 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getActiveChild2 -}
+{#fun cegui_wnd_getActiveChild2 as getActiveChild2 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function isAncestor -}
+{#fun cegui_wnd_isAncestor as isAncestor 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isAncestor2 -}
+{#fun cegui_wnd_isAncestor2 as isAncestor2 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isAncestor3 -}
+{#fun cegui_wnd_isAncestor3 as isAncestor3 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getFont -}
+{#fun cegui_wnd_getFont as getFont 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getText -}
+{#fun cegui_wnd_getText as getText 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function getTextVisual -}
+{#fun cegui_wnd_getTextVisual as getTextVisual 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function inheritsAlpha -}
+{#fun cegui_wnd_inheritsAlpha as inheritsAlpha 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getAlpha -}
+{#fun cegui_wnd_getAlpha as getAlpha 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getEffectiveAlpha -}
+{#fun cegui_wnd_getEffectiveAlpha as getEffectiveAlpha 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function isCapturedByThis -}
+{#fun cegui_wnd_isCapturedByThis as isCapturedByThis 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isCapturedByAncestor -}
+{#fun cegui_wnd_isCapturedByAncestor as isCapturedByAncestor 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isCapturedByChild -}
+{#fun cegui_wnd_isCapturedByChild as isCapturedByChild 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getParent -}
+{#fun cegui_wnd_getParent as getParent 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function restoresOldCapture -}
+{#fun cegui_wnd_restoresOldCapture as restoresOldCapture 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isZOrderingEnabled -}
+{#fun cegui_wnd_isZOrderingEnabled as isZOrderingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function wantsMultiClickEvents -}
+{#fun cegui_wnd_wantsMultiClickEvents as wantsMultiClickEvents 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isMouseAutoRepeatEnabled -}
+{#fun cegui_wnd_isMouseAutoRepeatEnabled as isMouseAutoRepeatEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getAutoRepeatDelay -}
+{#fun cegui_wnd_getAutoRepeatDelay as getAutoRepeatDelay 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getAutoRepeatRate -}
+{#fun cegui_wnd_getAutoRepeatRate as getAutoRepeatRate 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function distributesCapturedInputs -}
+{#fun cegui_wnd_distributesCapturedInputs as distributesCapturedInputs 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isUsingDefaultTooltip -}
+{#fun cegui_wnd_isUsingDefaultTooltip as isUsingDefaultTooltip 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getTooltip -}
+{#fun cegui_wnd_getTooltip as getTooltip 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getTooltipType -}
+{#fun cegui_wnd_getTooltipType as getTooltipType 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function getTooltipText -}
+{#fun cegui_wnd_getTooltipText as getTooltipText 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function inheritsTooltipText -}
+{#fun cegui_wnd_inheritsTooltipText as inheritsTooltipText 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isRiseOnClickEnabled -}
+{#fun cegui_wnd_isRiseOnClickEnabled as isRiseOnClickEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function testClassName -}
+{#fun cegui_wnd_testClassName as testClassName 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getVerticalAlignment -}
+{#fun cegui_wnd_getVerticalAlignment as getVerticalAlignment 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `EnumVerticalAlignment' peekEnumUtil*} -> `()'  #}
+
+{- function getHorizontalAlignment -}
+{#fun cegui_wnd_getHorizontalAlignment as getHorizontalAlignment 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `EnumHorizontalAlignment' peekEnumUtil*} -> `()'  #}
+
+{- function getLookNFeel -}
+{#fun cegui_wnd_getLookNFeel as getLookNFeel 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function getModalState -}
+{#fun cegui_wnd_getModalState as getModalState 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getUserString -}
+{#fun cegui_wnd_getUserString as getUserString 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function isUserStringDefined -}
+{#fun cegui_wnd_isUserStringDefined as isUserStringDefined 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getActiveSibling -}
+{#fun cegui_wnd_getActiveSibling as getActiveSibling 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getParentPixelWidth -}
+{#fun cegui_wnd_getParentPixelWidth as getParentPixelWidth 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function getParentPixelHeight -}
+{#fun cegui_wnd_getParentPixelHeight as getParentPixelHeight 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Float' peekFloatConv*} -> `()'  #}
+
+{- function isMousePassThroughEnabled -}
+{#fun cegui_wnd_isMousePassThroughEnabled as isMousePassThroughEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isAutoWindow -}
+{#fun cegui_wnd_isAutoWindow as isAutoWindow 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isWritingXMLAllowed -}
+{#fun cegui_wnd_isWritingXMLAllowed as isWritingXMLAllowed 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isDragDropTarget -}
+{#fun cegui_wnd_isDragDropTarget as isDragDropTarget 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isUsingAutoRenderingSurface -}
+{#fun cegui_wnd_isUsingAutoRenderingSurface as isUsingAutoRenderingSurface 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getRootWindow -}
+{#fun cegui_wnd_getRootWindow as getRootWindow 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getRootWindow2 -}
+{#fun cegui_wnd_getRootWindow2 as getRootWindow2 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function isNonClientWindow -}
+{#fun cegui_wnd_isNonClientWindow as isNonClientWindow 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function rename -}
+{#fun cegui_wnd_rename as rename 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function initialiseComponents -}
+{#fun cegui_wnd_initialiseComponents as initialiseComponents 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setDestroyedByParent -}
+{#fun cegui_wnd_setDestroyedByParent as setDestroyedByParent 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setAlwaysOnTop -}
+{#fun cegui_wnd_setAlwaysOnTop as setAlwaysOnTop 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setEnabled -}
+{#fun cegui_wnd_setEnabled as setEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function enable -}
+{#fun cegui_wnd_enable as enable 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function disable -}
+{#fun cegui_wnd_disable as disable 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setVisible -}
+{#fun cegui_wnd_setVisible as setVisible 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function show -}
+{#fun cegui_wnd_show as show 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function hide -}
+{#fun cegui_wnd_hide as hide 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function activate -}
+{#fun cegui_wnd_activate as activate 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function deactivate -}
+{#fun cegui_wnd_deactivate as deactivate 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setClippedByParent -}
+{#fun cegui_wnd_setClippedByParent as setClippedByParent 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setID -}
+{#fun cegui_wnd_setID as setID 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function setText -}
+{#fun cegui_wnd_setText as setText 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function appendText -}
+{#fun cegui_wnd_appendText as appendText 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setFont -}
+{#fun cegui_wnd_setFont as setFont 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setFont2 -}
+{#fun cegui_wnd_setFont2 as setFont2 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function addChildWindow -}
+{#fun cegui_wnd_addChildWindow as addChildWindow 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function addChildWindow2 -}
+{#fun cegui_wnd_addChildWindow2 as addChildWindow2 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function removeChildWindow -}
+{#fun cegui_wnd_removeChildWindow as removeChildWindow 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function removeChildWindow2 -}
+{#fun cegui_wnd_removeChildWindow2 as removeChildWindow2 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function removeChildWindow3 -}
+{#fun cegui_wnd_removeChildWindow3 as removeChildWindow3 
+{ withHG3DClass* `HG3DClass' ,
+ fromIntegral `Int' } -> `()'  #}
+
+{- function moveToFront -}
+{#fun cegui_wnd_moveToFront as moveToFront 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function moveToBack -}
+{#fun cegui_wnd_moveToBack as moveToBack 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function captureInput -}
+{#fun cegui_wnd_captureInput as captureInput 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function releaseInput -}
+{#fun cegui_wnd_releaseInput as releaseInput 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setRestoreCapture -}
+{#fun cegui_wnd_setRestoreCapture as setRestoreCapture 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setAlpha -}
+{#fun cegui_wnd_setAlpha as setAlpha 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function setInheritsAlpha -}
+{#fun cegui_wnd_setInheritsAlpha as setInheritsAlpha 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function invalidate -}
+{#fun cegui_wnd_invalidate as invalidate 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function invalidate2 -}
+{#fun cegui_wnd_invalidate2 as invalidate2 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setMouseCursor3 -}
+{#fun cegui_wnd_setMouseCursor3 as setMouseCursor3 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setZOrderingEnabled -}
+{#fun cegui_wnd_setZOrderingEnabled as setZOrderingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setWantsMultiClickEvents -}
+{#fun cegui_wnd_setWantsMultiClickEvents as setWantsMultiClickEvents 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setMouseAutoRepeatEnabled -}
+{#fun cegui_wnd_setMouseAutoRepeatEnabled as setMouseAutoRepeatEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setAutoRepeatDelay -}
+{#fun cegui_wnd_setAutoRepeatDelay as setAutoRepeatDelay 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function setAutoRepeatRate -}
+{#fun cegui_wnd_setAutoRepeatRate as setAutoRepeatRate 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function setDistributesCapturedInputs -}
+{#fun cegui_wnd_setDistributesCapturedInputs as setDistributesCapturedInputs 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function notifyDragDropItemEnters -}
+{#fun cegui_wnd_notifyDragDropItemEnters as notifyDragDropItemEnters 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function notifyDragDropItemLeaves -}
+{#fun cegui_wnd_notifyDragDropItemLeaves as notifyDragDropItemLeaves 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function notifyDragDropItemDropped -}
+{#fun cegui_wnd_notifyDragDropItemDropped as notifyDragDropItemDropped 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function destroy -}
+{#fun cegui_wnd_destroy as destroy 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setTooltip -}
+{#fun cegui_wnd_setTooltip as setTooltip 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setTooltipType -}
+{#fun cegui_wnd_setTooltipType as setTooltipType 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setTooltipText -}
+{#fun cegui_wnd_setTooltipText as setTooltipText 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setInheritsTooltipText -}
+{#fun cegui_wnd_setInheritsTooltipText as setInheritsTooltipText 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setRiseOnClickEnabled -}
+{#fun cegui_wnd_setRiseOnClickEnabled as setRiseOnClickEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setVerticalAlignment -}
+{#fun cegui_wnd_setVerticalAlignment as setVerticalAlignment 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumVerticalAlignment' } -> `()'  #}
+
+{- function setHorizontalAlignment -}
+{#fun cegui_wnd_setHorizontalAlignment as setHorizontalAlignment 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumHorizontalAlignment' } -> `()'  #}
+
+{- function setLookNFeel -}
+{#fun cegui_wnd_setLookNFeel as setLookNFeel 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setModalState -}
+{#fun cegui_wnd_setModalState as setModalState 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function performChildWindowLayout -}
+{#fun cegui_wnd_performChildWindowLayout as performChildWindowLayout 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setUserString -}
+{#fun cegui_wnd_setUserString as setUserString 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function render -}
+{#fun cegui_wnd_render as render 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function update -}
+{#fun cegui_wnd_update as update 
+{ withHG3DClass* `HG3DClass' ,
+ realToFrac `Float' } -> `()'  #}
+
+{- function beginInitialisation -}
+{#fun cegui_wnd_beginInitialisation as beginInitialisation 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function endInitialisation -}
+{#fun cegui_wnd_endInitialisation as endInitialisation 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setMousePassThroughEnabled -}
+{#fun cegui_wnd_setMousePassThroughEnabled as setMousePassThroughEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setWindowRenderer -}
+{#fun cegui_wnd_setWindowRenderer as setWindowRenderer 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function getWindowRendererName -}
+{#fun cegui_wnd_getWindowRendererName as getWindowRendererName 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function setWritingXMLAllowed -}
+{#fun cegui_wnd_setWritingXMLAllowed as setWritingXMLAllowed 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function notifyScreenAreaChanged -}
+{#fun cegui_wnd_notifyScreenAreaChanged as notifyScreenAreaChanged 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setFalagardType -}
+{#fun cegui_wnd_setFalagardType as setFalagardType 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function setDragDropTarget -}
+{#fun cegui_wnd_setDragDropTarget as setDragDropTarget 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function invalidateRenderingSurface -}
+{#fun cegui_wnd_invalidateRenderingSurface as invalidateRenderingSurface 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function setUsingAutoRenderingSurface -}
+{#fun cegui_wnd_setUsingAutoRenderingSurface as setUsingAutoRenderingSurface 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function setNonClientWindow -}
+{#fun cegui_wnd_setNonClientWindow as setNonClientWindow 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function isTextParsingEnabled -}
+{#fun cegui_wnd_isTextParsingEnabled as isTextParsingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setTextParsingEnabled -}
+{#fun cegui_wnd_setTextParsingEnabled as setTextParsingEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function banPropertyFromXML -}
+{#fun cegui_wnd_banPropertyFromXML as banPropertyFromXML 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function unbanPropertyFromXML -}
+{#fun cegui_wnd_unbanPropertyFromXML as unbanPropertyFromXML 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function isPropertyBannedFromXML -}
+{#fun cegui_wnd_isPropertyBannedFromXML as isPropertyBannedFromXML 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function setUpdateMode -}
+{#fun cegui_wnd_setUpdateMode as setUpdateMode 
+{ withHG3DClass* `HG3DClass' ,
+ cIntFromEnum `EnumWindowUpdateMode' } -> `()'  #}
+
+{- function getUpdateMode -}
+{#fun cegui_wnd_getUpdateMode as getUpdateMode 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `EnumWindowUpdateMode' peekEnumUtil*} -> `()'  #}
+
+{- function setMouseInputPropagationEnabled -}
+{#fun cegui_wnd_setMouseInputPropagationEnabled as setMouseInputPropagationEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function isMouseInputPropagationEnabled -}
+{#fun cegui_wnd_isMouseInputPropagationEnabled as isMouseInputPropagationEnabled 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function clone -}
+{#fun cegui_wnd_clone as clone 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ fromBool `Bool' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function clonePropertiesTo -}
+{#fun cegui_wnd_clonePropertiesTo as clonePropertiesTo 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function cloneChildWidgetsTo -}
+{#fun cegui_wnd_cloneChildWidgetsTo as cloneChildWidgetsTo 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getZIndex -}
+{#fun cegui_wnd_getZIndex as getZIndex 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
+{- function isInFront -}
+{#fun cegui_wnd_isInFront as isInFront 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function isBehind -}
+{#fun cegui_wnd_isBehind as isBehind 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getCaptureWindow -}
+{#fun cegui_wnd_getCaptureWindow as getCaptureWindow 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassWindow.hs b/HGamer3D/Bindings/CEGUI/ClassWindow.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassWindow.hs
+++ /dev/null
@@ -1,1953 +0,0 @@
--- 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\\ClassWindow.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.
--- 
-
-
--- ClassWindow.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassWindow 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\\ClassWindow.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-import HGamer3D.Bindings.CEGUI.EnumVerticalAlignment
-{-# LINE 43 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-import HGamer3D.Bindings.CEGUI.EnumHorizontalAlignment
-{-# LINE 44 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-import HGamer3D.Bindings.CEGUI.EnumWindowUpdateMode
-{-# LINE 45 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function Window -}
-new :: String -> String -> IO (HG3DClass)
-new a1 a2 =
-  withCString a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  new'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 52 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function ~Window -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 56 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getType -}
-getType :: HG3DClass -> IO (String)
-getType a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getType'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 61 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getName -}
-getName :: HG3DClass -> IO (String)
-getName a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getName'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 66 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isDestroyedByParent -}
-isDestroyedByParent :: HG3DClass -> IO (Bool)
-isDestroyedByParent a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isDestroyedByParent'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 71 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isAlwaysOnTop -}
-isAlwaysOnTop :: HG3DClass -> IO (Bool)
-isAlwaysOnTop a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isAlwaysOnTop'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 76 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isDisabled -}
-isDisabled :: HG3DClass -> Bool -> IO (Bool)
-isDisabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  alloca $ \a3' -> 
-  isDisabled'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 82 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isVisible -}
-isVisible :: HG3DClass -> Bool -> IO (Bool)
-isVisible a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  alloca $ \a3' -> 
-  isVisible'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 88 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isActive -}
-isActive :: HG3DClass -> IO (Bool)
-isActive a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isActive'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 93 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isClippedByParent -}
-isClippedByParent :: HG3DClass -> IO (Bool)
-isClippedByParent a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isClippedByParent'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 98 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getID -}
-getID :: HG3DClass -> IO (Int)
-getID a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getID'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 103 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getChildCount -}
-getChildCount :: HG3DClass -> IO (Int)
-getChildCount a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getChildCount'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 108 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isChild -}
-isChild :: HG3DClass -> String -> IO (Bool)
-isChild a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isChild'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 114 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isChild2 -}
-isChild2 :: HG3DClass -> Int -> IO (Bool)
-isChild2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  isChild2'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 120 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isChildRecursive -}
-isChildRecursive :: HG3DClass -> Int -> IO (Bool)
-isChildRecursive a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  isChildRecursive'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 126 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isChild3 -}
-isChild3 :: HG3DClass -> HG3DClass -> IO (Bool)
-isChild3 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isChild3'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 132 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getChild -}
-getChild :: HG3DClass -> String -> IO (HG3DClass)
-getChild a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getChild'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 138 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getChild2 -}
-getChild2 :: HG3DClass -> Int -> IO (HG3DClass)
-getChild2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getChild2'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 144 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getChildRecursive -}
-getChildRecursive :: HG3DClass -> String -> IO (HG3DClass)
-getChildRecursive a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getChildRecursive'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 150 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getChildRecursive2 -}
-getChildRecursive2 :: HG3DClass -> Int -> IO (HG3DClass)
-getChildRecursive2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getChildRecursive2'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 156 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getChildAtIdx -}
-getChildAtIdx :: HG3DClass -> Int -> IO (HG3DClass)
-getChildAtIdx a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  getChildAtIdx'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 162 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getActiveChild -}
-getActiveChild :: HG3DClass -> IO (HG3DClass)
-getActiveChild a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getActiveChild'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 167 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getActiveChild2 -}
-getActiveChild2 :: HG3DClass -> IO (HG3DClass)
-getActiveChild2 a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getActiveChild2'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 172 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isAncestor -}
-isAncestor :: HG3DClass -> String -> IO (Bool)
-isAncestor a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isAncestor'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 178 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isAncestor2 -}
-isAncestor2 :: HG3DClass -> Int -> IO (Bool)
-isAncestor2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  alloca $ \a3' -> 
-  isAncestor2'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 184 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isAncestor3 -}
-isAncestor3 :: HG3DClass -> HG3DClass -> IO (Bool)
-isAncestor3 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isAncestor3'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 190 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getFont -}
-getFont :: HG3DClass -> Bool -> IO (HG3DClass)
-getFont a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  alloca $ \a3' -> 
-  getFont'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 196 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getText -}
-getText :: HG3DClass -> IO (String)
-getText a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getText'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 201 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getTextVisual -}
-getTextVisual :: HG3DClass -> IO (String)
-getTextVisual a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getTextVisual'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 206 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function inheritsAlpha -}
-inheritsAlpha :: HG3DClass -> IO (Bool)
-inheritsAlpha a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  inheritsAlpha'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 211 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getAlpha -}
-getAlpha :: HG3DClass -> IO (Float)
-getAlpha a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getAlpha'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 216 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getEffectiveAlpha -}
-getEffectiveAlpha :: HG3DClass -> IO (Float)
-getEffectiveAlpha a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getEffectiveAlpha'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 221 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isCapturedByThis -}
-isCapturedByThis :: HG3DClass -> IO (Bool)
-isCapturedByThis a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isCapturedByThis'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 226 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isCapturedByAncestor -}
-isCapturedByAncestor :: HG3DClass -> IO (Bool)
-isCapturedByAncestor a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isCapturedByAncestor'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 231 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isCapturedByChild -}
-isCapturedByChild :: HG3DClass -> IO (Bool)
-isCapturedByChild a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isCapturedByChild'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 236 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getParent -}
-getParent :: HG3DClass -> IO (HG3DClass)
-getParent a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getParent'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 241 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function restoresOldCapture -}
-restoresOldCapture :: HG3DClass -> IO (Bool)
-restoresOldCapture a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  restoresOldCapture'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 246 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isZOrderingEnabled -}
-isZOrderingEnabled :: HG3DClass -> IO (Bool)
-isZOrderingEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isZOrderingEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 251 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function wantsMultiClickEvents -}
-wantsMultiClickEvents :: HG3DClass -> IO (Bool)
-wantsMultiClickEvents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  wantsMultiClickEvents'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 256 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isMouseAutoRepeatEnabled -}
-isMouseAutoRepeatEnabled :: HG3DClass -> IO (Bool)
-isMouseAutoRepeatEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isMouseAutoRepeatEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 261 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getAutoRepeatDelay -}
-getAutoRepeatDelay :: HG3DClass -> IO (Float)
-getAutoRepeatDelay a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getAutoRepeatDelay'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 266 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getAutoRepeatRate -}
-getAutoRepeatRate :: HG3DClass -> IO (Float)
-getAutoRepeatRate a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getAutoRepeatRate'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 271 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function distributesCapturedInputs -}
-distributesCapturedInputs :: HG3DClass -> IO (Bool)
-distributesCapturedInputs a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  distributesCapturedInputs'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 276 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isUsingDefaultTooltip -}
-isUsingDefaultTooltip :: HG3DClass -> IO (Bool)
-isUsingDefaultTooltip a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isUsingDefaultTooltip'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 281 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getTooltip -}
-getTooltip :: HG3DClass -> IO (HG3DClass)
-getTooltip a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getTooltip'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 286 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getTooltipType -}
-getTooltipType :: HG3DClass -> IO (String)
-getTooltipType a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getTooltipType'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 291 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getTooltipText -}
-getTooltipText :: HG3DClass -> IO (String)
-getTooltipText a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getTooltipText'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 296 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function inheritsTooltipText -}
-inheritsTooltipText :: HG3DClass -> IO (Bool)
-inheritsTooltipText a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  inheritsTooltipText'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 301 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isRiseOnClickEnabled -}
-isRiseOnClickEnabled :: HG3DClass -> IO (Bool)
-isRiseOnClickEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isRiseOnClickEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 306 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function testClassName -}
-testClassName :: HG3DClass -> String -> IO (Bool)
-testClassName a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  testClassName'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 312 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getVerticalAlignment -}
-getVerticalAlignment :: HG3DClass -> IO (EnumVerticalAlignment)
-getVerticalAlignment a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getVerticalAlignment'_ a1' a2' >>= \res ->
-  peekEnumUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 317 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getHorizontalAlignment -}
-getHorizontalAlignment :: HG3DClass -> IO (EnumHorizontalAlignment)
-getHorizontalAlignment a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getHorizontalAlignment'_ a1' a2' >>= \res ->
-  peekEnumUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 322 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getLookNFeel -}
-getLookNFeel :: HG3DClass -> IO (String)
-getLookNFeel a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getLookNFeel'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 327 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getModalState -}
-getModalState :: HG3DClass -> IO (Bool)
-getModalState a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getModalState'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 332 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getUserString -}
-getUserString :: HG3DClass -> String -> IO (String)
-getUserString a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloc64k $ \a3' -> 
-  getUserString'_ a1' a2' a3' >>= \res ->
-  peekCString  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 338 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isUserStringDefined -}
-isUserStringDefined :: HG3DClass -> String -> IO (Bool)
-isUserStringDefined a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isUserStringDefined'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 344 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getActiveSibling -}
-getActiveSibling :: HG3DClass -> IO (HG3DClass)
-getActiveSibling a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getActiveSibling'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 349 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getParentPixelWidth -}
-getParentPixelWidth :: HG3DClass -> IO (Float)
-getParentPixelWidth a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getParentPixelWidth'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 354 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getParentPixelHeight -}
-getParentPixelHeight :: HG3DClass -> IO (Float)
-getParentPixelHeight a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getParentPixelHeight'_ a1' a2' >>= \res ->
-  peekFloatConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 359 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isMousePassThroughEnabled -}
-isMousePassThroughEnabled :: HG3DClass -> IO (Bool)
-isMousePassThroughEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isMousePassThroughEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 364 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isAutoWindow -}
-isAutoWindow :: HG3DClass -> IO (Bool)
-isAutoWindow a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isAutoWindow'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 369 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isWritingXMLAllowed -}
-isWritingXMLAllowed :: HG3DClass -> IO (Bool)
-isWritingXMLAllowed a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isWritingXMLAllowed'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 374 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isDragDropTarget -}
-isDragDropTarget :: HG3DClass -> IO (Bool)
-isDragDropTarget a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isDragDropTarget'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 379 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isUsingAutoRenderingSurface -}
-isUsingAutoRenderingSurface :: HG3DClass -> IO (Bool)
-isUsingAutoRenderingSurface a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isUsingAutoRenderingSurface'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 384 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getRootWindow -}
-getRootWindow :: HG3DClass -> IO (HG3DClass)
-getRootWindow a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getRootWindow'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 389 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getRootWindow2 -}
-getRootWindow2 :: HG3DClass -> IO (HG3DClass)
-getRootWindow2 a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getRootWindow2'_ a1' a2' >>= \res ->
-  peek  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 394 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isNonClientWindow -}
-isNonClientWindow :: HG3DClass -> IO (Bool)
-isNonClientWindow a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isNonClientWindow'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 399 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function rename -}
-rename :: HG3DClass -> String -> IO ()
-rename a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  rename'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 404 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function initialiseComponents -}
-initialiseComponents :: HG3DClass -> IO ()
-initialiseComponents a1 =
-  withHG3DClass a1 $ \a1' -> 
-  initialiseComponents'_ a1' >>= \res ->
-  return ()
-{-# LINE 408 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setDestroyedByParent -}
-setDestroyedByParent :: HG3DClass -> Bool -> IO ()
-setDestroyedByParent a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setDestroyedByParent'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 413 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setAlwaysOnTop -}
-setAlwaysOnTop :: HG3DClass -> Bool -> IO ()
-setAlwaysOnTop a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setAlwaysOnTop'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 418 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setEnabled -}
-setEnabled :: HG3DClass -> Bool -> IO ()
-setEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 423 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function enable -}
-enable :: HG3DClass -> IO ()
-enable a1 =
-  withHG3DClass a1 $ \a1' -> 
-  enable'_ a1' >>= \res ->
-  return ()
-{-# LINE 427 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function disable -}
-disable :: HG3DClass -> IO ()
-disable a1 =
-  withHG3DClass a1 $ \a1' -> 
-  disable'_ a1' >>= \res ->
-  return ()
-{-# LINE 431 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setVisible -}
-setVisible :: HG3DClass -> Bool -> IO ()
-setVisible a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setVisible'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 436 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function show -}
-show :: HG3DClass -> IO ()
-show a1 =
-  withHG3DClass a1 $ \a1' -> 
-  show'_ a1' >>= \res ->
-  return ()
-{-# LINE 440 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function hide -}
-hide :: HG3DClass -> IO ()
-hide a1 =
-  withHG3DClass a1 $ \a1' -> 
-  hide'_ a1' >>= \res ->
-  return ()
-{-# LINE 444 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function activate -}
-activate :: HG3DClass -> IO ()
-activate a1 =
-  withHG3DClass a1 $ \a1' -> 
-  activate'_ a1' >>= \res ->
-  return ()
-{-# LINE 448 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function deactivate -}
-deactivate :: HG3DClass -> IO ()
-deactivate a1 =
-  withHG3DClass a1 $ \a1' -> 
-  deactivate'_ a1' >>= \res ->
-  return ()
-{-# LINE 452 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setClippedByParent -}
-setClippedByParent :: HG3DClass -> Bool -> IO ()
-setClippedByParent a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setClippedByParent'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 457 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setID -}
-setID :: HG3DClass -> Int -> IO ()
-setID a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  setID'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 462 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setText -}
-setText :: HG3DClass -> String -> IO ()
-setText a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setText'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 467 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function appendText -}
-appendText :: HG3DClass -> String -> IO ()
-appendText a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  appendText'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 472 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setFont -}
-setFont :: HG3DClass -> HG3DClass -> IO ()
-setFont a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  setFont'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 477 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setFont2 -}
-setFont2 :: HG3DClass -> String -> IO ()
-setFont2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setFont2'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 482 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function addChildWindow -}
-addChildWindow :: HG3DClass -> String -> IO ()
-addChildWindow a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  addChildWindow'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 487 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function addChildWindow2 -}
-addChildWindow2 :: HG3DClass -> HG3DClass -> IO ()
-addChildWindow2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  addChildWindow2'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 492 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function removeChildWindow -}
-removeChildWindow :: HG3DClass -> String -> IO ()
-removeChildWindow a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  removeChildWindow'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 497 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function removeChildWindow2 -}
-removeChildWindow2 :: HG3DClass -> HG3DClass -> IO ()
-removeChildWindow2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  removeChildWindow2'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 502 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function removeChildWindow3 -}
-removeChildWindow3 :: HG3DClass -> Int -> IO ()
-removeChildWindow3 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromIntegral a2} in 
-  removeChildWindow3'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 507 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function moveToFront -}
-moveToFront :: HG3DClass -> IO ()
-moveToFront a1 =
-  withHG3DClass a1 $ \a1' -> 
-  moveToFront'_ a1' >>= \res ->
-  return ()
-{-# LINE 511 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function moveToBack -}
-moveToBack :: HG3DClass -> IO ()
-moveToBack a1 =
-  withHG3DClass a1 $ \a1' -> 
-  moveToBack'_ a1' >>= \res ->
-  return ()
-{-# LINE 515 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function captureInput -}
-captureInput :: HG3DClass -> IO (Bool)
-captureInput a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  captureInput'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 520 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function releaseInput -}
-releaseInput :: HG3DClass -> IO ()
-releaseInput a1 =
-  withHG3DClass a1 $ \a1' -> 
-  releaseInput'_ a1' >>= \res ->
-  return ()
-{-# LINE 524 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setRestoreCapture -}
-setRestoreCapture :: HG3DClass -> Bool -> IO ()
-setRestoreCapture a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setRestoreCapture'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 529 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setAlpha -}
-setAlpha :: HG3DClass -> Float -> IO ()
-setAlpha a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setAlpha'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 534 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setInheritsAlpha -}
-setInheritsAlpha :: HG3DClass -> Bool -> IO ()
-setInheritsAlpha a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setInheritsAlpha'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 539 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function invalidate -}
-invalidate :: HG3DClass -> IO ()
-invalidate a1 =
-  withHG3DClass a1 $ \a1' -> 
-  invalidate'_ a1' >>= \res ->
-  return ()
-{-# LINE 543 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function invalidate2 -}
-invalidate2 :: HG3DClass -> Bool -> IO ()
-invalidate2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  invalidate2'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 548 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setMouseCursor3 -}
-setMouseCursor3 :: HG3DClass -> String -> String -> IO ()
-setMouseCursor3 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  setMouseCursor3'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 554 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setZOrderingEnabled -}
-setZOrderingEnabled :: HG3DClass -> Bool -> IO ()
-setZOrderingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setZOrderingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 559 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setWantsMultiClickEvents -}
-setWantsMultiClickEvents :: HG3DClass -> Bool -> IO ()
-setWantsMultiClickEvents a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setWantsMultiClickEvents'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 564 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setMouseAutoRepeatEnabled -}
-setMouseAutoRepeatEnabled :: HG3DClass -> Bool -> IO ()
-setMouseAutoRepeatEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setMouseAutoRepeatEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 569 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setAutoRepeatDelay -}
-setAutoRepeatDelay :: HG3DClass -> Float -> IO ()
-setAutoRepeatDelay a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setAutoRepeatDelay'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 574 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setAutoRepeatRate -}
-setAutoRepeatRate :: HG3DClass -> Float -> IO ()
-setAutoRepeatRate a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  setAutoRepeatRate'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 579 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setDistributesCapturedInputs -}
-setDistributesCapturedInputs :: HG3DClass -> Bool -> IO ()
-setDistributesCapturedInputs a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setDistributesCapturedInputs'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 584 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function notifyDragDropItemEnters -}
-notifyDragDropItemEnters :: HG3DClass -> HG3DClass -> IO ()
-notifyDragDropItemEnters a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  notifyDragDropItemEnters'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 589 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function notifyDragDropItemLeaves -}
-notifyDragDropItemLeaves :: HG3DClass -> HG3DClass -> IO ()
-notifyDragDropItemLeaves a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  notifyDragDropItemLeaves'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 594 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function notifyDragDropItemDropped -}
-notifyDragDropItemDropped :: HG3DClass -> HG3DClass -> IO ()
-notifyDragDropItemDropped a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  notifyDragDropItemDropped'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 599 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function destroy -}
-destroy :: HG3DClass -> IO ()
-destroy a1 =
-  withHG3DClass a1 $ \a1' -> 
-  destroy'_ a1' >>= \res ->
-  return ()
-{-# LINE 603 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setTooltip -}
-setTooltip :: HG3DClass -> HG3DClass -> IO ()
-setTooltip a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  setTooltip'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 608 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setTooltipType -}
-setTooltipType :: HG3DClass -> String -> IO ()
-setTooltipType a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setTooltipType'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 613 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setTooltipText -}
-setTooltipText :: HG3DClass -> String -> IO ()
-setTooltipText a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setTooltipText'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 618 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setInheritsTooltipText -}
-setInheritsTooltipText :: HG3DClass -> Bool -> IO ()
-setInheritsTooltipText a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setInheritsTooltipText'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 623 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setRiseOnClickEnabled -}
-setRiseOnClickEnabled :: HG3DClass -> Bool -> IO ()
-setRiseOnClickEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setRiseOnClickEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 628 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setVerticalAlignment -}
-setVerticalAlignment :: HG3DClass -> EnumVerticalAlignment -> IO ()
-setVerticalAlignment a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = cIntFromEnum a2} in 
-  setVerticalAlignment'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 633 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setHorizontalAlignment -}
-setHorizontalAlignment :: HG3DClass -> EnumHorizontalAlignment -> IO ()
-setHorizontalAlignment a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = cIntFromEnum a2} in 
-  setHorizontalAlignment'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 638 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setLookNFeel -}
-setLookNFeel :: HG3DClass -> String -> IO ()
-setLookNFeel a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setLookNFeel'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 643 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setModalState -}
-setModalState :: HG3DClass -> Bool -> IO ()
-setModalState a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setModalState'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 648 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function performChildWindowLayout -}
-performChildWindowLayout :: HG3DClass -> IO ()
-performChildWindowLayout a1 =
-  withHG3DClass a1 $ \a1' -> 
-  performChildWindowLayout'_ a1' >>= \res ->
-  return ()
-{-# LINE 652 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setUserString -}
-setUserString :: HG3DClass -> String -> String -> IO ()
-setUserString a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  setUserString'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 658 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function render -}
-render :: HG3DClass -> IO ()
-render a1 =
-  withHG3DClass a1 $ \a1' -> 
-  render'_ a1' >>= \res ->
-  return ()
-{-# LINE 662 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function update -}
-update :: HG3DClass -> Float -> IO ()
-update a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = realToFrac a2} in 
-  update'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 667 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function beginInitialisation -}
-beginInitialisation :: HG3DClass -> IO ()
-beginInitialisation a1 =
-  withHG3DClass a1 $ \a1' -> 
-  beginInitialisation'_ a1' >>= \res ->
-  return ()
-{-# LINE 671 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function endInitialisation -}
-endInitialisation :: HG3DClass -> IO ()
-endInitialisation a1 =
-  withHG3DClass a1 $ \a1' -> 
-  endInitialisation'_ a1' >>= \res ->
-  return ()
-{-# LINE 675 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setMousePassThroughEnabled -}
-setMousePassThroughEnabled :: HG3DClass -> Bool -> IO ()
-setMousePassThroughEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setMousePassThroughEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 680 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setWindowRenderer -}
-setWindowRenderer :: HG3DClass -> String -> IO ()
-setWindowRenderer a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  setWindowRenderer'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 685 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getWindowRendererName -}
-getWindowRendererName :: HG3DClass -> IO (String)
-getWindowRendererName a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getWindowRendererName'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 690 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setWritingXMLAllowed -}
-setWritingXMLAllowed :: HG3DClass -> Bool -> IO ()
-setWritingXMLAllowed a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setWritingXMLAllowed'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 695 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function notifyScreenAreaChanged -}
-notifyScreenAreaChanged :: HG3DClass -> Bool -> IO ()
-notifyScreenAreaChanged a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  notifyScreenAreaChanged'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 700 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setFalagardType -}
-setFalagardType :: HG3DClass -> String -> String -> IO ()
-setFalagardType a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  setFalagardType'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 706 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setDragDropTarget -}
-setDragDropTarget :: HG3DClass -> Bool -> IO ()
-setDragDropTarget a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setDragDropTarget'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 711 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function invalidateRenderingSurface -}
-invalidateRenderingSurface :: HG3DClass -> IO ()
-invalidateRenderingSurface a1 =
-  withHG3DClass a1 $ \a1' -> 
-  invalidateRenderingSurface'_ a1' >>= \res ->
-  return ()
-{-# LINE 715 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setUsingAutoRenderingSurface -}
-setUsingAutoRenderingSurface :: HG3DClass -> Bool -> IO ()
-setUsingAutoRenderingSurface a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setUsingAutoRenderingSurface'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 720 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setNonClientWindow -}
-setNonClientWindow :: HG3DClass -> Bool -> IO ()
-setNonClientWindow a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setNonClientWindow'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 725 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isTextParsingEnabled -}
-isTextParsingEnabled :: HG3DClass -> IO (Bool)
-isTextParsingEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isTextParsingEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 730 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setTextParsingEnabled -}
-setTextParsingEnabled :: HG3DClass -> Bool -> IO ()
-setTextParsingEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setTextParsingEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 735 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function banPropertyFromXML -}
-banPropertyFromXML :: HG3DClass -> String -> IO ()
-banPropertyFromXML a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  banPropertyFromXML'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 740 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function unbanPropertyFromXML -}
-unbanPropertyFromXML :: HG3DClass -> String -> IO ()
-unbanPropertyFromXML a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  unbanPropertyFromXML'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 745 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isPropertyBannedFromXML -}
-isPropertyBannedFromXML :: HG3DClass -> String -> IO (Bool)
-isPropertyBannedFromXML a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isPropertyBannedFromXML'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 751 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setUpdateMode -}
-setUpdateMode :: HG3DClass -> EnumWindowUpdateMode -> IO ()
-setUpdateMode a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = cIntFromEnum a2} in 
-  setUpdateMode'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 756 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getUpdateMode -}
-getUpdateMode :: HG3DClass -> IO (EnumWindowUpdateMode)
-getUpdateMode a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getUpdateMode'_ a1' a2' >>= \res ->
-  peekEnumUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 761 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function setMouseInputPropagationEnabled -}
-setMouseInputPropagationEnabled :: HG3DClass -> Bool -> IO ()
-setMouseInputPropagationEnabled a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  setMouseInputPropagationEnabled'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 766 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isMouseInputPropagationEnabled -}
-isMouseInputPropagationEnabled :: HG3DClass -> IO (Bool)
-isMouseInputPropagationEnabled a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isMouseInputPropagationEnabled'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 771 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function clone -}
-clone :: HG3DClass -> String -> Bool -> IO (HG3DClass)
-clone a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  let {a3' = fromBool a3} in 
-  alloca $ \a4' -> 
-  clone'_ a1' a2' a3' a4' >>= \res ->
-  peek  a4'>>= \a4'' -> 
-  return (a4'')
-{-# LINE 778 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function clonePropertiesTo -}
-clonePropertiesTo :: HG3DClass -> HG3DClass -> IO ()
-clonePropertiesTo a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  clonePropertiesTo'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 783 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function cloneChildWidgetsTo -}
-cloneChildWidgetsTo :: HG3DClass -> HG3DClass -> IO ()
-cloneChildWidgetsTo a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  cloneChildWidgetsTo'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 788 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getZIndex -}
-getZIndex :: HG3DClass -> IO (Int)
-getZIndex a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  getZIndex'_ a1' a2' >>= \res ->
-  peekIntConv  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 793 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isInFront -}
-isInFront :: HG3DClass -> HG3DClass -> IO (Bool)
-isInFront a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isInFront'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 799 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function isBehind -}
-isBehind :: HG3DClass -> HG3DClass -> IO (Bool)
-isBehind a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isBehind'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 805 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-{- function getCaptureWindow -}
-getCaptureWindow :: IO (HG3DClass)
-getCaptureWindow =
-  alloca $ \a1' -> 
-  getCaptureWindow'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 809 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_construct"
-  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getType"
-  getType'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getName"
-  getName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isDestroyedByParent"
-  isDestroyedByParent'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isAlwaysOnTop"
-  isAlwaysOnTop'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isDisabled"
-  isDisabled'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isVisible"
-  isVisible'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isActive"
-  isActive'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isClippedByParent"
-  isClippedByParent'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getID"
-  getID'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getChildCount"
-  getChildCount'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isChild"
-  isChild'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isChild2"
-  isChild2'_ :: ((HG3DClassPtr) -> (CUInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isChildRecursive"
-  isChildRecursive'_ :: ((HG3DClassPtr) -> (CUInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isChild3"
-  isChild3'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getChild"
-  getChild'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getChild2"
-  getChild2'_ :: ((HG3DClassPtr) -> (CUInt -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getChildRecursive"
-  getChildRecursive'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getChildRecursive2"
-  getChildRecursive2'_ :: ((HG3DClassPtr) -> (CUInt -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getChildAtIdx"
-  getChildAtIdx'_ :: ((HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getActiveChild"
-  getActiveChild'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getActiveChild2"
-  getActiveChild2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isAncestor"
-  isAncestor'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isAncestor2"
-  isAncestor2'_ :: ((HG3DClassPtr) -> (CUInt -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isAncestor3"
-  isAncestor3'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getFont"
-  getFont'_ :: ((HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getText"
-  getText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getTextVisual"
-  getTextVisual'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_inheritsAlpha"
-  inheritsAlpha'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getAlpha"
-  getAlpha'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getEffectiveAlpha"
-  getEffectiveAlpha'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isCapturedByThis"
-  isCapturedByThis'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isCapturedByAncestor"
-  isCapturedByAncestor'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isCapturedByChild"
-  isCapturedByChild'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getParent"
-  getParent'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_restoresOldCapture"
-  restoresOldCapture'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isZOrderingEnabled"
-  isZOrderingEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_wantsMultiClickEvents"
-  wantsMultiClickEvents'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isMouseAutoRepeatEnabled"
-  isMouseAutoRepeatEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getAutoRepeatDelay"
-  getAutoRepeatDelay'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getAutoRepeatRate"
-  getAutoRepeatRate'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_distributesCapturedInputs"
-  distributesCapturedInputs'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isUsingDefaultTooltip"
-  isUsingDefaultTooltip'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getTooltip"
-  getTooltip'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getTooltipType"
-  getTooltipType'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getTooltipText"
-  getTooltipText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_inheritsTooltipText"
-  inheritsTooltipText'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isRiseOnClickEnabled"
-  isRiseOnClickEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_testClassName"
-  testClassName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getVerticalAlignment"
-  getVerticalAlignment'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getHorizontalAlignment"
-  getHorizontalAlignment'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getLookNFeel"
-  getLookNFeel'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getModalState"
-  getModalState'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getUserString"
-  getUserString'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isUserStringDefined"
-  isUserStringDefined'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getActiveSibling"
-  getActiveSibling'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getParentPixelWidth"
-  getParentPixelWidth'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getParentPixelHeight"
-  getParentPixelHeight'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isMousePassThroughEnabled"
-  isMousePassThroughEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isAutoWindow"
-  isAutoWindow'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isWritingXMLAllowed"
-  isWritingXMLAllowed'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isDragDropTarget"
-  isDragDropTarget'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isUsingAutoRenderingSurface"
-  isUsingAutoRenderingSurface'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getRootWindow"
-  getRootWindow'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getRootWindow2"
-  getRootWindow2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isNonClientWindow"
-  isNonClientWindow'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_rename"
-  rename'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_initialiseComponents"
-  initialiseComponents'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setDestroyedByParent"
-  setDestroyedByParent'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setAlwaysOnTop"
-  setAlwaysOnTop'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setEnabled"
-  setEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_enable"
-  enable'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_disable"
-  disable'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setVisible"
-  setVisible'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_show"
-  show'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_hide"
-  hide'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_activate"
-  activate'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_deactivate"
-  deactivate'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setClippedByParent"
-  setClippedByParent'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setID"
-  setID'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setText"
-  setText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_appendText"
-  appendText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setFont"
-  setFont'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setFont2"
-  setFont2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_addChildWindow"
-  addChildWindow'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_addChildWindow2"
-  addChildWindow2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_removeChildWindow"
-  removeChildWindow'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_removeChildWindow2"
-  removeChildWindow2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_removeChildWindow3"
-  removeChildWindow3'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_moveToFront"
-  moveToFront'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_moveToBack"
-  moveToBack'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_captureInput"
-  captureInput'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_releaseInput"
-  releaseInput'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setRestoreCapture"
-  setRestoreCapture'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setAlpha"
-  setAlpha'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setInheritsAlpha"
-  setInheritsAlpha'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_invalidate"
-  invalidate'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_invalidate2"
-  invalidate2'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setMouseCursor3"
-  setMouseCursor3'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setZOrderingEnabled"
-  setZOrderingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setWantsMultiClickEvents"
-  setWantsMultiClickEvents'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setMouseAutoRepeatEnabled"
-  setMouseAutoRepeatEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setAutoRepeatDelay"
-  setAutoRepeatDelay'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setAutoRepeatRate"
-  setAutoRepeatRate'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setDistributesCapturedInputs"
-  setDistributesCapturedInputs'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_notifyDragDropItemEnters"
-  notifyDragDropItemEnters'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_notifyDragDropItemLeaves"
-  notifyDragDropItemLeaves'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_notifyDragDropItemDropped"
-  notifyDragDropItemDropped'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_destroy"
-  destroy'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setTooltip"
-  setTooltip'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setTooltipType"
-  setTooltipType'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setTooltipText"
-  setTooltipText'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setInheritsTooltipText"
-  setInheritsTooltipText'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setRiseOnClickEnabled"
-  setRiseOnClickEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setVerticalAlignment"
-  setVerticalAlignment'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setHorizontalAlignment"
-  setHorizontalAlignment'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setLookNFeel"
-  setLookNFeel'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setModalState"
-  setModalState'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_performChildWindowLayout"
-  performChildWindowLayout'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setUserString"
-  setUserString'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_render"
-  render'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_update"
-  update'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_beginInitialisation"
-  beginInitialisation'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_endInitialisation"
-  endInitialisation'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setMousePassThroughEnabled"
-  setMousePassThroughEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setWindowRenderer"
-  setWindowRenderer'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getWindowRendererName"
-  getWindowRendererName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setWritingXMLAllowed"
-  setWritingXMLAllowed'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_notifyScreenAreaChanged"
-  notifyScreenAreaChanged'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setFalagardType"
-  setFalagardType'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setDragDropTarget"
-  setDragDropTarget'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_invalidateRenderingSurface"
-  invalidateRenderingSurface'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setUsingAutoRenderingSurface"
-  setUsingAutoRenderingSurface'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setNonClientWindow"
-  setNonClientWindow'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isTextParsingEnabled"
-  isTextParsingEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setTextParsingEnabled"
-  setTextParsingEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_banPropertyFromXML"
-  banPropertyFromXML'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_unbanPropertyFromXML"
-  unbanPropertyFromXML'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isPropertyBannedFromXML"
-  isPropertyBannedFromXML'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setUpdateMode"
-  setUpdateMode'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getUpdateMode"
-  getUpdateMode'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_setMouseInputPropagationEnabled"
-  setMouseInputPropagationEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isMouseInputPropagationEnabled"
-  isMouseInputPropagationEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_clone"
-  clone'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> ((HG3DClassPtr) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_clonePropertiesTo"
-  clonePropertiesTo'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_cloneChildWidgetsTo"
-  cloneChildWidgetsTo'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getZIndex"
-  getZIndex'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isInFront"
-  isInFront'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_isBehind"
-  isBehind'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindow.chs.h cegui_wnd_getCaptureWindow"
-  getCaptureWindow'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassWindowManager.chs b/HGamer3D/Bindings/CEGUI/ClassWindowManager.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassWindowManager.chs
@@ -0,0 +1,140 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassWindowManager.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassWindowManager 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassWindowManager.h"
+{- function WindowManager -}
+{#fun cegui_wmgr_construct as new 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~WindowManager -}
+{#fun cegui_wmgr_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function createWindow -}
+{#fun cegui_wmgr_createWindow as createWindow 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function destroyWindow -}
+{#fun cegui_wmgr_destroyWindow as destroyWindow 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function destroyWindow2 -}
+{#fun cegui_wmgr_destroyWindow2 as destroyWindow2 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function getWindow -}
+{#fun cegui_wmgr_getWindow as getWindow 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function isWindowPresent -}
+{#fun cegui_wmgr_isWindowPresent as isWindowPresent 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function destroyAllWindows -}
+{#fun cegui_wmgr_destroyAllWindows as destroyAllWindows 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function isDeadPoolEmpty -}
+{#fun cegui_wmgr_isDeadPoolEmpty as isDeadPoolEmpty 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function cleanDeadPool -}
+{#fun cegui_wmgr_cleanDeadPool as cleanDeadPool 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function saveWindowLayout -}
+{#fun cegui_wmgr_saveWindowLayout as saveWindowLayout 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function saveWindowLayout2 -}
+{#fun cegui_wmgr_saveWindowLayout2 as saveWindowLayout2 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ fromBool `Bool' } -> `()'  #}
+
+{- function renameWindow -}
+{#fun cegui_wmgr_renameWindow as renameWindow 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' } -> `()'  #}
+
+{- function renameWindow2 -}
+{#fun cegui_wmgr_renameWindow2 as renameWindow2 
+{ withHG3DClass* `HG3DClass' ,
+ withHG3DClass* `HG3DClass' ,
+ withCString* `String' } -> `()'  #}
+
+{- function lock -}
+{#fun cegui_wmgr_lock as lock 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function unlock -}
+{#fun cegui_wmgr_unlock as unlock 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function isLocked -}
+{#fun cegui_wmgr_isLocked as isLocked 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function getDefaultResourceGroup -}
+{#fun cegui_wmgr_getDefaultResourceGroup as getDefaultResourceGroup 
+{ alloc64k- `String' peekCString*} -> `()'  #}
+
+{- function setDefaultResourceGroup -}
+{#fun cegui_wmgr_setDefaultResourceGroup as setDefaultResourceGroup 
+{ withCString* `String' } -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassWindowManager.hs b/HGamer3D/Bindings/CEGUI/ClassWindowManager.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassWindowManager.hs
+++ /dev/null
@@ -1,287 +0,0 @@
--- 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\\ClassWindowManager.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.
--- 
-
-
--- ClassWindowManager.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassWindowManager 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\\ClassWindowManager.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function WindowManager -}
-new :: IO (HG3DClass)
-new =
-  alloca $ \a1' -> 
-  new'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function ~WindowManager -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 51 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function createWindow -}
-createWindow :: HG3DClass -> String -> String -> IO (HG3DClass)
-createWindow a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  alloca $ \a4' -> 
-  createWindow'_ a1' a2' a3' a4' >>= \res ->
-  peek  a4'>>= \a4'' -> 
-  return (a4'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function destroyWindow -}
-destroyWindow :: HG3DClass -> HG3DClass -> IO ()
-destroyWindow a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  destroyWindow'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function destroyWindow2 -}
-destroyWindow2 :: HG3DClass -> String -> IO ()
-destroyWindow2 a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  destroyWindow2'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function getWindow -}
-getWindow :: HG3DClass -> String -> IO (HG3DClass)
-getWindow a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  getWindow'_ a1' a2' a3' >>= \res ->
-  peek  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 74 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function isWindowPresent -}
-isWindowPresent :: HG3DClass -> String -> IO (Bool)
-isWindowPresent a1 a2 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  alloca $ \a3' -> 
-  isWindowPresent'_ a1' a2' a3' >>= \res ->
-  peekBoolUtil  a3'>>= \a3'' -> 
-  return (a3'')
-{-# LINE 80 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function destroyAllWindows -}
-destroyAllWindows :: HG3DClass -> IO ()
-destroyAllWindows a1 =
-  withHG3DClass a1 $ \a1' -> 
-  destroyAllWindows'_ a1' >>= \res ->
-  return ()
-{-# LINE 84 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function isDeadPoolEmpty -}
-isDeadPoolEmpty :: HG3DClass -> IO (Bool)
-isDeadPoolEmpty a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isDeadPoolEmpty'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 89 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function cleanDeadPool -}
-cleanDeadPool :: HG3DClass -> IO ()
-cleanDeadPool a1 =
-  withHG3DClass a1 $ \a1' -> 
-  cleanDeadPool'_ a1' >>= \res ->
-  return ()
-{-# LINE 93 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function saveWindowLayout -}
-saveWindowLayout :: HG3DClass -> String -> String -> Bool -> IO ()
-saveWindowLayout a1 a2 a3 a4 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  let {a4' = fromBool a4} in 
-  saveWindowLayout'_ a1' a2' a3' a4' >>= \res ->
-  return ()
-{-# LINE 100 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function saveWindowLayout2 -}
-saveWindowLayout2 :: HG3DClass -> HG3DClass -> String -> Bool -> IO ()
-saveWindowLayout2 a1 a2 a3 a4 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  let {a4' = fromBool a4} in 
-  saveWindowLayout2'_ a1' a2' a3' a4' >>= \res ->
-  return ()
-{-# LINE 107 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function renameWindow -}
-renameWindow :: HG3DClass -> String -> String -> IO ()
-renameWindow a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  renameWindow'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 113 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function renameWindow2 -}
-renameWindow2 :: HG3DClass -> HG3DClass -> String -> IO ()
-renameWindow2 a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withHG3DClass a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  renameWindow2'_ a1' a2' a3' >>= \res ->
-  return ()
-{-# LINE 119 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function lock -}
-lock :: HG3DClass -> IO ()
-lock a1 =
-  withHG3DClass a1 $ \a1' -> 
-  lock'_ a1' >>= \res ->
-  return ()
-{-# LINE 123 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function unlock -}
-unlock :: HG3DClass -> IO ()
-unlock a1 =
-  withHG3DClass a1 $ \a1' -> 
-  unlock'_ a1' >>= \res ->
-  return ()
-{-# LINE 127 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function isLocked -}
-isLocked :: HG3DClass -> IO (Bool)
-isLocked a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  isLocked'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 132 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function getDefaultResourceGroup -}
-getDefaultResourceGroup :: IO (String)
-getDefaultResourceGroup =
-  alloc64k $ \a1' -> 
-  getDefaultResourceGroup'_ a1' >>= \res ->
-  peekCString  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 136 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-{- function setDefaultResourceGroup -}
-setDefaultResourceGroup :: String -> IO ()
-setDefaultResourceGroup a1 =
-  withCString a1 $ \a1' -> 
-  setDefaultResourceGroup'_ a1' >>= \res ->
-  return ()
-{-# LINE 140 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_construct"
-  new'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_createWindow"
-  createWindow'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_destroyWindow"
-  destroyWindow'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_destroyWindow2"
-  destroyWindow2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_getWindow"
-  getWindow'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_isWindowPresent"
-  isWindowPresent'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_destroyAllWindows"
-  destroyAllWindows'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_isDeadPoolEmpty"
-  isDeadPoolEmpty'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_cleanDeadPool"
-  cleanDeadPool'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_saveWindowLayout"
-  saveWindowLayout'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (CInt -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_saveWindowLayout2"
-  saveWindowLayout2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_renameWindow"
-  renameWindow'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_renameWindow2"
-  renameWindow2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_lock"
-  lock'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_unlock"
-  unlock'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_isLocked"
-  isLocked'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_getDefaultResourceGroup"
-  getDefaultResourceGroup'_ :: ((Ptr CChar) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManager.chs.h cegui_wmgr_setDefaultResourceGroup"
-  setDefaultResourceGroup'_ :: ((Ptr CChar) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassWindowManagerHG3D.chs b/HGamer3D/Bindings/CEGUI/ClassWindowManagerHG3D.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassWindowManagerHG3D.chs
@@ -0,0 +1,62 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassWindowManagerHG3D.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassWindowManagerHG3D 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassWindowManagerHG3D.h"
+{- function WindowManagerHG3D -}
+{#fun cegui_wmgr_hg3d_construct as new 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function ~WindowManagerHG3D -}
+{#fun cegui_wmgr_hg3d_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function loadWindowLayoutHG3D -}
+{#fun cegui_wmgr_hg3d_loadWindowLayoutHG3D as loadWindowLayoutHG3D 
+{ withHG3DClass* `HG3DClass' ,
+ withCString* `String' ,
+ withCString* `String' ,
+ alloca- `HG3DClass' peek*} -> `()'  #}
+
+{- function getSingleton -}
+{#fun cegui_wmgr_hg3d_getSingleton as getSingleton 
+{ alloca- `HG3DClass' peek*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassWindowManagerHG3D.hs b/HGamer3D/Bindings/CEGUI/ClassWindowManagerHG3D.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassWindowManagerHG3D.hs
+++ /dev/null
@@ -1,100 +0,0 @@
--- 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\\ClassWindowManagerHG3D.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.
--- 
-
-
--- ClassWindowManagerHG3D.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassWindowManagerHG3D 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\\ClassWindowManagerHG3D.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManagerHG3D.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManagerHG3D.chs" #-}
-
-{- function WindowManagerHG3D -}
-new :: IO (HG3DClass)
-new =
-  alloca $ \a1' -> 
-  new'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManagerHG3D.chs" #-}
-
-{- function ~WindowManagerHG3D -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 51 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManagerHG3D.chs" #-}
-
-{- function loadWindowLayoutHG3D -}
-loadWindowLayoutHG3D :: HG3DClass -> String -> String -> IO (HG3DClass)
-loadWindowLayoutHG3D a1 a2 a3 =
-  withHG3DClass a1 $ \a1' -> 
-  withCString a2 $ \a2' -> 
-  withCString a3 $ \a3' -> 
-  alloca $ \a4' -> 
-  loadWindowLayoutHG3D'_ a1' a2' a3' a4' >>= \res ->
-  peek  a4'>>= \a4'' -> 
-  return (a4'')
-{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManagerHG3D.chs" #-}
-
-{- function getSingleton -}
-getSingleton :: IO (HG3DClass)
-getSingleton =
-  alloca $ \a1' -> 
-  getSingleton'_ a1' >>= \res ->
-  peek  a1'>>= \a1'' -> 
-  return (a1'')
-{-# LINE 62 ".\\HGamer3D\\Bindings\\CEGUI\\ClassWindowManagerHG3D.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManagerHG3D.chs.h cegui_wmgr_hg3d_construct"
-  new'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManagerHG3D.chs.h cegui_wmgr_hg3d_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManagerHG3D.chs.h cegui_wmgr_hg3d_loadWindowLayoutHG3D"
-  loadWindowLayoutHG3D'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassWindowManagerHG3D.chs.h cegui_wmgr_hg3d_getSingleton"
-  getSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
diff --git a/HGamer3D/Bindings/CEGUI/ClassXMLParser.chs b/HGamer3D/Bindings/CEGUI/ClassXMLParser.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/ClassXMLParser.chs
@@ -0,0 +1,61 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- ClassXMLParser.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.ClassXMLParser 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 #}
+{# import HGamer3D.Bindings.CEGUI.ClassPtr #}
+{# import HGamer3D.Bindings.CEGUI.StructHG3DClass #}
+
+#include "ClassXMLParser.h"
+{- function ~XMLParser -}
+{#fun cegui_xmlprs_destruct as delete 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function initialise -}
+{#fun cegui_xmlprs_initialise as initialise 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Bool' peekBoolUtil*} -> `()'  #}
+
+{- function cleanup -}
+{#fun cegui_xmlprs_cleanup as cleanup 
+{ withHG3DClass* `HG3DClass' } -> `()'  #}
+
+{- function getIdentifierString -}
+{#fun cegui_xmlprs_getIdentifierString as getIdentifierString 
+{ withHG3DClass* `HG3DClass' ,
+ alloc64k- `String' peekCString*} -> `()'  #}
+
diff --git a/HGamer3D/Bindings/CEGUI/ClassXMLParser.hs b/HGamer3D/Bindings/CEGUI/ClassXMLParser.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/ClassXMLParser.hs
+++ /dev/null
@@ -1,98 +0,0 @@
--- 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\\ClassXMLParser.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.
--- 
-
-
--- ClassXMLParser.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.ClassXMLParser 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\\ClassXMLParser.chs" #-}
-import HGamer3D.Bindings.CEGUI.ClassPtr
-{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassXMLParser.chs" #-}
-import HGamer3D.Bindings.CEGUI.StructHG3DClass
-{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassXMLParser.chs" #-}
-
-{- function ~XMLParser -}
-delete :: HG3DClass -> IO ()
-delete a1 =
-  withHG3DClass a1 $ \a1' -> 
-  delete'_ a1' >>= \res ->
-  return ()
-{-# LINE 47 ".\\HGamer3D\\Bindings\\CEGUI\\ClassXMLParser.chs" #-}
-
-{- function initialise -}
-initialise :: HG3DClass -> IO (Bool)
-initialise a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloca $ \a2' -> 
-  initialise'_ a1' a2' >>= \res ->
-  peekBoolUtil  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 52 ".\\HGamer3D\\Bindings\\CEGUI\\ClassXMLParser.chs" #-}
-
-{- function cleanup -}
-cleanup :: HG3DClass -> IO ()
-cleanup a1 =
-  withHG3DClass a1 $ \a1' -> 
-  cleanup'_ a1' >>= \res ->
-  return ()
-{-# LINE 56 ".\\HGamer3D\\Bindings\\CEGUI\\ClassXMLParser.chs" #-}
-
-{- function getIdentifierString -}
-getIdentifierString :: HG3DClass -> IO (String)
-getIdentifierString a1 =
-  withHG3DClass a1 $ \a1' -> 
-  alloc64k $ \a2' -> 
-  getIdentifierString'_ a1' a2' >>= \res ->
-  peekCString  a2'>>= \a2'' -> 
-  return (a2'')
-{-# LINE 61 ".\\HGamer3D\\Bindings\\CEGUI\\ClassXMLParser.chs" #-}
-
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassXMLParser.chs.h cegui_xmlprs_destruct"
-  delete'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassXMLParser.chs.h cegui_xmlprs_initialise"
-  initialise'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassXMLParser.chs.h cegui_xmlprs_cleanup"
-  cleanup'_ :: ((HG3DClassPtr) -> (IO ()))
-
-foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassXMLParser.chs.h cegui_xmlprs_getIdentifierString"
-  getIdentifierString'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
diff --git a/HGamer3D/Bindings/CEGUI/EnumBlendMode.chs b/HGamer3D/Bindings/CEGUI/EnumBlendMode.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumBlendMode.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumBlendMode.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumBlendMode 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
+
+
+#include "EnumBlendMode.h"
+{#enum EnumBlendMode {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumBlendMode.hs b/HGamer3D/Bindings/CEGUI/EnumBlendMode.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumBlendMode.hs
+++ /dev/null
@@ -1,48 +0,0 @@
--- 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\\EnumBlendMode.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.
--- 
-
-
--- EnumBlendMode.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumBlendMode 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
-
-
-data EnumBlendMode = BM_INVALID
-                   | BM_NORMAL
-                   | BM_RTT_PREMULTIPLIED
-                   deriving (Enum,Eq)
diff --git a/HGamer3D/Bindings/CEGUI/EnumFWSizingLocation.chs b/HGamer3D/Bindings/CEGUI/EnumFWSizingLocation.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumFWSizingLocation.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumFWSizingLocation.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumFWSizingLocation 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
+
+
+#include "EnumFWSizingLocation.h"
+{#enum EnumFWSizingLocation {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumFWSizingLocation.hs b/HGamer3D/Bindings/CEGUI/EnumFWSizingLocation.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumFWSizingLocation.hs
+++ /dev/null
@@ -1,54 +0,0 @@
--- 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\\EnumFWSizingLocation.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.
--- 
-
-
--- EnumFWSizingLocation.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumFWSizingLocation 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
-
-
-data EnumFWSizingLocation = SizingNone
-                          | SizingTopLeft
-                          | SizingTopRight
-                          | SizingBottomLeft
-                          | SizingBottomRight
-                          | SizingTop
-                          | SizingLeft
-                          | SizingBottom
-                          | SizingRight
-                          deriving (Enum,Eq)
diff --git a/HGamer3D/Bindings/CEGUI/EnumHorizontalAlignment.chs b/HGamer3D/Bindings/CEGUI/EnumHorizontalAlignment.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumHorizontalAlignment.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumHorizontalAlignment.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumHorizontalAlignment 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
+
+
+#include "EnumHorizontalAlignment.h"
+{#enum EnumHorizontalAlignment {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumHorizontalAlignment.hs b/HGamer3D/Bindings/CEGUI/EnumHorizontalAlignment.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumHorizontalAlignment.hs
+++ /dev/null
@@ -1,48 +0,0 @@
--- 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\\EnumHorizontalAlignment.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.
--- 
-
-
--- EnumHorizontalAlignment.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumHorizontalAlignment 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
-
-
-data EnumHorizontalAlignment = HA_LEFT
-                             | HA_CENTRE
-                             | HA_RIGHT
-                             deriving (Enum,Eq)
diff --git a/HGamer3D/Bindings/CEGUI/EnumKeyScan.chs b/HGamer3D/Bindings/CEGUI/EnumKeyScan.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumKeyScan.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumKeyScan.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumKeyScan 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
+
+
+#include "EnumKeyScan.h"
+{#enum EnumKeyScan {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumKeyScan.hs b/HGamer3D/Bindings/CEGUI/EnumKeyScan.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumKeyScan.hs
+++ /dev/null
@@ -1,480 +0,0 @@
--- 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\\EnumKeyScan.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.
--- 
-
-
--- EnumKeyScan.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumKeyScan 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
-
-
-data EnumKeyScan = KeyEscape
-                 | KeyOne
-                 | KeyTwo
-                 | KeyThree
-                 | KeyFour
-                 | KeyFive
-                 | KeySix
-                 | KeySeven
-                 | KeyEight
-                 | KeyNine
-                 | KeyZero
-                 | KeyMinus
-                 | KeyEquals
-                 | KeyBackspace
-                 | KeyTab
-                 | KeyQ
-                 | KeyW
-                 | KeyE
-                 | KeyR
-                 | KeyT
-                 | KeyY
-                 | KeyU
-                 | KeyI
-                 | KeyO
-                 | KeyP
-                 | KeyLeftBracket
-                 | KeyRightBracket
-                 | KeyReturn
-                 | KeyLeftControl
-                 | KeyA
-                 | KeyS
-                 | KeyD
-                 | KeyF
-                 | KeyG
-                 | KeyH
-                 | KeyJ
-                 | KeyK
-                 | KeyL
-                 | KeySemicolon
-                 | KeyApostrophe
-                 | KeyGrave
-                 | KeyLeftShift
-                 | KeyBackslash
-                 | KeyZ
-                 | KeyX
-                 | KeyC
-                 | KeyV
-                 | KeyB
-                 | KeyN
-                 | KeyM
-                 | KeyComma
-                 | KeyPeriod
-                 | KeySlash
-                 | KeyRightShift
-                 | KeyMultiply
-                 | KeyLeftAlt
-                 | KeySpace
-                 | KeyCapital
-                 | KeyF1
-                 | KeyF2
-                 | KeyF3
-                 | KeyF4
-                 | KeyF5
-                 | KeyF6
-                 | KeyF7
-                 | KeyF8
-                 | KeyF9
-                 | KeyF10
-                 | KeyNumLock
-                 | KeyScrollLock
-                 | KeyNumpad7
-                 | KeyNumpad8
-                 | KeyNumpad9
-                 | KeySubtract
-                 | KeyNumpad4
-                 | KeyNumpad5
-                 | KeyNumpad6
-                 | KeyAdd
-                 | KeyNumpad1
-                 | KeyNumpad2
-                 | KeyNumpad3
-                 | KeyNumpad0
-                 | KeyDecimal
-                 | KeyOEM_102
-                 | KeyF11
-                 | KeyF12
-                 | KeyF13
-                 | KeyF14
-                 | KeyF15
-                 | KeyKana
-                 | KeyABNT_C1
-                 | KeyConvert
-                 | KeyNoConvert
-                 | KeyYen
-                 | KeyABNT_C2
-                 | KeyNumpadEquals
-                 | KeyPrevTrack
-                 | KeyAt
-                 | KeyColon
-                 | KeyUnderline
-                 | KeyKanji
-                 | KeyStop
-                 | KeyAX
-                 | KeyUnlabeled
-                 | KeyNextTrack
-                 | KeyNumpadEnter
-                 | KeyRightControl
-                 | KeyMute
-                 | KeyCalculator
-                 | KeyPlayPause
-                 | KeyMediaStop
-                 | KeyVolumeDown
-                 | KeyVolumeUp
-                 | KeyWebHome
-                 | KeyNumpadComma
-                 | KeyDivide
-                 | KeySysRq
-                 | KeyRightAlt
-                 | KeyPause
-                 | KeyHome
-                 | KeyArrowUp
-                 | KeyPageUp
-                 | KeyArrowLeft
-                 | KeyArrowRight
-                 | KeyEnd
-                 | KeyArrowDown
-                 | KeyPageDown
-                 | KeyInsert
-                 | KeyDelete
-                 | KeyLeftWindows
-                 | KeyRightWindows
-                 | KeyAppMenu
-                 | KeyPower
-                 | KeySleep
-                 | KeyWake
-                 | KeyWebSearch
-                 | KeyWebFavorites
-                 | KeyWebRefresh
-                 | KeyWebStop
-                 | KeyWebForward
-                 | KeyWebBack
-                 | KeyMyComputer
-                 | KeyMail
-                 | KeyMediaSelect
-                 deriving (Eq)
-instance Enum EnumKeyScan where
-  fromEnum KeyEscape = 1
-  fromEnum KeyOne = 2
-  fromEnum KeyTwo = 3
-  fromEnum KeyThree = 4
-  fromEnum KeyFour = 5
-  fromEnum KeyFive = 6
-  fromEnum KeySix = 7
-  fromEnum KeySeven = 8
-  fromEnum KeyEight = 9
-  fromEnum KeyNine = 10
-  fromEnum KeyZero = 11
-  fromEnum KeyMinus = 12
-  fromEnum KeyEquals = 13
-  fromEnum KeyBackspace = 14
-  fromEnum KeyTab = 15
-  fromEnum KeyQ = 16
-  fromEnum KeyW = 17
-  fromEnum KeyE = 18
-  fromEnum KeyR = 19
-  fromEnum KeyT = 20
-  fromEnum KeyY = 21
-  fromEnum KeyU = 22
-  fromEnum KeyI = 23
-  fromEnum KeyO = 24
-  fromEnum KeyP = 25
-  fromEnum KeyLeftBracket = 26
-  fromEnum KeyRightBracket = 27
-  fromEnum KeyReturn = 28
-  fromEnum KeyLeftControl = 29
-  fromEnum KeyA = 30
-  fromEnum KeyS = 31
-  fromEnum KeyD = 32
-  fromEnum KeyF = 33
-  fromEnum KeyG = 34
-  fromEnum KeyH = 35
-  fromEnum KeyJ = 36
-  fromEnum KeyK = 37
-  fromEnum KeyL = 38
-  fromEnum KeySemicolon = 39
-  fromEnum KeyApostrophe = 40
-  fromEnum KeyGrave = 41
-  fromEnum KeyLeftShift = 42
-  fromEnum KeyBackslash = 43
-  fromEnum KeyZ = 44
-  fromEnum KeyX = 45
-  fromEnum KeyC = 46
-  fromEnum KeyV = 47
-  fromEnum KeyB = 48
-  fromEnum KeyN = 49
-  fromEnum KeyM = 50
-  fromEnum KeyComma = 51
-  fromEnum KeyPeriod = 52
-  fromEnum KeySlash = 53
-  fromEnum KeyRightShift = 54
-  fromEnum KeyMultiply = 55
-  fromEnum KeyLeftAlt = 56
-  fromEnum KeySpace = 57
-  fromEnum KeyCapital = 58
-  fromEnum KeyF1 = 59
-  fromEnum KeyF2 = 60
-  fromEnum KeyF3 = 61
-  fromEnum KeyF4 = 62
-  fromEnum KeyF5 = 63
-  fromEnum KeyF6 = 64
-  fromEnum KeyF7 = 65
-  fromEnum KeyF8 = 66
-  fromEnum KeyF9 = 67
-  fromEnum KeyF10 = 68
-  fromEnum KeyNumLock = 69
-  fromEnum KeyScrollLock = 70
-  fromEnum KeyNumpad7 = 71
-  fromEnum KeyNumpad8 = 72
-  fromEnum KeyNumpad9 = 73
-  fromEnum KeySubtract = 74
-  fromEnum KeyNumpad4 = 75
-  fromEnum KeyNumpad5 = 76
-  fromEnum KeyNumpad6 = 77
-  fromEnum KeyAdd = 78
-  fromEnum KeyNumpad1 = 79
-  fromEnum KeyNumpad2 = 80
-  fromEnum KeyNumpad3 = 81
-  fromEnum KeyNumpad0 = 82
-  fromEnum KeyDecimal = 83
-  fromEnum KeyOEM_102 = 86
-  fromEnum KeyF11 = 87
-  fromEnum KeyF12 = 88
-  fromEnum KeyF13 = 100
-  fromEnum KeyF14 = 101
-  fromEnum KeyF15 = 102
-  fromEnum KeyKana = 112
-  fromEnum KeyABNT_C1 = 115
-  fromEnum KeyConvert = 121
-  fromEnum KeyNoConvert = 123
-  fromEnum KeyYen = 125
-  fromEnum KeyABNT_C2 = 126
-  fromEnum KeyNumpadEquals = 141
-  fromEnum KeyPrevTrack = 144
-  fromEnum KeyAt = 145
-  fromEnum KeyColon = 146
-  fromEnum KeyUnderline = 147
-  fromEnum KeyKanji = 148
-  fromEnum KeyStop = 149
-  fromEnum KeyAX = 150
-  fromEnum KeyUnlabeled = 151
-  fromEnum KeyNextTrack = 153
-  fromEnum KeyNumpadEnter = 156
-  fromEnum KeyRightControl = 157
-  fromEnum KeyMute = 160
-  fromEnum KeyCalculator = 161
-  fromEnum KeyPlayPause = 162
-  fromEnum KeyMediaStop = 164
-  fromEnum KeyVolumeDown = 174
-  fromEnum KeyVolumeUp = 176
-  fromEnum KeyWebHome = 178
-  fromEnum KeyNumpadComma = 179
-  fromEnum KeyDivide = 181
-  fromEnum KeySysRq = 183
-  fromEnum KeyRightAlt = 184
-  fromEnum KeyPause = 197
-  fromEnum KeyHome = 199
-  fromEnum KeyArrowUp = 200
-  fromEnum KeyPageUp = 201
-  fromEnum KeyArrowLeft = 203
-  fromEnum KeyArrowRight = 205
-  fromEnum KeyEnd = 207
-  fromEnum KeyArrowDown = 208
-  fromEnum KeyPageDown = 209
-  fromEnum KeyInsert = 210
-  fromEnum KeyDelete = 211
-  fromEnum KeyLeftWindows = 219
-  fromEnum KeyRightWindows = 220
-  fromEnum KeyAppMenu = 221
-  fromEnum KeyPower = 222
-  fromEnum KeySleep = 223
-  fromEnum KeyWake = 227
-  fromEnum KeyWebSearch = 229
-  fromEnum KeyWebFavorites = 230
-  fromEnum KeyWebRefresh = 231
-  fromEnum KeyWebStop = 232
-  fromEnum KeyWebForward = 233
-  fromEnum KeyWebBack = 234
-  fromEnum KeyMyComputer = 235
-  fromEnum KeyMail = 236
-  fromEnum KeyMediaSelect = 237
-
-  toEnum 1 = KeyEscape
-  toEnum 2 = KeyOne
-  toEnum 3 = KeyTwo
-  toEnum 4 = KeyThree
-  toEnum 5 = KeyFour
-  toEnum 6 = KeyFive
-  toEnum 7 = KeySix
-  toEnum 8 = KeySeven
-  toEnum 9 = KeyEight
-  toEnum 10 = KeyNine
-  toEnum 11 = KeyZero
-  toEnum 12 = KeyMinus
-  toEnum 13 = KeyEquals
-  toEnum 14 = KeyBackspace
-  toEnum 15 = KeyTab
-  toEnum 16 = KeyQ
-  toEnum 17 = KeyW
-  toEnum 18 = KeyE
-  toEnum 19 = KeyR
-  toEnum 20 = KeyT
-  toEnum 21 = KeyY
-  toEnum 22 = KeyU
-  toEnum 23 = KeyI
-  toEnum 24 = KeyO
-  toEnum 25 = KeyP
-  toEnum 26 = KeyLeftBracket
-  toEnum 27 = KeyRightBracket
-  toEnum 28 = KeyReturn
-  toEnum 29 = KeyLeftControl
-  toEnum 30 = KeyA
-  toEnum 31 = KeyS
-  toEnum 32 = KeyD
-  toEnum 33 = KeyF
-  toEnum 34 = KeyG
-  toEnum 35 = KeyH
-  toEnum 36 = KeyJ
-  toEnum 37 = KeyK
-  toEnum 38 = KeyL
-  toEnum 39 = KeySemicolon
-  toEnum 40 = KeyApostrophe
-  toEnum 41 = KeyGrave
-  toEnum 42 = KeyLeftShift
-  toEnum 43 = KeyBackslash
-  toEnum 44 = KeyZ
-  toEnum 45 = KeyX
-  toEnum 46 = KeyC
-  toEnum 47 = KeyV
-  toEnum 48 = KeyB
-  toEnum 49 = KeyN
-  toEnum 50 = KeyM
-  toEnum 51 = KeyComma
-  toEnum 52 = KeyPeriod
-  toEnum 53 = KeySlash
-  toEnum 54 = KeyRightShift
-  toEnum 55 = KeyMultiply
-  toEnum 56 = KeyLeftAlt
-  toEnum 57 = KeySpace
-  toEnum 58 = KeyCapital
-  toEnum 59 = KeyF1
-  toEnum 60 = KeyF2
-  toEnum 61 = KeyF3
-  toEnum 62 = KeyF4
-  toEnum 63 = KeyF5
-  toEnum 64 = KeyF6
-  toEnum 65 = KeyF7
-  toEnum 66 = KeyF8
-  toEnum 67 = KeyF9
-  toEnum 68 = KeyF10
-  toEnum 69 = KeyNumLock
-  toEnum 70 = KeyScrollLock
-  toEnum 71 = KeyNumpad7
-  toEnum 72 = KeyNumpad8
-  toEnum 73 = KeyNumpad9
-  toEnum 74 = KeySubtract
-  toEnum 75 = KeyNumpad4
-  toEnum 76 = KeyNumpad5
-  toEnum 77 = KeyNumpad6
-  toEnum 78 = KeyAdd
-  toEnum 79 = KeyNumpad1
-  toEnum 80 = KeyNumpad2
-  toEnum 81 = KeyNumpad3
-  toEnum 82 = KeyNumpad0
-  toEnum 83 = KeyDecimal
-  toEnum 86 = KeyOEM_102
-  toEnum 87 = KeyF11
-  toEnum 88 = KeyF12
-  toEnum 100 = KeyF13
-  toEnum 101 = KeyF14
-  toEnum 102 = KeyF15
-  toEnum 112 = KeyKana
-  toEnum 115 = KeyABNT_C1
-  toEnum 121 = KeyConvert
-  toEnum 123 = KeyNoConvert
-  toEnum 125 = KeyYen
-  toEnum 126 = KeyABNT_C2
-  toEnum 141 = KeyNumpadEquals
-  toEnum 144 = KeyPrevTrack
-  toEnum 145 = KeyAt
-  toEnum 146 = KeyColon
-  toEnum 147 = KeyUnderline
-  toEnum 148 = KeyKanji
-  toEnum 149 = KeyStop
-  toEnum 150 = KeyAX
-  toEnum 151 = KeyUnlabeled
-  toEnum 153 = KeyNextTrack
-  toEnum 156 = KeyNumpadEnter
-  toEnum 157 = KeyRightControl
-  toEnum 160 = KeyMute
-  toEnum 161 = KeyCalculator
-  toEnum 162 = KeyPlayPause
-  toEnum 164 = KeyMediaStop
-  toEnum 174 = KeyVolumeDown
-  toEnum 176 = KeyVolumeUp
-  toEnum 178 = KeyWebHome
-  toEnum 179 = KeyNumpadComma
-  toEnum 181 = KeyDivide
-  toEnum 183 = KeySysRq
-  toEnum 184 = KeyRightAlt
-  toEnum 197 = KeyPause
-  toEnum 199 = KeyHome
-  toEnum 200 = KeyArrowUp
-  toEnum 201 = KeyPageUp
-  toEnum 203 = KeyArrowLeft
-  toEnum 205 = KeyArrowRight
-  toEnum 207 = KeyEnd
-  toEnum 208 = KeyArrowDown
-  toEnum 209 = KeyPageDown
-  toEnum 210 = KeyInsert
-  toEnum 211 = KeyDelete
-  toEnum 219 = KeyLeftWindows
-  toEnum 220 = KeyRightWindows
-  toEnum 221 = KeyAppMenu
-  toEnum 222 = KeyPower
-  toEnum 223 = KeySleep
-  toEnum 227 = KeyWake
-  toEnum 229 = KeyWebSearch
-  toEnum 230 = KeyWebFavorites
-  toEnum 231 = KeyWebRefresh
-  toEnum 232 = KeyWebStop
-  toEnum 233 = KeyWebForward
-  toEnum 234 = KeyWebBack
-  toEnum 235 = KeyMyComputer
-  toEnum 236 = KeyMail
-  toEnum 237 = KeyMediaSelect
-  toEnum unmatched = error ("EnumKeyScan.toEnum: Cannot match " ++ show unmatched)
diff --git a/HGamer3D/Bindings/CEGUI/EnumLoggingLevel.chs b/HGamer3D/Bindings/CEGUI/EnumLoggingLevel.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumLoggingLevel.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumLoggingLevel.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumLoggingLevel 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
+
+
+#include "EnumLoggingLevel.h"
+{#enum EnumLoggingLevel {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumLoggingLevel.hs b/HGamer3D/Bindings/CEGUI/EnumLoggingLevel.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumLoggingLevel.hs
+++ /dev/null
@@ -1,50 +0,0 @@
--- 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\\EnumLoggingLevel.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.
--- 
-
-
--- EnumLoggingLevel.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumLoggingLevel 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
-
-
-data EnumLoggingLevel = LoggingLevelErrors
-                      | LoggingLevelWarnings
-                      | LoggingLevelStandard
-                      | LoggingLevelInformative
-                      | LoggingLevelInsane
-                      deriving (Enum,Eq)
diff --git a/HGamer3D/Bindings/CEGUI/EnumMouseButton.chs b/HGamer3D/Bindings/CEGUI/EnumMouseButton.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumMouseButton.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumMouseButton.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumMouseButton 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
+
+
+#include "EnumMouseButton.h"
+{#enum EnumMouseButton {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumMouseButton.hs b/HGamer3D/Bindings/CEGUI/EnumMouseButton.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumMouseButton.hs
+++ /dev/null
@@ -1,52 +0,0 @@
--- 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\\EnumMouseButton.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.
--- 
-
-
--- EnumMouseButton.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumMouseButton 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
-
-
-data EnumMouseButton = MouseLeftButton
-                     | MouseRightButton
-                     | MouseMiddleButton
-                     | MouseX1Button
-                     | MouseX2Button
-                     | MouseMouseButtonCount
-                     | MouseNoButton
-                     deriving (Enum,Eq)
diff --git a/HGamer3D/Bindings/CEGUI/EnumQuadSplitMode.chs b/HGamer3D/Bindings/CEGUI/EnumQuadSplitMode.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumQuadSplitMode.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumQuadSplitMode.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumQuadSplitMode 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
+
+
+#include "EnumQuadSplitMode.h"
+{#enum EnumQuadSplitMode {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumQuadSplitMode.hs b/HGamer3D/Bindings/CEGUI/EnumQuadSplitMode.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumQuadSplitMode.hs
+++ /dev/null
@@ -1,47 +0,0 @@
--- 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\\EnumQuadSplitMode.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.
--- 
-
-
--- EnumQuadSplitMode.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumQuadSplitMode 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
-
-
-data EnumQuadSplitMode = TopLeftToBottomRight
-                       | BottomLeftToTopRight
-                       deriving (Enum,Eq)
diff --git a/HGamer3D/Bindings/CEGUI/EnumSelectionMode.chs b/HGamer3D/Bindings/CEGUI/EnumSelectionMode.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumSelectionMode.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumSelectionMode.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumSelectionMode 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
+
+
+#include "EnumSelectionMode.h"
+{#enum EnumSelectionMode {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumSelectionMode.hs b/HGamer3D/Bindings/CEGUI/EnumSelectionMode.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumSelectionMode.hs
+++ /dev/null
@@ -1,55 +0,0 @@
--- 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\\EnumSelectionMode.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.
--- 
-
-
--- EnumSelectionMode.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumSelectionMode 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
-
-
-data EnumSelectionMode = SelectionModeRowSingle
-                       | SelectionModeRowMultiple
-                       | SelectionModeCellSingle
-                       | SelectionModeCellMultiple
-                       | SelectionModeNominatedColumnSingle
-                       | SelectionModeNominatedColumnMultiple
-                       | SelectionModeColumnSingle
-                       | SelectionModeColumnMultiple
-                       | SelectionModeNominatedRowSingle
-                       | SelectionModeNominatedRowMultiple
-                       deriving (Enum,Eq)
diff --git a/HGamer3D/Bindings/CEGUI/EnumSortDirection.chs b/HGamer3D/Bindings/CEGUI/EnumSortDirection.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumSortDirection.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumSortDirection.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumSortDirection 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
+
+
+#include "EnumSortDirection.h"
+{#enum EnumSortDirection {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumSortDirection.hs b/HGamer3D/Bindings/CEGUI/EnumSortDirection.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumSortDirection.hs
+++ /dev/null
@@ -1,48 +0,0 @@
--- 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\\EnumSortDirection.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.
--- 
-
-
--- EnumSortDirection.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumSortDirection 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
-
-
-data EnumSortDirection = SortDirectionNone
-                       | SortDirectionAscending
-                       | SortDirectionDescending
-                       deriving (Enum,Eq)
diff --git a/HGamer3D/Bindings/CEGUI/EnumSystemKey.chs b/HGamer3D/Bindings/CEGUI/EnumSystemKey.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumSystemKey.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumSystemKey.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumSystemKey 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
+
+
+#include "EnumSystemKey.h"
+{#enum EnumSystemKey {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumSystemKey.hs b/HGamer3D/Bindings/CEGUI/EnumSystemKey.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumSystemKey.hs
+++ /dev/null
@@ -1,72 +0,0 @@
--- 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\\EnumSystemKey.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.
--- 
-
-
--- EnumSystemKey.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumSystemKey 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
-
-
-data EnumSystemKey = SystemKeyLeftMouse
-                   | SystemKeyRightMouse
-                   | SystemKeyShift
-                   | SystemKeyControl
-                   | SystemKeyMiddleMouse
-                   | SystemKeyX1Mouse
-                   | SystemKeyX2Mouse
-                   | SystemKeyAlt
-                   deriving (Eq)
-instance Enum EnumSystemKey where
-  fromEnum SystemKeyLeftMouse = 1
-  fromEnum SystemKeyRightMouse = 2
-  fromEnum SystemKeyShift = 4
-  fromEnum SystemKeyControl = 8
-  fromEnum SystemKeyMiddleMouse = 16
-  fromEnum SystemKeyX1Mouse = 32
-  fromEnum SystemKeyX2Mouse = 64
-  fromEnum SystemKeyAlt = 128
-
-  toEnum 1 = SystemKeyLeftMouse
-  toEnum 2 = SystemKeyRightMouse
-  toEnum 4 = SystemKeyShift
-  toEnum 8 = SystemKeyControl
-  toEnum 16 = SystemKeyMiddleMouse
-  toEnum 32 = SystemKeyX1Mouse
-  toEnum 64 = SystemKeyX2Mouse
-  toEnum 128 = SystemKeyAlt
-  toEnum unmatched = error ("EnumSystemKey.toEnum: Cannot match " ++ show unmatched)
diff --git a/HGamer3D/Bindings/CEGUI/EnumTabPanePosition.chs b/HGamer3D/Bindings/CEGUI/EnumTabPanePosition.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumTabPanePosition.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumTabPanePosition.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumTabPanePosition 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
+
+
+#include "EnumTabPanePosition.h"
+{#enum EnumTabPanePosition {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumTabPanePosition.hs b/HGamer3D/Bindings/CEGUI/EnumTabPanePosition.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumTabPanePosition.hs
+++ /dev/null
@@ -1,47 +0,0 @@
--- 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\\EnumTabPanePosition.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.
--- 
-
-
--- EnumTabPanePosition.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumTabPanePosition 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
-
-
-data EnumTabPanePosition = TabPanePositionTop
-                         | TabPanePositionBottom
-                         deriving (Enum,Eq)
diff --git a/HGamer3D/Bindings/CEGUI/EnumTextInputMode.chs b/HGamer3D/Bindings/CEGUI/EnumTextInputMode.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumTextInputMode.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumTextInputMode.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumTextInputMode 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
+
+
+#include "EnumTextInputMode.h"
+{#enum EnumTextInputMode {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumTextInputMode.hs b/HGamer3D/Bindings/CEGUI/EnumTextInputMode.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumTextInputMode.hs
+++ /dev/null
@@ -1,49 +0,0 @@
--- 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\\EnumTextInputMode.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.
--- 
-
-
--- EnumTextInputMode.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumTextInputMode 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
-
-
-data EnumTextInputMode = TextInputModeFloatingPoint
-                       | TextInputModeInteger
-                       | TextInputModeHexadecimal
-                       | TextInputModeOctal
-                       deriving (Enum,Eq)
diff --git a/HGamer3D/Bindings/CEGUI/EnumTipState.chs b/HGamer3D/Bindings/CEGUI/EnumTipState.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumTipState.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumTipState.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumTipState 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
+
+
+#include "EnumTipState.h"
+{#enum EnumTipState {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumTipState.hs b/HGamer3D/Bindings/CEGUI/EnumTipState.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumTipState.hs
+++ /dev/null
@@ -1,49 +0,0 @@
--- 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\\EnumTipState.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.
--- 
-
-
--- EnumTipState.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumTipState 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
-
-
-data EnumTipState = TipStateInactive
-                  | TipStateActive
-                  | TipStateFadeIn
-                  | TipStateFadeOut
-                  deriving (Enum,Eq)
diff --git a/HGamer3D/Bindings/CEGUI/EnumVerticalAlignment.chs b/HGamer3D/Bindings/CEGUI/EnumVerticalAlignment.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumVerticalAlignment.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumVerticalAlignment.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumVerticalAlignment 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
+
+
+#include "EnumVerticalAlignment.h"
+{#enum EnumVerticalAlignment {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumVerticalAlignment.hs b/HGamer3D/Bindings/CEGUI/EnumVerticalAlignment.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumVerticalAlignment.hs
+++ /dev/null
@@ -1,48 +0,0 @@
--- 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\\EnumVerticalAlignment.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.
--- 
-
-
--- EnumVerticalAlignment.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumVerticalAlignment 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
-
-
-data EnumVerticalAlignment = VA_TOP
-                           | VA_CENTRE
-                           | VA_BOTTOM
-                           deriving (Enum,Eq)
diff --git a/HGamer3D/Bindings/CEGUI/EnumWindowUpdateMode.chs b/HGamer3D/Bindings/CEGUI/EnumWindowUpdateMode.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/EnumWindowUpdateMode.chs
@@ -0,0 +1,41 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- EnumWindowUpdateMode.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.EnumWindowUpdateMode 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
+
+
+#include "EnumWindowUpdateMode.h"
+{#enum EnumWindowUpdateMode {} deriving (Eq)#}
diff --git a/HGamer3D/Bindings/CEGUI/EnumWindowUpdateMode.hs b/HGamer3D/Bindings/CEGUI/EnumWindowUpdateMode.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/EnumWindowUpdateMode.hs
+++ /dev/null
@@ -1,48 +0,0 @@
--- 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\\EnumWindowUpdateMode.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.
--- 
-
-
--- EnumWindowUpdateMode.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.EnumWindowUpdateMode 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
-
-
-data EnumWindowUpdateMode = WUM_ALWAYS
-                          | WUM_NEVER
-                          | WUM_VISIBLE
-                          deriving (Enum,Eq)
diff --git a/HGamer3D/Bindings/CEGUI/StructHG3DClass.chs b/HGamer3D/Bindings/CEGUI/StructHG3DClass.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/StructHG3DClass.chs
@@ -0,0 +1,54 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- StructHG3DClass.chs
+
+-- 
+
+module HGamer3D.Bindings.CEGUI.StructHG3DClass 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
+
+
+#include "StructHG3DClass.h"
+
+import Data.Bits
+import HGamer3D.Data.HG3DClass
+
+{#pointer *hg3dclass_struct as HG3DClassPtr -> HG3DClass #}
+
+withHG3DClass :: HG3DClass -> (HG3DClassPtr -> IO b) -> IO b
+withHG3DClass = with
+
+peekHG3DClass :: HG3DClassPtr -> IO HG3DClass
+peekHG3DClass = peek
+
+
+
diff --git a/HGamer3D/Bindings/CEGUI/StructHG3DClass.hs b/HGamer3D/Bindings/CEGUI/StructHG3DClass.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/StructHG3DClass.hs
+++ /dev/null
@@ -1,59 +0,0 @@
--- 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\\StructHG3DClass.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.
--- 
-
-
--- StructHG3DClass.chs
-
--- 
-
-module HGamer3D.Bindings.CEGUI.StructHG3DClass 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 Data.Bits
-import HGamer3D.Data.HG3DClass
-
-type HG3DClassPtr = Ptr (HG3DClass)
-{-# LINE 46 ".\\HGamer3D\\Bindings\\CEGUI\\StructHG3DClass.chs" #-}
-
-withHG3DClass :: HG3DClass -> (HG3DClassPtr -> IO b) -> IO b
-withHG3DClass = with
-
-peekHG3DClass :: HG3DClassPtr -> IO HG3DClass
-peekHG3DClass = peek
-
-
-
diff --git a/HGamer3D/Bindings/CEGUI/Utils.chs b/HGamer3D/Bindings/CEGUI/Utils.chs
new file mode 100644
--- /dev/null
+++ b/HGamer3D/Bindings/CEGUI/Utils.chs
@@ -0,0 +1,132 @@
+{-# 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.hgamer3d.org .
+-- 
+
+-- (c) 2011-2014 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.
+-- 
+
+
+-- Utils.hs
+
+-- Marshalling Utilities
+
+module HGamer3D.Bindings.CEGUI.Utils 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
+
+
+#include "StructHG3DClass.h"
+
+import Control.Monad (liftM)
+
+-- Strings with explicit length
+--
+withCStringLenIntConv :: Num n => String -> ((CString, n) -> IO a) -> IO a
+withCStringLenIntConv s f    = withCStringLen s $ \(p, n) -> f (p, fromIntegral n)
+
+peekCStringLenIntConv :: Integral n => (CString, n) -> IO String
+peekCStringLenIntConv (s, n) = peekCStringLen (s, fromIntegral n)
+
+-- Marshalling of numerals
+--
+
+withIntConv   :: (Storable b, Integral a, Integral b) 
+              => a -> (Ptr b -> IO c) -> IO c
+withIntConv    = with . fromIntegral
+
+withFloatConv :: (Storable b, RealFloat a, RealFloat b) 
+              => a -> (Ptr b -> IO c) -> IO c
+withFloatConv  = with . realToFrac
+
+peekIntConv   :: (Storable a, Integral a, Integral b) 
+              => Ptr a -> IO b
+peekIntConv    = liftM fromIntegral . peek
+
+peekFloatConv :: (Storable a, RealFloat a, RealFloat b) 
+              => Ptr a -> IO b
+peekFloatConv  = liftM realToFrac . peek
+
+
+-- String Conversion functions
+--
+
+withCUString b f = withCWString b (f . castPtr)
+peekCUString = peekCWString . castPtr
+alloc64k = allocaBytes (1024 * 64)
+
+-- c2hs replacements of utility functions, to get rid of annoying c2hs
+-- deprecated messages
+
+-- Passing Enums
+
+cIntFromEnum :: Enum a => a -> CInt
+cIntFromEnum = cIntConv . fromEnum
+
+cIntToEnum :: Enum a => CInt -> a
+cIntToEnum = toEnum . cIntConv
+
+
+-- Passing Booleans by reference
+--
+
+withBoolUtil :: (Integral a, Storable a) => Bool -> (Ptr a -> IO b) -> IO b
+withBoolUtil  = with . fromBool
+
+peekBoolUtil :: (Integral a, Storable a) => Ptr a -> IO Bool
+peekBoolUtil  = liftM toBool . peek
+
+
+-- Passing enums by reference
+--
+
+withEnumUtil :: (Enum a, Integral b, Storable b) => a -> (Ptr b -> IO c) -> IO c
+withEnumUtil  = with . cFromEnum
+
+peekEnumUtil :: (Enum a, Integral b, Storable b) => Ptr b -> IO a
+peekEnumUtil  = liftM cToEnum . peek
+
+-- Conversion routines
+-- -------------------
+
+-- |Integral conversion
+--
+cIntConv :: (Integral a, Integral b) => a -> b
+cIntConv  = fromIntegral
+
+-- |Floating conversion
+--
+cFloatConv :: (RealFloat a, RealFloat b) => a -> b
+cFloatConv  = realToFrac
+
+-- |Convert a C enumeration to Haskell.
+--
+cToEnum :: (Integral i, Enum e) => i -> e
+cToEnum  = toEnum . fromIntegral
+
+-- |Convert a Haskell enumeration to C.
+--
+cFromEnum :: (Enum e, Integral i) => e -> i
+cFromEnum  = fromIntegral . fromEnum
+
diff --git a/HGamer3D/Bindings/CEGUI/Utils.hs b/HGamer3D/Bindings/CEGUI/Utils.hs
deleted file mode 100644
--- a/HGamer3D/Bindings/CEGUI/Utils.hs
+++ /dev/null
@@ -1,136 +0,0 @@
--- 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\\Utils.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.
--- 
-
-
--- Utils.hs
-
--- Marshalling Utilities
-
-module HGamer3D.Bindings.CEGUI.Utils 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 Control.Monad (liftM)
-
--- Strings with explicit length
---
-withCStringLenIntConv :: Num n => String -> ((CString, n) -> IO a) -> IO a
-withCStringLenIntConv s f    = withCStringLen s $ \(p, n) -> f (p, fromIntegral n)
-
-peekCStringLenIntConv :: Integral n => (CString, n) -> IO String
-peekCStringLenIntConv (s, n) = peekCStringLen (s, fromIntegral n)
-
--- Marshalling of numerals
---
-
-withIntConv   :: (Storable b, Integral a, Integral b) 
-              => a -> (Ptr b -> IO c) -> IO c
-withIntConv    = with . fromIntegral
-
-withFloatConv :: (Storable b, RealFloat a, RealFloat b) 
-              => a -> (Ptr b -> IO c) -> IO c
-withFloatConv  = with . realToFrac
-
-peekIntConv   :: (Storable a, Integral a, Integral b) 
-              => Ptr a -> IO b
-peekIntConv    = liftM fromIntegral . peek
-
-peekFloatConv :: (Storable a, RealFloat a, RealFloat b) 
-              => Ptr a -> IO b
-peekFloatConv  = liftM realToFrac . peek
-
-
--- String Conversion functions
---
-
-withCUString b f = withCWString b (f . castPtr)
-peekCUString = peekCWString . castPtr
-alloc64k = allocaBytes (1024 * 64)
-
--- c2hs replacements of utility functions, to get rid of annoying c2hs
--- deprecated messages
-
--- Passing Enums
-
-cIntFromEnum :: Enum a => a -> CInt
-cIntFromEnum = cIntConv . fromEnum
-
-cIntToEnum :: Enum a => CInt -> a
-cIntToEnum = toEnum . cIntConv
-
-
--- Passing Booleans by reference
---
-
-withBoolUtil :: (Integral a, Storable a) => Bool -> (Ptr a -> IO b) -> IO b
-withBoolUtil  = with . fromBool
-
-peekBoolUtil :: (Integral a, Storable a) => Ptr a -> IO Bool
-peekBoolUtil  = liftM toBool . peek
-
-
--- Passing enums by reference
---
-
-withEnumUtil :: (Enum a, Integral b, Storable b) => a -> (Ptr b -> IO c) -> IO c
-withEnumUtil  = with . cFromEnum
-
-peekEnumUtil :: (Enum a, Integral b, Storable b) => Ptr b -> IO a
-peekEnumUtil  = liftM cToEnum . peek
-
--- Conversion routines
--- -------------------
-
--- |Integral conversion
---
-cIntConv :: (Integral a, Integral b) => a -> b
-cIntConv  = fromIntegral
-
--- |Floating conversion
---
-cFloatConv :: (RealFloat a, RealFloat b) => a -> b
-cFloatConv  = realToFrac
-
--- |Convert a C enumeration to Haskell.
---
-cToEnum :: (Integral i, Enum e) => i -> e
-cToEnum  = toEnum . fromIntegral
-
--- |Convert a Haskell enumeration to C.
---
-cFromEnum :: (Enum e, Integral i) => e -> i
-cFromEnum  = fromIntegral . fromEnum
-
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-(c) 2011, 2012 Peter Althainz
+(c) 2011-2014 Peter Althainz
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,8 +1,7 @@
--- 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
+-- This source file is part of HGamer3D, a project to enable 3D game development 
+-- in Haskell. For the latest info, see http://www.hgamer3d.org .
+-- 
+-- (c) 2011-2014 Peter Althainz
 -- 
 -- Licensed under the Apache License, Version 2.0 (the "License");
 -- you may not use this file except in compliance with the License.
@@ -15,7 +14,7 @@
 -- 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.
--- 
+-- 
 -- Setup.hs
 
 import Distribution.Simple
diff --git a/include/CEGUIDllDefines.h b/include/CEGUIDllDefines.h
deleted file mode 100644
--- a/include/CEGUIDllDefines.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// (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.
-// 
-
-
-// CEGUIDllDefines.h
-
-#ifndef _HGamer3DCEGUI021_DLLDEFINES_H_
-#define _HGamer3DCEGUI021_DLLDEFINES_H_
-
-/* Cmake will define HGamer3DCEGUI021_EXPORTS on Windows when it
-configures to build a shared library. If you are going to use
-another build system on windows or create the visual studio
-projects by hand you need to define MyLibrary_EXPORTS when
-building a DLL on windows.
-*/
-
-// We are using the Visual Studio Compiler and building Shared libraries
-
-#if (defined (_WIN32)) && !(defined (__GNUC__)) 
-  #if defined(HGamer3DCEGUI021_EXPORTS)
-    #define  CEGUI_LIB_EXPORT __declspec(dllexport)
-  #else
-    #define  CEGUI_LIB_EXPORT __declspec(dllimport)
-  #endif /* HGamer3DCEGUI021_EXPORTS */
-#else /* defined (_WIN32) */
- #define CEGUI_LIB_EXPORT
-#endif
-
-#endif /* _HGamer3DCEGUI021_DLLDEFINES_H_ */
diff --git a/include/ClassCheckbox.h b/include/ClassCheckbox.h
deleted file mode 100644
--- a/include/ClassCheckbox.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// 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.
-// 
-
-// ClassCheckbox.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassCheckbox
-#define _DEFINED_HG3D_ClassCheckbox
-
-#include "ClassPtr.h"
-
-
-
-// return true if the check-box is selected (has the checkmark) 
-void cegui_chkbx_isSelected(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// set whether the check-box is selected or not 
-void cegui_chkbx_setSelected(struct hg3dclass_struct * thisclass_c, int select_c);
-
-// Constructor for Checkbox
-void cegui_chkbx_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for Checkbox
-void cegui_chkbx_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassComboDropList.h b/include/ClassComboDropList.h
deleted file mode 100644
--- a/include/ClassComboDropList.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// 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.
-// 
-
-// ClassComboDropList.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassComboDropList
-#define _DEFINED_HG3D_ClassComboDropList
-
-#include "ClassPtr.h"
-
-
-
-// Initialise the Window
-void cegui_cmbdrplst_initialiseComponents(struct hg3dclass_struct * thisclass_c);
-
-// Set whether the drop-list is 'armed' for selection. 
-void cegui_cmbdrplst_setArmed(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Return the 'armed' state of the ComboDropList
-void cegui_cmbdrplst_isArmed(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Set the mode of operation for the ComboDropList
-void cegui_cmbdrplst_setAutoArmEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// returns the mode of operation for the drop-list 
-void cegui_cmbdrplst_isAutoArmEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Constructor for ComboDropList
-void cegui_cmbdrplst_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for ComboDropList
-void cegui_cmbdrplst_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassCombobox.h b/include/ClassCombobox.h
deleted file mode 100644
--- a/include/ClassCombobox.h
+++ /dev/null
@@ -1,177 +0,0 @@
-// 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.
-// 
-
-// ClassCombobox.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassCombobox
-#define _DEFINED_HG3D_ClassCombobox
-
-#include "ClassPtr.h"
-#include "ClassEditbox.h"
-#include "ClassPushButton.h"
-#include "ClassComboDropList.h"
-#include "ClassListboxItem.h"
-
-
-
-// returns the mode of operation for the combo box. 
-void cegui_cmbbx_getSingleClickEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// returns true if the drop down list is visible. 
-void cegui_cmbbx_isDropDownListVisible(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return a pointer to the EditboxCombobox
-void cegui_cmbbx_getEditbox(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return a pointer to the PushButtonCombobox
-void cegui_cmbbx_getPushButton(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return a pointer to the ComboDropListCombobox
-void cegui_cmbbx_getDropList(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// return true if the Editbox
-void cegui_cmbbx_hasInputFocus(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return true if the Editbox
-void cegui_cmbbx_isReadOnly(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return true if the Editbox
-void cegui_cmbbx_isTextValid(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the currently set validation string 
-void cegui_cmbbx_getValidationString(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// return the current position of the carat. 
-void cegui_cmbbx_getCaratIndex(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the current selection start point. 
-void cegui_cmbbx_getSelectionStartIndex(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the current selection end point. 
-void cegui_cmbbx_getSelectionEndIndex(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the length of the current selection (in code points / characters). 
-void cegui_cmbbx_getSelectionLength(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the maximum text length set for this Editbox
-void cegui_cmbbx_getMaxTextLength(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return number of items attached to the list box. 
-void cegui_cmbbx_getItemCount(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return a pointer to the currently selected item. 
-void cegui_cmbbx_getSelectedItem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return the item at index position index
-void cegui_cmbbx_getListboxItemFromIndex(struct hg3dclass_struct * thisclass_c, int index_c, struct hg3dclass_struct * result_c);
-
-// Return the index of ListboxItemitem
-void cegui_cmbbx_getItemIndex(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, int * result_c);
-
-// return whether list sorting is enabled 
-void cegui_cmbbx_isSortEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return whether the string at index position index
-void cegui_cmbbx_isItemSelected(struct hg3dclass_struct * thisclass_c, int index_c, int * result_c);
-
-// Search the list for an item with the specified text. 
-void cegui_cmbbx_findItemWithText(struct hg3dclass_struct * thisclass_c, char * text_c, struct hg3dclass_struct * start_item_c, struct hg3dclass_struct * result_c);
-
-// Return whether the specified ListboxItem
-void cegui_cmbbx_isListboxItemInList(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, int * result_c);
-
-// Return whether the vertical scroll bar is always shown. 
-void cegui_cmbbx_isVertScrollbarAlwaysShown(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the horizontal scroll bar is always shown. 
-void cegui_cmbbx_isHorzScrollbarAlwaysShown(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Initialise the Window
-void cegui_cmbbx_initialiseComponents(struct hg3dclass_struct * thisclass_c);
-
-// Show the drop-down list. 
-void cegui_cmbbx_showDropList(struct hg3dclass_struct * thisclass_c);
-
-// Hide the drop-down list. 
-void cegui_cmbbx_hideDropList(struct hg3dclass_struct * thisclass_c);
-
-// Set the mode of operation for the combo box. 
-void cegui_cmbbx_setSingleClickEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Specify whether the Editbox
-void cegui_cmbbx_setReadOnly(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set the text validation string. 
-void cegui_cmbbx_setValidationString(struct hg3dclass_struct * thisclass_c, char * validation_string_c);
-
-// Set the current position of the carat. 
-void cegui_cmbbx_setCaratIndex(struct hg3dclass_struct * thisclass_c, int carat_pos_c);
-
-// Define the current selection for the Editbox
-void cegui_cmbbx_setSelection(struct hg3dclass_struct * thisclass_c, int start_pos_c, int end_pos_c);
-
-// set the maximum text length for this Editbox
-void cegui_cmbbx_setMaxTextLength(struct hg3dclass_struct * thisclass_c, int max_len_c);
-
-// Activate the edit box component of the Combobox
-void cegui_cmbbx_activateEditbox(struct hg3dclass_struct * thisclass_c);
-
-// Remove all items from the list. 
-void cegui_cmbbx_resetList(struct hg3dclass_struct * thisclass_c);
-
-// Add the given ListboxItem
-void cegui_cmbbx_addItem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c);
-
-// Insert an item into the list box after a specified item already in the list. 
-void cegui_cmbbx_insertItem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, struct hg3dclass_struct * position_c);
-
-// Removes the given item from the list box. 
-void cegui_cmbbx_removeItem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c);
-
-// Clear the selected state for all items. 
-void cegui_cmbbx_clearAllSelections(struct hg3dclass_struct * thisclass_c);
-
-// Set whether the list should be sorted. 
-void cegui_cmbbx_setSortingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the vertical scroll bar should always be shown. 
-void cegui_cmbbx_setShowVertScrollbar(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the horizontal scroll bar should always be shown. 
-void cegui_cmbbx_setShowHorzScrollbar(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set the select state of an attached ListboxItem
-void cegui_cmbbx_setItemSelectState(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, int state_c);
-
-// Set the select state of an attached ListboxItem
-void cegui_cmbbx_setItemSelectState2(struct hg3dclass_struct * thisclass_c, int item_index_c, int state_c);
-
-// Causes the list box to update it's internal state after changes have been made to one or more attached ListboxItem
-void cegui_cmbbx_handleUpdatedListItemData(struct hg3dclass_struct * thisclass_c);
-
-// Constructor for Combobox
-void cegui_cmbbx_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for Combobox
-void cegui_cmbbx_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassDefaultLogger.h b/include/ClassDefaultLogger.h
deleted file mode 100644
--- a/include/ClassDefaultLogger.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// 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.
-// 
-
-// ClassDefaultLogger.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassDefaultLogger
-#define _DEFINED_HG3D_ClassDefaultLogger
-
-#include "ClassPtr.h"
-#include "EnumLoggingLevel.h"
-
-
-
-// Constructor for DefaultLogger
-void cegui_dfltlgr_construct(struct hg3dclass_struct * result_c);
-
-// Destructor for DefaultLogger
-void cegui_dfltlgr_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Add an event to the log. 
-void cegui_dfltlgr_logEvent(struct hg3dclass_struct * thisclass_c, char * message_c, enum EnumLoggingLevel level_c);
-
-// Set the name of the log file where all subsequent log entries should be written. 
-void cegui_dfltlgr_setLogFilename(struct hg3dclass_struct * thisclass_c, char * filename_c, int append_c);
-
-#endif 
diff --git a/include/ClassDefaultResourceProvider.h b/include/ClassDefaultResourceProvider.h
deleted file mode 100644
--- a/include/ClassDefaultResourceProvider.h
+++ /dev/null
@@ -1,47 +0,0 @@
-// 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.
-// 
-
-// ClassDefaultResourceProvider.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassDefaultResourceProvider
-#define _DEFINED_HG3D_ClassDefaultResourceProvider
-
-#include "ClassPtr.h"
-
-
-
-// 
-void cegui_drpr_construct(struct hg3dclass_struct * result_c);
-
-// 
-void cegui_drpr_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Set the directory associated with a given resource group identifier. 
-void cegui_drpr_setResourceGroupDirectory(struct hg3dclass_struct * thisclass_c, char * resourceGroup_c, char * directory_c);
-
-// Return the directory associated with the specified resource group identifier. 
-void cegui_drpr_getResourceGroupDirectory(struct hg3dclass_struct * thisclass_c, char * resourceGroup_c, char * result_c);
-
-// clears any currently set directory for the specified resource group identifier. 
-void cegui_drpr_clearResourceGroupDirectory(struct hg3dclass_struct * thisclass_c, char * resourceGroup_c);
-
-#endif 
diff --git a/include/ClassDragContainer.h b/include/ClassDragContainer.h
deleted file mode 100644
--- a/include/ClassDragContainer.h
+++ /dev/null
@@ -1,81 +0,0 @@
-// 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.
-// 
-
-// ClassDragContainer.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassDragContainer
-#define _DEFINED_HG3D_ClassDragContainer
-
-#include "ClassPtr.h"
-#include "ClassWindow.h"
-
-
-
-// Constructor for DragContainer
-void cegui_drgcnt_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for DragContainer
-void cegui_drgcnt_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Return whether dragging is currently enabled for this DragContainer
-void cegui_drgcnt_isDraggingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Set whether dragging is currently enabled for this DragContainer
-void cegui_drgcnt_setDraggingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Return whether the DragContainer
-void cegui_drgcnt_isBeingDragged(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return the current drag threshold in pixels. 
-void cegui_drgcnt_getPixelDragThreshold(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Set the current drag threshold in pixels. 
-void cegui_drgcnt_setPixelDragThreshold(struct hg3dclass_struct * thisclass_c, float pixels_c);
-
-// Return the alpha value that will be set on the DragContainer
-void cegui_drgcnt_getDragAlpha(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Set the alpha value to be set on the DragContainer
-void cegui_drgcnt_setDragAlpha(struct hg3dclass_struct * thisclass_c, float alpha_c);
-
-// Set the Image to be used for the mouse cursor when a drag operation is in progress. 
-void cegui_drgcnt_setDragCursorImage3(struct hg3dclass_struct * thisclass_c, char * imageset_c, char * image_c);
-
-// Return the WindowDragContainer
-void cegui_drgcnt_getCurrentDropTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return whether sticky mode is enable or disabled. 
-void cegui_drgcnt_isStickyModeEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Enable or disable sticky mode. 
-void cegui_drgcnt_setStickyModeEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Immediately pick up the DragContainer
-void cegui_drgcnt_pickUp(struct hg3dclass_struct * thisclass_c, const int force_sticky_c, int * result_c);
-
-// Set whether the fixed dragging offset - as set with the setFixedDragOffset - function will be used, or whether the built-in positioning will be used. 
-void cegui_drgcnt_setUsingFixedDragOffset(struct hg3dclass_struct * thisclass_c, const int enable_c);
-
-// Return whether the fixed dragging offset - as set with the setFixedDragOffset function - will be used, or whether the built-in positioning will be used. 
-void cegui_drgcnt_isUsingFixedDragOffset(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-#endif 
diff --git a/include/ClassEditbox.h b/include/ClassEditbox.h
deleted file mode 100644
--- a/include/ClassEditbox.h
+++ /dev/null
@@ -1,92 +0,0 @@
-// 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.
-// 
-
-// ClassEditbox.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassEditbox
-#define _DEFINED_HG3D_ClassEditbox
-
-#include "ClassPtr.h"
-
-
-
-// return true if the Editbox
-void cegui_edtbx_hasInputFocus(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return true if the Editbox
-void cegui_edtbx_isReadOnly(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return true if the text for the Editbox
-void cegui_edtbx_isTextMasked(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return true if the Editbox
-void cegui_edtbx_isTextValid(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the currently set validation string 
-void cegui_edtbx_getValidationString(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// return the current position of the carat. 
-void cegui_edtbx_getCaratIndex(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the current selection start point. 
-void cegui_edtbx_getSelectionStartIndex(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the current selection end point. 
-void cegui_edtbx_getSelectionEndIndex(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the length of the current selection (in code points / characters). 
-void cegui_edtbx_getSelectionLength(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the utf32 code point used when rendering masked text. 
-void cegui_edtbx_getMaskCodePoint(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the maximum text length set for this Editbox
-void cegui_edtbx_getMaxTextLength(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Specify whether the Editbox
-void cegui_edtbx_setReadOnly(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Specify whether the text for the Editbox
-void cegui_edtbx_setTextMasked(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set the text validation string. 
-void cegui_edtbx_setValidationString(struct hg3dclass_struct * thisclass_c, char * validation_string_c);
-
-// Set the current position of the carat. 
-void cegui_edtbx_setCaratIndex(struct hg3dclass_struct * thisclass_c, int carat_pos_c);
-
-// Define the current selection for the Editbox
-void cegui_edtbx_setSelection(struct hg3dclass_struct * thisclass_c, int start_pos_c, int end_pos_c);
-
-// set the utf32 code point used when rendering masked text. 
-void cegui_edtbx_setMaskCodePoint(struct hg3dclass_struct * thisclass_c, int code_point_c);
-
-// set the maximum text length for this Editbox
-void cegui_edtbx_setMaxTextLength(struct hg3dclass_struct * thisclass_c, int max_len_c);
-
-// Constructor for Editbox
-void cegui_edtbx_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for Editbox
-void cegui_edtbx_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassEventArgs.h b/include/ClassEventArgs.h
deleted file mode 100644
--- a/include/ClassEventArgs.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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.
-// 
-
-// ClassEventArgs.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassEventArgs
-#define _DEFINED_HG3D_ClassEventArgs
-
-#include "ClassPtr.h"
-
-
-
-// 
-void cegui_evntargs_construct(struct hg3dclass_struct * result_c);
-
-// 
-void cegui_evntargs_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassEventSet.h b/include/ClassEventSet.h
deleted file mode 100644
--- a/include/ClassEventSet.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// 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.
-// 
-
-// ClassEventSet.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassEventSet
-#define _DEFINED_HG3D_ClassEventSet
-
-#include "ClassPtr.h"
-#include "ClassEventArgs.h"
-
-
-
-// Constructor for EventSet
-void cegui_evtst_construct(struct hg3dclass_struct * result_c);
-
-// Destructor for EventSet
-void cegui_evtst_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Add a new EventEventSet
-void cegui_evtst_addEvent(struct hg3dclass_struct * thisclass_c, char * name_c);
-
-// Removes the Event
-void cegui_evtst_removeEvent(struct hg3dclass_struct * thisclass_c, char * name_c);
-
-// Remove all EventEventSet
-void cegui_evtst_removeAllEvents(struct hg3dclass_struct * thisclass_c);
-
-// Checks to see if an EventEventSet
-void cegui_evtst_isEventPresent(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
-
-// Fires the named event passing the given EventArgs
-void cegui_evtst_fireEvent(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * args_c, char * eventNamespace_c);
-
-// Return whether the EventSet
-void cegui_evtst_isMuted(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Set the mute state for this EventSet
-void cegui_evtst_setMutedState(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-#endif 
diff --git a/include/ClassFont.h b/include/ClassFont.h
deleted file mode 100644
--- a/include/ClassFont.h
+++ /dev/null
@@ -1,74 +0,0 @@
-// 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.
-// 
-
-// ClassFont.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassFont
-#define _DEFINED_HG3D_ClassFont
-
-#include "ClassPtr.h"
-
-
-
-// Destructor. 
-void cegui_fnt_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Return the string holding the font name. 
-void cegui_fnt_getName(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// Return the type of the font. 
-void cegui_fnt_getTypeName(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// Return whether this Font
-void cegui_fnt_isCodepointAvailable(struct hg3dclass_struct * thisclass_c, int cp_c, int * result_c);
-
-// Enable or disable auto-scaling for this Font
-void cegui_fnt_setAutoScaled(struct hg3dclass_struct * thisclass_c, const int auto_scaled_c);
-
-// Return whether this Font
-void cegui_fnt_isAutoScaled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return the pixel line spacing value for. 
-void cegui_fnt_getLineSpacing(struct hg3dclass_struct * thisclass_c, float y_scale_c, float * result_c);
-
-// return the exact pixel height of the font. 
-void cegui_fnt_getFontHeight(struct hg3dclass_struct * thisclass_c, float y_scale_c, float * result_c);
-
-// Return the number of pixels from the top of the highest glyph to the baseline. 
-void cegui_fnt_getBaseline(struct hg3dclass_struct * thisclass_c, float y_scale_c, float * result_c);
-
-// Return the pixel width of the specified text if rendered with this Font
-void cegui_fnt_getTextExtent(struct hg3dclass_struct * thisclass_c, char * text_c, float x_scale_c, float * result_c);
-
-// Return the index of the closest text character in String textpixel
-void cegui_fnt_getCharAtPixel(struct hg3dclass_struct * thisclass_c, char * text_c, float pixel_c, float x_scale_c, int * result_c);
-
-// Return the index of the closest text character in String textstart_charpixel
-void cegui_fnt_getCharAtPixel2(struct hg3dclass_struct * thisclass_c, char * text_c, int start_char_c, float pixel_c, float x_scale_c, int * result_c);
-
-// Sets the default resource group to be used when loading font data. 
-void cegui_fnt_setDefaultResourceGroup(char * resourceGroup_c);
-
-// Returns the default resource group currently set for Fonts. 
-void cegui_fnt_getDefaultResourceGroup(char * result_c);
-
-#endif 
diff --git a/include/ClassFontManager.h b/include/ClassFontManager.h
deleted file mode 100644
--- a/include/ClassFontManager.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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.
-// 
-
-// ClassFontManager.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassFontManager
-#define _DEFINED_HG3D_ClassFontManager
-
-#include "ClassPtr.h"
-
-
-
-// Constructor. 
-void cegui_fntmgr_construct(struct hg3dclass_struct * result_c);
-
-// Destructor. 
-void cegui_fntmgr_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassFrameWindow.h b/include/ClassFrameWindow.h
deleted file mode 100644
--- a/include/ClassFrameWindow.h
+++ /dev/null
@@ -1,105 +0,0 @@
-// 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.
-// 
-
-// ClassFrameWindow.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassFrameWindow
-#define _DEFINED_HG3D_ClassFrameWindow
-
-#include "ClassPtr.h"
-#include "ClassPushButton.h"
-
-
-
-// Initialises the Window
-void cegui_frmwndw_initialiseComponents(struct hg3dclass_struct * thisclass_c);
-
-// Return whether this window is sizable. Note that this requires that the window have an enabled frame and that sizing itself is enabled. 
-void cegui_frmwndw_isSizingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the frame for this window is enabled. 
-void cegui_frmwndw_isFrameEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the title bar for this window is enabled. 
-void cegui_frmwndw_isTitleBarEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether this close button for this window is enabled. 
-void cegui_frmwndw_isCloseButtonEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether roll up (a.k.a shading) is enabled for this window. 
-void cegui_frmwndw_isRollupEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the window is currently rolled up (a.k.a shaded). 
-void cegui_frmwndw_isRolledup(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return the thickness of the sizing border. 
-void cegui_frmwndw_getSizingBorderThickness(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Enables or disables sizing for this window. 
-void cegui_frmwndw_setSizingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Enables or disables the frame for this window. 
-void cegui_frmwndw_setFrameEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Enables or disables the title bar for the frame window. 
-void cegui_frmwndw_setTitleBarEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Enables or disables the close button for the frame window. 
-void cegui_frmwndw_setCloseButtonEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Enables or disables roll-up (shading) for this window. 
-void cegui_frmwndw_setRollupEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Toggles the state of the window between rolled-up (shaded) and normal sizes. This requires roll-up to be enabled. 
-void cegui_frmwndw_toggleRollup(struct hg3dclass_struct * thisclass_c);
-
-// Set the size of the sizing border for this window. 
-void cegui_frmwndw_setSizingBorderThickness(struct hg3dclass_struct * thisclass_c, float pixels_c);
-
-// Return whether this FrameWindow
-void cegui_frmwndw_isDragMovingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Set whether this FrameWindow
-void cegui_frmwndw_setDragMovingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set the image to be used for the north-south sizing mouse cursor. 
-void cegui_frmwndw_setNSSizingCursorImage2(struct hg3dclass_struct * thisclass_c, char * imageset_c, char * image_c);
-
-// Set the image to be used for the east-west sizing mouse cursor. 
-void cegui_frmwndw_setEWSizingCursorImage2(struct hg3dclass_struct * thisclass_c, char * imageset_c, char * image_c);
-
-// Set the image to be used for the northwest-southeast sizing mouse cursor. 
-void cegui_frmwndw_setNWSESizingCursorImage2(struct hg3dclass_struct * thisclass_c, char * imageset_c, char * image_c);
-
-// Set the image to be used for the northeast-southwest sizing mouse cursor. 
-void cegui_frmwndw_setNESWSizingCursorImage2(struct hg3dclass_struct * thisclass_c, char * imageset_c, char * image_c);
-
-// Return a pointer to the close button component widget for this FrameWindow
-void cegui_frmwndw_getCloseButton(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Constructor for FrameWindow
-void cegui_frmwndw_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for FramwWindow objects. 
-void cegui_frmwndw_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassHG3DEventController.h b/include/ClassHG3DEventController.h
deleted file mode 100644
--- a/include/ClassHG3DEventController.h
+++ /dev/null
@@ -1,48 +0,0 @@
-// 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.
-// 
-
-// ClassHG3DEventController.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassHG3DEventController
-#define _DEFINED_HG3D_ClassHG3DEventController
-
-#include "ClassPtr.h"
-#include "ClassWindow.h"
-
-
-
-// 
-void construct(struct hg3dclass_struct * result_c);
-
-// 
-void destruct(struct hg3dclass_struct * thisclass_c);
-
-// 
-void pushEvent(struct hg3dclass_struct * thisclass_c, char * name_c, char * sender_c, struct hg3dclass_struct * window_c);
-
-// 
-void eventsAvailable(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// 
-void popEvent(struct hg3dclass_struct * thisclass_c, char * name_c, char * sender_c, struct hg3dclass_struct * window_c);
-
-#endif 
diff --git a/include/ClassHG3DEventStaticFunctions.h b/include/ClassHG3DEventStaticFunctions.h
deleted file mode 100644
--- a/include/ClassHG3DEventStaticFunctions.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// 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.
-// 
-
-// ClassHG3DEventStaticFunctions.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassHG3DEventStaticFunctions
-#define _DEFINED_HG3D_ClassHG3DEventStaticFunctions
-
-#include "ClassPtr.h"
-#include "ClassEventSet.h"
-
-
-
-// 
-void cegui_hg3devtsf_subscribeScriptedEvent(struct hg3dclass_struct * window_c, char * name_c, char * subscriber_name_c);
-
-#endif 
diff --git a/include/ClassHG3DListboxStaticFunctions.h b/include/ClassHG3DListboxStaticFunctions.h
deleted file mode 100644
--- a/include/ClassHG3DListboxStaticFunctions.h
+++ /dev/null
@@ -1,40 +0,0 @@
-// 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.
-// 
-
-// ClassHG3DListboxStaticFunctions.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassHG3DListboxStaticFunctions
-#define _DEFINED_HG3D_ClassHG3DListboxStaticFunctions
-
-#include "ClassPtr.h"
-#include "ClassListbox.h"
-#include "ClassCombobox.h"
-
-
-
-// 
-void cegui_hg3dlstbxsf_listboxAddItem(struct hg3dclass_struct * listbox_c, char * itemString_c);
-
-// 
-void cegui_hg3dlstbxsf_comboboxAddItem(struct hg3dclass_struct * combobox_c, char * itemString_c);
-
-#endif 
diff --git a/include/ClassHG3DWindowStaticFunctions.h b/include/ClassHG3DWindowStaticFunctions.h
deleted file mode 100644
--- a/include/ClassHG3DWindowStaticFunctions.h
+++ /dev/null
@@ -1,81 +0,0 @@
-// 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.
-// 
-
-// ClassHG3DWindowStaticFunctions.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassHG3DWindowStaticFunctions
-#define _DEFINED_HG3D_ClassHG3DWindowStaticFunctions
-
-#include "ClassPtr.h"
-#include "ClassPushButton.h"
-#include "ClassWindow.h"
-#include "ClassListbox.h"
-#include "ClassCombobox.h"
-#include "ClassCheckbox.h"
-#include "ClassRadioButton.h"
-#include "ClassEditbox.h"
-#include "ClassMultiLineEditbox.h"
-#include "ClassFrameWindow.h"
-#include "ClassProgressBar.h"
-#include "ClassSlider.h"
-#include "ClassSpinner.h"
-#include "ClassMultiColumnList.h"
-
-
-
-// 
-void cegui_hg3dwsfs_castWindowToPushButton(struct hg3dclass_struct * window_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_hg3dwsfs_castWindowToListbox(struct hg3dclass_struct * window_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_hg3dwsfs_castWindowToCombobox(struct hg3dclass_struct * window_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_hg3dwsfs_castWindowToCheckbox(struct hg3dclass_struct * window_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_hg3dwsfs_castWindowToRadioButton(struct hg3dclass_struct * window_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_hg3dwsfs_castWindowToEditbox(struct hg3dclass_struct * window_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_hg3dwsfs_castWindowToMultiLineEditbox(struct hg3dclass_struct * window_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_hg3dwsfs_castWindowToFrameWindow(struct hg3dclass_struct * window_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_hg3dwsfs_castWindowToProgressBar(struct hg3dclass_struct * window_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_hg3dwsfs_castWindowToSlider(struct hg3dclass_struct * window_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_hg3dwsfs_castWindowToSpinner(struct hg3dclass_struct * window_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_hg3dwsfs_castWindowToMultiColumnList(struct hg3dclass_struct * window_c, struct hg3dclass_struct * result_c);
-
-#endif 
diff --git a/include/ClassImageCodec.h b/include/ClassImageCodec.h
deleted file mode 100644
--- a/include/ClassImageCodec.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// 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.
-// 
-
-// ClassImageCodec.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassImageCodec
-#define _DEFINED_HG3D_ClassImageCodec
-
-#include "ClassPtr.h"
-
-
-
-// Destructor. 
-void cegui_imgcdc_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Return the name of the image codec object. 
-void cegui_imgcdc_getIdentifierString(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// Return the list of image file format supported. 
-void cegui_imgcdc_getSupportedFormat(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-#endif 
diff --git a/include/ClassImageset.h b/include/ClassImageset.h
deleted file mode 100644
--- a/include/ClassImageset.h
+++ /dev/null
@@ -1,77 +0,0 @@
-// 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.
-// 
-
-// ClassImageset.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassImageset
-#define _DEFINED_HG3D_ClassImageset
-
-#include "ClassPtr.h"
-
-
-
-// Construct a new Imageset
-void cegui_imgst_construct(char * name_c, char * filename_c, char * resourceGroup_c, struct hg3dclass_struct * result_c);
-
-// Destroys Imageset
-void cegui_imgst_destruct(struct hg3dclass_struct * thisclass_c);
-
-// return String object holding the name of the Imageset
-void cegui_imgst_getName(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// return number of images defined for this Imageset
-void cegui_imgst_getImageCount(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// return true if an Image with the specified name exists. 
-void cegui_imgst_isImageDefined(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
-
-// remove the definition for the Image with the specified name. If no such Image exists, nothing happens. 
-void cegui_imgst_undefineImage(struct hg3dclass_struct * thisclass_c, char * name_c);
-
-// Removes the definitions for all Image objects currently defined in the Imageset
-void cegui_imgst_undefineAllImages(struct hg3dclass_struct * thisclass_c);
-
-// return the width of the named image. 
-void cegui_imgst_getImageWidth(struct hg3dclass_struct * thisclass_c, char * name_c, float * result_c);
-
-// return the height of the named image. 
-void cegui_imgst_getImageHeight(struct hg3dclass_struct * thisclass_c, char * name_c, float * result_c);
-
-// return the x rendering offset for the named image. 
-void cegui_imgst_getImageOffsetX(struct hg3dclass_struct * thisclass_c, char * name_c, float * result_c);
-
-// return the y rendering offset for the named image. 
-void cegui_imgst_getImageOffsetY(struct hg3dclass_struct * thisclass_c, char * name_c, float * result_c);
-
-// Return whether this Imageset
-void cegui_imgst_isAutoScaled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Enable or disable auto-scaling for this Imageset
-void cegui_imgst_setAutoScalingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Sets the default resource group to be used when loading imageset data. 
-void cegui_imgst_setDefaultResourceGroup(char * resourceGroup_c);
-
-// Returns the default resource group currently set for Imagesets. 
-void cegui_imgst_getDefaultResourceGroup(char * result_c);
-
-#endif 
diff --git a/include/ClassItemEntry.h b/include/ClassItemEntry.h
deleted file mode 100644
--- a/include/ClassItemEntry.h
+++ /dev/null
@@ -1,59 +0,0 @@
-// 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.
-// 
-
-// ClassItemEntry.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassItemEntry
-#define _DEFINED_HG3D_ClassItemEntry
-
-#include "ClassPtr.h"
-
-
-
-// Returns whether this item is selected or not. 
-void cegui_itmentr_isSelected(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns whether this item is selectable or not. 
-void cegui_itmentr_isSelectable(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Sets the selection state of this item (on/off). If this item is not selectable this function does nothing. 
-void cegui_itmentr_setSelected(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Selects the item. 
-void cegui_itmentr_select(struct hg3dclass_struct * thisclass_c);
-
-// Deselects the item. 
-void cegui_itmentr_deselect(struct hg3dclass_struct * thisclass_c);
-
-// Set the selection state for this ListItem. Internal version. Should NOT be used by client code. 
-void cegui_itmentr_setSelected_impl(struct hg3dclass_struct * thisclass_c, int state_c, int notify_c);
-
-// Sets whether this item will be selectable. 
-void cegui_itmentr_setSelectable(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Constructor for ItemEntry
-void cegui_itmentr_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for ItemEntry
-void cegui_itmentr_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassItemListbox.h b/include/ClassItemListbox.h
deleted file mode 100644
--- a/include/ClassItemListbox.h
+++ /dev/null
@@ -1,87 +0,0 @@
-// 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.
-// 
-
-// ClassItemListbox.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassItemListbox
-#define _DEFINED_HG3D_ClassItemListbox
-
-#include "ClassPtr.h"
-#include "ClassItemEntry.h"
-
-
-
-// Returns the number of selected items in this ItemListbox
-void cegui_itmlstbx_getSelectedCount(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns a pointer to the last selected item. 
-void cegui_itmlstbx_getLastSelectedItem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Returns a pointer to the first selected item. 
-void cegui_itmlstbx_getFirstSelectedItem(struct hg3dclass_struct * thisclass_c, int start_index_c, struct hg3dclass_struct * result_c);
-
-// Returns a pointer to the next seleced item relative to a previous call to getFirstSelectedItem or getNextSelectedItem. 
-void cegui_itmlstbx_getNextSelectedItem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Returns a pointer to the next selected item after the item 'start_item' given. 
-void cegui_itmlstbx_getNextSelectedItemAfter(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * start_item_c, struct hg3dclass_struct * result_c);
-
-// Returns 'true' if multiple selections are allowed. 'false' if not. 
-void cegui_itmlstbx_isMultiSelectEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns 'true' if the item at the given index is selectable and currently selected. 
-void cegui_itmlstbx_isItemSelected(struct hg3dclass_struct * thisclass_c, int index_c, int * result_c);
-
-// 
-void cegui_itmlstbx_initialiseComponents(struct hg3dclass_struct * thisclass_c);
-
-// Set whether or not multiple selections should be allowed. 
-void cegui_itmlstbx_setMultiSelectEnabled(struct hg3dclass_struct * thisclass_c, int state_c);
-
-// Clears all selections. 
-void cegui_itmlstbx_clearAllSelections(struct hg3dclass_struct * thisclass_c);
-
-// Select a range of items. 
-void cegui_itmlstbx_selectRange(struct hg3dclass_struct * thisclass_c, int a_c, int z_c);
-
-// Select all items. Does nothing if multiselect is disabled. 
-void cegui_itmlstbx_selectAllItems(struct hg3dclass_struct * thisclass_c);
-
-// Constructor for the ItemListbox
-void cegui_itmlstbx_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for the ItemListbox
-void cegui_itmlstbx_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Setup size and position for the item widgets attached to this ItemListbox
-void cegui_itmlstbx_layoutItemWidgets(struct hg3dclass_struct * thisclass_c);
-
-// Return whether this window was inherited from the given class name at some point in the inheritance hierarchy. 
-void cegui_itmlstbx_testClassName_impl(struct hg3dclass_struct * thisclass_c, char * class_name_c, int * result_c);
-
-// Notify this ItemListbox
-void cegui_itmlstbx_notifyItemClicked(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * li_c);
-
-// Notify this ItemListbox
-void cegui_itmlstbx_notifyItemSelectState(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * li_c, int state_c);
-
-#endif 
diff --git a/include/ClassListHeader.h b/include/ClassListHeader.h
deleted file mode 100644
--- a/include/ClassListHeader.h
+++ /dev/null
@@ -1,130 +0,0 @@
-// 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.
-// 
-
-// ClassListHeader.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassListHeader
-#define _DEFINED_HG3D_ClassListHeader
-
-#include "ClassPtr.h"
-#include "ClassListHeaderSegment.h"
-#include "EnumSortDirection.h"
-
-
-
-// Return the number of columns or segments attached to the header. 
-void cegui_lsthdr_getColumnCount(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// Return the ListHeaderSegment
-void cegui_lsthdr_getSegmentFromColumn(struct hg3dclass_struct * thisclass_c, unsigned int column_c, struct hg3dclass_struct * result_c);
-
-// Return the ListHeaderSegment
-void cegui_lsthdr_getSegmentFromID(struct hg3dclass_struct * thisclass_c, unsigned int id_c, struct hg3dclass_struct * result_c);
-
-// Return the ListHeaderSegment
-void cegui_lsthdr_getSortSegment(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return the zero based column index of the specified segment. 
-void cegui_lsthdr_getColumnFromSegment(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * segment_c, unsigned int * result_c);
-
-// Return the zero based column index of the segment with the specified ID. 
-void cegui_lsthdr_getColumnFromID(struct hg3dclass_struct * thisclass_c, unsigned int id_c, unsigned int * result_c);
-
-// Return the zero based index of the current sort column. There must be at least one segment/column to successfully call this method. 
-void cegui_lsthdr_getSortColumn(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// Return the zero based column index of the segment with the specified text. 
-void cegui_lsthdr_getColumnWithText(struct hg3dclass_struct * thisclass_c, char * text_c, unsigned int * result_c);
-
-// Return the pixel offset to the given ListHeaderSegment
-void cegui_lsthdr_getPixelOffsetToSegment(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * segment_c, float * result_c);
-
-// Return the pixel offset to the ListHeaderSegment
-void cegui_lsthdr_getPixelOffsetToColumn(struct hg3dclass_struct * thisclass_c, unsigned int column_c, float * result_c);
-
-// Return the total pixel width of all attached segments. 
-void cegui_lsthdr_getTotalSegmentsPixelExtent(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Return the currently set sort direction. 
-void cegui_lsthdr_getSortDirection(struct hg3dclass_struct * thisclass_c, enum EnumSortDirection * result_c);
-
-// Return whether user manipulation of the sort column & direction are enabled. 
-void cegui_lsthdr_isSortingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the user may size column segments. 
-void cegui_lsthdr_isColumnSizingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the user may modify the order of the segments. 
-void cegui_lsthdr_isColumnDraggingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return the current segment offset value. This value is used to implement scrolling of the header segments within the ListHeader
-void cegui_lsthdr_getSegmentOffset(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Set whether user manipulation of the sort column and direction is enabled. 
-void cegui_lsthdr_setSortingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set the current sort direction. 
-void cegui_lsthdr_setSortDirection(struct hg3dclass_struct * thisclass_c, enum EnumSortDirection direction_c);
-
-// Set the column segment to be used as the sort column. 
-void cegui_lsthdr_setSortSegment(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * segment_c);
-
-// Set the column to be used as the sort column. 
-void cegui_lsthdr_setSortColumn(struct hg3dclass_struct * thisclass_c, unsigned int column_c);
-
-// Set the column to to be used for sorting via its ID code. 
-void cegui_lsthdr_setSortColumnFromID(struct hg3dclass_struct * thisclass_c, unsigned int id_c);
-
-// Set whether columns may be sized by the user. 
-void cegui_lsthdr_setColumnSizingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether columns may be reordered by the user via drag and drop. 
-void cegui_lsthdr_setColumnDraggingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Removes a column segment from the ListHeader
-void cegui_lsthdr_removeColumn(struct hg3dclass_struct * thisclass_c, unsigned int column_c);
-
-// Remove the specified segment from the ListHeader
-void cegui_lsthdr_removeSegment(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * segment_c);
-
-// Moves a column segment into a new position. 
-void cegui_lsthdr_moveColumn(struct hg3dclass_struct * thisclass_c, unsigned int column_c, unsigned int position_c);
-
-// Move a column segment to a new position. 
-void cegui_lsthdr_moveColumn2(struct hg3dclass_struct * thisclass_c, unsigned int column_c, struct hg3dclass_struct * position_c);
-
-// Moves a segment into a new position. 
-void cegui_lsthdr_moveSegment(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * segment_c, unsigned int position_c);
-
-// Move a segment to a new position. 
-void cegui_lsthdr_moveSegment2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * segment_c, struct hg3dclass_struct * position_c);
-
-// Set the current base segment offset. (This implements scrolling of the header segments within the header area). 
-void cegui_lsthdr_setSegmentOffset(struct hg3dclass_struct * thisclass_c, float offset_c);
-
-// Constructor for the list header base class. 
-void cegui_lsthdr_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for the list header base class. 
-void cegui_lsthdr_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassListHeaderSegment.h b/include/ClassListHeaderSegment.h
deleted file mode 100644
--- a/include/ClassListHeaderSegment.h
+++ /dev/null
@@ -1,84 +0,0 @@
-// 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.
-// 
-
-// ClassListHeaderSegment.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassListHeaderSegment
-#define _DEFINED_HG3D_ClassListHeaderSegment
-
-#include "ClassPtr.h"
-#include "EnumSortDirection.h"
-
-
-
-// Return whether this segment can be sized. 
-void cegui_lsthdrsgm_isSizingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return the current sort direction set for this segment. 
-void cegui_lsthdrsgm_getSortDirection(struct hg3dclass_struct * thisclass_c, enum EnumSortDirection * result_c);
-
-// Return whether drag moving is enabled for this segment. 
-void cegui_lsthdrsgm_isDragMovingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the segment is clickable. 
-void cegui_lsthdrsgm_isClickable(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the segment is currently in its hovering state. 
-void cegui_lsthdrsgm_isSegmentHovering(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the segment is currently in its pushed state. 
-void cegui_lsthdrsgm_isSegmentPushed(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the splitter is currently in its hovering state. 
-void cegui_lsthdrsgm_isSplitterHovering(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the segment is currently being drag-moved. 
-void cegui_lsthdrsgm_isBeingDragMoved(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the segment is currently being drag-moved. 
-void cegui_lsthdrsgm_isBeingDragSized(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Set whether this segment can be sized. 
-void cegui_lsthdrsgm_setSizingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set the current sort direction set for this segment. 
-void cegui_lsthdrsgm_setSortDirection(struct hg3dclass_struct * thisclass_c, enum EnumSortDirection sort_dir_c);
-
-// Set whether drag moving is allowed for this segment. 
-void cegui_lsthdrsgm_setDragMovingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the segment is clickable. 
-void cegui_lsthdrsgm_setClickable(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// 
-void cegui_lsthdrsgm_setSizingCursorImage2(struct hg3dclass_struct * thisclass_c, char * imageset_c, char * image_c);
-
-// 
-void cegui_lsthdrsgm_setMovingCursorImage2(struct hg3dclass_struct * thisclass_c, char * imageset_c, char * image_c);
-
-// Constructor for list header segment base class. 
-void cegui_lsthdrsgm_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for list header segment base class. 
-void cegui_lsthdrsgm_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassListbox.h b/include/ClassListbox.h
deleted file mode 100644
--- a/include/ClassListbox.h
+++ /dev/null
@@ -1,142 +0,0 @@
-// 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.
-// 
-
-// ClassListbox.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassListbox
-#define _DEFINED_HG3D_ClassListbox
-
-#include "ClassPtr.h"
-#include "ClassListboxItem.h"
-#include "ClassScrollbar.h"
-
-
-
-// Return number of items attached to the list box. 
-void cegui_lstbx_getItemCount(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return the number of selected items in the list box. 
-void cegui_lstbx_getSelectedCount(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return a pointer to the first selected item. 
-void cegui_lstbx_getFirstSelectedItem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return a pointer to the next selected item after item start_item
-void cegui_lstbx_getNextSelected(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * start_item_c, struct hg3dclass_struct * result_c);
-
-// Return the item at index position index
-void cegui_lstbx_getListboxItemFromIndex(struct hg3dclass_struct * thisclass_c, int index_c, struct hg3dclass_struct * result_c);
-
-// Return the index of ListboxItemitem
-void cegui_lstbx_getItemIndex(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, int * result_c);
-
-// return whether list sorting is enabled 
-void cegui_lstbx_isSortEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return whether multi-select is enabled 
-void cegui_lstbx_isMultiselectEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// 
-void cegui_lstbx_isItemTooltipsEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return whether the string at index position index
-void cegui_lstbx_isItemSelected(struct hg3dclass_struct * thisclass_c, int index_c, int * result_c);
-
-// Search the list for an item with the specified text. 
-void cegui_lstbx_findItemWithText(struct hg3dclass_struct * thisclass_c, char * text_c, struct hg3dclass_struct * start_item_c, struct hg3dclass_struct * result_c);
-
-// Return whether the specified ListboxItem
-void cegui_lstbx_isListboxItemInList(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, int * result_c);
-
-// Return whether the vertical scroll bar is always shown. 
-void cegui_lstbx_isVertScrollbarAlwaysShown(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the horizontal scroll bar is always shown. 
-void cegui_lstbx_isHorzScrollbarAlwaysShown(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Initialise the Window
-void cegui_lstbx_initialiseComponents(struct hg3dclass_struct * thisclass_c);
-
-// Remove all items from the list. 
-void cegui_lstbx_resetList(struct hg3dclass_struct * thisclass_c);
-
-// Add the given ListboxItem
-void cegui_lstbx_addItem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c);
-
-// Insert an item into the list box before a specified item already in the list. 
-void cegui_lstbx_insertItem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, struct hg3dclass_struct * position_c);
-
-// Removes the given item from the list box. If the item is has the auto delete state set, the item will be deleted. 
-void cegui_lstbx_removeItem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c);
-
-// Clear the selected state for all items. 
-void cegui_lstbx_clearAllSelections(struct hg3dclass_struct * thisclass_c);
-
-// Set whether the list should be sorted. 
-void cegui_lstbx_setSortingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the list should allow multiple selections or just a single selection. 
-void cegui_lstbx_setMultiselectEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the vertical scroll bar should always be shown. 
-void cegui_lstbx_setShowVertScrollbar(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the horizontal scroll bar should always be shown. 
-void cegui_lstbx_setShowHorzScrollbar(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// 
-void cegui_lstbx_setItemTooltipsEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set the select state of an attached ListboxItem
-void cegui_lstbx_setItemSelectState(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, int state_c);
-
-// Set the select state of an attached ListboxItem
-void cegui_lstbx_setItemSelectState2(struct hg3dclass_struct * thisclass_c, int item_index_c, int state_c);
-
-// Causes the list box to update it's internal state after changes have been made to one or more attached ListboxItem
-void cegui_lstbx_handleUpdatedItemData(struct hg3dclass_struct * thisclass_c);
-
-// Ensure the item at the specified index is visible within the list box. 
-void cegui_lstbx_ensureItemIsVisible(struct hg3dclass_struct * thisclass_c, int item_index_c);
-
-// Ensure the item at the specified index is visible within the list box. 
-void cegui_lstbx_ensureItemIsVisible2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c);
-
-// Return a pointer to the vertical scrollbar component widget for this Listbox
-void cegui_lstbx_getVertScrollbar(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return a pointer to the horizontal scrollbar component widget for this Listbox
-void cegui_lstbx_getHorzScrollbar(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return the sum of all item heights. 
-void cegui_lstbx_getTotalItemsHeight(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Return the width of the widest item. 
-void cegui_lstbx_getWidestItemWidth(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Constructor for Listbox
-void cegui_lstbx_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for Listbox
-void cegui_lstbx_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassListboxItem.h b/include/ClassListboxItem.h
deleted file mode 100644
--- a/include/ClassListboxItem.h
+++ /dev/null
@@ -1,84 +0,0 @@
-// 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.
-// 
-
-// ClassListboxItem.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassListboxItem
-#define _DEFINED_HG3D_ClassListboxItem
-
-#include "ClassPtr.h"
-#include "ClassWindow.h"
-
-
-
-// base class destructor 
-void cegui_lstbxitm_destruct(struct hg3dclass_struct * thisclass_c);
-
-// return the text string set for this list box item. 
-void cegui_lstbxitm_getTooltipText(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// 
-void cegui_lstbxitm_getText(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// return text string with visual
-void cegui_lstbxitm_getTextVisual(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// Return the current ID assigned to this list box item. 
-void cegui_lstbxitm_getID(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// return whether this item is selected. 
-void cegui_lstbxitm_isSelected(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return whether this item is disabled. 
-void cegui_lstbxitm_isDisabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return whether this item will be automatically deleted when the list box it is attached to is destroyed, or when the item is removed from the list box. 
-void cegui_lstbxitm_isAutoDeleted(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Get the owner window for this ListboxItem
-void cegui_lstbxitm_getOwnerWindow(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// set the text string for this list box item. 
-void cegui_lstbxitm_setText(struct hg3dclass_struct * thisclass_c, char * text_c);
-
-// 
-void cegui_lstbxitm_setTooltipText(struct hg3dclass_struct * thisclass_c, char * text_c);
-
-// Set the ID assigned to this list box item. 
-void cegui_lstbxitm_setID(struct hg3dclass_struct * thisclass_c, unsigned int item_id_c);
-
-// set whether this item is selected. 
-void cegui_lstbxitm_setSelected(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// set whether this item is disabled. 
-void cegui_lstbxitm_setDisabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether this item will be automatically deleted when the list box it is attached to is destroyed, or when the item is removed from the list box. 
-void cegui_lstbxitm_setAutoDeleted(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set the owner window for this ListboxItem
-void cegui_lstbxitm_setOwnerWindow(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * owner_c);
-
-// Set the selection highlighting brush image. 
-void cegui_lstbxitm_setSelectionBrushImage2(struct hg3dclass_struct * thisclass_c, char * imageset_c, char * image_c);
-
-#endif 
diff --git a/include/ClassListboxTextItem.h b/include/ClassListboxTextItem.h
deleted file mode 100644
--- a/include/ClassListboxTextItem.h
+++ /dev/null
@@ -1,54 +0,0 @@
-// 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.
-// 
-
-// ClassListboxTextItem.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassListboxTextItem
-#define _DEFINED_HG3D_ClassListboxTextItem
-
-#include "ClassPtr.h"
-#include "ClassFont.h"
-
-
-
-// base class destructor 
-void cegui_lstbxti_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Return a pointer to the font being used by this ListboxTextItem
-void cegui_lstbxti_getFont(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Set the font to be used by this ListboxTextItem
-void cegui_lstbxti_setFont(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * font_c);
-
-// Set the font to be used by this ListboxTextItem
-void cegui_lstbxti_setFont2(struct hg3dclass_struct * thisclass_c, char * font_name_c);
-
-// Set whether the the ListboxTextItem
-void cegui_lstbxti_setTextParsingEnabled(struct hg3dclass_struct * thisclass_c, const int enable_c);
-
-// return whether text parsing is enabled for this ListboxTextItem
-void cegui_lstbxti_isTextParsingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// set the text string for this list box item. 
-void cegui_lstbxti_setText(struct hg3dclass_struct * thisclass_c, char * text_c);
-
-#endif 
diff --git a/include/ClassLogger.h b/include/ClassLogger.h
deleted file mode 100644
--- a/include/ClassLogger.h
+++ /dev/null
@@ -1,48 +0,0 @@
-// 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.
-// 
-
-// ClassLogger.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassLogger
-#define _DEFINED_HG3D_ClassLogger
-
-#include "ClassPtr.h"
-#include "EnumLoggingLevel.h"
-
-
-
-// Destructor for Logger
-void cegui_lggr_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Set the level of logging information that will get out to the log file. 
-void cegui_lggr_setLoggingLevel(struct hg3dclass_struct * thisclass_c, enum EnumLoggingLevel level_c);
-
-// return the current logging level setting 
-void cegui_lggr_getLoggingLevel(struct hg3dclass_struct * thisclass_c, enum EnumLoggingLevel * result_c);
-
-// Add an event to the log. 
-void cegui_lggr_logEvent(struct hg3dclass_struct * thisclass_c, char * message_c, enum EnumLoggingLevel level_c);
-
-// Set the name of the log file where all subsequent log entries should be written. The interpretation of file name may differ depending on the concrete logger implementation. 
-void cegui_lggr_setLogFilename(struct hg3dclass_struct * thisclass_c, char * filename_c, int append_c);
-
-#endif 
diff --git a/include/ClassMenuBase.h b/include/ClassMenuBase.h
deleted file mode 100644
--- a/include/ClassMenuBase.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// 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.
-// 
-
-// ClassMenuBase.h
-
-// abstrakte Klasse!
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassMenuBase
-#define _DEFINED_HG3D_ClassMenuBase
-
-#include "ClassPtr.h"
-#include "ClassMenuItem.h"
-
-
-
-// Get the item spacing for this menu. 
-void cegui_mnbs_getItemSpacing(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Return whether this menu allows multiple popup menus to open at the same time. 
-void cegui_mnbs_isMultiplePopupsAllowed(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether this menu should close all its open child popups, when it gets hidden. 
-void cegui_mnbs_getAutoCloseNestedPopups(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Get currently opened MenuItem
-void cegui_mnbs_getPopupMenuItem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Set the item spacing for this menu. 
-void cegui_mnbs_setItemSpacing(struct hg3dclass_struct * thisclass_c, float spacing_c);
-
-// Change the currently open MenuItem
-void cegui_mnbs_changePopupMenuItem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c);
-
-// Set whether this menu allows multiple popup menus to be opened simultaneously. 
-void cegui_mnbs_setAllowMultiplePopups(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the menu should close all its open child popups, when it gets hidden. 
-void cegui_mnbs_setAutoCloseNestedPopups(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// tells the current popup that it should start its closing timer. 
-void cegui_mnbs_setPopupMenuItemClosing(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassMenuItem.h b/include/ClassMenuItem.h
deleted file mode 100644
--- a/include/ClassMenuItem.h
+++ /dev/null
@@ -1,74 +0,0 @@
-// 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.
-// 
-
-// ClassMenuItem.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassMenuItem
-#define _DEFINED_HG3D_ClassMenuItem
-
-#include "ClassPtr.h"
-
-
-
-// return true if user is hovering over this widget (or it's pushed and user is not over it for highlight) 
-void cegui_mnitm_isHovering(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return true if the button widget is in the pushed state. 
-void cegui_mnitm_isPushed(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns true if the popup menu attached to the menu item is open. 
-void cegui_mnitm_isOpened(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns true if the menu item popup is closing or not. 
-void cegui_mnitm_isPopupClosing(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns true if the menu item popup is closed or opened automatically if hovering with the mouse. 
-void cegui_mnitm_hasAutoPopup(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns the time, which has to elapse before the popup window is opened/closed if the hovering state changes. 
-void cegui_mnitm_getAutoPopupTimeout(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Sets the time, which has to elapse before the popup window is opened/closed if the hovering state changes. 
-void cegui_mnitm_setAutoPopupTimeout(struct hg3dclass_struct * thisclass_c, float time_c);
-
-// Opens the PopupMenu. 
-void cegui_mnitm_openPopupMenu(struct hg3dclass_struct * thisclass_c, int notify_c);
-
-// Closes the PopupMenu. 
-void cegui_mnitm_closePopupMenu(struct hg3dclass_struct * thisclass_c, int notify_c);
-
-// Toggles the PopupMenu. 
-void cegui_mnitm_togglePopupMenu(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// starts the closing timer for the popup, which will close it if the timer is enabled. 
-void cegui_mnitm_startPopupClosing(struct hg3dclass_struct * thisclass_c);
-
-// starts the opening timer for the popup, which will open it if the timer is enabled. 
-void cegui_mnitm_startPopupOpening(struct hg3dclass_struct * thisclass_c);
-
-// Constructor for MenuItem
-void cegui_mnitm_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for MenuItem
-void cegui_mnitm_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassMultiColumnList.h b/include/ClassMultiColumnList.h
deleted file mode 100644
--- a/include/ClassMultiColumnList.h
+++ /dev/null
@@ -1,239 +0,0 @@
-// 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.
-// 
-
-// ClassMultiColumnList.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassMultiColumnList
-#define _DEFINED_HG3D_ClassMultiColumnList
-
-#include "ClassPtr.h"
-#include "EnumSortDirection.h"
-#include "ClassListHeaderSegment.h"
-#include "ClassListboxItem.h"
-#include "EnumSelectionMode.h"
-#include "ClassScrollbar.h"
-#include "ClassListHeader.h"
-
-
-
-// Return whether user manipulation of the sort column and direction are enabled. 
-void cegui_mltclmlst_isUserSortControlEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the user may size column segments. 
-void cegui_mltclmlst_isUserColumnSizingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the user may modify the order of the columns. 
-void cegui_mltclmlst_isUserColumnDraggingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return the number of columns in the multi-column list. 
-void cegui_mltclmlst_getColumnCount(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// Return the number of rows in the multi-column list. 
-void cegui_mltclmlst_getRowCount(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// Return the zero based index of the current sort column. There must be at least one column to successfully call this method. 
-void cegui_mltclmlst_getSortColumn(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// Return the zero based column index of the column with the specified ID. 
-void cegui_mltclmlst_getColumnWithID(struct hg3dclass_struct * thisclass_c, unsigned int col_id_c, unsigned int * result_c);
-
-// Return the zero based index of the column whos header text matches the specified text. 
-void cegui_mltclmlst_getColumnWithHeaderText(struct hg3dclass_struct * thisclass_c, char * text_c, unsigned int * result_c);
-
-// Return the currently set sort direction. 
-void cegui_mltclmlst_getSortDirection(struct hg3dclass_struct * thisclass_c, enum EnumSortDirection * result_c);
-
-// Return the ListHeaderSegment
-void cegui_mltclmlst_getHeaderSegmentForColumn(struct hg3dclass_struct * thisclass_c, unsigned int col_idx_c, struct hg3dclass_struct * result_c);
-
-// Return the zero based index of the Row that contains item
-void cegui_mltclmlst_getItemRowIndex(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, unsigned int * result_c);
-
-// Return the current zero based index of the column that contains item
-void cegui_mltclmlst_getItemColumnIndex(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, unsigned int * result_c);
-
-// return whether ListboxItemitemcol_idx
-void cegui_mltclmlst_isListboxItemInColumn(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, unsigned int col_idx_c, int * result_c);
-
-// return whether ListboxItemitemrow_idx
-void cegui_mltclmlst_isListboxItemInRow(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, unsigned int row_idx_c, int * result_c);
-
-// return whether ListboxItemitem
-void cegui_mltclmlst_isListboxItemInList(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, int * result_c);
-
-// Return the ListboxItemcol_idxtext
-void cegui_mltclmlst_findColumnItemWithText(struct hg3dclass_struct * thisclass_c, char * text_c, unsigned int col_idx_c, struct hg3dclass_struct * start_item_c, struct hg3dclass_struct * result_c);
-
-// Return the ListboxItemrow_idxtext
-void cegui_mltclmlst_findRowItemWithText(struct hg3dclass_struct * thisclass_c, char * text_c, unsigned int row_idx_c, struct hg3dclass_struct * start_item_c, struct hg3dclass_struct * result_c);
-
-// Return the ListboxItemtext
-void cegui_mltclmlst_findListItemWithText(struct hg3dclass_struct * thisclass_c, char * text_c, struct hg3dclass_struct * start_item_c, struct hg3dclass_struct * result_c);
-
-// Return a pointer to the first selected ListboxItem
-void cegui_mltclmlst_getFirstSelectedItem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return a pointer to the next selected ListboxItemstart_item
-void cegui_mltclmlst_getNextSelected(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * start_item_c, struct hg3dclass_struct * result_c);
-
-// Return the number of selected ListboxItems attached to this list box. 
-void cegui_mltclmlst_getSelectedCount(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// Return the ID of the currently set nominated selection column to be used when in one of the NominatedColumn* selection modes. There must be at least one column to successfully call this method. 
-void cegui_mltclmlst_getNominatedSelectionColumnID(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// Return the index of the currently set nominated selection column to be used when in one of the NominatedColumn* selection modes. 
-void cegui_mltclmlst_getNominatedSelectionColumn(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// Return the index of the currently set nominated selection row to be used when in one of the NominatedRow* selection modes. 
-void cegui_mltclmlst_getNominatedSelectionRow(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// Return the currently set selection mode. 
-void cegui_mltclmlst_getSelectionMode(struct hg3dclass_struct * thisclass_c, enum EnumSelectionMode * result_c);
-
-// Return whether the vertical scroll bar is always shown. 
-void cegui_mltclmlst_isVertScrollbarAlwaysShown(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the horizontal scroll bar is always shown. 
-void cegui_mltclmlst_isHorzScrollbarAlwaysShown(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return the ID code assigned to the requested column. 
-void cegui_mltclmlst_getColumnID(struct hg3dclass_struct * thisclass_c, unsigned int col_idx_c, unsigned int * result_c);
-
-// Return the ID code assigned to the requested row. 
-void cegui_mltclmlst_getRowID(struct hg3dclass_struct * thisclass_c, unsigned int row_idx_c, unsigned int * result_c);
-
-// Return the zero based row index of the row with the specified ID. 
-void cegui_mltclmlst_getRowWithID(struct hg3dclass_struct * thisclass_c, unsigned int row_id_c, unsigned int * result_c);
-
-// Return a pointer to the vertical scrollbar component widget for this MultiColumnList
-void cegui_mltclmlst_getVertScrollbar(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return a pointer to the horizontal scrollbar component widget for this MultiColumnList
-void cegui_mltclmlst_getHorzScrollbar(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return a pointer to the list header component widget for this MultiColumnList
-void cegui_mltclmlst_getListHeader(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return the sum of all row heights in pixels. 
-void cegui_mltclmlst_getTotalRowsHeight(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Return the pixel width of the widest item in the given column. 
-void cegui_mltclmlst_getWidestColumnItemWidth(struct hg3dclass_struct * thisclass_c, unsigned int col_idx_c, float * result_c);
-
-// Return, in pixels, the height of the highest item in the given row. 
-void cegui_mltclmlst_getHighestRowItemHeight(struct hg3dclass_struct * thisclass_c, unsigned int row_idx_c, float * result_c);
-
-// Initialise the Window
-void cegui_mltclmlst_initialiseComponents(struct hg3dclass_struct * thisclass_c);
-
-// Remove all items from the list. 
-void cegui_mltclmlst_resetList(struct hg3dclass_struct * thisclass_c);
-
-// Removes a column from the list box. This will cause any ListboxItem
-void cegui_mltclmlst_removeColumn(struct hg3dclass_struct * thisclass_c, unsigned int col_idx_c);
-
-// Removes a column from the list box. This will cause any ListboxItem
-void cegui_mltclmlst_removeColumnWithID(struct hg3dclass_struct * thisclass_c, unsigned int col_id_c);
-
-// Move the column at index col_idxposition
-void cegui_mltclmlst_moveColumn(struct hg3dclass_struct * thisclass_c, unsigned int col_idx_c, unsigned int position_c);
-
-// Move the column with ID col_idposition
-void cegui_mltclmlst_moveColumnWithID(struct hg3dclass_struct * thisclass_c, unsigned int col_id_c, unsigned int position_c);
-
-// Add an empty row to the list box. 
-void cegui_mltclmlst_addRow(struct hg3dclass_struct * thisclass_c, unsigned int row_id_c, unsigned int * result_c);
-
-// Add a row to the list box, and set the item in the column with ID col_iditem
-void cegui_mltclmlst_addRow2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, unsigned int col_id_c, unsigned int row_id_c, unsigned int * result_c);
-
-// Insert an empty row into the list box. 
-void cegui_mltclmlst_insertRow(struct hg3dclass_struct * thisclass_c, unsigned int row_idx_c, unsigned int row_id_c, unsigned int * result_c);
-
-// Insert a row into the list box, and set the item in the column with ID col_iditem
-void cegui_mltclmlst_insertRow2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, unsigned int col_id_c, unsigned int row_idx_c, unsigned int row_id_c, unsigned int * result_c);
-
-// Remove the list box row with index row_idxListboxItemrow_idx
-void cegui_mltclmlst_removeRow(struct hg3dclass_struct * thisclass_c, unsigned int row_idx_c);
-
-// Set the ListboxItemcol_idrow_idx
-void cegui_mltclmlst_setItem2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, unsigned int col_id_c, unsigned int row_idx_c);
-
-// Set the selection mode for the list box. 
-void cegui_mltclmlst_setSelectionMode(struct hg3dclass_struct * thisclass_c, enum EnumSelectionMode sel_mode_c);
-
-// Set the column to be used for the NominatedColumn* selection modes. 
-void cegui_mltclmlst_setNominatedSelectionColumnID(struct hg3dclass_struct * thisclass_c, unsigned int col_id_c);
-
-// Set the column to be used for the NominatedColumn* selection modes. 
-void cegui_mltclmlst_setNominatedSelectionColumn(struct hg3dclass_struct * thisclass_c, unsigned int col_idx_c);
-
-// Set the row to be used for the NominatedRow* selection modes. 
-void cegui_mltclmlst_setNominatedSelectionRow(struct hg3dclass_struct * thisclass_c, unsigned int row_idx_c);
-
-// Set the sort direction to be used. 
-void cegui_mltclmlst_setSortDirection(struct hg3dclass_struct * thisclass_c, enum EnumSortDirection direction_c);
-
-// Set the column to be used as the sort key. 
-void cegui_mltclmlst_setSortColumn(struct hg3dclass_struct * thisclass_c, unsigned int col_idx_c);
-
-// Set the column to be used as the sort key. 
-void cegui_mltclmlst_setSortColumnByID(struct hg3dclass_struct * thisclass_c, unsigned int col_id_c);
-
-// Set whether the vertical scroll bar should always be shown, or just when needed. 
-void cegui_mltclmlst_setShowVertScrollbar(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the horizontal scroll bar should always be shown, or just when needed. 
-void cegui_mltclmlst_setShowHorzScrollbar(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Removed the selected state from any currently selected ListboxItem
-void cegui_mltclmlst_clearAllSelections(struct hg3dclass_struct * thisclass_c);
-
-// Sets or clears the selected state of the given ListboxItem
-void cegui_mltclmlst_setItemSelectState(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c, int state_c);
-
-// Inform the list box that one or more attached ListboxItems have been externally modified, and the list should re-sync its internal state and refresh the display as needed. 
-void cegui_mltclmlst_handleUpdatedItemData(struct hg3dclass_struct * thisclass_c);
-
-// Set whether user manipulation of the sort column and direction are enabled. 
-void cegui_mltclmlst_setUserSortControlEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the user may size column segments. 
-void cegui_mltclmlst_setUserColumnSizingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the user may modify the order of the columns. 
-void cegui_mltclmlst_setUserColumnDraggingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Automatically determines the "best fit" size for the specified column and sets the column width to the same. 
-void cegui_mltclmlst_autoSizeColumnHeader(struct hg3dclass_struct * thisclass_c, unsigned int col_idx_c);
-
-// Set the ID code assigned to a given row. 
-void cegui_mltclmlst_setRowID(struct hg3dclass_struct * thisclass_c, unsigned int row_idx_c, unsigned int row_id_c);
-
-// Constructor for the Multi-column list base class. 
-void cegui_mltclmlst_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for the multi-column list base class. 
-void cegui_mltclmlst_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassMultiLineEditbox.h b/include/ClassMultiLineEditbox.h
deleted file mode 100644
--- a/include/ClassMultiLineEditbox.h
+++ /dev/null
@@ -1,99 +0,0 @@
-// 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.
-// 
-
-// ClassMultiLineEditbox.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassMultiLineEditbox
-#define _DEFINED_HG3D_ClassMultiLineEditbox
-
-#include "ClassPtr.h"
-#include "ClassScrollbar.h"
-
-
-
-// return true if the edit box has input focus. 
-void cegui_mltlnedtbx_hasInputFocus(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return true if the edit box is read-only. 
-void cegui_mltlnedtbx_isReadOnly(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the current position of the carat. 
-void cegui_mltlnedtbx_getCaratIndex(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the current selection start point. 
-void cegui_mltlnedtbx_getSelectionStartIndex(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the current selection end point. 
-void cegui_mltlnedtbx_getSelectionEndIndex(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the length of the current selection (in code points / characters). 
-void cegui_mltlnedtbx_getSelectionLength(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the maximum text length set for this edit box. 
-void cegui_mltlnedtbx_getMaxTextLength(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the text in the edit box will be word-wrapped. 
-void cegui_mltlnedtbx_isWordWrapped(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return a pointer to the vertical scrollbar component widget for this MultiLineEditbox
-void cegui_mltlnedtbx_getVertScrollbar(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return whether the vertical scroll bar is always shown. 
-void cegui_mltlnedtbx_isVertScrollbarAlwaysShown(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return a pointer to the horizontal scrollbar component widget for this MultiLineEditbox
-void cegui_mltlnedtbx_getHorzScrollbar(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return the line number a given index falls on with the current formatting. Will return last line if index is out of range. 
-void cegui_mltlnedtbx_getLineNumberFromIndex(struct hg3dclass_struct * thisclass_c, int index_c, int * result_c);
-
-// Initialise the Window
-void cegui_mltlnedtbx_initialiseComponents(struct hg3dclass_struct * thisclass_c);
-
-// Specify whether the edit box is read-only. 
-void cegui_mltlnedtbx_setReadOnly(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set the current position of the carat. 
-void cegui_mltlnedtbx_setCaratIndex(struct hg3dclass_struct * thisclass_c, int carat_pos_c);
-
-// Define the current selection for the edit box. 
-void cegui_mltlnedtbx_setSelection(struct hg3dclass_struct * thisclass_c, int start_pos_c, int end_pos_c);
-
-// set the maximum text length for this edit box. 
-void cegui_mltlnedtbx_setMaxTextLength(struct hg3dclass_struct * thisclass_c, int max_len_c);
-
-// Scroll the view so that the current carat position is visible. 
-void cegui_mltlnedtbx_ensureCaratIsVisible(struct hg3dclass_struct * thisclass_c);
-
-// Set whether the text will be word wrapped or not. 
-void cegui_mltlnedtbx_setWordWrapping(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the vertical scroll bar should always be shown. 
-void cegui_mltlnedtbx_setShowVertScrollbar(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Constructor for the MultiLineEditbox
-void cegui_mltlnedtbx_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for the MultiLineEditbox
-void cegui_mltlnedtbx_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassOgreRenderer.h b/include/ClassOgreRenderer.h
deleted file mode 100644
--- a/include/ClassOgreRenderer.h
+++ /dev/null
@@ -1,91 +0,0 @@
-// 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.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassOgreRenderer
-#define _DEFINED_HG3D_ClassOgreRenderer
-
-#include "ClassPtr.h"
-#include "ClassOgreResourceProvider.h"
-#include "EnumBlendMode.h"
-
-
-
-// Convenience function that creates all the OgreCEGUI
-void cegui_ogrrndr_bootstrapSystem(struct hg3dclass_struct * result_c);
-
-// Convenience function to cleanup the CEGUI
-void cegui_ogrrndr_destroySystem();
-
-// Create an OgreRendererOgre
-void cegui_ogrrndr_create(struct hg3dclass_struct * result_c);
-
-// destory an OgreRenderer
-void cegui_ogrrndr_destroy(struct hg3dclass_struct * renderer_c);
-
-// function to create a CEGUI::OgreResourceProvider
-void cegui_ogrrndr_createOgreResourceProvider(struct hg3dclass_struct * result_c);
-
-// function to destroy a CEGUI::OgreResourceProvider
-void cegui_ogrrndr_destroyOgreResourceProvider(struct hg3dclass_struct * rp_c);
-
-// set whether CEGUI
-void cegui_ogrrndr_setRenderingEnabled(struct hg3dclass_struct * thisclass_c, const int enabled_c);
-
-// return whether CEGUI
-void cegui_ogrrndr_isRenderingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// set the render states for the specified BlendMode. 
-void cegui_ogrrndr_setupRenderingBlendMode(struct hg3dclass_struct * thisclass_c, const enum EnumBlendMode mode_c, const int force_c);
-
-// Controls whether rendering done by CEGUI
-void cegui_ogrrndr_setFrameControlExecutionEnabled(struct hg3dclass_struct * thisclass_c, const int enabled_c);
-
-// Returns whether rendering done by CEGUI
-void cegui_ogrrndr_isFrameControlExecutionEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Sets all the required render states needed for CEGUI
-void cegui_ogrrndr_initialiseRenderStateSettings(struct hg3dclass_struct * thisclass_c);
-
-// Destroy all GeometryBuffer objects created by this Renderer
-void cegui_ogrrndr_destroyAllGeometryBuffers(struct hg3dclass_struct * thisclass_c);
-
-// Destory all TextureTarget objects created by this Renderer
-void cegui_ogrrndr_destroyAllTextureTargets(struct hg3dclass_struct * thisclass_c);
-
-// Destroy all Texture objects created by this Renderer
-void cegui_ogrrndr_destroyAllTextures(struct hg3dclass_struct * thisclass_c);
-
-// Perform any operations required to put the system into a state ready for rendering operations to begin. 
-void cegui_ogrrndr_beginRendering(struct hg3dclass_struct * thisclass_c);
-
-// Perform any operations required to finalise rendering. 
-void cegui_ogrrndr_endRendering(struct hg3dclass_struct * thisclass_c);
-
-// Return the pixel size of the maximum supported texture. 
-void cegui_ogrrndr_getMaxTextureSize(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// Return identification string for the renderer module. 
-void cegui_ogrrndr_getIdentifierString(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-#endif 
diff --git a/include/ClassOgreResourceProvider.h b/include/ClassOgreResourceProvider.h
deleted file mode 100644
--- a/include/ClassOgreResourceProvider.h
+++ /dev/null
@@ -1,32 +0,0 @@
-// 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.
-// 
-
-// ClassOgreResourceProvider.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassOgreResourceProvider
-#define _DEFINED_HG3D_ClassOgreResourceProvider
-
-#include "ClassPtr.h"
-
-
-
-#endif 
diff --git a/include/ClassProgressBar.h b/include/ClassProgressBar.h
deleted file mode 100644
--- a/include/ClassProgressBar.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// 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.
-// 
-
-// ClassProgressBar.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassProgressBar
-#define _DEFINED_HG3D_ClassProgressBar
-
-#include "ClassPtr.h"
-
-
-
-// return the current progress value 
-void cegui_prgbr_getProgress(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// return the current step size 
-void cegui_prgbr_getStep(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// set the current progress. 
-void cegui_prgbr_setProgress(struct hg3dclass_struct * thisclass_c, float progress_c);
-
-// set the size of the 'step' in percentage points (default is 0.01f or 1%). 
-void cegui_prgbr_setStepSize(struct hg3dclass_struct * thisclass_c, float step_val_c);
-
-// cause the progress to step 
-void cegui_prgbr_step(struct hg3dclass_struct * thisclass_c);
-
-// Modify the progress level by a specified delta. 
-void cegui_prgbr_adjustProgress(struct hg3dclass_struct * thisclass_c, float delta_c);
-
-// Constructor for ProgressBar
-void cegui_prgbr_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for ProgressBar
-void cegui_prgbr_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassPropertySet.h b/include/ClassPropertySet.h
deleted file mode 100644
--- a/include/ClassPropertySet.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// 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.
-// 
-
-// ClassPropertySet.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassPropertySet
-#define _DEFINED_HG3D_ClassPropertySet
-
-#include "ClassPtr.h"
-
-
-
-// Constructs a new PropertySet
-void cegui_prpst_construct(struct hg3dclass_struct * result_c);
-
-// Destructor for PropertySet
-void cegui_prpst_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Removes a Property from the PropertySet
-void cegui_prpst_removeProperty(struct hg3dclass_struct * thisclass_c, char * name_c);
-
-// Removes all Property objects from the PropertySet
-void cegui_prpst_clearProperties(struct hg3dclass_struct * thisclass_c);
-
-// Checks to see if a Property with the given name is in the PropertySet
-void cegui_prpst_isPropertyPresent(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
-
-// Return the help text for the specified Property. 
-void cegui_prpst_getPropertyHelp(struct hg3dclass_struct * thisclass_c, char * name_c, char * result_c);
-
-// Gets the current value of the specified Property. 
-void cegui_prpst_getProperty(struct hg3dclass_struct * thisclass_c, char * name_c, char * result_c);
-
-// Sets the current value of a Property. 
-void cegui_prpst_setProperty(struct hg3dclass_struct * thisclass_c, char * name_c, char * value_c);
-
-// Returns whether a Property is at it's default value. 
-void cegui_prpst_isPropertyDefault(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
-
-// Returns the default value of a Property as a String. 
-void cegui_prpst_getPropertyDefault(struct hg3dclass_struct * thisclass_c, char * name_c, char * result_c);
-
-#endif 
diff --git a/include/ClassPtr.h b/include/ClassPtr.h
deleted file mode 100644
--- a/include/ClassPtr.h
+++ /dev/null
@@ -1,217 +0,0 @@
-// 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.
-// 
-
-// ClassPtr.h
-
-// Here are the methods defined, which do the class pointer
-// marshalling and the casting of subclasses to higher classes
-
-#include "wchar.h"
-
-
-
-#ifndef CLASSPTR_INCLUDE_H
-#define CLASSPTR_INCLUDE_H
-
-typedef struct hg3dclass_struct {
-	void *ptr;
-	void *fptr;
-} hg3dclass_struct;
-
-void *getHG3DClassPtr(hg3dclass_struct inSt, const char* className);
-
-
-typedef void ClassCheckbox; 
-hg3dclass_struct getHG3DClass_Checkbox(void *ptrIn);
-
-typedef void ClassCombobox; 
-hg3dclass_struct getHG3DClass_Combobox(void *ptrIn);
-
-typedef void ClassComboDropList; 
-hg3dclass_struct getHG3DClass_ComboDropList(void *ptrIn);
-
-typedef void ClassDefaultLogger; 
-hg3dclass_struct getHG3DClass_DefaultLogger(void *ptrIn);
-
-typedef void ClassDefaultResourceProvider; 
-hg3dclass_struct getHG3DClass_DefaultResourceProvider(void *ptrIn);
-
-typedef void ClassDragContainer; 
-hg3dclass_struct getHG3DClass_DragContainer(void *ptrIn);
-
-typedef void ClassEditbox; 
-hg3dclass_struct getHG3DClass_Editbox(void *ptrIn);
-
-typedef void ClassEventArgs; 
-hg3dclass_struct getHG3DClass_EventArgs(void *ptrIn);
-
-typedef void ClassEventSet; 
-hg3dclass_struct getHG3DClass_EventSet(void *ptrIn);
-
-typedef void ClassFont; 
-hg3dclass_struct getHG3DClass_Font(void *ptrIn);
-
-typedef void ClassFontManager; 
-hg3dclass_struct getHG3DClass_FontManager(void *ptrIn);
-
-typedef void ClassFrameWindow; 
-hg3dclass_struct getHG3DClass_FrameWindow(void *ptrIn);
-
-typedef void ClassImageCodec; 
-hg3dclass_struct getHG3DClass_ImageCodec(void *ptrIn);
-
-typedef void ClassImageset; 
-hg3dclass_struct getHG3DClass_Imageset(void *ptrIn);
-
-typedef void ClassItemEntry; 
-hg3dclass_struct getHG3DClass_ItemEntry(void *ptrIn);
-
-typedef void ClassItemListbox; 
-hg3dclass_struct getHG3DClass_ItemListbox(void *ptrIn);
-
-typedef void ClassListbox; 
-hg3dclass_struct getHG3DClass_Listbox(void *ptrIn);
-
-typedef void ClassListboxItem; 
-hg3dclass_struct getHG3DClass_ListboxItem(void *ptrIn);
-
-typedef void ClassListboxTextItem; 
-hg3dclass_struct getHG3DClass_ListboxTextItem(void *ptrIn);
-
-typedef void ClassListHeader; 
-hg3dclass_struct getHG3DClass_ListHeader(void *ptrIn);
-
-typedef void ClassListHeaderSegment; 
-hg3dclass_struct getHG3DClass_ListHeaderSegment(void *ptrIn);
-
-typedef void ClassLogger; 
-hg3dclass_struct getHG3DClass_Logger(void *ptrIn);
-
-typedef void ClassMenuBase; 
-hg3dclass_struct getHG3DClass_MenuBase(void *ptrIn);
-
-typedef void ClassMenuItem; 
-hg3dclass_struct getHG3DClass_MenuItem(void *ptrIn);
-
-typedef void ClassMultiColumnList; 
-hg3dclass_struct getHG3DClass_MultiColumnList(void *ptrIn);
-
-typedef void ClassMultiLineEditbox; 
-hg3dclass_struct getHG3DClass_MultiLineEditbox(void *ptrIn);
-
-typedef void ClassOgreRenderer; 
-hg3dclass_struct getHG3DClass_OgreRenderer(void *ptrIn);
-
-typedef void ClassOgreResourceProvider; 
-hg3dclass_struct getHG3DClass_OgreResourceProvider(void *ptrIn);
-
-typedef void ClassProgressBar; 
-hg3dclass_struct getHG3DClass_ProgressBar(void *ptrIn);
-
-typedef void ClassPropertySet; 
-hg3dclass_struct getHG3DClass_PropertySet(void *ptrIn);
-
-typedef void ClassPushButton; 
-hg3dclass_struct getHG3DClass_PushButton(void *ptrIn);
-
-typedef void ClassRadioButton; 
-hg3dclass_struct getHG3DClass_RadioButton(void *ptrIn);
-
-typedef void ClassRenderer; 
-hg3dclass_struct getHG3DClass_Renderer(void *ptrIn);
-
-typedef void ClassResourceProvider; 
-hg3dclass_struct getHG3DClass_ResourceProvider(void *ptrIn);
-
-typedef void ClassScheme; 
-hg3dclass_struct getHG3DClass_Scheme(void *ptrIn);
-
-typedef void ClassSchemeManager; 
-hg3dclass_struct getHG3DClass_SchemeManager(void *ptrIn);
-
-typedef void ClassScriptFunctor; 
-hg3dclass_struct getHG3DClass_ScriptFunctor(void *ptrIn);
-
-typedef void ClassScriptModule; 
-hg3dclass_struct getHG3DClass_ScriptModule(void *ptrIn);
-
-typedef void ClassScrollablePane; 
-hg3dclass_struct getHG3DClass_ScrollablePane(void *ptrIn);
-
-typedef void ClassScrollbar; 
-hg3dclass_struct getHG3DClass_Scrollbar(void *ptrIn);
-
-typedef void ClassScrolledContainer; 
-hg3dclass_struct getHG3DClass_ScrolledContainer(void *ptrIn);
-
-typedef void ClassScrolledItemListBase; 
-hg3dclass_struct getHG3DClass_ScrolledItemListBase(void *ptrIn);
-
-typedef void ClassSlider; 
-hg3dclass_struct getHG3DClass_Slider(void *ptrIn);
-
-typedef void ClassSpinner; 
-hg3dclass_struct getHG3DClass_Spinner(void *ptrIn);
-
-typedef void ClassSystem; 
-hg3dclass_struct getHG3DClass_System(void *ptrIn);
-
-typedef void ClassTabButton; 
-hg3dclass_struct getHG3DClass_TabButton(void *ptrIn);
-
-typedef void ClassThumb; 
-hg3dclass_struct getHG3DClass_Thumb(void *ptrIn);
-
-typedef void ClassTooltip; 
-hg3dclass_struct getHG3DClass_Tooltip(void *ptrIn);
-
-typedef void ClassTree; 
-hg3dclass_struct getHG3DClass_Tree(void *ptrIn);
-
-typedef void ClassWidgetLookManager; 
-hg3dclass_struct getHG3DClass_WidgetLookManager(void *ptrIn);
-
-typedef void ClassWindow; 
-hg3dclass_struct getHG3DClass_Window(void *ptrIn);
-
-typedef void ClassWindowManager; 
-hg3dclass_struct getHG3DClass_WindowManager(void *ptrIn);
-
-typedef void ClassXMLParser; 
-hg3dclass_struct getHG3DClass_XMLParser(void *ptrIn);
-
-typedef void ClassHG3DEventController; 
-hg3dclass_struct getHG3DClass_HG3DEventController(void *ptrIn);
-
-typedef void ClassHG3DEventStaticFunctions; 
-hg3dclass_struct getHG3DClass_HG3DEventStaticFunctions(void *ptrIn);
-
-typedef void ClassHG3DListboxStaticFunctions; 
-hg3dclass_struct getHG3DClass_HG3DListboxStaticFunctions(void *ptrIn);
-
-typedef void ClassHG3DWindowStaticFunctions; 
-hg3dclass_struct getHG3DClass_HG3DWindowStaticFunctions(void *ptrIn);
-
-typedef void ClassSystemHG3D; 
-hg3dclass_struct getHG3DClass_SystemHG3D(void *ptrIn);
-
-typedef void ClassWindowManagerHG3D; 
-hg3dclass_struct getHG3DClass_WindowManagerHG3D(void *ptrIn);
-
-#endif
diff --git a/include/ClassPushButton.h b/include/ClassPushButton.h
deleted file mode 100644
--- a/include/ClassPushButton.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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.
-// 
-
-// ClassPushButton.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassPushButton
-#define _DEFINED_HG3D_ClassPushButton
-
-#include "ClassPtr.h"
-
-
-
-// Constructor for base PushButton
-void cegui_pshbttn_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for PushButton
-void cegui_pshbttn_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassRadioButton.h b/include/ClassRadioButton.h
deleted file mode 100644
--- a/include/ClassRadioButton.h
+++ /dev/null
@@ -1,47 +0,0 @@
-// 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.
-// 
-
-// ClassRadioButton.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassRadioButton
-#define _DEFINED_HG3D_ClassRadioButton
-
-#include "ClassPtr.h"
-
-
-
-// return true if the radio button is selected (has the checkmark) 
-void cegui_rdbttn_isSelected(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return a pointer to the RadioButtonRadioButton
-void cegui_rdbttn_getSelectedButtonInGroup(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// set whether the radio button is selected or not 
-void cegui_rdbttn_setSelected(struct hg3dclass_struct * thisclass_c, int select_c);
-
-// 
-void cegui_rdbttn_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_rdbttn_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassRenderer.h b/include/ClassRenderer.h
deleted file mode 100644
--- a/include/ClassRenderer.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// 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.
-// 
-
-// ClassRenderer.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassRenderer
-#define _DEFINED_HG3D_ClassRenderer
-
-#include "ClassPtr.h"
-
-
-
-// Destroy all GeometryBuffer objects created by this Renderer
-void cegui_rndr_destroyAllGeometryBuffers(struct hg3dclass_struct * thisclass_c);
-
-// Destory all TextureTarget objects created by this Renderer
-void cegui_rndr_destroyAllTextureTargets(struct hg3dclass_struct * thisclass_c);
-
-// Destroy all Texture objects created by this Renderer
-void cegui_rndr_destroyAllTextures(struct hg3dclass_struct * thisclass_c);
-
-// Perform any operations required to put the system into a state ready for rendering operations to begin. 
-void cegui_rndr_beginRendering(struct hg3dclass_struct * thisclass_c);
-
-// Perform any operations required to finalise rendering. 
-void cegui_rndr_endRendering(struct hg3dclass_struct * thisclass_c);
-
-// Return the pixel size of the maximum supported texture. 
-void cegui_rndr_getMaxTextureSize(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// Return identification string for the renderer module. 
-void cegui_rndr_getIdentifierString(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// Destructor. 
-void cegui_rndr_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassResourceProvider.h b/include/ClassResourceProvider.h
deleted file mode 100644
--- a/include/ClassResourceProvider.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// 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.
-// 
-
-// ClassResourceProvider.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassResourceProvider
-#define _DEFINED_HG3D_ClassResourceProvider
-
-#include "ClassPtr.h"
-
-
-
-// Destructor for the ResourceProvider
-void cegui_rsrcpr_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Return the current default resource group identifier. 
-void cegui_rsrcpr_getDefaultResourceGroup(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// Set the default resource group identifier. 
-void cegui_rsrcpr_setDefaultResourceGroup(struct hg3dclass_struct * thisclass_c, char * resourceGroup_c);
-
-#endif 
diff --git a/include/ClassScheme.h b/include/ClassScheme.h
deleted file mode 100644
--- a/include/ClassScheme.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// 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.
-// 
-
-// ClassScheme.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassScheme
-#define _DEFINED_HG3D_ClassScheme
-
-#include "ClassPtr.h"
-
-
-
-// Loads all resources for this scheme. 
-void cegui_schm_loadResources(struct hg3dclass_struct * thisclass_c);
-
-// Unloads all resources for this scheme. This should be used very carefully. 
-void cegui_schm_unloadResources(struct hg3dclass_struct * thisclass_c);
-
-// Return whether the resources for this Scheme
-void cegui_schm_resourcesLoaded(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return the name of this Scheme
-void cegui_schm_getName(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// Destroys a Scheme
-void cegui_schm_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Returns the default resource group currently set for Schemes. 
-void cegui_schm_getDefaultResourceGroup(char * result_c);
-
-// Sets the default resource group to be used when loading scheme xml data. 
-void cegui_schm_setDefaultResourceGroup(char * resourceGroup_c);
-
-#endif 
diff --git a/include/ClassSchemeManager.h b/include/ClassSchemeManager.h
deleted file mode 100644
--- a/include/ClassSchemeManager.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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.
-// 
-
-// ClassSchemeManager.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassSchemeManager
-#define _DEFINED_HG3D_ClassSchemeManager
-
-#include "ClassPtr.h"
-
-
-
-// Constructor. 
-void cegui_schmmgr_construct(struct hg3dclass_struct * result_c);
-
-// Destructor. 
-void cegui_schmmgr_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassScriptFunctor.h b/include/ClassScriptFunctor.h
deleted file mode 100644
--- a/include/ClassScriptFunctor.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// 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.
-// 
-
-// ClassScriptFunctor.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassScriptFunctor
-#define _DEFINED_HG3D_ClassScriptFunctor
-
-#include "ClassPtr.h"
-
-
-
-// 
-void cegui_scrfnct_construct(char * functionName_c, struct hg3dclass_struct * result_c);
-
-#endif 
diff --git a/include/ClassScriptModule.h b/include/ClassScriptModule.h
deleted file mode 100644
--- a/include/ClassScriptModule.h
+++ /dev/null
@@ -1,63 +0,0 @@
-// 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.
-// 
-
-// ClassScriptModule.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassScriptModule
-#define _DEFINED_HG3D_ClassScriptModule
-
-#include "ClassPtr.h"
-#include "ClassEventArgs.h"
-
-
-
-// Destructor for ScriptModule
-void cegui_scrmd_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Execute a script file. 
-void cegui_scrmd_executeScriptFile(struct hg3dclass_struct * thisclass_c, char * filename_c, char * resourceGroup_c);
-
-// Execute a scripted global function. The function should not take any parameters and should return an integer. 
-void cegui_scrmd_executeScriptGlobal(struct hg3dclass_struct * thisclass_c, char * function_name_c, int * result_c);
-
-// Execute a scripted global 'event handler' function. The function should take some kind of EventArgsEventArgs
-void cegui_scrmd_executeScriptedEventHandler(struct hg3dclass_struct * thisclass_c, char * handler_name_c, struct hg3dclass_struct * e_c, int * result_c);
-
-// Execute script code contained in the given CEGUI::String object. 
-void cegui_scrmd_executeString(struct hg3dclass_struct * thisclass_c, char * str_c);
-
-// Method called during system initialisation, prior to running any scripts via the ScriptModuleScriptModule
-void cegui_scrmd_createBindings(struct hg3dclass_struct * thisclass_c);
-
-// Method called during system destruction, after all scripts have been run via the ScriptModuleScriptModule
-void cegui_scrmd_destroyBindings(struct hg3dclass_struct * thisclass_c);
-
-// Return identification string for the ScriptModuleScriptModule
-void cegui_scrmd_getIdentifierString(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// Sets the default resource group to be used when loading script files. 
-void cegui_scrmd_setDefaultResourceGroup(char * resourceGroup_c);
-
-// Returns the default resource group used when loading script files. 
-void cegui_scrmd_getDefaultResourceGroup(char * result_c);
-
-#endif 
diff --git a/include/ClassScrollablePane.h b/include/ClassScrollablePane.h
deleted file mode 100644
--- a/include/ClassScrollablePane.h
+++ /dev/null
@@ -1,109 +0,0 @@
-// 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.
-// 
-
-// ClassScrollablePane.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassScrollablePane
-#define _DEFINED_HG3D_ClassScrollablePane
-
-#include "ClassPtr.h"
-#include "ClassScrolledContainer.h"
-#include "ClassScrollbar.h"
-
-
-
-// Constructor for the ScrollablePane
-void cegui_scrlpn_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for the ScrollablePane
-void cegui_scrlpn_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Returns a pointer to the window holding the pane contents. 
-void cegui_scrlpn_getContentPane(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return whether the vertical scroll bar is always shown. 
-void cegui_scrlpn_isVertScrollbarAlwaysShown(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Set whether the vertical scroll bar should always be shown. 
-void cegui_scrlpn_setShowVertScrollbar(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Return whether the horizontal scroll bar is always shown. 
-void cegui_scrlpn_isHorzScrollbarAlwaysShown(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Set whether the horizontal scroll bar should always be shown. 
-void cegui_scrlpn_setShowHorzScrollbar(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Return whether the content pane is auto sized. 
-void cegui_scrlpn_isContentPaneAutoSized(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Set whether the content pane should be auto-sized. 
-void cegui_scrlpn_setContentPaneAutoSized(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Returns the horizontal scrollbar step size as a fraction of one complete view page. 
-void cegui_scrlpn_getHorizontalStepSize(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Sets the horizontal scrollbar step size as a fraction of one complete view page. 
-void cegui_scrlpn_setHorizontalStepSize(struct hg3dclass_struct * thisclass_c, float step_c);
-
-// Returns the horizontal scrollbar overlap size as a fraction of one complete view page. 
-void cegui_scrlpn_getHorizontalOverlapSize(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Sets the horizontal scrollbar overlap size as a fraction of one complete view page. 
-void cegui_scrlpn_setHorizontalOverlapSize(struct hg3dclass_struct * thisclass_c, float overlap_c);
-
-// Returns the horizontal scroll position as a fraction of the complete scrollable width. 
-void cegui_scrlpn_getHorizontalScrollPosition(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Sets the horizontal scroll position as a fraction of the complete scrollable width. 
-void cegui_scrlpn_setHorizontalScrollPosition(struct hg3dclass_struct * thisclass_c, float position_c);
-
-// Returns the vertical scrollbar step size as a fraction of one complete view page. 
-void cegui_scrlpn_getVerticalStepSize(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Sets the vertical scrollbar step size as a fraction of one complete view page. 
-void cegui_scrlpn_setVerticalStepSize(struct hg3dclass_struct * thisclass_c, float step_c);
-
-// Returns the vertical scrollbar overlap size as a fraction of one complete view page. 
-void cegui_scrlpn_getVerticalOverlapSize(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Sets the vertical scrollbar overlap size as a fraction of one complete view page. 
-void cegui_scrlpn_setVerticalOverlapSize(struct hg3dclass_struct * thisclass_c, float overlap_c);
-
-// Returns the vertical scroll position as a fraction of the complete scrollable height. 
-void cegui_scrlpn_getVerticalScrollPosition(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Sets the vertical scroll position as a fraction of the complete scrollable height. 
-void cegui_scrlpn_setVerticalScrollPosition(struct hg3dclass_struct * thisclass_c, float position_c);
-
-// Return a pointer to the vertical scrollbar component widget for this ScrollablePane
-void cegui_scrlpn_getVertScrollbar(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return a pointer to the horizontal scrollbar component widget for this ScrollablePane
-void cegui_scrlpn_getHorzScrollbar(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Initialises the Window
-void cegui_scrlpn_initialiseComponents(struct hg3dclass_struct * thisclass_c);
-
-// Internal destroy method which actually just adds the window and any parent destructed child windows to the dead pool. 
-void cegui_scrlpn_destroy(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassScrollbar.h b/include/ClassScrollbar.h
deleted file mode 100644
--- a/include/ClassScrollbar.h
+++ /dev/null
@@ -1,88 +0,0 @@
-// 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.
-// 
-
-// ClassScrollbar.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassScrollbar
-#define _DEFINED_HG3D_ClassScrollbar
-
-#include "ClassPtr.h"
-#include "ClassPushButton.h"
-#include "ClassThumb.h"
-
-
-
-// Return the size of the document or data. 
-void cegui_scrlbr_getDocumentSize(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Return the page size for this scroll bar. 
-void cegui_scrlbr_getPageSize(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Return the step size for this scroll bar. 
-void cegui_scrlbr_getStepSize(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Return the overlap size for this scroll bar. 
-void cegui_scrlbr_getOverlapSize(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Return the current position of scroll bar within the document. 
-void cegui_scrlbr_getScrollPosition(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Return a pointer to the 'increase' PushButtoncomponent widget for this Scrollbar
-void cegui_scrlbr_getIncreaseButton(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return a pointer to the 'decrease' PushButtonScrollbar
-void cegui_scrlbr_getDecreaseButton(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return a pointer to the ThumbScrollbar
-void cegui_scrlbr_getThumb(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Initialises the Scrollbar
-void cegui_scrlbr_initialiseComponents(struct hg3dclass_struct * thisclass_c);
-
-// Set the size of the document or data. 
-void cegui_scrlbr_setDocumentSize(struct hg3dclass_struct * thisclass_c, float document_size_c);
-
-// Set the page size for this scroll bar. 
-void cegui_scrlbr_setPageSize(struct hg3dclass_struct * thisclass_c, float page_size_c);
-
-// Set the step size for this scroll bar. 
-void cegui_scrlbr_setStepSize(struct hg3dclass_struct * thisclass_c, float step_size_c);
-
-// Set the overlap size for this scroll bar. 
-void cegui_scrlbr_setOverlapSize(struct hg3dclass_struct * thisclass_c, float overlap_size_c);
-
-// Set the current position of scroll bar within the document. 
-void cegui_scrlbr_setScrollPosition(struct hg3dclass_struct * thisclass_c, float position_c);
-
-// Enable or disable the 'end lock' mode for the scrollbar. 
-void cegui_scrlbr_setEndLockEnabled(struct hg3dclass_struct * thisclass_c, const int enabled_c);
-
-// Returns whether the 'end lock'mode for the scrollbar is enabled. 
-void cegui_scrlbr_isEndLockEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Constructor for Scrollbar
-void cegui_scrlbr_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for Scrollbar
-void cegui_scrlbr_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassScrolledContainer.h b/include/ClassScrolledContainer.h
deleted file mode 100644
--- a/include/ClassScrolledContainer.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// 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.
-// 
-
-// ClassScrolledContainer.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassScrolledContainer
-#define _DEFINED_HG3D_ClassScrolledContainer
-
-#include "ClassPtr.h"
-
-
-
-// Constructor for ScrolledContainer
-void cegui_scrlcnt_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for ScrolledContainer
-void cegui_scrlcnt_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Return whether the content pane is auto sized. 
-void cegui_scrlcnt_isContentPaneAutoSized(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Set whether the content pane should be auto-sized. 
-void cegui_scrlcnt_setContentPaneAutoSized(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-#endif 
diff --git a/include/ClassScrolledItemListBase.h b/include/ClassScrolledItemListBase.h
deleted file mode 100644
--- a/include/ClassScrolledItemListBase.h
+++ /dev/null
@@ -1,61 +0,0 @@
-// 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.
-// 
-
-// ClassScrolledItemListBase.h
-
-// abstrakte Klasse!
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassScrolledItemListBase
-#define _DEFINED_HG3D_ClassScrolledItemListBase
-
-#include "ClassPtr.h"
-#include "ClassScrollbar.h"
-#include "ClassItemEntry.h"
-
-
-
-// Returns whether the vertical scrollbar is being forced visible. Despite content size. 
-void cegui_scrlitmlstbs_isVertScrollbarAlwaysShown(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns whether the horizontal scrollbar is being forced visible. Despite content size. 
-void cegui_scrlitmlstbs_isHorzScrollbarAlwaysShown(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Get the vertical scrollbar component attached to this window. 
-void cegui_scrlitmlstbs_getVertScrollbar(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Get the horizontal scrollbar component attached to this window. 
-void cegui_scrlitmlstbs_getHorzScrollbar(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Sets whether the vertical scrollbar should be forced visible. Despite content size. 
-void cegui_scrlitmlstbs_setShowVertScrollbar(struct hg3dclass_struct * thisclass_c, int mode_c);
-
-// Sets whether the horizontal scrollbar should be forced visible. Despite content size. 
-void cegui_scrlitmlstbs_setShowHorzScrollbar(struct hg3dclass_struct * thisclass_c, int mode_c);
-
-// Scroll the vertical list position if needed to ensure that the ItemEntryitemScrolledItemListBase
-void cegui_scrlitmlstbs_ensureItemIsVisibleVert(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c);
-
-// Scroll the horizontal list position if needed to ensure that the ItemEntryitemScrolledItemListBase
-void cegui_scrlitmlstbs_ensureItemIsVisibleHorz(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c);
-
-// 
-void cegui_scrlitmlstbs_initialiseComponents(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassSlider.h b/include/ClassSlider.h
deleted file mode 100644
--- a/include/ClassSlider.h
+++ /dev/null
@@ -1,63 +0,0 @@
-// 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.
-// 
-
-// ClassSlider.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassSlider
-#define _DEFINED_HG3D_ClassSlider
-
-#include "ClassPtr.h"
-#include "ClassThumb.h"
-
-
-
-// return the current slider value. 
-void cegui_sldr_getCurrentValue(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// return the maximum value set for this widget 
-void cegui_sldr_getMaxValue(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// return the current click step setting for the slider. 
-void cegui_sldr_getClickStep(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Return a pointer to the ThumbSlider
-void cegui_sldr_getThumb(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Initialises the Window
-void cegui_sldr_initialiseComponents(struct hg3dclass_struct * thisclass_c);
-
-// set the maximum value for the slider. Note that the minimum value is fixed at 0. 
-void cegui_sldr_setMaxValue(struct hg3dclass_struct * thisclass_c, float maxVal_c);
-
-// set the current slider value. 
-void cegui_sldr_setCurrentValue(struct hg3dclass_struct * thisclass_c, float value_c);
-
-// set the current click step setting for the slider. 
-void cegui_sldr_setClickStep(struct hg3dclass_struct * thisclass_c, float step_c);
-
-// Slider
-void cegui_sldr_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Slider
-void cegui_sldr_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassSpinner.h b/include/ClassSpinner.h
deleted file mode 100644
--- a/include/ClassSpinner.h
+++ /dev/null
@@ -1,72 +0,0 @@
-// 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.
-// 
-
-// ClassSpinner.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassSpinner
-#define _DEFINED_HG3D_ClassSpinner
-
-#include "ClassPtr.h"
-#include "EnumTextInputMode.h"
-
-
-
-// Constructor for Spinner
-void cegui_spnnr_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for Spinner
-void cegui_spnnr_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Initialises the Window
-void cegui_spnnr_initialiseComponents(struct hg3dclass_struct * thisclass_c);
-
-// Return the current spinner value. 
-void cegui_spnnr_getCurrentValue(struct hg3dclass_struct * thisclass_c, double * result_c);
-
-// Return the current step value. 
-void cegui_spnnr_getStepSize(struct hg3dclass_struct * thisclass_c, double * result_c);
-
-// Return the current maximum limit value for the Spinner
-void cegui_spnnr_getMaximumValue(struct hg3dclass_struct * thisclass_c, double * result_c);
-
-// Return the current minimum limit value for the Spinner
-void cegui_spnnr_getMinimumValue(struct hg3dclass_struct * thisclass_c, double * result_c);
-
-// Return the current text input / display mode setting. 
-void cegui_spnnr_getTextInputMode(struct hg3dclass_struct * thisclass_c, enum EnumTextInputMode * result_c);
-
-// Set the current spinner value. 
-void cegui_spnnr_setCurrentValue(struct hg3dclass_struct * thisclass_c, double value_c);
-
-// Set the current step value. 
-void cegui_spnnr_setStepSize(struct hg3dclass_struct * thisclass_c, double step_c);
-
-// Set the spinner maximum value. 
-void cegui_spnnr_setMaximumValue(struct hg3dclass_struct * thisclass_c, double maxValue_c);
-
-// Set the spinner minimum value. 
-void cegui_spnnr_setMinimumValue(struct hg3dclass_struct * thisclass_c, double minVaue_c);
-
-// Set the spinner input / display mode. 
-void cegui_spnnr_setTextInputMode(struct hg3dclass_struct * thisclass_c, enum EnumTextInputMode mode_c);
-
-#endif 
diff --git a/include/ClassSystem.h b/include/ClassSystem.h
deleted file mode 100644
--- a/include/ClassSystem.h
+++ /dev/null
@@ -1,224 +0,0 @@
-// 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.
-// 
-
-// ClassSystem.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassSystem
-#define _DEFINED_HG3D_ClassSystem
-
-#include "ClassPtr.h"
-#include "ClassRenderer.h"
-#include "ClassResourceProvider.h"
-#include "ClassXMLParser.h"
-#include "ClassImageCodec.h"
-#include "ClassScriptModule.h"
-#include "ClassFont.h"
-#include "ClassWindow.h"
-#include "ClassTooltip.h"
-#include "EnumMouseButton.h"
-
-
-
-// Create the System
-void cegui_sstm_create(struct hg3dclass_struct * renderer_c, struct hg3dclass_struct * resourceProvider_c, struct hg3dclass_struct * xmlParser_c, struct hg3dclass_struct * imageCodec_c, struct hg3dclass_struct * scriptModule_c, char * configFile_c, char * logFile_c, struct hg3dclass_struct * result_c);
-
-// Destroy the System
-void cegui_sstm_destroy();
-
-// Return singleton System
-void cegui_sstm_getSingleton(struct hg3dclass_struct * result_c);
-
-// Return pointer to singleton System
-void cegui_sstm_getSingletonPtr(struct hg3dclass_struct * result_c);
-
-// Static member to set the name of the default XML parser module that should be used. 
-void cegui_sstm_setDefaultXMLParserName(char * parserName_c);
-
-// Return the name of the currently set default xml parser module. 
-void cegui_sstm_getDefaultXMLParserName(char * result_c);
-
-// Set the name of the default image codec to be used. 
-void cegui_sstm_setDefaultImageCodecName(char * codecName_c);
-
-// Get the name of the default image codec. 
-void cegui_sstm_getDefaultImageCodecName(char * result_c);
-
-// Return a pointer to the Renderer
-void cegui_sstm_getRenderer(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Set the default font to be used by the system. 
-void cegui_sstm_setDefaultFont(struct hg3dclass_struct * thisclass_c, char * name_c);
-
-// Set the default font to be used by the system. 
-void cegui_sstm_setDefaultFont2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * font_c);
-
-// Return a pointer to the default Font
-void cegui_sstm_getDefaultFont(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Causes a full re-draw next time renderGUI()
-void cegui_sstm_signalRedraw(struct hg3dclass_struct * thisclass_c);
-
-// Return a boolean value to indicate whether a full re-draw is requested next time renderGUI()
-void cegui_sstm_isRedrawRequested(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Render the GUI. 
-void cegui_sstm_renderGUI(struct hg3dclass_struct * thisclass_c);
-
-// Set the active GUI sheet (root) window. 
-void cegui_sstm_setGUISheet(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * sheet_c, struct hg3dclass_struct * result_c);
-
-// Return a pointer to the active GUI sheet (root) window. 
-void cegui_sstm_getGUISheet(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return the current timeout for generation of single-click events. 
-void cegui_sstm_getSingleClickTimeout(struct hg3dclass_struct * thisclass_c, double * result_c);
-
-// Return the current timeout for generation of multi-click events. 
-void cegui_sstm_getMultiClickTimeout(struct hg3dclass_struct * thisclass_c, double * result_c);
-
-// Set the timeout used for generation of single-click events. 
-void cegui_sstm_setSingleClickTimeout(struct hg3dclass_struct * thisclass_c, double timeout_c);
-
-// Set the timeout to be used for the generation of multi-click events. 
-void cegui_sstm_setMultiClickTimeout(struct hg3dclass_struct * thisclass_c, double timeout_c);
-
-// Return whether automatic mouse button click and multi-click (i.e. double-click and treble-click) event generation is enabled. 
-void cegui_sstm_isMouseClickEventGenerationEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Set whether automatic mouse button click and multi-click (i.e. double-click and treble-click) event generation will occur. 
-void cegui_sstm_setMouseClickEventGenerationEnabled(struct hg3dclass_struct * thisclass_c, const int enable_c);
-
-// Set the image to be used as the default mouse cursor. 
-void cegui_sstm_setDefaultMouseCursor3(struct hg3dclass_struct * thisclass_c, char * imageset_c, char * image_name_c);
-
-// Return the Window
-void cegui_sstm_getWindowContainingMouse(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return a pointer to the ScriptModule
-void cegui_sstm_getScriptingModule(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Set the ScriptModule
-void cegui_sstm_setScriptingModule(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * scriptModule_c);
-
-// Return a pointer to the ResourceProvider
-void cegui_sstm_getResourceProvider(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Execute a script file if possible. 
-void cegui_sstm_executeScriptFile(struct hg3dclass_struct * thisclass_c, char * filename_c, char * resourceGroup_c);
-
-// Execute a scripted global function if possible. The function should not take any parameters and should return an integer. 
-void cegui_sstm_executeScriptGlobal(struct hg3dclass_struct * thisclass_c, char * function_name_c, int * result_c);
-
-// If possible, execute script code contained in the given CEGUI::String object. 
-void cegui_sstm_executeScriptString(struct hg3dclass_struct * thisclass_c, char * str_c);
-
-// return the current mouse movement scaling factor. 
-void cegui_sstm_getMouseMoveScaling(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Set the current mouse movement scaling factor. 
-void cegui_sstm_setMouseMoveScaling(struct hg3dclass_struct * thisclass_c, float scaling_c);
-
-// Internal method used to inform the SystemSystem
-void cegui_sstm_notifyWindowDestroyed(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * window_c);
-
-// Return the current system keys value. 
-void cegui_sstm_getSystemKeys(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// Set a new XML parser module to be used. 
-void cegui_sstm_setXMLParser(struct hg3dclass_struct * thisclass_c, char * parserName_c);
-
-// Sets the XMLParser
-void cegui_sstm_setXMLParser2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * parser_c);
-
-// Return the XMLParser
-void cegui_sstm_getXMLParser(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Set the system default TooltipTooltip
-void cegui_sstm_setDefaultTooltip(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * tooltip_c);
-
-// Set the system default TooltipWindow
-void cegui_sstm_setDefaultTooltip2(struct hg3dclass_struct * thisclass_c, char * tooltipType_c);
-
-// return a poiter to the system default tooltip. May return 0. 
-void cegui_sstm_getDefaultTooltip(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Internal method to directly set the current modal target. 
-void cegui_sstm_setModalTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * target_c);
-
-// Return a pointer to the Window
-void cegui_sstm_getModalTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Perform updates with regards to the window that contains the mouse cursor, firing any required MouseEnters / MouseLeaves events. 
-void cegui_sstm_updateWindowContainingMouse(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Retrieve the image codec to be used by the system. 
-void cegui_sstm_getImageCodec(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Set the image codec to be used by the system. 
-void cegui_sstm_setImageCodec(struct hg3dclass_struct * thisclass_c, char * codecName_c);
-
-// Set the image codec to use from an existing image codec. 
-void cegui_sstm_setImageCodec2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * codec_c);
-
-// Invalidate all imagery and geometry caches for CEGUI
-void cegui_sstm_invalidateAllCachedRendering(struct hg3dclass_struct * thisclass_c);
-
-// Method that injects a mouse movement event into the system. 
-void cegui_sstm_injectMouseMove(struct hg3dclass_struct * thisclass_c, float delta_x_c, float delta_y_c, int * result_c);
-
-// Method that injects that the mouse has left the application window. 
-void cegui_sstm_injectMouseLeaves(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Method that injects a mouse button down event into the system. 
-void cegui_sstm_injectMouseButtonDown(struct hg3dclass_struct * thisclass_c, enum EnumMouseButton button_c, int * result_c);
-
-// Method that injects a mouse button up event into the system. 
-void cegui_sstm_injectMouseButtonUp(struct hg3dclass_struct * thisclass_c, enum EnumMouseButton button_c, int * result_c);
-
-// Method that injects a key down event into the system. 
-void cegui_sstm_injectKeyDown(struct hg3dclass_struct * thisclass_c, unsigned int key_code_c, int * result_c);
-
-// Method that injects a key up event into the system. 
-void cegui_sstm_injectKeyUp(struct hg3dclass_struct * thisclass_c, unsigned int key_code_c, int * result_c);
-
-// Method that injects a typed character event into the system. 
-void cegui_sstm_injectChar(struct hg3dclass_struct * thisclass_c, int code_point_c, int * result_c);
-
-// Method that injects a mouse-wheel / scroll-wheel event into the system. 
-void cegui_sstm_injectMouseWheelChange(struct hg3dclass_struct * thisclass_c, float delta_c, int * result_c);
-
-// Method that injects a new position for the mouse cursor. 
-void cegui_sstm_injectMousePosition(struct hg3dclass_struct * thisclass_c, float x_pos_c, float y_pos_c, int * result_c);
-
-// Method to inject time pulses into the system. 
-void cegui_sstm_injectTimePulse(struct hg3dclass_struct * thisclass_c, float timeElapsed_c, int * result_c);
-
-// Function to directly inject a mouse button click event. 
-void cegui_sstm_injectMouseButtonClick(struct hg3dclass_struct * thisclass_c, const enum EnumMouseButton button_c, int * result_c);
-
-// Function to directly inject a mouse button double-click event. 
-void cegui_sstm_injectMouseButtonDoubleClick(struct hg3dclass_struct * thisclass_c, const enum EnumMouseButton button_c, int * result_c);
-
-// Function to directly inject a mouse button triple-click event. 
-void cegui_sstm_injectMouseButtonTripleClick(struct hg3dclass_struct * thisclass_c, const enum EnumMouseButton button_c, int * result_c);
-
-#endif 
diff --git a/include/ClassSystemHG3D.h b/include/ClassSystemHG3D.h
deleted file mode 100644
--- a/include/ClassSystemHG3D.h
+++ /dev/null
@@ -1,58 +0,0 @@
-// 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.
-// 
-
-// ClassSystemHG3D.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassSystemHG3D
-#define _DEFINED_HG3D_ClassSystemHG3D
-
-#include "ClassPtr.h"
-#include "ClassLogger.h"
-#include "ClassDefaultResourceProvider.h"
-#include "ClassSystem.h"
-#include "ClassSchemeManager.h"
-#include "ClassFontManager.h"
-
-
-
-// 
-void cegui_sstm_hg3d_createNoLogger(struct hg3dclass_struct * result_c);
-
-// 
-void cegui_sstm_hg3d_getDefaultResourceProvider(struct hg3dclass_struct * system_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_sstm_hg3d_getSchemeManagerSingleton(struct hg3dclass_struct * result_c);
-
-// 
-void cegui_sstm_hg3d_schemeManagerCreate(struct hg3dclass_struct * smgr_c, char * scheme_c);
-
-// 
-void cegui_sstm_hg3d_fontManagerCreate(struct hg3dclass_struct * fmgr_c, char * font_c);
-
-// 
-void cegui_sstm_hg3d_getFontManagerSingleton(struct hg3dclass_struct * result_c);
-
-// 
-void cegui_sstm_hg3d_getLoggerSingleton(struct hg3dclass_struct * result_c);
-
-#endif 
diff --git a/include/ClassTabButton.h b/include/ClassTabButton.h
deleted file mode 100644
--- a/include/ClassTabButton.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// 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.
-// 
-
-// ClassTabButton.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassTabButton
-#define _DEFINED_HG3D_ClassTabButton
-
-#include "ClassPtr.h"
-#include "ClassWindow.h"
-
-
-
-// Constructor for base TabButton
-void cegui_tbbtn_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for TabButton
-void cegui_tbbtn_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Set whether this tab button is selected or not. 
-void cegui_tbbtn_setSelected(struct hg3dclass_struct * thisclass_c, int selected_c);
-
-// Return whether this tab button is selected or not. 
-void cegui_tbbtn_isSelected(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Set the target window which is the content pane which this button is covering. 
-void cegui_tbbtn_setTargetWindow(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * wnd_c);
-
-// Get the target window which is the content pane which this button is covering. 
-void cegui_tbbtn_getTargetWindow(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-#endif 
diff --git a/include/ClassThumb.h b/include/ClassThumb.h
deleted file mode 100644
--- a/include/ClassThumb.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// 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.
-// 
-
-// ClassThumb.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassThumb
-#define _DEFINED_HG3D_ClassThumb
-
-#include "ClassPtr.h"
-
-
-
-// return whether hot-tracking is enabled or not. 
-void cegui_thmb_isHotTracked(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return whether the thumb is movable on the vertical axis. 
-void cegui_thmb_isVertFree(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return whether the thumb is movable on the horizontal axis. 
-void cegui_thmb_isHorzFree(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// set whether the thumb uses hot-tracking. 
-void cegui_thmb_setHotTracked(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// set whether thumb is movable on the vertical axis. 
-void cegui_thmb_setVertFree(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// set whether thumb is movable on the horizontal axis. 
-void cegui_thmb_setHorzFree(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// set the movement range of the thumb for the vertical axis. 
-void cegui_thmb_setVertRange(struct hg3dclass_struct * thisclass_c, float min_c, float max_c);
-
-// set the movement range of the thumb for the horizontal axis. 
-void cegui_thmb_setHorzRange(struct hg3dclass_struct * thisclass_c, float min_c, float max_c);
-
-// Constructor for Thumb
-void cegui_thmb_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for Thumb
-void cegui_thmb_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassTooltip.h b/include/ClassTooltip.h
deleted file mode 100644
--- a/include/ClassTooltip.h
+++ /dev/null
@@ -1,72 +0,0 @@
-// 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.
-// 
-
-// ClassTooltip.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassTooltip
-#define _DEFINED_HG3D_ClassTooltip
-
-#include "ClassPtr.h"
-#include "ClassWindow.h"
-
-
-
-// Constructor for the Tooltip
-void cegui_tltp_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for the Tooltip
-void cegui_tltp_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Sets the target window for the tooltip. This used internally to manage tooltips, you should not have to call this yourself. 
-void cegui_tltp_setTargetWindow(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * wnd_c);
-
-// return the current target window for this Tooltip
-void cegui_tltp_getTargetWindow(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Resets the timer on the tooltip when in the Active / Inactive states. This is used internally to control the tooltip, it is not normally necessary to call this method yourself. 
-void cegui_tltp_resetTimer(struct hg3dclass_struct * thisclass_c);
-
-// Return the number of seconds the mouse should hover stationary over the target window before the tooltip gets activated. 
-void cegui_tltp_getHoverTime(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Set the number of seconds the tooltip should be displayed for before it automatically de-activates itself. 0 indicates that the tooltip should never timesout and auto-deactivate. 
-void cegui_tltp_setDisplayTime(struct hg3dclass_struct * thisclass_c, float seconds_c);
-
-// Return the number of seconds that should be taken to fade the tooltip into and out of visibility. 
-void cegui_tltp_getFadeTime(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Set the number of seconds the mouse should hover stationary over the target window before the tooltip gets activated. 
-void cegui_tltp_setHoverTime(struct hg3dclass_struct * thisclass_c, float seconds_c);
-
-// Return the number of seconds the tooltip should be displayed for before it automatically de-activates itself. 0 indicates that the tooltip never timesout and auto-deactivates. 
-void cegui_tltp_getDisplayTime(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Set the number of seconds that should be taken to fade the tooltip into and out of visibility. 
-void cegui_tltp_setFadeTime(struct hg3dclass_struct * thisclass_c, float seconds_c);
-
-// Causes the tooltip to position itself appropriately. 
-void cegui_tltp_positionSelf(struct hg3dclass_struct * thisclass_c);
-
-// Causes the tooltip to resize itself appropriately. 
-void cegui_tltp_sizeSelf(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassTree.h b/include/ClassTree.h
deleted file mode 100644
--- a/include/ClassTree.h
+++ /dev/null
@@ -1,105 +0,0 @@
-// 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.
-// 
-
-// ClassTree.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassTree
-#define _DEFINED_HG3D_ClassTree
-
-#include "ClassPtr.h"
-#include "ClassScrollbar.h"
-
-
-
-// 
-void cegui_tree_doTreeRender(struct hg3dclass_struct * thisclass_c);
-
-// 
-void cegui_tree_doScrollbars(struct hg3dclass_struct * thisclass_c);
-
-// Return number of items attached to the tree. 
-void cegui_tree_getItemCount(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return the number of selected items in the tree. 
-void cegui_tree_getSelectedCount(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return whether tree sorting is enabled 
-void cegui_tree_isSortEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// 
-void cegui_tree_getVertScrollbar(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_tree_getHorzScrollbar(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// return whether multi-select is enabled 
-void cegui_tree_isMultiselectEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// 
-void cegui_tree_isItemTooltipsEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the vertical scroll bar is always shown. 
-void cegui_tree_isVertScrollbarAlwaysShown(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether the horizontal scroll bar is always shown. 
-void cegui_tree_isHorzScrollbarAlwaysShown(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Initialise the Window
-void cegui_tree_initialise(struct hg3dclass_struct * thisclass_c);
-
-// Remove all items from the tree. 
-void cegui_tree_resetList(struct hg3dclass_struct * thisclass_c);
-
-// Clear the selected state for all items. 
-void cegui_tree_clearAllSelections(struct hg3dclass_struct * thisclass_c);
-
-// Set whether the tree should be sorted. 
-void cegui_tree_setSortingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the tree should allow multiple selections or just a single selection. 
-void cegui_tree_setMultiselectEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the vertical scroll bar should always be shown. 
-void cegui_tree_setShowVertScrollbar(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the horizontal scroll bar should always be shown. 
-void cegui_tree_setShowHorzScrollbar(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// 
-void cegui_tree_setItemTooltipsEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set the select state of an attached TreeItem. 
-void cegui_tree_setItemSelectState2(struct hg3dclass_struct * thisclass_c, int item_index_c, int state_c);
-
-// Set the LookNFeel that shoule be used for this window. 
-void cegui_tree_setLookNFeel(struct hg3dclass_struct * thisclass_c, char * look_c);
-
-// Causes the tree to update it's internal state after changes have been made to one or more attached TreeItem objects. 
-void cegui_tree_handleUpdatedItemData(struct hg3dclass_struct * thisclass_c);
-
-// Constructor for Tree
-void cegui_tree_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for Tree
-void cegui_tree_destruct(struct hg3dclass_struct * thisclass_c);
-
-#endif 
diff --git a/include/ClassWidgetLookManager.h b/include/ClassWidgetLookManager.h
deleted file mode 100644
--- a/include/ClassWidgetLookManager.h
+++ /dev/null
@@ -1,59 +0,0 @@
-// 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.
-// 
-
-// ClassWidgetLookManager.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassWidgetLookManager
-#define _DEFINED_HG3D_ClassWidgetLookManager
-
-#include "ClassPtr.h"
-
-
-
-// Constructor. 
-void cegui_wdgtlmgr_construct(struct hg3dclass_struct * result_c);
-
-// Destructor. 
-void cegui_wdgtlmgr_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Parses a file containing window look & feel specifications (in the form of XML). 
-void cegui_wdgtlmgr_parseLookNFeelSpecification(struct hg3dclass_struct * thisclass_c, char * filename_c, char * resourceGroup_c);
-
-// Return whether a WidgetLookFeel has been created with the specified name. 
-void cegui_wdgtlmgr_isWidgetLookAvailable(struct hg3dclass_struct * thisclass_c, char * widget_c, int * result_c);
-
-// Erase the WidgetLookFeel that has the specified name. 
-void cegui_wdgtlmgr_eraseWidgetLook(struct hg3dclass_struct * thisclass_c, char * widget_c);
-
-// Return singleton WidgetLookManager
-void cegui_wdgtlmgr_getSingleton(struct hg3dclass_struct * result_c);
-
-// Return pointer to singleton WidgetLookManager
-void cegui_wdgtlmgr_getSingletonPtr(struct hg3dclass_struct * result_c);
-
-// Returns the default resource group currently set for LookNFeels. 
-void cegui_wdgtlmgr_getDefaultResourceGroup(char * result_c);
-
-// Sets the default resource group to be used when loading LookNFeel data. 
-void cegui_wdgtlmgr_setDefaultResourceGroup(char * resourceGroup_c);
-
-#endif 
diff --git a/include/ClassWindow.h b/include/ClassWindow.h
deleted file mode 100644
--- a/include/ClassWindow.h
+++ /dev/null
@@ -1,491 +0,0 @@
-// 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.
-// 
-
-// ClassWindow.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassWindow
-#define _DEFINED_HG3D_ClassWindow
-
-#include "ClassPtr.h"
-#include "ClassFont.h"
-#include "ClassTooltip.h"
-#include "EnumVerticalAlignment.h"
-#include "EnumHorizontalAlignment.h"
-#include "ClassDragContainer.h"
-#include "EnumWindowUpdateMode.h"
-
-
-
-// Constructor for Window
-void cegui_wnd_construct(char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destructor for Window
-void cegui_wnd_destruct(struct hg3dclass_struct * thisclass_c);
-
-// return a String object holding the type name for this Window
-void cegui_wnd_getType(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// return a String object holding the name of this Window
-void cegui_wnd_getName(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// returns whether or not this Window
-void cegui_wnd_isDestroyedByParent(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// returns whether or not this WindowWindow
-void cegui_wnd_isAlwaysOnTop(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return whether the Window
-void cegui_wnd_isDisabled(struct hg3dclass_struct * thisclass_c, int localOnly_c, int * result_c);
-
-// return true if the Window
-void cegui_wnd_isVisible(struct hg3dclass_struct * thisclass_c, int localOnly_c, int * result_c);
-
-// return true if this is the active Window
-void cegui_wnd_isActive(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return true if this WindowWindow
-void cegui_wnd_isClippedByParent(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the ID code currently assigned to this Window
-void cegui_wnd_getID(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
-
-// return the number of child WindowWindow
-void cegui_wnd_getChildCount(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// returns whether a WindowWindow
-void cegui_wnd_isChild(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
-
-// returns whether at least one window with the given ID code is attached to this Window
-void cegui_wnd_isChild2(struct hg3dclass_struct * thisclass_c, unsigned int ID_c, int * result_c);
-
-// returns whether at least one window with the given ID code is attached to this Window
-void cegui_wnd_isChildRecursive(struct hg3dclass_struct * thisclass_c, unsigned int ID_c, int * result_c);
-
-// return true if the given Window
-void cegui_wnd_isChild3(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * window_c, int * result_c);
-
-// return a pointer to the child window with the specified name. 
-void cegui_wnd_getChild(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// return a pointer to the first attached child window with the specified ID value. 
-void cegui_wnd_getChild2(struct hg3dclass_struct * thisclass_c, unsigned int ID_c, struct hg3dclass_struct * result_c);
-
-// return a pointer to the first attached child window with the specified name. Children are traversed recursively. 
-void cegui_wnd_getChildRecursive(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// return a pointer to the first attached child window with the specified ID value. Children are traversed recursively. 
-void cegui_wnd_getChildRecursive2(struct hg3dclass_struct * thisclass_c, unsigned int ID_c, struct hg3dclass_struct * result_c);
-
-// return a pointer to the child window that is attached to 'this' at the given index. 
-void cegui_wnd_getChildAtIdx(struct hg3dclass_struct * thisclass_c, int idx_c, struct hg3dclass_struct * result_c);
-
-// return a pointer to the WindowWindow
-void cegui_wnd_getActiveChild(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_wnd_getActiveChild2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// return true if the specified WindowWindow
-void cegui_wnd_isAncestor(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
-
-// return true if any WindowWindow
-void cegui_wnd_isAncestor2(struct hg3dclass_struct * thisclass_c, unsigned int ID_c, int * result_c);
-
-// return true if the specified WindowWindow
-void cegui_wnd_isAncestor3(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * window_c, int * result_c);
-
-// return the active FontWindow
-void cegui_wnd_getFont(struct hg3dclass_struct * thisclass_c, int useDefault_c, struct hg3dclass_struct * result_c);
-
-// return the current text for the Window
-void cegui_wnd_getText(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// return text string with visual
-void cegui_wnd_getTextVisual(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// return true if the Window
-void cegui_wnd_inheritsAlpha(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the current alpha value set for this Window
-void cegui_wnd_getAlpha(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// return the effective alpha value that will be used when rendering this window, taking into account inheritance of parent window(s) alpha. 
-void cegui_wnd_getEffectiveAlpha(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// return true if this Window
-void cegui_wnd_isCapturedByThis(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return true if an ancestor window has captured inputs. 
-void cegui_wnd_isCapturedByAncestor(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return true if a child window has captured inputs. 
-void cegui_wnd_isCapturedByChild(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// return the parent of this Window
-void cegui_wnd_getParent(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return whether this window is set to restore old input capture when it loses input capture. 
-void cegui_wnd_restoresOldCapture(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether z-order changes are enabled or disabled for this Window
-void cegui_wnd_isZOrderingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether this window will receive multi-click events or multiple 'down' events instead. 
-void cegui_wnd_wantsMultiClickEvents(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether mouse button down event autorepeat is enabled for this window. 
-void cegui_wnd_isMouseAutoRepeatEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return the current auto-repeat delay setting for this window. 
-void cegui_wnd_getAutoRepeatDelay(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Return the current auto-repeat rate setting for this window. 
-void cegui_wnd_getAutoRepeatRate(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Return whether the window wants inputs passed to its attached child windows when the window has inputs captured. 
-void cegui_wnd_distributesCapturedInputs(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether this WindowTooltipTooltip
-void cegui_wnd_isUsingDefaultTooltip(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return a pointer to the TooltipWindowTooltipWindowTooltip
-void cegui_wnd_getTooltip(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return the custom tooltip type. 
-void cegui_wnd_getTooltipType(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// Return the current tooltip text set for this Window
-void cegui_wnd_getTooltipText(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// Return whether this window inherits Tooltip
-void cegui_wnd_inheritsTooltipText(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether this window will rise to the top of the z-order when clicked with the left mouse button. 
-void cegui_wnd_isRiseOnClickEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether this window was inherited from the given class name at some point in the inheritance hierarchy. 
-void cegui_wnd_testClassName(struct hg3dclass_struct * thisclass_c, char * class_name_c, int * result_c);
-
-// Get the vertical alignment. 
-void cegui_wnd_getVerticalAlignment(struct hg3dclass_struct * thisclass_c, enum EnumVerticalAlignment * result_c);
-
-// Get the horizontal alignment. 
-void cegui_wnd_getHorizontalAlignment(struct hg3dclass_struct * thisclass_c, enum EnumHorizontalAlignment * result_c);
-
-// Get the name of the LookNFeel assigned to this window. 
-void cegui_wnd_getLookNFeel(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// Get whether or not this Window
-void cegui_wnd_getModalState(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns a named user string. 
-void cegui_wnd_getUserString(struct hg3dclass_struct * thisclass_c, char * name_c, char * result_c);
-
-// Return whether a user string with the specified name exists. 
-void cegui_wnd_isUserStringDefined(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
-
-// Returns the active sibling window. 
-void cegui_wnd_getActiveSibling(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return the pixel Width of the parent element. This always returns a valid number. 
-void cegui_wnd_getParentPixelWidth(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Return the pixel Height of the parent element. This always returns a valid number. 
-void cegui_wnd_getParentPixelHeight(struct hg3dclass_struct * thisclass_c, float * result_c);
-
-// Returns whether this window should ignore mouse event and pass them through to and other windows behind it. In effect making the window transparent to the mouse. 
-void cegui_wnd_isMousePassThroughEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns whether this window is an auto-child window. All auto-child windows have "__auto_" in their name, but this is faster. 
-void cegui_wnd_isAutoWindow(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns whether this window is allowed to write XML. 
-void cegui_wnd_isWritingXMLAllowed(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns whether this Window
-void cegui_wnd_isDragDropTarget(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns whether automatic
-void cegui_wnd_isUsingAutoRenderingSurface(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns the window at the root of the hierarchy starting at this Window
-void cegui_wnd_getRootWindow(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_wnd_getRootWindow2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
-
-// Return whether the Window
-void cegui_wnd_isNonClientWindow(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Renames the window. 
-void cegui_wnd_rename(struct hg3dclass_struct * thisclass_c, char * new_name_c);
-
-// Initialises the Window
-void cegui_wnd_initialiseComponents(struct hg3dclass_struct * thisclass_c);
-
-// Set whether or not this WindowWindow
-void cegui_wnd_setDestroyedByParent(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether this window is always on top, or not. 
-void cegui_wnd_setAlwaysOnTop(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether this window is enabled or disabled. A disabled window normally can not be interacted with, and may have different rendering. 
-void cegui_wnd_setEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// enable the Window
-void cegui_wnd_enable(struct hg3dclass_struct * thisclass_c);
-
-// disable the Window
-void cegui_wnd_disable(struct hg3dclass_struct * thisclass_c);
-
-// Set whether the Window
-void cegui_wnd_setVisible(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// show the Window
-void cegui_wnd_show(struct hg3dclass_struct * thisclass_c);
-
-// hide the Window
-void cegui_wnd_hide(struct hg3dclass_struct * thisclass_c);
-
-// Activate the WindowWindow
-void cegui_wnd_activate(struct hg3dclass_struct * thisclass_c);
-
-// Deactivate the window. No further inputs will be received by the window until it is re-activated either programmatically or by the user interacting with the gui. 
-void cegui_wnd_deactivate(struct hg3dclass_struct * thisclass_c);
-
-// Set whether this Window
-void cegui_wnd_setClippedByParent(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set the current ID for the Window
-void cegui_wnd_setID(struct hg3dclass_struct * thisclass_c, unsigned int ID_c);
-
-// Set the current text string for the Window
-void cegui_wnd_setText(struct hg3dclass_struct * thisclass_c, char * text_c);
-
-// Append the string textWindow
-void cegui_wnd_appendText(struct hg3dclass_struct * thisclass_c, char * text_c);
-
-// Set the font used by this Window
-void cegui_wnd_setFont(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * font_c);
-
-// Set the font used by this Window
-void cegui_wnd_setFont2(struct hg3dclass_struct * thisclass_c, char * name_c);
-
-// Add the named WindowWindowWindownameWindowWindow
-void cegui_wnd_addChildWindow(struct hg3dclass_struct * thisclass_c, char * name_c);
-
-// Add the specified WindowWindowWindowwindowWindowWindow
-void cegui_wnd_addChildWindow2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * window_c);
-
-// Remove the named Window
-void cegui_wnd_removeChildWindow(struct hg3dclass_struct * thisclass_c, char * name_c);
-
-// Remove the specified Window
-void cegui_wnd_removeChildWindow2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * window_c);
-
-// Remove the first child WindowWindow
-void cegui_wnd_removeChildWindow3(struct hg3dclass_struct * thisclass_c, unsigned int ID_c);
-
-// Move the Window
-void cegui_wnd_moveToFront(struct hg3dclass_struct * thisclass_c);
-
-// Move the Window
-void cegui_wnd_moveToBack(struct hg3dclass_struct * thisclass_c);
-
-// Captures input to this window. 
-void cegui_wnd_captureInput(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Releases input capture from this WindowWindow
-void cegui_wnd_releaseInput(struct hg3dclass_struct * thisclass_c);
-
-// Set whether this window will remember and restore the previous window that had inputs captured. 
-void cegui_wnd_setRestoreCapture(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set the current alpha value for this window. 
-void cegui_wnd_setAlpha(struct hg3dclass_struct * thisclass_c, float alpha_c);
-
-// Sets whether this Window
-void cegui_wnd_setInheritsAlpha(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Invalidate this window causing at least this window to be redrawn during the next rendering pass. 
-void cegui_wnd_invalidate(struct hg3dclass_struct * thisclass_c);
-
-// Invalidate this window and - dependant upon recursive
-void cegui_wnd_invalidate2(struct hg3dclass_struct * thisclass_c, const int recursive_c);
-
-// Set the mouse cursor image to be used when the mouse enters this window. 
-void cegui_wnd_setMouseCursor3(struct hg3dclass_struct * thisclass_c, char * imageset_c, char * image_name_c);
-
-// Set whether z-order changes are enabled or disabled for this Window
-void cegui_wnd_setZOrderingEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether this window will receive multi-click events or multiple 'down' events instead. 
-void cegui_wnd_setWantsMultiClickEvents(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether mouse button down event autorepeat is enabled for this window. 
-void cegui_wnd_setMouseAutoRepeatEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set the current auto-repeat delay setting for this window. 
-void cegui_wnd_setAutoRepeatDelay(struct hg3dclass_struct * thisclass_c, float delay_c);
-
-// Set the current auto-repeat rate setting for this window. 
-void cegui_wnd_setAutoRepeatRate(struct hg3dclass_struct * thisclass_c, float rate_c);
-
-// Set whether the window wants inputs passed to its attached child windows when the window has inputs captured. 
-void cegui_wnd_setDistributesCapturedInputs(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Internal support method for drag & drop. You do not normally call this directly from client code. See the DragContainer
-void cegui_wnd_notifyDragDropItemEnters(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c);
-
-// Internal support method for drag & drop. You do not normally call this directly from client code. See the DragContainer
-void cegui_wnd_notifyDragDropItemLeaves(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c);
-
-// Internal support method for drag & drop. You do not normally call this directly from client code. See the DragContainer
-void cegui_wnd_notifyDragDropItemDropped(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * item_c);
-
-// Internal destroy method which actually just adds the window and any parent destructed child windows to the dead pool. 
-void cegui_wnd_destroy(struct hg3dclass_struct * thisclass_c);
-
-// Set the custom TooltipWindowWindowTooltip
-void cegui_wnd_setTooltip(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * tooltip_c);
-
-// Set the custom TooltipWindowWindow
-void cegui_wnd_setTooltipType(struct hg3dclass_struct * thisclass_c, char * tooltipType_c);
-
-// Set the tooltip text for this window. 
-void cegui_wnd_setTooltipText(struct hg3dclass_struct * thisclass_c, char * tip_c);
-
-// Set whether this window inherits Tooltip
-void cegui_wnd_setInheritsTooltipText(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether this window will rise to the top of the z-order when clicked with the left mouse button. 
-void cegui_wnd_setRiseOnClickEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set the vertical alignment. 
-void cegui_wnd_setVerticalAlignment(struct hg3dclass_struct * thisclass_c, const enum EnumVerticalAlignment alignment_c);
-
-// Set the horizontal alignment. 
-void cegui_wnd_setHorizontalAlignment(struct hg3dclass_struct * thisclass_c, const enum EnumHorizontalAlignment alignment_c);
-
-// Set the LookNFeel that shoule be used for this window. 
-void cegui_wnd_setLookNFeel(struct hg3dclass_struct * thisclass_c, char * look_c);
-
-// Set the modal state for this Window
-void cegui_wnd_setModalState(struct hg3dclass_struct * thisclass_c, int state_c);
-
-// method called to perform extended laying out of attached child windows. 
-void cegui_wnd_performChildWindowLayout(struct hg3dclass_struct * thisclass_c);
-
-// Sets the value a named user string, creating it as required. 
-void cegui_wnd_setUserString(struct hg3dclass_struct * thisclass_c, char * name_c, char * value_c);
-
-// Causes the Window
-void cegui_wnd_render(struct hg3dclass_struct * thisclass_c);
-
-// Cause window to update itself and any attached children. Client code does not need to call this method; to ensure full, and proper updates, call the injectTimePulse methodname method provided by the System
-void cegui_wnd_update(struct hg3dclass_struct * thisclass_c, float elapsed_c);
-
-// Sets the internal 'initialising' flag to true. This can be use to optimize initialisation of some widgets, and is called automatically by the layout XML handler when it has created a window. That is just after the window has been created, but before any children or properties are read. 
-void cegui_wnd_beginInitialisation(struct hg3dclass_struct * thisclass_c);
-
-// Sets the internal 'initialising' flag to false. This is called automatically by the layout XML handler when it is done creating a window. That is after all properties and children have been loaded and just before the next sibling gets created. 
-void cegui_wnd_endInitialisation(struct hg3dclass_struct * thisclass_c);
-
-// Sets whether this window should ignore mouse events and pass them through to any windows behind it. In effect making the window transparent to the mouse. 
-void cegui_wnd_setMousePassThroughEnabled(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Assign the WindowRenderer to specify the Look'N'Feel specification to be used. 
-void cegui_wnd_setWindowRenderer(struct hg3dclass_struct * thisclass_c, char * name_c);
-
-// Get the factory name of the currently assigned WindowRenderer. (Look'N'Feel specification). 
-void cegui_wnd_getWindowRendererName(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-// Sets whether this window is allowed to write XML. 
-void cegui_wnd_setWritingXMLAllowed(struct hg3dclass_struct * thisclass_c, int allow_c);
-
-// Inform the window, and optionally all children, that screen area rectangles have changed. 
-void cegui_wnd_notifyScreenAreaChanged(struct hg3dclass_struct * thisclass_c, int recursive_c);
-
-// Changes the widget's falagard type, thus changing its look'n'feel and optionally its renderer in the process. 
-void cegui_wnd_setFalagardType(struct hg3dclass_struct * thisclass_c, char * type_c, char * rendererType_c);
-
-// Specifies whether this Window
-void cegui_wnd_setDragDropTarget(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Invalidate the chain of rendering surfaces from this window backwards to ensure they get properly redrawn - but doing the minimum amount of work possibe - next render. 
-void cegui_wnd_invalidateRenderingSurface(struct hg3dclass_struct * thisclass_c);
-
-// Sets whether automatic
-void cegui_wnd_setUsingAutoRenderingSurface(struct hg3dclass_struct * thisclass_c, int setting_c);
-
-// Set whether the Window
-void cegui_wnd_setNonClientWindow(struct hg3dclass_struct * thisclass_c, const int setting_c);
-
-// return whether text parsing is enabled for this window. 
-void cegui_wnd_isTextParsingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// set whether text parsing is enabled for this window. 
-void cegui_wnd_setTextParsingEnabled(struct hg3dclass_struct * thisclass_c, const int setting_c);
-
-// Add the named property to the XML ban list for this window. 
-void cegui_wnd_banPropertyFromXML(struct hg3dclass_struct * thisclass_c, char * property_name_c);
-
-// Remove the named property from the XML ban list for this window. 
-void cegui_wnd_unbanPropertyFromXML(struct hg3dclass_struct * thisclass_c, char * property_name_c);
-
-// Return whether the named property is banned from XML. 
-void cegui_wnd_isPropertyBannedFromXML(struct hg3dclass_struct * thisclass_c, char * property_name_c, int * result_c);
-
-// Set the window update mode. This mode controls the behaviour of the Window::update
-void cegui_wnd_setUpdateMode(struct hg3dclass_struct * thisclass_c, const enum EnumWindowUpdateMode mode_c);
-
-// Return the current window update mode that is set for this WindowWindow::update
-void cegui_wnd_getUpdateMode(struct hg3dclass_struct * thisclass_c, enum EnumWindowUpdateMode * result_c);
-
-// Set whether mouse input that is not directly handled by this WindowWindow
-void cegui_wnd_setMouseInputPropagationEnabled(struct hg3dclass_struct * thisclass_c, const int enabled_c);
-
-// Return whether mouse input that is not directly handled by this WindowWindow
-void cegui_wnd_isMouseInputPropagationEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Clones this Window
-void cegui_wnd_clone(struct hg3dclass_struct * thisclass_c, char * newName_c, const int deepCopy_c, struct hg3dclass_struct * result_c);
-
-// copies this widget's properties to given target widget 
-void cegui_wnd_clonePropertiesTo(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * target_c);
-
-// copies this widget's child widgets to given target widget 
-void cegui_wnd_cloneChildWidgetsTo(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * target_c);
-
-// Return the (visual) z index of the window on it's parent. 
-void cegui_wnd_getZIndex(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Return whether /a this Window
-void cegui_wnd_isInFront(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * wnd_c, int * result_c);
-
-// Return whether /a this Window
-void cegui_wnd_isBehind(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * wnd_c, int * result_c);
-
-// return the Window
-void cegui_wnd_getCaptureWindow(struct hg3dclass_struct * result_c);
-
-#endif 
diff --git a/include/ClassWindowManager.h b/include/ClassWindowManager.h
deleted file mode 100644
--- a/include/ClassWindowManager.h
+++ /dev/null
@@ -1,90 +0,0 @@
-// 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.
-// 
-
-// ClassWindowManager.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassWindowManager
-#define _DEFINED_HG3D_ClassWindowManager
-
-#include "ClassPtr.h"
-#include "ClassWindow.h"
-
-
-
-// Constructs a new WindowManager
-void cegui_wmgr_construct(struct hg3dclass_struct * result_c);
-
-// Destructor for WindowManager
-void cegui_wmgr_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Creates a new Window
-void cegui_wmgr_createWindow(struct hg3dclass_struct * thisclass_c, char * type_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Destroy the specified Window
-void cegui_wmgr_destroyWindow(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * window_c);
-
-// Destroy the specified Window
-void cegui_wmgr_destroyWindow2(struct hg3dclass_struct * thisclass_c, char * window_c);
-
-// Return a pointer to the specified Window
-void cegui_wmgr_getWindow(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
-
-// Examines the list of Window
-void cegui_wmgr_isWindowPresent(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
-
-// Destroys all Window
-void cegui_wmgr_destroyAllWindows(struct hg3dclass_struct * thisclass_c);
-
-// Return whether the window dead pool is empty. 
-void cegui_wmgr_isDeadPoolEmpty(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Permanently destroys any windows placed in the dead pool. 
-void cegui_wmgr_cleanDeadPool(struct hg3dclass_struct * thisclass_c);
-
-// Save a full XML window layout, starting at the given Window
-void cegui_wmgr_saveWindowLayout(struct hg3dclass_struct * thisclass_c, char * window_c, char * filename_c, const int writeParent_c);
-
-// Save a full XML window layout, starting at the given Window
-void cegui_wmgr_saveWindowLayout2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * window_c, char * filename_c, const int writeParent_c);
-
-// Rename a window. 
-void cegui_wmgr_renameWindow(struct hg3dclass_struct * thisclass_c, char * window_c, char * new_name_c);
-
-// Rename a window. 
-void cegui_wmgr_renameWindow2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * window_c, char * new_name_c);
-
-// Put WindowManager
-void cegui_wmgr_lock(struct hg3dclass_struct * thisclass_c);
-
-// Put WindowManager
-void cegui_wmgr_unlock(struct hg3dclass_struct * thisclass_c);
-
-// Returns whether WindowManager
-void cegui_wmgr_isLocked(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Returns the default resource group currently set for layouts. 
-void cegui_wmgr_getDefaultResourceGroup(char * result_c);
-
-// Sets the default resource group to be used when loading layouts. 
-void cegui_wmgr_setDefaultResourceGroup(char * resourceGroup_c);
-
-#endif 
diff --git a/include/ClassWindowManagerHG3D.h b/include/ClassWindowManagerHG3D.h
deleted file mode 100644
--- a/include/ClassWindowManagerHG3D.h
+++ /dev/null
@@ -1,46 +0,0 @@
-// 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.
-// 
-
-// ClassWindowManagerHG3D.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassWindowManagerHG3D
-#define _DEFINED_HG3D_ClassWindowManagerHG3D
-
-#include "ClassPtr.h"
-#include "ClassWindow.h"
-#include "ClassWindowManager.h"
-
-
-
-// 
-void cegui_wmgr_hg3d_construct(struct hg3dclass_struct * result_c);
-
-// 
-void cegui_wmgr_hg3d_destruct(struct hg3dclass_struct * thisclass_c);
-
-// 
-void cegui_wmgr_hg3d_loadWindowLayoutHG3D(struct hg3dclass_struct * thisclass_c, char * filename_c, char * name_prefix_c, struct hg3dclass_struct * result_c);
-
-// 
-void cegui_wmgr_hg3d_getSingleton(struct hg3dclass_struct * result_c);
-
-#endif 
diff --git a/include/ClassXMLParser.h b/include/ClassXMLParser.h
deleted file mode 100644
--- a/include/ClassXMLParser.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// 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.
-// 
-
-// ClassXMLParser.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_ClassXMLParser
-#define _DEFINED_HG3D_ClassXMLParser
-
-#include "ClassPtr.h"
-
-
-
-// XMLParser
-void cegui_xmlprs_destruct(struct hg3dclass_struct * thisclass_c);
-
-// Initialises the XMLParser
-void cegui_xmlprs_initialise(struct hg3dclass_struct * thisclass_c, int * result_c);
-
-// Cleans up the XMLParser
-void cegui_xmlprs_cleanup(struct hg3dclass_struct * thisclass_c);
-
-// Return identification string for the XML parser module. If the internal id string has not been set by the XML parser module creator, a generic string of "Unknown XML parser" will be returned. 
-void cegui_xmlprs_getIdentifierString(struct hg3dclass_struct * thisclass_c, char * result_c);
-
-#endif 
diff --git a/include/EnumBlendMode.h b/include/EnumBlendMode.h
deleted file mode 100644
--- a/include/EnumBlendMode.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// 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.
-// 
-
-// EnumBlendMode.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumBlendMode
-#define _DEFINED_HG3D_EnumBlendMode
-
-
-
-enum EnumBlendMode
-{
-  BM_INVALID, // Invalid mode indicator. 
-  BM_NORMAL, // Use normal blending mode. 
-  BM_RTT_PREMULTIPLIED // Use blending mode suitable for textures with premultiplied colours. 
-};
-#endif 
diff --git a/include/EnumFWSizingLocation.h b/include/EnumFWSizingLocation.h
deleted file mode 100644
--- a/include/EnumFWSizingLocation.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// 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.
-// 
-
-// EnumFWSizingLocation.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumFWSizingLocation
-#define _DEFINED_HG3D_EnumFWSizingLocation
-
-
-
-enum EnumFWSizingLocation
-{
-  SizingNone, // Position is not a sizing location. 
-  SizingTopLeft, // Position will size from the top-left. 
-  SizingTopRight, // Position will size from the top-right. 
-  SizingBottomLeft, // Position will size from the bottom left. 
-  SizingBottomRight, // Position will size from the bottom right. 
-  SizingTop, // Position will size from the top. 
-  SizingLeft, // Position will size from the left. 
-  SizingBottom, // Position will size from the bottom. 
-  SizingRight // Position will size from the right. 
-};
-#endif 
diff --git a/include/EnumHorizontalAlignment.h b/include/EnumHorizontalAlignment.h
deleted file mode 100644
--- a/include/EnumHorizontalAlignment.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// 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.
-// 
-
-// EnumHorizontalAlignment.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumHorizontalAlignment
-#define _DEFINED_HG3D_EnumHorizontalAlignment
-
-
-
-enum EnumHorizontalAlignment
-{
-  HA_LEFT, // 
-  HA_CENTRE, // 
-  HA_RIGHT // 
-};
-#endif 
diff --git a/include/EnumKeyScan.h b/include/EnumKeyScan.h
deleted file mode 100644
--- a/include/EnumKeyScan.h
+++ /dev/null
@@ -1,177 +0,0 @@
-// 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.
-// 
-
-// EnumKeyScan.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumKeyScan
-#define _DEFINED_HG3D_EnumKeyScan
-
-
-
-enum EnumKeyScan
-{
-  KeyEscape =0x01, // 
-  KeyOne =0x02, // 
-  KeyTwo =0x03, // 
-  KeyThree =0x04, // 
-  KeyFour =0x05, // 
-  KeyFive =0x06, // 
-  KeySix =0x07, // 
-  KeySeven =0x08, // 
-  KeyEight =0x09, // 
-  KeyNine =0x0A, // 
-  KeyZero =0x0B, // 
-  KeyMinus =0x0C, // 
-  KeyEquals =0x0D, // 
-  KeyBackspace =0x0E, // 
-  KeyTab =0x0F, // 
-  KeyQ =0x10, // 
-  KeyW =0x11, // 
-  KeyE =0x12, // 
-  KeyR =0x13, // 
-  KeyT =0x14, // 
-  KeyY =0x15, // 
-  KeyU =0x16, // 
-  KeyI =0x17, // 
-  KeyO =0x18, // 
-  KeyP =0x19, // 
-  KeyLeftBracket =0x1A, // 
-  KeyRightBracket =0x1B, // 
-  KeyReturn =0x1C, // 
-  KeyLeftControl =0x1D, // 
-  KeyA =0x1E, // 
-  KeyS =0x1F, // 
-  KeyD =0x20, // 
-  KeyF =0x21, // 
-  KeyG =0x22, // 
-  KeyH =0x23, // 
-  KeyJ =0x24, // 
-  KeyK =0x25, // 
-  KeyL =0x26, // 
-  KeySemicolon =0x27, // 
-  KeyApostrophe =0x28, // 
-  KeyGrave =0x29, // 
-  KeyLeftShift =0x2A, // 
-  KeyBackslash =0x2B, // 
-  KeyZ =0x2C, // 
-  KeyX =0x2D, // 
-  KeyC =0x2E, // 
-  KeyV =0x2F, // 
-  KeyB =0x30, // 
-  KeyN =0x31, // 
-  KeyM =0x32, // 
-  KeyComma =0x33, // 
-  KeyPeriod =0x34, // 
-  KeySlash =0x35, // 
-  KeyRightShift =0x36, // 
-  KeyMultiply =0x37, // 
-  KeyLeftAlt =0x38, // 
-  KeySpace =0x39, // 
-  KeyCapital =0x3A, // 
-  KeyF1 =0x3B, // 
-  KeyF2 =0x3C, // 
-  KeyF3 =0x3D, // 
-  KeyF4 =0x3E, // 
-  KeyF5 =0x3F, // 
-  KeyF6 =0x40, // 
-  KeyF7 =0x41, // 
-  KeyF8 =0x42, // 
-  KeyF9 =0x43, // 
-  KeyF10 =0x44, // 
-  KeyNumLock =0x45, // 
-  KeyScrollLock =0x46, // 
-  KeyNumpad7 =0x47, // 
-  KeyNumpad8 =0x48, // 
-  KeyNumpad9 =0x49, // 
-  KeySubtract =0x4A, // 
-  KeyNumpad4 =0x4B, // 
-  KeyNumpad5 =0x4C, // 
-  KeyNumpad6 =0x4D, // 
-  KeyAdd =0x4E, // 
-  KeyNumpad1 =0x4F, // 
-  KeyNumpad2 =0x50, // 
-  KeyNumpad3 =0x51, // 
-  KeyNumpad0 =0x52, // 
-  KeyDecimal =0x53, // 
-  KeyOEM_102 =0x56, // 
-  KeyF11 =0x57, // 
-  KeyF12 =0x58, // 
-  KeyF13 =0x64, // 
-  KeyF14 =0x65, // 
-  KeyF15 =0x66, // 
-  KeyKana =0x70, // 
-  KeyABNT_C1 =0x73, // 
-  KeyConvert =0x79, // 
-  KeyNoConvert =0x7B, // 
-  KeyYen =0x7D, // 
-  KeyABNT_C2 =0x7E, // 
-  KeyNumpadEquals =0x8D, // 
-  KeyPrevTrack =0x90, // 
-  KeyAt =0x91, // 
-  KeyColon =0x92, // 
-  KeyUnderline =0x93, // 
-  KeyKanji =0x94, // 
-  KeyStop =0x95, // 
-  KeyAX =0x96, // 
-  KeyUnlabeled =0x97, // 
-  KeyNextTrack =0x99, // 
-  KeyNumpadEnter =0x9C, // 
-  KeyRightControl =0x9D, // 
-  KeyMute =0xA0, // 
-  KeyCalculator =0xA1, // 
-  KeyPlayPause =0xA2, // 
-  KeyMediaStop =0xA4, // 
-  KeyVolumeDown =0xAE, // 
-  KeyVolumeUp =0xB0, // 
-  KeyWebHome =0xB2, // 
-  KeyNumpadComma =0xB3, // 
-  KeyDivide =0xB5, // 
-  KeySysRq =0xB7, // 
-  KeyRightAlt =0xB8, // 
-  KeyPause =0xC5, // 
-  KeyHome =0xC7, // 
-  KeyArrowUp =0xC8, // 
-  KeyPageUp =0xC9, // 
-  KeyArrowLeft =0xCB, // 
-  KeyArrowRight =0xCD, // 
-  KeyEnd =0xCF, // 
-  KeyArrowDown =0xD0, // 
-  KeyPageDown =0xD1, // 
-  KeyInsert =0xD2, // 
-  KeyDelete =0xD3, // 
-  KeyLeftWindows =0xDB, // 
-  KeyRightWindows =0xDC, // 
-  KeyAppMenu =0xDD, // 
-  KeyPower =0xDE, // 
-  KeySleep =0xDF, // 
-  KeyWake =0xE3, // 
-  KeyWebSearch =0xE5, // 
-  KeyWebFavorites =0xE6, // 
-  KeyWebRefresh =0xE7, // 
-  KeyWebStop =0xE8, // 
-  KeyWebForward =0xE9, // 
-  KeyWebBack =0xEA, // 
-  KeyMyComputer =0xEB, // 
-  KeyMail =0xEC, // 
-  KeyMediaSelect =0xED // 
-};
-#endif 
diff --git a/include/EnumLoggingLevel.h b/include/EnumLoggingLevel.h
deleted file mode 100644
--- a/include/EnumLoggingLevel.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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.
-// 
-
-// EnumLoggingLevel.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumLoggingLevel
-#define _DEFINED_HG3D_EnumLoggingLevel
-
-
-
-enum EnumLoggingLevel
-{
-  LoggingLevelErrors, // Only actual error conditions will be logged. 
-  LoggingLevelWarnings, // Warnings will be logged as well. 
-  LoggingLevelStandard, // Basic events will be logged (default level). 
-  LoggingLevelInformative, // Useful tracing (object creations etc) information will be logged. 
-  LoggingLevelInsane // Mostly everything gets logged (use for heavy tracing only, log WILL be big). 
-};
-#endif 
diff --git a/include/EnumMouseButton.h b/include/EnumMouseButton.h
deleted file mode 100644
--- a/include/EnumMouseButton.h
+++ /dev/null
@@ -1,40 +0,0 @@
-// 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.
-// 
-
-// EnumMouseButton.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumMouseButton
-#define _DEFINED_HG3D_EnumMouseButton
-
-
-
-enum EnumMouseButton
-{
-  MouseLeftButton, // The left mouse button. 
-  MouseRightButton, // The right mouse button. 
-  MouseMiddleButton, // The middle mouse button. 
-  MouseX1Button, // The first 'extra' mouse button. 
-  MouseX2Button, // The second 'extra' mouse button. 
-  MouseMouseButtonCount, // Value that equals the number of mouse buttons supported by CEGUI
-  MouseNoButton // Value set for no mouse button. NB: This is not 0, do not assume! 
-};
-#endif 
diff --git a/include/EnumQuadSplitMode.h b/include/EnumQuadSplitMode.h
deleted file mode 100644
--- a/include/EnumQuadSplitMode.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// 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.
-// 
-
-// EnumQuadSplitMode.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumQuadSplitMode
-#define _DEFINED_HG3D_EnumQuadSplitMode
-
-
-
-enum EnumQuadSplitMode
-{
-  TopLeftToBottomRight, // Diagonal split goes from top-left to bottom-right. 
-  BottomLeftToTopRight // Diagonal split goes from bottom-left to top-right. 
-};
-#endif 
diff --git a/include/EnumSelectionMode.h b/include/EnumSelectionMode.h
deleted file mode 100644
--- a/include/EnumSelectionMode.h
+++ /dev/null
@@ -1,43 +0,0 @@
-// 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.
-// 
-
-// EnumSelectionMode.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumSelectionMode
-#define _DEFINED_HG3D_EnumSelectionMode
-
-
-
-enum EnumSelectionMode
-{
-  SelectionModeRowSingle, // 
-  SelectionModeRowMultiple, // 
-  SelectionModeCellSingle, // 
-  SelectionModeCellMultiple, // 
-  SelectionModeNominatedColumnSingle, // 
-  SelectionModeNominatedColumnMultiple, // 
-  SelectionModeColumnSingle, // 
-  SelectionModeColumnMultiple, // 
-  SelectionModeNominatedRowSingle, // 
-  SelectionModeNominatedRowMultiple // 
-};
-#endif 
diff --git a/include/EnumSortDirection.h b/include/EnumSortDirection.h
deleted file mode 100644
--- a/include/EnumSortDirection.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// 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.
-// 
-
-// EnumSortDirection.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumSortDirection
-#define _DEFINED_HG3D_EnumSortDirection
-
-
-
-enum EnumSortDirection
-{
-  SortDirectionNone, // Items under this segment should not be sorted. 
-  SortDirectionAscending, // Items under this segment should be sorted in ascending order. 
-  SortDirectionDescending // Items under this segment should be sorted in descending order. 
-};
-#endif 
diff --git a/include/EnumSystemKey.h b/include/EnumSystemKey.h
deleted file mode 100644
--- a/include/EnumSystemKey.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// 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.
-// 
-
-// EnumSystemKey.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumSystemKey
-#define _DEFINED_HG3D_EnumSystemKey
-
-
-
-enum EnumSystemKey
-{
-  SystemKeyLeftMouse = 0x0001, // The left mouse button. 
-  SystemKeyRightMouse = 0x0002, // The right mouse button. 
-  SystemKeyShift = 0x0004, // Either shift key. 
-  SystemKeyControl = 0x0008, // Either control key. 
-  SystemKeyMiddleMouse = 0x0010, // The middle mouse button. 
-  SystemKeyX1Mouse = 0x0020, // The first 'extra' mouse button. 
-  SystemKeyX2Mouse = 0x0040, // The second 'extra' mouse button. 
-  SystemKeyAlt = 0x0080 // Either alt key. 
-};
-#endif 
diff --git a/include/EnumTabPanePosition.h b/include/EnumTabPanePosition.h
deleted file mode 100644
--- a/include/EnumTabPanePosition.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// 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.
-// 
-
-// EnumTabPanePosition.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumTabPanePosition
-#define _DEFINED_HG3D_EnumTabPanePosition
-
-
-
-enum EnumTabPanePosition
-{
-  TabPanePositionTop, // 
-  TabPanePositionBottom // 
-};
-#endif 
diff --git a/include/EnumTextInputMode.h b/include/EnumTextInputMode.h
deleted file mode 100644
--- a/include/EnumTextInputMode.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// 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.
-// 
-
-// EnumTextInputMode.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumTextInputMode
-#define _DEFINED_HG3D_EnumTextInputMode
-
-
-
-enum EnumTextInputMode
-{
-  TextInputModeFloatingPoint, // Floating point decimal. 
-  TextInputModeInteger, // Integer decimal. 
-  TextInputModeHexadecimal, // Hexadecimal. 
-  TextInputModeOctal // Octal. 
-};
-#endif 
diff --git a/include/EnumTipState.h b/include/EnumTipState.h
deleted file mode 100644
--- a/include/EnumTipState.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// 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.
-// 
-
-// EnumTipState.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumTipState
-#define _DEFINED_HG3D_EnumTipState
-
-
-
-enum EnumTipState
-{
-  TipStateInactive, // Tooltip
-  TipStateActive, // Tooltip
-  TipStateFadeIn, // Tooltip
-  TipStateFadeOut // Tooltip
-};
-#endif 
diff --git a/include/EnumVerticalAlignment.h b/include/EnumVerticalAlignment.h
deleted file mode 100644
--- a/include/EnumVerticalAlignment.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// 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.
-// 
-
-// EnumVerticalAlignment.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumVerticalAlignment
-#define _DEFINED_HG3D_EnumVerticalAlignment
-
-
-
-enum EnumVerticalAlignment
-{
-  VA_TOP, // 
-  VA_CENTRE, // 
-  VA_BOTTOM // 
-};
-#endif 
diff --git a/include/EnumWindowUpdateMode.h b/include/EnumWindowUpdateMode.h
deleted file mode 100644
--- a/include/EnumWindowUpdateMode.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// 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.
-// 
-
-// EnumWindowUpdateMode.h
-
-// 
-
-#include "wchar.h"
-#ifndef _DEFINED_HG3D_EnumWindowUpdateMode
-#define _DEFINED_HG3D_EnumWindowUpdateMode
-
-
-
-enum EnumWindowUpdateMode
-{
-  WUM_ALWAYS, // Always call the Window::update
-  WUM_NEVER, // Never call the Window::update
-  WUM_VISIBLE // Only call the Window::update
-};
-#endif 
diff --git a/include/StructHG3DClass.h b/include/StructHG3DClass.h
deleted file mode 100644
--- a/include/StructHG3DClass.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// 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.
-// 
-
-// StructHG3DClass.h
-
-// 
-
-#include "wchar.h"
-
-
-
-#ifndef _INC_STRUCT_HG3DCLASS
-#define _INC_STRUCT_HG3DCLASS
-
-typedef struct hg3dclass_struct {
-	void *ptr;
-	void *fptr;
-} hg3dclass_struct;
-
-#endif
diff --git a/include/SystemHG3D.h b/include/SystemHG3D.h
new file mode 100644
--- /dev/null
+++ b/include/SystemHG3D.h
@@ -0,0 +1,49 @@
+// WindowManagerHG3D - special wm class to get the singleton without templates
+
+#include <CEGUI/CEGUI.h>
+
+
+class NoLogger : public CEGUI::Logger
+{
+	   void logEvent (const CEGUI::String&, CEGUI::LoggingLevel)
+	   {
+
+	   }
+	   void setLogFilename(const CEGUI::String&, bool)
+	   {      
+
+	   }
+};
+
+
+class SystemHG3D {
+	
+
+	public:
+	
+		static CEGUI::Logger* createNoLogger() {
+			return new NoLogger();
+		}
+		
+		static CEGUI::DefaultResourceProvider* getDefaultResourceProvider(CEGUI::System* system) {
+			return static_cast<CEGUI::DefaultResourceProvider*> (system->getResourceProvider());
+		};
+		static CEGUI::SchemeManager* getSchemeManagerSingleton() {
+			return static_cast<CEGUI::SchemeManager*> (CEGUI::SchemeManager::getSingletonPtr());
+		};
+		static void schemeManagerCreate(CEGUI::SchemeManager* smgr, const char* scheme) {
+			smgr->create(scheme);
+		};
+		static void fontManagerCreate(CEGUI::FontManager* fmgr, const char* font) {
+			fmgr->create(font);
+		};
+		static CEGUI::FontManager* getFontManagerSingleton() {
+			return static_cast<CEGUI::FontManager*> (CEGUI::FontManager::getSingletonPtr());
+		};
+		static CEGUI::Logger* getLoggerSingleton() {
+			return static_cast<CEGUI::Logger*> (CEGUI::Logger::getSingletonPtr());
+		};
+	
+};
+
+
diff --git a/include/WindowManagerHG3D.h b/include/WindowManagerHG3D.h
new file mode 100644
--- /dev/null
+++ b/include/WindowManagerHG3D.h
@@ -0,0 +1,26 @@
+// WindowManagerHG3D - special wm class to get the singleton without templates
+
+#include <CEGUI/CEGUI.h>
+
+
+class WindowManagerHG3D {
+	
+	public:
+		CEGUI::WindowManager* pWmgr;
+		
+		WindowManagerHG3D() {pWmgr = CEGUI::WindowManager::getSingletonPtr();};
+		~WindowManagerHG3D() {};
+		
+		static CEGUI::WindowManager* getSingleton() 
+		{
+			return CEGUI::WindowManager::getSingletonPtr();
+		}
+		
+		CEGUI::Window* loadWindowLayoutHG3D(const CEGUI::String& filename, const CEGUI::String& name_prefix)
+		{
+			return pWmgr->loadWindowLayout(filename, name_prefix);
+		};
+	
+};
+
+
diff --git a/include/colorvalue_struct.h b/include/colorvalue_struct.h
new file mode 100644
--- /dev/null
+++ b/include/colorvalue_struct.h
@@ -0,0 +1,6 @@
+typedef struct colourvalue_struct {
+	float r;
+	float g;
+	float b;
+	float a;
+} colourvalue_struct;
diff --git a/include/degree_struct.h b/include/degree_struct.h
new file mode 100644
--- /dev/null
+++ b/include/degree_struct.h
@@ -0,0 +1,3 @@
+typedef struct degree_struct {
+	float d;
+} degree_struct;
diff --git a/include/hg3dstruct.h b/include/hg3dstruct.h
new file mode 100644
--- /dev/null
+++ b/include/hg3dstruct.h
@@ -0,0 +1,4 @@
+typedef struct hg3dclass_struct {
+	void *ptr;
+	void *fptr;
+} hg3dclass_struct;
diff --git a/include/quaternion_struct.h b/include/quaternion_struct.h
new file mode 100644
--- /dev/null
+++ b/include/quaternion_struct.h
@@ -0,0 +1,6 @@
+typedef struct quaternion_struct {
+	float fw;
+	float fx;
+	float fy;
+	float fz;
+} quaternion_struct;
diff --git a/include/radian_struct.h b/include/radian_struct.h
new file mode 100644
--- /dev/null
+++ b/include/radian_struct.h
@@ -0,0 +1,3 @@
+typedef struct radian_struct {
+	float r;
+} radian_struct;
diff --git a/include/sharedptr_struct.h b/include/sharedptr_struct.h
new file mode 100644
--- /dev/null
+++ b/include/sharedptr_struct.h
@@ -0,0 +1,5 @@
+typedef struct sharedptr_struct {
+	void* pT;
+	void* pCount;
+	void* pFreeFunc;
+} sharedptr_struct;
diff --git a/include/vector2_struct.h b/include/vector2_struct.h
new file mode 100644
--- /dev/null
+++ b/include/vector2_struct.h
@@ -0,0 +1,4 @@
+typedef struct vector2_struct {
+	float x;
+	float y;
+} vector2_struct;
diff --git a/include/vector3_struct.h b/include/vector3_struct.h
new file mode 100644
--- /dev/null
+++ b/include/vector3_struct.h
@@ -0,0 +1,5 @@
+typedef struct vector3_struct {
+	float x;
+	float y;
+	float z;
+} vector3_struct;
diff --git a/include/vector4_struct.h b/include/vector4_struct.h
new file mode 100644
--- /dev/null
+++ b/include/vector4_struct.h
@@ -0,0 +1,6 @@
+typedef struct vector4_struct {
+	float x;
+	float y;
+	float z;
+	float w;
+} vector4_struct;
