OpenMW
libs/openengine/gui/manager.hpp
Go to the documentation of this file.
00001 #ifndef OENGINE_MYGUI_MANAGER_H
00002 #define OENGINE_MYGUI_MANAGER_H
00003 
00004 #include <string>
00005 
00006 namespace MyGUI
00007 {
00008   class Gui;
00009   class LogManager;
00010   class OgreDataManager;
00011   class OgreRenderManager;
00012   class ShaderBasedRenderManager;
00013 }
00014 
00015 namespace Ogre
00016 {
00017   class RenderWindow;
00018   class SceneManager;
00019 }
00020 
00021 namespace OEngine {
00022 namespace GUI
00023 {
00024     class MyGUIManager
00025     {
00026         MyGUI::Gui *mGui;
00027         MyGUI::LogManager* mLogManager;
00028         MyGUI::OgreDataManager* mDataManager;
00029         MyGUI::OgreRenderManager* mRenderManager;
00030         MyGUI::ShaderBasedRenderManager* mShaderRenderManager;
00031         Ogre::SceneManager* mSceneMgr;
00032 
00033 
00034     public:
00035         MyGUIManager(Ogre::RenderWindow *wnd, Ogre::SceneManager *mgr, bool logging=false, const std::string& logDir = std::string(""))
00036         {
00037             setup(wnd,mgr,logging, logDir);
00038         }
00039         ~MyGUIManager()
00040         {
00041             shutdown();
00042         }
00043 
00044         void updateWindow (Ogre::RenderWindow* wnd);
00045 
00046         void windowResized();
00047 
00048         void setup(Ogre::RenderWindow *wnd, Ogre::SceneManager *mgr, bool logging=false, const std::string& logDir = std::string(""));
00049         void shutdown();
00050 
00051         MyGUI::Gui *getGui() { return mGui; }
00052     };
00053 }
00054 }
00055 #endif