MyGUI  3.2.0
MyGUI_Prerequest.h
Go to the documentation of this file.
00001 
00008 /*
00009     This file is part of MyGUI.
00010 
00011     MyGUI is free software: you can redistribute it and/or modify
00012     it under the terms of the GNU Lesser General Public License as published by
00013     the Free Software Foundation, either version 3 of the License, or
00014     (at your option) any later version.
00015 
00016     MyGUI is distributed in the hope that it will be useful,
00017     but WITHOUT ANY WARRANTY; without even the implied warranty of
00018     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019     GNU Lesser General Public License for more details.
00020 
00021     You should have received a copy of the GNU Lesser General Public License
00022     along with MyGUI.  If not, see <http://www.gnu.org/licenses/>.
00023 */
00024 
00025 #ifndef __MYGUI_PREREQUEST_H__
00026 #define __MYGUI_PREREQUEST_H__
00027 
00028 #include "MyGUI_Platform.h"
00029 
00030 #if MYGUI_COMPILER == MYGUI_COMPILER_MSVC
00031 #   ifdef MYGUI_CHECK_MEMORY_LEAKS
00032 #       define _CRTDBG_MAP_ALLOC
00033 #       include <crtdbg.h>
00034 #   endif
00035 #endif
00036 
00037 #define MYGUI_DEFINE_VERSION(major, minor, patch) ((major << 16) | (minor << 8) | patch)
00038 
00039 #ifndef MYGUI_DONT_REPLACE_NULLPTR
00040     #if MYGUI_COMPILER == MYGUI_COMPILER_MSVC
00041         #ifndef _MANAGED
00042             #ifndef _NATIVE_NULLPTR_SUPPORTED
00043                 #define nullptr 0
00044             #endif
00045         #endif
00046     #else
00047         #define nullptr 0
00048     #endif
00049 #endif
00050 
00051 namespace MyGUI
00052 {
00053     class Gui;
00054     class LogManager;
00055     class InputManager;
00056     class SubWidgetManager;
00057     class LayerManager;
00058     class SkinManager;
00059     class WidgetManager;
00060     class FontManager;
00061     class ControllerManager;
00062     class PointerManager;
00063     class ClipboardManager;
00064     class LayoutManager;
00065     class PluginManager;
00066     class DynLibManager;
00067     class LanguageManager;
00068     class ResourceManager;
00069     class RenderManager;
00070     class FactoryManager;
00071     class TextureManager;
00072     class ToolTipManager;
00073 
00074     class Widget;
00075     class Button;
00076     class Window;
00077     class ListBox;
00078     class EditBox;
00079     class ComboBox;
00080     class TextBox;
00081     class TabControl;
00082     class TabItem;
00083     class ProgressBar;
00084     class ItemBox;
00085     class MultiListBox;
00086     class MultiListItem;
00087     class ImageBox;
00088     class MenuControl;
00089     class MenuItem;
00090     class PopupMenu;
00091     class MenuBar;
00092     class ScrollBar;
00093     class ScrollView;
00094     class DDContainer;
00095     class Canvas;
00096 
00097     // Define version
00098     #define MYGUI_VERSION_MAJOR 3
00099     #define MYGUI_VERSION_MINOR 2
00100     #define MYGUI_VERSION_PATCH 0
00101 
00102     #define MYGUI_VERSION    MYGUI_DEFINE_VERSION(MYGUI_VERSION_MAJOR, MYGUI_VERSION_MINOR, MYGUI_VERSION_PATCH)
00103 
00104     // Disable warnings for MSVC compiler
00105 #if MYGUI_COMPILER == MYGUI_COMPILER_MSVC
00106 
00107 // disable: "<type> needs to have dll-interface to be used by clients'
00108 // Happens on STL member variables which are not public therefore is ok
00109 #   pragma warning (disable : 4251)
00110 
00111 // also some warnings are disabled in CMake
00112 
00113 #endif
00114 
00115 } // namespace MyGUI
00116 
00117 #include "MyGUI_DeprecatedTypes.h"
00118 
00119 #endif // __MYGUI_PREREQUEST_H__