HGamer3D-CEGUI-Binding 0.3.0 → 0.3.1
raw patch · 95 files changed
+5788/−121 lines, 95 files
Files
- HGamer3D-CEGUI-Binding.cabal +4/−4
- include/CEGUIDllDefines.h +41/−0
- include/ClassCheckbox.h +42/−0
- include/ClassComboDropList.h +51/−0
- include/ClassCombobox.h +175/−0
- include/ClassDefaultLogger.h +43/−0
- include/ClassDefaultResourceProvider.h +45/−0
- include/ClassDragContainer.h +79/−0
- include/ClassEditbox.h +90/−0
- include/ClassEventArgs.h +36/−0
- include/ClassEventSet.h +58/−0
- include/ClassFont.h +72/−0
- include/ClassFontManager.h +36/−0
- include/ClassFrameWindow.h +103/−0
- include/ClassHG3DEventController.h +46/−0
- include/ClassHG3DEventStaticFunctions.h +34/−0
- include/ClassHG3DListboxStaticFunctions.h +38/−0
- include/ClassHG3DWindowStaticFunctions.h +75/−0
- include/ClassImageCodec.h +39/−0
- include/ClassImageset.h +75/−0
- include/ClassItemEntry.h +57/−0
- include/ClassItemListbox.h +85/−0
- include/ClassListHeader.h +128/−0
- include/ClassListHeaderSegment.h +82/−0
- include/ClassListbox.h +141/−0
- include/ClassListboxItem.h +82/−0
- include/ClassListboxTextItem.h +52/−0
- include/ClassLogger.h +46/−0
- include/ClassMenuBase.h +58/−0
- include/ClassMenuItem.h +72/−0
- include/ClassMultiColumnList.h +237/−0
- include/ClassMultiLineEditbox.h +97/−0
- include/ClassOgreRenderer.h +89/−0
- include/ClassOgreResourceProvider.h +30/−0
- include/ClassProgressBar.h +54/−0
- include/ClassPropertySet.h +60/−0
- include/ClassPtr.h +215/−0
- include/ClassPushButton.h +36/−0
- include/ClassRadioButton.h +45/−0
- include/ClassRenderer.h +54/−0
- include/ClassResourceProvider.h +39/−0
- include/ClassScheme.h +51/−0
- include/ClassSchemeManager.h +36/−0
- include/ClassScriptFunctor.h +33/−0
- include/ClassScriptModule.h +61/−0
- include/ClassScrollablePane.h +107/−0
- include/ClassScrollbar.h +86/−0
- include/ClassScrolledContainer.h +42/−0
- include/ClassScrolledItemListBase.h +59/−0
- include/ClassSlider.h +61/−0
- include/ClassSpinner.h +70/−0
- include/ClassSystem.h +222/−0
- include/ClassSystemHG3D.h +56/−0
- include/ClassTabButton.h +49/−0
- include/ClassThumb.h +60/−0
- include/ClassTooltip.h +70/−0
- include/ClassTree.h +103/−0
- include/ClassWidgetLookManager.h +57/−0
- include/ClassWindow.h +489/−0
- include/ClassWindowManager.h +88/−0
- include/ClassWindowManagerHG3D.h +44/−0
- include/ClassXMLParser.h +42/−0
- include/EnumBlendMode.h +34/−0
- include/EnumFWSizingLocation.h +40/−0
- include/EnumHorizontalAlignment.h +34/−0
- include/EnumKeyScan.h +175/−0
- include/EnumLoggingLevel.h +36/−0
- include/EnumMouseButton.h +38/−0
- include/EnumQuadSplitMode.h +33/−0
- include/EnumSelectionMode.h +41/−0
- include/EnumSortDirection.h +34/−0
- include/EnumSystemKey.h +39/−0
- include/EnumTabPanePosition.h +33/−0
- include/EnumTextInputMode.h +35/−0
- include/EnumTipState.h +35/−0
- include/EnumVerticalAlignment.h +34/−0
- include/EnumWindowUpdateMode.h +34/−0
- include/HG3DCommandHandler.h +41/−0
- include/HG3DEventController.h +51/−0
- include/HG3DEventModule.h +51/−0
- include/HG3DEventStaticFunctions.h +32/−0
- include/HG3DListboxStaticFunctions.h +33/−0
- include/HG3DWindowStaticFunctions.h +44/−0
- include/StructHG3DClass.h +34/−0
- include/SystemHG3D.h +0/−49
- include/WindowManagerHG3D.h +0/−26
- include/colorvalue_struct.h +0/−6
- include/degree_struct.h +0/−3
- include/hg3dstruct.h +0/−4
- include/quaternion_struct.h +0/−6
- include/radian_struct.h +0/−3
- include/sharedptr_struct.h +0/−5
- include/vector2_struct.h +0/−4
- include/vector3_struct.h +0/−5
- include/vector4_struct.h +0/−6
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;
@@ -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;