mirror of
https://github.com/Almamu/linux-wallpaperengine.git
synced 2025-09-14 13:56:48 +08:00
27 lines
741 B
C++
27 lines
741 B
C++
// filesystem includes
|
|
#include "utils.h"
|
|
|
|
// engine includes
|
|
#include "../Irrlicht/Irrlicht.h"
|
|
|
|
namespace WallpaperEngine::FileSystem
|
|
{
|
|
std::string loadFullFile (irr::io::path file)
|
|
{
|
|
irr::io::IReadFile* reader = WallpaperEngine::Irrlicht::device->getFileSystem ()->createAndOpenFile (file);
|
|
|
|
if (reader == NULL)
|
|
throw std::runtime_error ("Cannot open file " + std::string (file.c_str ()) + " for reading");
|
|
|
|
char* filedata = new char [reader->getSize () + 1];
|
|
memset (filedata, 0, reader->getSize () + 1);
|
|
|
|
reader->read (filedata, reader->getSize ());
|
|
reader->drop ();
|
|
|
|
std::string content = filedata;
|
|
delete [] filedata;
|
|
|
|
return content;
|
|
}
|
|
}; |