#include "myguiplatform.hpp" #include "myguidatamanager.hpp" #include "myguiloglistener.hpp" #include "myguirendermanager.hpp" #include "components/files/conversion.hpp" namespace osgMyGUI { Platform::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) : mLogFacility(logName.empty() ? nullptr : std::make_unique(logName, false)) , mLogManager(std::make_unique()) , mDataManager(std::make_unique(Files::pathToUnicodeString(resourcePath), vfs)) , mRenderManager(std::make_unique(viewer, guiRoot, imageManager, uiScalingFactor)) { if (mLogFacility != nullptr) mLogManager->addLogSource(mLogFacility->getSource()); mRenderManager->initialise(); } Platform::~Platform() = default; void Platform::shutdown() { mRenderManager->shutdown(); } RenderManager* Platform::getRenderManagerPtr() { return mRenderManager.get(); } DataManager* Platform::getDataManagerPtr() { return mDataManager.get(); } }