forked from teamnwah/openmw-tes3coop
83 lines
1.6 KiB
C++
83 lines
1.6 KiB
C++
/*!
|
|
@file
|
|
@author Albert Semenov
|
|
@date 04/2009
|
|
@module
|
|
*/
|
|
|
|
#ifndef __MYGUI_OGRE_PLATFORM_H__
|
|
#define __MYGUI_OGRE_PLATFORM_H__
|
|
|
|
#include "MyGUI_Prerequest.h"
|
|
#include "MyGUI_OgreTexture.h"
|
|
#include "MyGUI_OgreVertexBuffer.h"
|
|
#include "MyGUI_OgreRenderManager.h"
|
|
#include "MyGUI_OgreDataManager.h"
|
|
#include "MyGUI_OgreDiagnostic.h"
|
|
#include "MyGUI_OgreTexture.h"
|
|
|
|
namespace MyGUI
|
|
{
|
|
|
|
class OgrePlatform
|
|
{
|
|
public:
|
|
OgrePlatform() :
|
|
mIsInitialise(false)
|
|
{
|
|
mRenderManager = new OgreRenderManager();
|
|
mDataManager = new OgreDataManager();
|
|
}
|
|
|
|
~OgrePlatform()
|
|
{
|
|
assert(!mIsInitialise);
|
|
delete mRenderManager;
|
|
delete mDataManager;
|
|
}
|
|
|
|
void initialise(Ogre::RenderWindow* _window, Ogre::SceneManager* _scene, const std::string& _group = "General", const std::string& _logname = MYGUI_PLATFORM_LOG_FILENAME)
|
|
{
|
|
assert(!mIsInitialise);
|
|
mIsInitialise = true;
|
|
|
|
LogManager::registerSection(MYGUI_PLATFORM_LOG_SECTION, _logname);
|
|
|
|
mRenderManager->initialise(_window, _scene);
|
|
mDataManager->initialise(_group);
|
|
}
|
|
|
|
void shutdown()
|
|
{
|
|
assert(mIsInitialise);
|
|
mIsInitialise = false;
|
|
|
|
mRenderManager->shutdown();
|
|
mDataManager->shutdown();
|
|
|
|
// last platform log
|
|
LogManager::unregisterSection(MYGUI_PLATFORM_LOG_SECTION);
|
|
}
|
|
|
|
OgreRenderManager* getRenderManagerPtr()
|
|
{
|
|
assert(mIsInitialise);
|
|
return mRenderManager;
|
|
}
|
|
|
|
OgreDataManager* getDataManagerPtr()
|
|
{
|
|
assert(mIsInitialise);
|
|
return mDataManager;
|
|
}
|
|
|
|
private:
|
|
bool mIsInitialise;
|
|
OgreRenderManager* mRenderManager;
|
|
OgreDataManager* mDataManager;
|
|
|
|
};
|
|
|
|
} // namespace MyGUI
|
|
|
|
#endif // __MYGUI_OGRE_PLATFORM_H__
|