You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openmw/components/myguiplatform/myguiplatform.hpp

61 lines
1.1 KiB
C++

#ifndef OPENMW_COMPONENTS_MYGUIPLATFORM_MYGUIPLATFORM_H
#define OPENMW_COMPONENTS_MYGUIPLATFORM_MYGUIPLATFORM_H
#include <filesystem>
#include <memory>
#include <string>
namespace osgViewer
{
class Viewer;
}
namespace osg
{
class Group;
}
namespace Resource
{
class ImageManager;
}
namespace MyGUI
{
class LogManager;
}
namespace VFS
{
class Manager;
}
namespace osgMyGUI
{
class RenderManager;
class DataManager;
class LogFacility;
class Platform
{
public:
Platform(osgViewer::Viewer* viewer, osg::Group* guiRoot, Resource::ImageManager* imageManager,
const VFS::Manager* vfs, float uiScalingFactor, const std::filesystem::path& resourcePath,
const std::filesystem::path& logName = "MyGUI.log");
~Platform();
void shutdown();
RenderManager* getRenderManagerPtr();
DataManager* getDataManagerPtr();
private:
std::unique_ptr<LogFacility> mLogFacility;
std::unique_ptr<MyGUI::LogManager> mLogManager;
std::unique_ptr<DataManager> mDataManager;
std::unique_ptr<RenderManager> mRenderManager;
};
}
#endif