#ifndef OPENMW_COMPONENTS_MYGUIPLATFORM_MYGUIPLATFORM_H #define OPENMW_COMPONENTS_MYGUIPLATFORM_MYGUIPLATFORM_H #include #include #include 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 mLogFacility; std::unique_ptr mLogManager; std::unique_ptr mDataManager; std::unique_ptr mRenderManager; }; } #endif