OpenMW
|
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