diff --git a/CMakeLists.txt b/CMakeLists.txt
index 152029edd2..c56eb4e3ca 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -207,6 +207,7 @@ include_directories("."
link_directories(${Boost_LIBRARY_DIRS} ${OGRE_LIB_DIR})
add_subdirectory( extern/caelum )
+add_subdirectory( extern/mygui_3.0.1 )
# Specify build paths
@@ -251,7 +252,10 @@ target_link_libraries(openmw
${OGRE_LIBRARIES}
${OIS_LIBRARIES}
${Boost_LIBRARIES}
- caelum)
+ caelum
+ MyGUIEngine
+ MyGUI.OgrePlatform
+)
if (APPLE)
find_library(CARBON_FRAMEWORK Carbon)
diff --git a/extern/mygui_3.0.1/CMakeLists.txt b/extern/mygui_3.0.1/CMakeLists.txt
new file mode 100644
index 0000000000..dbebf890a4
--- /dev/null
+++ b/extern/mygui_3.0.1/CMakeLists.txt
@@ -0,0 +1,52 @@
+# Minimal MyGUI build system for OpenMW
+
+cmake_minimum_required(VERSION 2.6)
+project(MYGUI)
+
+# Use Freetype
+find_package(Freetype REQUIRED)
+set(MYGUI_USE_FREETYPE TRUE)
+
+# Use Ogre
+add_definitions("-DMYGUI_OGRE_PLATFORM")
+
+# Static linking
+set(MYGUI_LIB_TYPE STATIC)
+add_definitions(-DMYGUI_STATIC)
+
+# Setup MyGUIEngine project
+add_subdirectory(MyGUIEngine)
+
+# Setup OgrePlatform
+add_subdirectory(OgrePlatform)
+
+# Copy resource files into the build directory
+set(SDIR ${CMAKE_CURRENT_SOURCE_DIR}/openmw_resources)
+set(DDIR ${OpenMW_BINARY_DIR}/resources/mygui)
+
+configure_file("${SDIR}/bigbars.png" "${DDIR}/bigbars.png" COPYONLY)
+configure_file("${SDIR}/black.png" "${DDIR}/black.png" COPYONLY)
+configure_file("${SDIR}/Comic.TTF" "${DDIR}/Comic.TTF" COPYONLY)
+configure_file("${SDIR}/core.skin" "${DDIR}/core.skin" COPYONLY)
+configure_file("${SDIR}/core.xml" "${DDIR}/core.xml" COPYONLY)
+configure_file("${SDIR}/mwpointer.png" "${DDIR}/mwpointer.png" COPYONLY)
+configure_file("${SDIR}/openmw_box.skin.xml" "${DDIR}/openmw_box.skin.xml" COPYONLY)
+configure_file("${SDIR}/openmw_button.skin.xml" "${DDIR}/openmw_button.skin.xml" COPYONLY)
+configure_file("${SDIR}/openmw_console_layout.xml" "${DDIR}/openmw_console_layout.xml" COPYONLY)
+configure_file("${SDIR}/openmw_console.skin.xml" "${DDIR}/openmw_console.skin.xml" COPYONLY)
+configure_file("${SDIR}/openmw.font.xml" "${DDIR}/openmw.font.xml" COPYONLY)
+configure_file("${SDIR}/openmw_hud_box.skin.xml" "${DDIR}/openmw_hud_box.skin.xml" COPYONLY)
+configure_file("${SDIR}/openmw_hud_energybar.skin.xml" "${DDIR}/openmw_hud_energybar.skin.xml" COPYONLY)
+configure_file("${SDIR}/openmw_hud_layout.xml" "${DDIR}/openmw_hud_layout.xml" COPYONLY)
+configure_file("${SDIR}/openmw_layers.xml" "${DDIR}/openmw_layers.xml" COPYONLY)
+configure_file("${SDIR}/openmw_mainmenu_layout.xml" "${DDIR}/openmw_mainmenu_layout.xml" COPYONLY)
+configure_file("${SDIR}/openmw_mainmenu_skin.xml" "${DDIR}/openmw_mainmenu_skin.xml" COPYONLY)
+configure_file("${SDIR}/openmw_map_window_layout.xml" "${DDIR}/openmw_map_window_layout.xml" COPYONLY)
+configure_file("${SDIR}/openmw.pointer.xml" "${DDIR}/openmw.pointer.xml" COPYONLY)
+configure_file("${SDIR}/openmw_progress.skin.xml" "${DDIR}/openmw_progress.skin.xml" COPYONLY)
+configure_file("${SDIR}/openmw_stats_window_layout.xml" "${DDIR}/openmw_stats_window_layout.xml" COPYONLY)
+configure_file("${SDIR}/openmw_text.skin.xml" "${DDIR}/openmw_text.skin.xml" COPYONLY)
+configure_file("${SDIR}/openmw_windows.skin.xml" "${DDIR}/openmw_windows.skin.xml" COPYONLY)
+configure_file("${SDIR}/smallbars.png" "${DDIR}/smallbars.png" COPYONLY)
+configure_file("${SDIR}/transparent.png" "${DDIR}/transparent.png" COPYONLY)
+configure_file("${SDIR}/VeraMono.ttf" "${DDIR}/VeraMono.ttf" COPYONLY)
diff --git a/extern/mygui_3.0.1/COPYING.LESSER b/extern/mygui_3.0.1/COPYING.LESSER
new file mode 100644
index 0000000000..fc8a5de7ed
--- /dev/null
+++ b/extern/mygui_3.0.1/COPYING.LESSER
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/extern/mygui_3.0.1/MyGUIEngine/CMakeLists.txt b/extern/mygui_3.0.1/MyGUIEngine/CMakeLists.txt
new file mode 100644
index 0000000000..4ca3a55751
--- /dev/null
+++ b/extern/mygui_3.0.1/MyGUIEngine/CMakeLists.txt
@@ -0,0 +1,26 @@
+set (PROJECT_NAME MyGUIEngine)
+
+project( ${PROJECT_NAME} )
+
+include(${PROJECT_NAME}.list)
+
+include_directories(include)
+if (MYGUI_USE_FREETYPE)
+ include_directories(
+ ${FREETYPE_INCLUDE_DIRS}
+ )
+ add_definitions(-DMYGUI_USE_FREETYPE)
+endif ()
+
+add_definitions(-DMYGUI_BUILD)
+
+if (WIN32)
+ add_definitions(-DNOMINMAX)
+endif ()
+
+add_library(${PROJECT_NAME} ${MYGUI_LIB_TYPE} ${HEADER_FILES} ${SOURCE_FILES})
+if (MYGUI_USE_FREETYPE)
+ target_link_libraries(${PROJECT_NAME}
+ ${FREETYPE_LIBRARIES}
+ )
+endif()
diff --git a/extern/mygui_3.0.1/MyGUIEngine/MyGUIEngine.list b/extern/mygui_3.0.1/MyGUIEngine/MyGUIEngine.list
new file mode 100644
index 0000000000..42fa447188
--- /dev/null
+++ b/extern/mygui_3.0.1/MyGUIEngine/MyGUIEngine.list
@@ -0,0 +1,561 @@
+set (HEADER_FILES
+ include/MyGUI_Allocator.h
+ include/MyGUI_CustomAllocator.h
+ include/MyGUI_DDItemInfo.h
+ include/MyGUI_IBItemInfo.h
+ include/MyGUI_MenuItemType.h
+ include/MyGUI_MessageStyle.h
+ include/MyGUI_WidgetToolTip.h
+ include/MyGUI_Button.h
+ include/MyGUI_Canvas.h
+ include/MyGUI_ComboBox.h
+ include/MyGUI_DDContainer.h
+ include/MyGUI_Edit.h
+ include/MyGUI_HScroll.h
+ include/MyGUI_ItemBox.h
+ include/MyGUI_List.h
+ include/MyGUI_ListBox.h
+ include/MyGUI_ListCtrl.h
+ include/MyGUI_MenuBar.h
+ include/MyGUI_MenuCtrl.h
+ include/MyGUI_MenuItem.h
+ include/MyGUI_Message.h
+ include/MyGUI_MultiList.h
+ include/MyGUI_PopupMenu.h
+ include/MyGUI_Progress.h
+ include/MyGUI_ScrollView.h
+ include/MyGUI_StaticImage.h
+ include/MyGUI_StaticText.h
+ include/MyGUI_Tab.h
+ include/MyGUI_TabItem.h
+ include/MyGUI_VScroll.h
+ include/MyGUI_Widget.h
+ include/MyGUI_Window.h
+ include/MyGUI_IWidgetFactory.h
+ include/MyGUI_Bitwise.h
+ include/MyGUI_CoordConverter.h
+ include/MyGUI_DataFileStream.h
+ include/MyGUI_DataStream.h
+ include/MyGUI_Delegate.h
+ include/MyGUI_DelegateImplement.h
+ include/MyGUI_DynLib.h
+ include/MyGUI_Enumerator.h
+ include/MyGUI_EventPair.h
+ include/MyGUI_Guid.h
+ include/MyGUI_RenderOut.h
+ include/MyGUI_TextChangeHistory.h
+ include/MyGUI_TextIterator.h
+ include/MyGUI_TextureUtility.h
+ include/MyGUI_TextView.h
+ include/MyGUI_Timer.h
+ include/MyGUI_UString.h
+ include/MyGUI_Utility.h
+ include/MyGUI_WidgetTranslate.h
+ include/MyGUI_XmlDocument.h
+ include/MyGUI_LogManager.h
+ include/MyGUI_LogStream.h
+ include/MyGUI.h
+ include/MyGUI_CastWidget.h
+ include/MyGUI_Common.h
+ include/MyGUI_Diagnostic.h
+ include/MyGUI_Exception.h
+ include/MyGUI_GenericFactory.h
+ include/MyGUI_Macros.h
+ include/MyGUI_Platform.h
+ include/MyGUI_Precompiled.h
+ include/MyGUI_Prerequest.h
+ include/MyGUI_RenderFormat.h
+ include/MyGUI_ResourceHolder.h
+ include/MyGUI_WidgetDefines.h
+ include/MyGUI_ICroppedRectangle.h
+ include/MyGUI_IDataStream.h
+ include/MyGUI_Instance.h
+ include/MyGUI_IObject.h
+ include/MyGUI_ISerializable.h
+ include/MyGUI_ITexture.h
+ include/MyGUI_IUnlinkWidget.h
+ include/MyGUI_IVertexBuffer.h
+ include/MyGUI_IWidgetCreator.h
+ include/MyGUI_Plugin.h
+ include/MyGUI_RTTI.h
+ include/MyGUI_BiIndexBase.h
+ include/MyGUI_ScrollViewBase.h
+ include/MyGUI_WidgetEvent.h
+ include/MyGUI_WidgetUserData.h
+ include/MyGUI_EditText.h
+ include/MyGUI_MainSkin.h
+ include/MyGUI_RawRect.h
+ include/MyGUI_RotatingSkin.h
+ include/MyGUI_SimpleText.h
+ include/MyGUI_SubSkin.h
+ include/MyGUI_TileRect.h
+ include/MyGUI_IStateInfo.h
+ include/MyGUI_ISubWidget.h
+ include/MyGUI_ISubWidgetRect.h
+ include/MyGUI_ISubWidgetText.h
+ include/MyGUI_LayerItem.h
+ include/MyGUI_LayerNode.h
+ include/MyGUI_OverlappedLayer.h
+ include/MyGUI_RenderItem.h
+ include/MyGUI_SharedLayer.h
+ include/MyGUI_SharedLayerNode.h
+ include/MyGUI_ILayer.h
+ include/MyGUI_ILayerItem.h
+ include/MyGUI_ILayerNode.h
+ include/MyGUI_IRenderTarget.h
+ include/MyGUI_ActionController.h
+ include/MyGUI_ControllerEdgeHide.h
+ include/MyGUI_ControllerFadeAlpha.h
+ include/MyGUI_ControllerItem.h
+ include/MyGUI_ControllerPosition.h
+ include/MyGUI_ResourceImageSet.h
+ include/MyGUI_ResourceImageSetPointer.h
+ include/MyGUI_ResourceManualFont.h
+ include/MyGUI_ResourceManualPointer.h
+ include/MyGUI_ResourceSkin.h
+ include/MyGUI_ResourceTrueTypeFont.h
+ include/MyGUI_IFont.h
+ include/MyGUI_IPointer.h
+ include/MyGUI_IResource.h
+ include/MyGUI_ChildSkinInfo.h
+ include/MyGUI_FontData.h
+ include/MyGUI_MaskPickInfo.h
+ include/MyGUI_SubWidgetBinding.h
+ include/MyGUI_SubWidgetInfo.h
+ include/MyGUI_Align.h
+ include/MyGUI_Any.h
+ include/MyGUI_Colour.h
+ include/MyGUI_CommonStateInfo.h
+ include/MyGUI_ImageInfo.h
+ include/MyGUI_InputDefine.h
+ include/MyGUI_RenderTargetInfo.h
+ include/MyGUI_TCoord.h
+ include/MyGUI_TPoint.h
+ include/MyGUI_TRect.h
+ include/MyGUI_TSize.h
+ include/MyGUI_Types.h
+ include/MyGUI_Version.h
+ include/MyGUI_VertexData.h
+ include/MyGUI_WidgetStyle.h
+ include/MyGUI_ClipboardManager.h
+ include/MyGUI_ControllerManager.h
+ include/MyGUI_DataManager.h
+ include/MyGUI_DynLibManager.h
+ include/MyGUI_FactoryManager.h
+ include/MyGUI_FontManager.h
+ include/MyGUI_Gui.h
+ include/MyGUI_InputManager.h
+ include/MyGUI_LanguageManager.h
+ include/MyGUI_LayerManager.h
+ include/MyGUI_LayoutManager.h
+ include/MyGUI_PluginManager.h
+ include/MyGUI_PointerManager.h
+ include/MyGUI_RenderManager.h
+ include/MyGUI_ResourceManager.h
+ include/MyGUI_SkinManager.h
+ include/MyGUI_SubWidgetManager.h
+ include/MyGUI_WidgetManager.h
+)
+set (SOURCE_FILES
+ src/MyGUI_Button.cpp
+ src/MyGUI_Canvas.cpp
+ src/MyGUI_ComboBox.cpp
+ src/MyGUI_DDContainer.cpp
+ src/MyGUI_Edit.cpp
+ src/MyGUI_HScroll.cpp
+ src/MyGUI_ItemBox.cpp
+ src/MyGUI_List.cpp
+ src/MyGUI_ListBox.cpp
+ src/MyGUI_ListCtrl.cpp
+ src/MyGUI_MenuBar.cpp
+ src/MyGUI_MenuCtrl.cpp
+ src/MyGUI_MenuItem.cpp
+ src/MyGUI_Message.cpp
+ src/MyGUI_MultiList.cpp
+ src/MyGUI_PopupMenu.cpp
+ src/MyGUI_Progress.cpp
+ src/MyGUI_ScrollView.cpp
+ src/MyGUI_StaticImage.cpp
+ src/MyGUI_StaticText.cpp
+ src/MyGUI_Tab.cpp
+ src/MyGUI_TabItem.cpp
+ src/MyGUI_VScroll.cpp
+ src/MyGUI_Widget.cpp
+ src/MyGUI_Window.cpp
+ src/MyGUI_EditText.cpp
+ src/MyGUI_MainSkin.cpp
+ src/MyGUI_RawRect.cpp
+ src/MyGUI_RotatingSkin.cpp
+ src/MyGUI_SimpleText.cpp
+ src/MyGUI_SubSkin.cpp
+ src/MyGUI_TileRect.cpp
+ src/MyGUI_LayerItem.cpp
+ src/MyGUI_LayerNode.cpp
+ src/MyGUI_OverlappedLayer.cpp
+ src/MyGUI_RenderItem.cpp
+ src/MyGUI_SharedLayer.cpp
+ src/MyGUI_SharedLayerNode.cpp
+ src/MyGUI_ActionController.cpp
+ src/MyGUI_ControllerEdgeHide.cpp
+ src/MyGUI_ControllerFadeAlpha.cpp
+ src/MyGUI_ControllerPosition.cpp
+ src/MyGUI_Exception.cpp
+ src/MyGUI_Precompiled.cpp
+ src/MyGUI_IWidgetCreator.cpp
+ src/MyGUI_ScrollViewBase.cpp
+ src/MyGUI_ResourceImageSet.cpp
+ src/MyGUI_ResourceImageSetPointer.cpp
+ src/MyGUI_ResourceManualFont.cpp
+ src/MyGUI_ResourceManualPointer.cpp
+ src/MyGUI_ResourceSkin.cpp
+ src/MyGUI_ResourceTrueTypeFont.cpp
+ src/MyGUI_MaskPickInfo.cpp
+ src/MyGUI_Any.cpp
+ src/MyGUI_Colour.cpp
+ src/MyGUI_ClipboardManager.cpp
+ src/MyGUI_ControllerManager.cpp
+ src/MyGUI_DataManager.cpp
+ src/MyGUI_DynLibManager.cpp
+ src/MyGUI_FactoryManager.cpp
+ src/MyGUI_FontManager.cpp
+ src/MyGUI_Gui.cpp
+ src/MyGUI_InputManager.cpp
+ src/MyGUI_LanguageManager.cpp
+ src/MyGUI_LayerManager.cpp
+ src/MyGUI_LayoutManager.cpp
+ src/MyGUI_PluginManager.cpp
+ src/MyGUI_PointerManager.cpp
+ src/MyGUI_RenderManager.cpp
+ src/MyGUI_ResourceManager.cpp
+ src/MyGUI_SkinManager.cpp
+ src/MyGUI_SubWidgetManager.cpp
+ src/MyGUI_WidgetManager.cpp
+ src/MyGUI_DataFileStream.cpp
+ src/MyGUI_DataStream.cpp
+ src/MyGUI_DynLib.cpp
+ src/MyGUI_Guid.cpp
+ src/MyGUI_RenderOut.cpp
+ src/MyGUI_TextIterator.cpp
+ src/MyGUI_TextureUtility.cpp
+ src/MyGUI_Timer.cpp
+ src/MyGUI_XmlDocument.cpp
+ src/MyGUI_LogManager.cpp
+ src/MyGUI_LogStream.cpp
+)
+SOURCE_GROUP("Source Files\\Widget\\Widget" FILES
+ src/MyGUI_Button.cpp
+ src/MyGUI_Canvas.cpp
+ src/MyGUI_ComboBox.cpp
+ src/MyGUI_DDContainer.cpp
+ src/MyGUI_Edit.cpp
+ src/MyGUI_HScroll.cpp
+ src/MyGUI_ItemBox.cpp
+ src/MyGUI_List.cpp
+ src/MyGUI_ListBox.cpp
+ src/MyGUI_ListCtrl.cpp
+ src/MyGUI_MenuBar.cpp
+ src/MyGUI_MenuCtrl.cpp
+ src/MyGUI_MenuItem.cpp
+ src/MyGUI_Message.cpp
+ src/MyGUI_MultiList.cpp
+ src/MyGUI_PopupMenu.cpp
+ src/MyGUI_Progress.cpp
+ src/MyGUI_ScrollView.cpp
+ src/MyGUI_StaticImage.cpp
+ src/MyGUI_StaticText.cpp
+ src/MyGUI_Tab.cpp
+ src/MyGUI_TabItem.cpp
+ src/MyGUI_VScroll.cpp
+ src/MyGUI_Widget.cpp
+ src/MyGUI_Window.cpp
+)
+SOURCE_GROUP("Source Files\\Widget" FILES
+)
+SOURCE_GROUP("Source Files\\Core\\SubWidget" FILES
+ src/MyGUI_EditText.cpp
+ src/MyGUI_MainSkin.cpp
+ src/MyGUI_RawRect.cpp
+ src/MyGUI_RotatingSkin.cpp
+ src/MyGUI_SimpleText.cpp
+ src/MyGUI_SubSkin.cpp
+ src/MyGUI_TileRect.cpp
+)
+SOURCE_GROUP("Source Files\\Core\\LayerItem" FILES
+ src/MyGUI_LayerItem.cpp
+ src/MyGUI_LayerNode.cpp
+ src/MyGUI_OverlappedLayer.cpp
+ src/MyGUI_RenderItem.cpp
+ src/MyGUI_SharedLayer.cpp
+ src/MyGUI_SharedLayerNode.cpp
+)
+SOURCE_GROUP("Source Files\\Core\\Controller" FILES
+ src/MyGUI_ActionController.cpp
+ src/MyGUI_ControllerEdgeHide.cpp
+ src/MyGUI_ControllerFadeAlpha.cpp
+ src/MyGUI_ControllerPosition.cpp
+)
+SOURCE_GROUP("Source Files\\Core\\Common\\Interfaces" FILES
+ src/MyGUI_IWidgetCreator.cpp
+)
+SOURCE_GROUP("Source Files\\Core\\Common\\Base" FILES
+ src/MyGUI_ScrollViewBase.cpp
+)
+SOURCE_GROUP("Source Files\\Core\\Common" FILES
+ src/MyGUI_Exception.cpp
+ src/MyGUI_Precompiled.cpp
+)
+SOURCE_GROUP("Source Files\\Core\\Resource\\Data" FILES
+ src/MyGUI_MaskPickInfo.cpp
+)
+SOURCE_GROUP("Source Files\\Core\\Resource" FILES
+ src/MyGUI_ResourceImageSet.cpp
+ src/MyGUI_ResourceImageSetPointer.cpp
+ src/MyGUI_ResourceManualFont.cpp
+ src/MyGUI_ResourceManualPointer.cpp
+ src/MyGUI_ResourceSkin.cpp
+ src/MyGUI_ResourceTrueTypeFont.cpp
+)
+SOURCE_GROUP("Source Files\\Core\\Types" FILES
+ src/MyGUI_Any.cpp
+ src/MyGUI_Colour.cpp
+)
+SOURCE_GROUP("Source Files\\Core\\Manager" FILES
+ src/MyGUI_ClipboardManager.cpp
+ src/MyGUI_ControllerManager.cpp
+ src/MyGUI_DataManager.cpp
+ src/MyGUI_DynLibManager.cpp
+ src/MyGUI_FactoryManager.cpp
+ src/MyGUI_FontManager.cpp
+ src/MyGUI_Gui.cpp
+ src/MyGUI_InputManager.cpp
+ src/MyGUI_LanguageManager.cpp
+ src/MyGUI_LayerManager.cpp
+ src/MyGUI_LayoutManager.cpp
+ src/MyGUI_PluginManager.cpp
+ src/MyGUI_PointerManager.cpp
+ src/MyGUI_RenderManager.cpp
+ src/MyGUI_ResourceManager.cpp
+ src/MyGUI_SkinManager.cpp
+ src/MyGUI_SubWidgetManager.cpp
+ src/MyGUI_WidgetManager.cpp
+)
+SOURCE_GROUP("Source Files\\Core" FILES
+)
+SOURCE_GROUP("Source Files\\Utility\\Logging" FILES
+ src/MyGUI_LogManager.cpp
+ src/MyGUI_LogStream.cpp
+)
+SOURCE_GROUP("Source Files\\Utility" FILES
+ src/MyGUI_DataFileStream.cpp
+ src/MyGUI_DataStream.cpp
+ src/MyGUI_DynLib.cpp
+ src/MyGUI_Guid.cpp
+ src/MyGUI_RenderOut.cpp
+ src/MyGUI_TextIterator.cpp
+ src/MyGUI_TextureUtility.cpp
+ src/MyGUI_Timer.cpp
+ src/MyGUI_XmlDocument.cpp
+)
+SOURCE_GROUP("Source Files" FILES
+)
+SOURCE_GROUP("Header Files\\Widget\\Types" FILES
+ include/MyGUI_DDItemInfo.h
+ include/MyGUI_IBItemInfo.h
+ include/MyGUI_MenuItemType.h
+ include/MyGUI_MessageStyle.h
+ include/MyGUI_WidgetToolTip.h
+)
+SOURCE_GROUP("Header Files\\Widget\\Widget" FILES
+ include/MyGUI_Button.h
+ include/MyGUI_Canvas.h
+ include/MyGUI_ComboBox.h
+ include/MyGUI_DDContainer.h
+ include/MyGUI_Edit.h
+ include/MyGUI_HScroll.h
+ include/MyGUI_ItemBox.h
+ include/MyGUI_List.h
+ include/MyGUI_ListBox.h
+ include/MyGUI_ListCtrl.h
+ include/MyGUI_MenuBar.h
+ include/MyGUI_MenuCtrl.h
+ include/MyGUI_MenuItem.h
+ include/MyGUI_Message.h
+ include/MyGUI_MultiList.h
+ include/MyGUI_PopupMenu.h
+ include/MyGUI_Progress.h
+ include/MyGUI_ScrollView.h
+ include/MyGUI_StaticImage.h
+ include/MyGUI_StaticText.h
+ include/MyGUI_Tab.h
+ include/MyGUI_TabItem.h
+ include/MyGUI_VScroll.h
+ include/MyGUI_Widget.h
+ include/MyGUI_Window.h
+)
+SOURCE_GROUP("Header Files\\Widget\\Interfaces" FILES
+ include/MyGUI_IWidgetFactory.h
+)
+SOURCE_GROUP("Header Files\\Widget" FILES
+)
+SOURCE_GROUP("Header Files\\Utility\\Logging" FILES
+ include/MyGUI_LogManager.h
+ include/MyGUI_LogStream.h
+)
+SOURCE_GROUP("Header Files\\Utility" FILES
+ include/MyGUI_Bitwise.h
+ include/MyGUI_CoordConverter.h
+ include/MyGUI_DataFileStream.h
+ include/MyGUI_DataStream.h
+ include/MyGUI_Delegate.h
+ include/MyGUI_DelegateImplement.h
+ include/MyGUI_DynLib.h
+ include/MyGUI_Enumerator.h
+ include/MyGUI_EventPair.h
+ include/MyGUI_Guid.h
+ include/MyGUI_RenderOut.h
+ include/MyGUI_TextChangeHistory.h
+ include/MyGUI_TextIterator.h
+ include/MyGUI_TextureUtility.h
+ include/MyGUI_TextView.h
+ include/MyGUI_Timer.h
+ include/MyGUI_UString.h
+ include/MyGUI_Utility.h
+ include/MyGUI_WidgetTranslate.h
+ include/MyGUI_XmlDocument.h
+)
+SOURCE_GROUP("Header Files\\Core\\Common\\Interfaces" FILES
+ include/MyGUI_ICroppedRectangle.h
+ include/MyGUI_IDataStream.h
+ include/MyGUI_Instance.h
+ include/MyGUI_IObject.h
+ include/MyGUI_ISerializable.h
+ include/MyGUI_ITexture.h
+ include/MyGUI_IUnlinkWidget.h
+ include/MyGUI_IVertexBuffer.h
+ include/MyGUI_IWidgetCreator.h
+ include/MyGUI_Plugin.h
+ include/MyGUI_RTTI.h
+)
+SOURCE_GROUP("Header Files\\Core\\Common\\Base" FILES
+ include/MyGUI_BiIndexBase.h
+ include/MyGUI_ScrollViewBase.h
+ include/MyGUI_WidgetEvent.h
+ include/MyGUI_WidgetUserData.h
+)
+SOURCE_GROUP("Header Files\\Core\\Common" FILES
+ include/MyGUI.h
+ include/MyGUI_CastWidget.h
+ include/MyGUI_Common.h
+ include/MyGUI_Diagnostic.h
+ include/MyGUI_Exception.h
+ include/MyGUI_GenericFactory.h
+ include/MyGUI_Macros.h
+ include/MyGUI_Platform.h
+ include/MyGUI_Precompiled.h
+ include/MyGUI_Prerequest.h
+ include/MyGUI_RenderFormat.h
+ include/MyGUI_ResourceHolder.h
+ include/MyGUI_WidgetDefines.h
+)
+SOURCE_GROUP("Header Files\\Core\\SubWidget\\Interfaces" FILES
+ include/MyGUI_IStateInfo.h
+ include/MyGUI_ISubWidget.h
+ include/MyGUI_ISubWidgetRect.h
+ include/MyGUI_ISubWidgetText.h
+)
+SOURCE_GROUP("Header Files\\Core\\SubWidget" FILES
+ include/MyGUI_EditText.h
+ include/MyGUI_MainSkin.h
+ include/MyGUI_RawRect.h
+ include/MyGUI_RotatingSkin.h
+ include/MyGUI_SimpleText.h
+ include/MyGUI_SubSkin.h
+ include/MyGUI_TileRect.h
+)
+SOURCE_GROUP("Header Files\\Core\\LayerItem\\Interfaces" FILES
+ include/MyGUI_ILayer.h
+ include/MyGUI_ILayerItem.h
+ include/MyGUI_ILayerNode.h
+ include/MyGUI_IRenderTarget.h
+)
+SOURCE_GROUP("Header Files\\Core\\LayerItem" FILES
+ include/MyGUI_LayerItem.h
+ include/MyGUI_LayerNode.h
+ include/MyGUI_OverlappedLayer.h
+ include/MyGUI_RenderItem.h
+ include/MyGUI_SharedLayer.h
+ include/MyGUI_SharedLayerNode.h
+)
+SOURCE_GROUP("Header Files\\Core\\Controller" FILES
+ include/MyGUI_ActionController.h
+ include/MyGUI_ControllerEdgeHide.h
+ include/MyGUI_ControllerFadeAlpha.h
+ include/MyGUI_ControllerItem.h
+ include/MyGUI_ControllerPosition.h
+)
+SOURCE_GROUP("Header Files\\Core\\Resource\\Interface" FILES
+ include/MyGUI_IFont.h
+ include/MyGUI_IPointer.h
+ include/MyGUI_IResource.h
+)
+SOURCE_GROUP("Header Files\\Core\\Resource\\Data" FILES
+ include/MyGUI_ChildSkinInfo.h
+ include/MyGUI_FontData.h
+ include/MyGUI_MaskPickInfo.h
+ include/MyGUI_SubWidgetBinding.h
+ include/MyGUI_SubWidgetInfo.h
+)
+SOURCE_GROUP("Header Files\\Core\\Resource" FILES
+ include/MyGUI_ResourceImageSet.h
+ include/MyGUI_ResourceImageSetPointer.h
+ include/MyGUI_ResourceManualFont.h
+ include/MyGUI_ResourceManualPointer.h
+ include/MyGUI_ResourceSkin.h
+ include/MyGUI_ResourceTrueTypeFont.h
+)
+SOURCE_GROUP("Header Files\\Core\\Types" FILES
+ include/MyGUI_Align.h
+ include/MyGUI_Any.h
+ include/MyGUI_Colour.h
+ include/MyGUI_CommonStateInfo.h
+ include/MyGUI_ImageInfo.h
+ include/MyGUI_InputDefine.h
+ include/MyGUI_RenderTargetInfo.h
+ include/MyGUI_TCoord.h
+ include/MyGUI_TPoint.h
+ include/MyGUI_TRect.h
+ include/MyGUI_TSize.h
+ include/MyGUI_Types.h
+ include/MyGUI_Version.h
+ include/MyGUI_VertexData.h
+ include/MyGUI_WidgetStyle.h
+)
+SOURCE_GROUP("Header Files\\Core\\Manager" FILES
+ include/MyGUI_ClipboardManager.h
+ include/MyGUI_ControllerManager.h
+ include/MyGUI_DataManager.h
+ include/MyGUI_DynLibManager.h
+ include/MyGUI_FactoryManager.h
+ include/MyGUI_FontManager.h
+ include/MyGUI_Gui.h
+ include/MyGUI_InputManager.h
+ include/MyGUI_LanguageManager.h
+ include/MyGUI_LayerManager.h
+ include/MyGUI_LayoutManager.h
+ include/MyGUI_PluginManager.h
+ include/MyGUI_PointerManager.h
+ include/MyGUI_RenderManager.h
+ include/MyGUI_ResourceManager.h
+ include/MyGUI_SkinManager.h
+ include/MyGUI_SubWidgetManager.h
+ include/MyGUI_WidgetManager.h
+)
+SOURCE_GROUP("Header Files\\Core" FILES
+)
+SOURCE_GROUP("Header Files" FILES
+ include/MyGUI_Allocator.h
+ include/MyGUI_CustomAllocator.h
+)
+SOURCE_GROUP("" FILES
+ CMakeLists.txt
+)
diff --git a/extern/mygui_3.0.1/MyGUIEngine/include/MyGUI.h b/extern/mygui_3.0.1/MyGUIEngine/include/MyGUI.h
new file mode 100644
index 0000000000..db960fc8b8
--- /dev/null
+++ b/extern/mygui_3.0.1/MyGUIEngine/include/MyGUI.h
@@ -0,0 +1,92 @@
+/*!
+ @file
+ @author Georgiy Evmenov
+ @date 01/2008
+ @module
+*/
+/*
+ This file is part of MyGUI.
+
+ MyGUI is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ MyGUI is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with MyGUI. If not, see .
+*/
+#ifndef __MYGUI_H__
+#define __MYGUI_H__
+
+#include "MyGUI_Gui.h"
+
+#include "MyGUI_Button.h"
+#include "MyGUI_ComboBox.h"
+#include "MyGUI_Edit.h"
+#include "MyGUI_HScroll.h"
+#include "MyGUI_List.h"
+#include "MyGUI_StaticText.h"
+#include "MyGUI_StaticImage.h"
+#include "MyGUI_Tab.h"
+#include "MyGUI_TabItem.h"
+#include "MyGUI_VScroll.h"
+#include "MyGUI_Window.h"
+#include "MyGUI_Progress.h"
+#include "MyGUI_Message.h"
+#include "MyGUI_ItemBox.h"
+#include "MyGUI_MultiList.h"
+#include "MyGUI_MenuCtrl.h"
+#include "MyGUI_MenuItem.h"
+#include "MyGUI_PopupMenu.h"
+#include "MyGUI_MenuBar.h"
+#include "MyGUI_ScrollView.h"
+#include "MyGUI_DDContainer.h"
+#include "MyGUI_Canvas.h"
+#include "MyGUI_ListCtrl.h"
+#include "MyGUI_ListBox.h"
+
+#include "MyGUI_InputManager.h"
+#include "MyGUI_SubWidgetManager.h"
+#include "MyGUI_ClipboardManager.h"
+#include "MyGUI_LayerManager.h"
+#include "MyGUI_LogManager.h"
+#include "MyGUI_SkinManager.h"
+#include "MyGUI_WidgetManager.h"
+#include "MyGUI_LayoutManager.h"
+#include "MyGUI_FontManager.h"
+#include "MyGUI_PointerManager.h"
+#include "MyGUI_PluginManager.h"
+#include "MyGUI_DynLibManager.h"
+#include "MyGUI_ControllerManager.h"
+#include "MyGUI_LanguageManager.h"
+#include "MyGUI_ResourceManager.h"
+#include "MyGUI_RenderManager.h"
+#include "MyGUI_DataManager.h"
+#include "MyGUI_FactoryManager.h"
+
+#include "MyGUI_ActionController.h"
+#include "MyGUI_ControllerEdgeHide.h"
+#include "MyGUI_ControllerFadeAlpha.h"
+#include "MyGUI_ControllerPosition.h"
+#include "MyGUI_CoordConverter.h"
+#include "MyGUI_IResource.h"
+#include "MyGUI_CastWidget.h"
+#include "MyGUI_Any.h"
+#include "MyGUI_MenuItemType.h"
+#include "MyGUI_Version.h"
+#include "MyGUI_XmlDocument.h"
+#include "MyGUI_WidgetStyle.h"
+#include "MyGUI_IObject.h"
+#include "MyGUI_ISerializable.h"
+#include "MyGUI_RenderOut.h"
+
+#include "MyGUI_RawRect.h"
+#include "MyGUI_RotatingSkin.h"
+#include "MyGUI_TextureUtility.h"
+
+#endif // __MYGUI_H__
diff --git a/extern/mygui_3.0.1/MyGUIEngine/include/MyGUI_ActionController.h b/extern/mygui_3.0.1/MyGUIEngine/include/MyGUI_ActionController.h
new file mode 100644
index 0000000000..7f89b4fd3f
--- /dev/null
+++ b/extern/mygui_3.0.1/MyGUIEngine/include/MyGUI_ActionController.h
@@ -0,0 +1,75 @@
+/*!
+ @file
+ @author Albert Semenov
+ @date 01/2008
+ @module
+*/
+/*
+ This file is part of MyGUI.
+
+ MyGUI is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ MyGUI is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with MyGUI. If not, see .
+*/
+#ifndef __MYGUI_ACTION_CONTROLLER_H__
+#define __MYGUI_ACTION_CONTROLLER_H__
+
+#include "MyGUI_Prerequest.h"
+#include "MyGUI_Types.h"
+#include
+
+namespace MyGUI
+{
+
+ namespace action
+ {
+
+ /** Function used for hiding widget with one of controller event */
+ void MYGUI_EXPORT actionWidgetHide(Widget* _widget);
+
+ /** Function used for showing widget with one of controller event */
+ void MYGUI_EXPORT actionWidgetShow(Widget* _widget);
+
+ /** Function used for destroying widget with one of controller event */
+ void MYGUI_EXPORT actionWidgetDestroy(Widget* _widget);
+
+ /** Function for ControllerPosition per frame action : Move with constant speed */
+ void MYGUI_EXPORT linearMoveFunction(const IntCoord& _startRect, const IntCoord& _destRect, IntCoord& _result, float _k);
+
+ /** Function for ControllerPosition per frame action : Move with accelerated speed
+ if N == 10 then this function is same as linearMoveFunction
+ if N > 10 speed will be increasing
+ if N < 10 speed will be decreasing
+ */
+ template
+ inline void acceleratedMoveFunction(const IntCoord& _startRect, const IntCoord& _destRect, IntCoord& _result, float _current_time)
+ {
+ float k = (float)pow (_current_time, N/10.f /*3 by default as Accelerated and 0.4 by default as Slowed*/);
+ linearMoveFunction(_startRect, _destRect, _result, k);
+ }
+
+ /** Function for ControllerPosition per frame action : Move with accelerated speed a bit farther than necessary and then return it back */
+ template
+ inline void jumpMoveFunction(const IntCoord& _startRect, const IntCoord& _destRect, IntCoord& _result, float _current_time)
+ {
+ float k = pow (_current_time, 2) * (-2 - N/10.f) + _current_time * (3 + N/10.f);
+ linearMoveFunction(_startRect, _destRect, _result, k);
+ }
+
+ /** Function for ControllerPosition per frame action : Start with zero speed increasing half time and then decreasing to zero */
+ void MYGUI_EXPORT inertionalMoveFunction(const IntCoord& _startRect, const IntCoord& _destRect, IntCoord& _result, float _current_time);
+
+ } // namespace action
+
+} // namespace MyGUI
+
+#endif // __MYGUI_ACTION_CONTROLLER_H__
diff --git a/extern/mygui_3.0.1/MyGUIEngine/include/MyGUI_Align.h b/extern/mygui_3.0.1/MyGUIEngine/include/MyGUI_Align.h
new file mode 100644
index 0000000000..ca1e6c64a4
--- /dev/null
+++ b/extern/mygui_3.0.1/MyGUIEngine/include/MyGUI_Align.h
@@ -0,0 +1,202 @@
+/*!
+ @file
+ @author Albert Semenov
+ @date 08/2008
+ @module
+*/
+/*
+ This file is part of MyGUI.
+
+ MyGUI is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ MyGUI is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with MyGUI. If not, see .
+*/
+#ifndef __MYGUI_ALIGN_H__
+#define __MYGUI_ALIGN_H__
+
+#include "MyGUI_Prerequest.h"
+#include "MyGUI_Macros.h"
+#include "MyGUI_Diagnostic.h"
+#include