packages feed

HGamer3D-CEGUI-Binding 0.3.0 → 0.3.1

raw patch · 95 files changed

+5788/−121 lines, 95 files

Files

HGamer3D-CEGUI-Binding.cabal view
@@ -1,5 +1,5 @@ Name:                HGamer3D-CEGUI-Binding
-Version:             0.3.0
+Version:             0.3.1
 Synopsis:            A Game Engine for the Haskell Programmer - CEGUI  Bindings
 Description:         
    HGamer3D is a game engine for developing 3D games in the programming @@ -16,7 +16,7 @@ Cabal-Version:       >=1.4
 Homepage:            http://www.hgamer3d.org
 Category:            Game Engine, GUI
-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
+Extra-source-files:  Setup.hs, include/EnumMouseButton.h, include/EnumSystemKey.h, include/ClassListboxTextItem.h, include/ClassSlider.h, include/ClassMultiColumnList.h, include/HG3DEventStaticFunctions.h, include/StructHG3DClass.h, include/ClassImageset.h, include/ClassTabButton.h, include/ClassListHeaderSegment.h, include/ClassMenuBase.h, include/EnumTipState.h, include/EnumVerticalAlignment.h, include/ClassHG3DEventStaticFunctions.h, include/ClassHG3DEventController.h, include/ClassComboDropList.h, include/HG3DListboxStaticFunctions.h, include/ClassWindowManager.h, include/ClassFrameWindow.h, include/ClassHG3DListboxStaticFunctions.h, include/ClassXMLParser.h, include/ClassThumb.h, include/ClassSpinner.h, include/CEGUIDllDefines.h, include/HG3DEventController.h, include/ClassSystemHG3D.h, include/ClassSchemeManager.h, include/ClassScrolledItemListBase.h, include/ClassDefaultLogger.h, include/ClassWindowManagerHG3D.h, include/ClassScrollbar.h, include/ClassDefaultResourceProvider.h, include/ClassRadioButton.h, include/ClassListbox.h, include/ClassListHeader.h, include/ClassWindow.h, include/ClassEditbox.h, include/EnumTextInputMode.h, include/ClassItemEntry.h, include/EnumWindowUpdateMode.h, include/EnumQuadSplitMode.h, include/ClassItemListbox.h, include/ClassFont.h, include/ClassImageCodec.h, include/ClassOgreRenderer.h, include/ClassEventSet.h, include/EnumSortDirection.h, include/EnumTabPanePosition.h, include/ClassHG3DWindowStaticFunctions.h, include/ClassScrollablePane.h, include/EnumLoggingLevel.h, include/HG3DCommandHandler.h, include/ClassTooltip.h, include/ClassCombobox.h, include/ClassScheme.h, include/ClassTree.h, include/ClassScriptFunctor.h, include/HG3DEventModule.h, include/ClassDragContainer.h, include/ClassMultiLineEditbox.h, include/ClassFontManager.h, include/EnumBlendMode.h, include/EnumFWSizingLocation.h, include/ClassResourceProvider.h, include/ClassScriptModule.h, include/ClassLogger.h, include/ClassScrolledContainer.h, include/ClassMenuItem.h, include/ClassPushButton.h, include/ClassProgressBar.h, include/ClassPtr.h, include/HG3DWindowStaticFunctions.h, include/ClassListboxItem.h, include/ClassSystem.h, include/EnumHorizontalAlignment.h, include/ClassPropertySet.h, include/ClassEventArgs.h, include/EnumKeyScan.h, include/ClassRenderer.h, include/EnumSelectionMode.h, include/ClassOgreResourceProvider.h, include/ClassCheckbox.h, include/ClassWidgetLookManager.h
 
 Library
   Build-Depends:     base >= 3 && < 5,  HGamer3D-Data >= 0.3.0 && < 0.4.0
@@ -31,6 +31,6 @@   Build-tools:       
   build-depends:     
   if os(windows)
-     extra-libraries:   hg3dcegui030
+     extra-libraries:   hg3dcegui031
   else
-     extra-libraries:   hg3dcegui030,CEGUIBase-0.7.7,CEGUIOgreRenderer-0.7.7
+     extra-libraries:   hg3dcegui031,CEGUIBase-0.7.7,CEGUIOgreRenderer-0.7.7
+ include/CEGUIDllDefines.h view
@@ -0,0 +1,41 @@+// (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.
+// +
+
+// CEGUIDllDefines.h
+
+#ifndef _HGamer3DCEGUI031_DLLDEFINES_H_
+#define _HGamer3DCEGUI031_DLLDEFINES_H_
+
+/* Cmake will define HGamer3DCEGUI031_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(HGamer3DCEGUI031_EXPORTS)
+    #define  CEGUI_LIB_EXPORT __declspec(dllexport)
+  #else
+    #define  CEGUI_LIB_EXPORT __declspec(dllimport)
+  #endif /* HGamer3DCEGUI031_EXPORTS */
+#else /* defined (_WIN32) */
+ #define CEGUI_LIB_EXPORT
+#endif
+
+#endif /* _HGamer3DCEGUI031_DLLDEFINES_H_ */
+ include/ClassCheckbox.h view
@@ -0,0 +1,42 @@+// 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.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 
+ include/ClassComboDropList.h view
@@ -0,0 +1,51 @@+// 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.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 
+ include/ClassCombobox.h view
@@ -0,0 +1,175 @@+// 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.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 
+ include/ClassDefaultLogger.h view
@@ -0,0 +1,43 @@+// 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.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 
+ include/ClassDefaultResourceProvider.h view
@@ -0,0 +1,45 @@+// 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.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 
+ include/ClassDragContainer.h view
@@ -0,0 +1,79 @@+// 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.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 
+ include/ClassEditbox.h view
@@ -0,0 +1,90 @@+// 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.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 
+ include/ClassEventArgs.h view
@@ -0,0 +1,36 @@+// 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.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 
+ include/ClassEventSet.h view
@@ -0,0 +1,58 @@+// 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.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 
+ include/ClassFont.h view
@@ -0,0 +1,72 @@+// 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.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 
+ include/ClassFontManager.h view
@@ -0,0 +1,36 @@+// 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.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 
+ include/ClassFrameWindow.h view
@@ -0,0 +1,103 @@+// 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.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 
+ include/ClassHG3DEventController.h view
@@ -0,0 +1,46 @@+// 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.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 
+ include/ClassHG3DEventStaticFunctions.h view
@@ -0,0 +1,34 @@+// 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.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 
+ include/ClassHG3DListboxStaticFunctions.h view
@@ -0,0 +1,38 @@+// 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.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 
+ include/ClassHG3DWindowStaticFunctions.h view
@@ -0,0 +1,75 @@+// 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.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 "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_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 
+ include/ClassImageCodec.h view
@@ -0,0 +1,39 @@+// 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.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 
+ include/ClassImageset.h view
@@ -0,0 +1,75 @@+// 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.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 
+ include/ClassItemEntry.h view
@@ -0,0 +1,57 @@+// 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.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 
+ include/ClassItemListbox.h view
@@ -0,0 +1,85 @@+// 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.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 
+ include/ClassListHeader.h view
@@ -0,0 +1,128 @@+// 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.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 
+ include/ClassListHeaderSegment.h view
@@ -0,0 +1,82 @@+// 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.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 
+ include/ClassListbox.h view
@@ -0,0 +1,141 @@+// 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.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++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 
+ include/ClassListboxItem.h view
@@ -0,0 +1,82 @@+// 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.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 
+ include/ClassListboxTextItem.h view
@@ -0,0 +1,52 @@+// 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.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 
+ include/ClassLogger.h view
@@ -0,0 +1,46 @@+// 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.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 
+ include/ClassMenuBase.h view
@@ -0,0 +1,58 @@+// 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.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 
+ include/ClassMenuItem.h view
@@ -0,0 +1,72 @@+// 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.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 
+ include/ClassMultiColumnList.h view
@@ -0,0 +1,237 @@+// 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.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 
+ include/ClassMultiLineEditbox.h view
@@ -0,0 +1,97 @@+// 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.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 
+ include/ClassOgreRenderer.h view
@@ -0,0 +1,89 @@+// 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.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 
+ include/ClassOgreResourceProvider.h view
@@ -0,0 +1,30 @@+// 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.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassOgreResourceProvider+#define _DEFINED_HG3D_ClassOgreResourceProvider++#include "ClassPtr.h"+
+
+#endif 
+ include/ClassProgressBar.h view
@@ -0,0 +1,54 @@+// 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.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 
+ include/ClassPropertySet.h view
@@ -0,0 +1,60 @@+// 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.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 
+ include/ClassPtr.h view
@@ -0,0 +1,215 @@+// 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.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
+ include/ClassPushButton.h view
@@ -0,0 +1,36 @@+// 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.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 
+ include/ClassRadioButton.h view
@@ -0,0 +1,45 @@+// 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.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 
+ include/ClassRenderer.h view
@@ -0,0 +1,54 @@+// 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.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 
+ include/ClassResourceProvider.h view
@@ -0,0 +1,39 @@+// 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.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 
+ include/ClassScheme.h view
@@ -0,0 +1,51 @@+// 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.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 
+ include/ClassSchemeManager.h view
@@ -0,0 +1,36 @@+// 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.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 
+ include/ClassScriptFunctor.h view
@@ -0,0 +1,33 @@+// 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.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 
+ include/ClassScriptModule.h view
@@ -0,0 +1,61 @@+// 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.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 
+ include/ClassScrollablePane.h view
@@ -0,0 +1,107 @@+// 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.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 
+ include/ClassScrollbar.h view
@@ -0,0 +1,86 @@+// 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.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 
+ include/ClassScrolledContainer.h view
@@ -0,0 +1,42 @@+// 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.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 
+ include/ClassScrolledItemListBase.h view
@@ -0,0 +1,59 @@+// 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.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 
+ include/ClassSlider.h view
@@ -0,0 +1,61 @@+// 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.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 
+ include/ClassSpinner.h view
@@ -0,0 +1,70 @@+// 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.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 
+ include/ClassSystem.h view
@@ -0,0 +1,222 @@+// 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.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 
+ include/ClassSystemHG3D.h view
@@ -0,0 +1,56 @@+// 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.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 
+ include/ClassTabButton.h view
@@ -0,0 +1,49 @@+// 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.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 
+ include/ClassThumb.h view
@@ -0,0 +1,60 @@+// 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.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 
+ include/ClassTooltip.h view
@@ -0,0 +1,70 @@+// 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.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 
+ include/ClassTree.h view
@@ -0,0 +1,103 @@+// 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.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 
+ include/ClassWidgetLookManager.h view
@@ -0,0 +1,57 @@+// 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.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 
+ include/ClassWindow.h view
@@ -0,0 +1,489 @@+// 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.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 
+ include/ClassWindowManager.h view
@@ -0,0 +1,88 @@+// 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.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 
+ include/ClassWindowManagerHG3D.h view
@@ -0,0 +1,44 @@+// 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.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 
+ include/ClassXMLParser.h view
@@ -0,0 +1,42 @@+// 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.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 
+ include/EnumBlendMode.h view
@@ -0,0 +1,34 @@+// 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.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 
+ include/EnumFWSizingLocation.h view
@@ -0,0 +1,40 @@+// 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.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 
+ include/EnumHorizontalAlignment.h view
@@ -0,0 +1,34 @@+// 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.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumHorizontalAlignment+#define _DEFINED_HG3D_EnumHorizontalAlignment+
+
+enum EnumHorizontalAlignment+{+  HA_LEFT, // +  HA_CENTRE, // +  HA_RIGHT // +};+#endif 
+ include/EnumKeyScan.h view
@@ -0,0 +1,175 @@+// 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.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 
+ include/EnumLoggingLevel.h view
@@ -0,0 +1,36 @@+// 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.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 
+ include/EnumMouseButton.h view
@@ -0,0 +1,38 @@+// 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.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 
+ include/EnumQuadSplitMode.h view
@@ -0,0 +1,33 @@+// 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.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 
+ include/EnumSelectionMode.h view
@@ -0,0 +1,41 @@+// 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.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 
+ include/EnumSortDirection.h view
@@ -0,0 +1,34 @@+// 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.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 
+ include/EnumSystemKey.h view
@@ -0,0 +1,39 @@+// 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.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 
+ include/EnumTabPanePosition.h view
@@ -0,0 +1,33 @@+// 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.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumTabPanePosition+#define _DEFINED_HG3D_EnumTabPanePosition+
+
+enum EnumTabPanePosition+{+  TabPanePositionTop, // +  TabPanePositionBottom // +};+#endif 
+ include/EnumTextInputMode.h view
@@ -0,0 +1,35 @@+// 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.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 
+ include/EnumTipState.h view
@@ -0,0 +1,35 @@+// 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.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumTipState+#define _DEFINED_HG3D_EnumTipState+
+
+enum EnumTipState+{+  TipStateInactive, // Tooltip+  TipStateActive, // Tooltip+  TipStateFadeIn, // Tooltip+  TipStateFadeOut // Tooltip+};+#endif 
+ include/EnumVerticalAlignment.h view
@@ -0,0 +1,34 @@+// 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.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumVerticalAlignment+#define _DEFINED_HG3D_EnumVerticalAlignment+
+
+enum EnumVerticalAlignment+{+  VA_TOP, // +  VA_CENTRE, // +  VA_BOTTOM // +};+#endif 
+ include/EnumWindowUpdateMode.h view
@@ -0,0 +1,34 @@+// 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.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 
+ include/HG3DCommandHandler.h view
@@ -0,0 +1,41 @@+/*+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 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.+*/++// HG3DCommandHandler.h+// Handles events of the Event Module++#ifndef _HG3DCommandHandler_INCLUDE+#define _HG3DCommandHandler_INCLUDE++#include "CEGUI/CEGUI.h"+#include "HG3DEventController.h"++class HG3DCommandHandler+ {+ public:+   +   HG3DCommandHandler(const std::string& name, HG3DEventController* ectrl);+   bool operator()(const CEGUI::EventArgs& args) const;+   std::string m_name ;+   HG3DEventController* eventController;+   + };++#endif
+ include/HG3DEventController.h view
@@ -0,0 +1,51 @@+/*+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 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.+*/++// HG3DEventController.h+// this class static methods are called from Haskell++#ifndef _HG3DEventController_INCLUDE+#define _HG3DEventController_INCLUDE++#include <list>+#include "CEGUI/CEGUI.h"++class HG3DEventController+{+public:++	class EvtCtrlEvent+	{+		public:+			CEGUI::String name;+			CEGUI::String sender; +			CEGUI::Window* window;+	};+	+	std::list<EvtCtrlEvent> evtList;++	HG3DEventController();+	~HG3DEventController();+	void pushEvent(CEGUI::String name, CEGUI::String sender, CEGUI::Window* window);+	bool eventsAvailable();+	void popEvent(CEGUI::String& name, CEGUI::String& sender, CEGUI::Window** window);+};++#endif
+ include/HG3DEventModule.h view
@@ -0,0 +1,51 @@+/*+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 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.+*/++// HG3DEventModule.h+// a separate Scripting Event Handler, to forward GUI Events to Haskell++#include "CEGUI/CEGUI.h"+#include "HG3DEventController.h"++class HG3DEventModule : public CEGUI::ScriptModule+{+ public:+ +	HG3DEventModule(HG3DEventController* ectrl);+	HG3DEventController* eventController;++   virtual CEGUI::Event::Connection subscribeEvent(+       CEGUI::EventSet*     target, +       const CEGUI::String& name, +       const CEGUI::String& subscriber_name);+   virtual CEGUI::Event::Connection subscribeEvent(+       CEGUI::EventSet*     target,+       const CEGUI::String& name,+       CEGUI::Event::Group  group,+       const CEGUI::String& subscriber_name);+   virtual void executeScriptFile(const CEGUI::String &filename, const CEGUI::String &resourceGroup="");+   virtual int executeScriptGlobal(const CEGUI::String& function_name);+   virtual void executeString(const CEGUI::String &str);+   virtual bool executeScriptedEventHandler(+       const CEGUI::String& handler_name,+       const CEGUI::EventArgs &e);++ };+
+ include/HG3DEventStaticFunctions.h view
@@ -0,0 +1,32 @@+/*+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 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.+*/++// HG3DEventStaticFunctions.h+// a separate Scripting Event Handler, to forward GUI Events to Haskell++#include "CEGUI/CEGUI.h"++class HG3DEventStaticFunctions+{+ public:+ +	static void subscribeScriptedEvent(CEGUI::EventSet * window, const CEGUI::String & name, const CEGUI::String & subscriber_name);+};+
+ include/HG3DListboxStaticFunctions.h view
@@ -0,0 +1,33 @@+/*+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 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.+*/++// HG3DEventStaticFunctions.h+// a separate Scripting Event Handler, to forward GUI Events to Haskell++#include "CEGUI/CEGUI.h"++class HG3DListboxStaticFunctions+{+ public:+ +	static void listboxAddItem(CEGUI::Listbox * listbox, const CEGUI::String & itemString);+	static void comboboxAddItem(CEGUI::Combobox * combobox, const CEGUI::String & itemString);+};+
+ include/HG3DWindowStaticFunctions.h view
@@ -0,0 +1,44 @@+/*+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 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.+*/++// HG3DEventStaticFunctions.h+// a separate Scripting Event Handler, to forward GUI Events to Haskell++#include "CEGUI/CEGUI.h"++class HG3DWindowStaticFunctions+{+ public:+ +	// functions, downcast to specialized windows, use with care :-)+	static CEGUI::PushButton* castWindowToPushButton(CEGUI::Window * window);+	static CEGUI::Listbox* castWindowToListbox(CEGUI::Window * window);+	static CEGUI::Combobox* castWindowToCombobox(CEGUI::Window * window);+	//	static CEGUI::Checkbox* castWindowToCheckbox(CEGUI::Window * window);+	static CEGUI::RadioButton* castWindowToRadioButton(CEGUI::Window * window);+	static CEGUI::Editbox* castWindowToEditbox(CEGUI::Window * window);+	static CEGUI::MultiLineEditbox* castWindowToMultiLineEditbox(CEGUI::Window * window);+	static CEGUI::FrameWindow* castWindowToFrameWindow(CEGUI::Window * window);+	static CEGUI::ProgressBar* castWindowToProgressBar(CEGUI::Window * window);+	static CEGUI::Slider* castWindowToSlider(CEGUI::Window * window);+	static CEGUI::Spinner* castWindowToSpinner(CEGUI::Window * window);+	static CEGUI::MultiColumnList* castWindowToMultiColumnList(CEGUI::Window * window);+};+
+ include/StructHG3DClass.h view
@@ -0,0 +1,34 @@+// 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.h
+
+// +
+#include "wchar.h"
+
+
+#ifndef _INC_STRUCT_HG3DCLASS+#define _INC_STRUCT_HG3DCLASS++typedef struct hg3dclass_struct {+	void *ptr;+	void *fptr;+} hg3dclass_struct;++#endif
− include/SystemHG3D.h
@@ -1,49 +0,0 @@-// 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());-		};-	-};--
− include/WindowManagerHG3D.h
@@ -1,26 +0,0 @@-// 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);-		};-	-};--
− include/colorvalue_struct.h
@@ -1,6 +0,0 @@-typedef struct colourvalue_struct {
-	float r;
-	float g;
-	float b;
-	float a;
-} colourvalue_struct;
− include/degree_struct.h
@@ -1,3 +0,0 @@-typedef struct degree_struct {
-	float d;
-} degree_struct;
− include/hg3dstruct.h
@@ -1,4 +0,0 @@-typedef struct hg3dclass_struct {-	void *ptr;-	void *fptr;-} hg3dclass_struct;
− include/quaternion_struct.h
@@ -1,6 +0,0 @@-typedef struct quaternion_struct {
-	float fw;
-	float fx;
-	float fy;
-	float fz;
-} quaternion_struct;
− include/radian_struct.h
@@ -1,3 +0,0 @@-typedef struct radian_struct {
-	float r;
-} radian_struct;
− include/sharedptr_struct.h
@@ -1,5 +0,0 @@-typedef struct sharedptr_struct {
-	void* pT;
-	void* pCount;
-	void* pFreeFunc;
-} sharedptr_struct;
− include/vector2_struct.h
@@ -1,4 +0,0 @@-typedef struct vector2_struct {
-	float x;
-	float y;
-} vector2_struct;
− include/vector3_struct.h
@@ -1,5 +0,0 @@-typedef struct vector3_struct {
-	float x;
-	float y;
-	float z;
-} vector3_struct;
− include/vector4_struct.h
@@ -1,6 +0,0 @@-typedef struct vector4_struct {
-	float x;
-	float y;
-	float z;
-	float w;
-} vector4_struct;