mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-12-30 15:17:27 +00:00
1e60319be2
Add rpcs3/define_new_memleakdetect.h to save and replace new operator with Visual Studio Memory Leak Detection's operator. Add rpcs3/restore_new.h to restore new operator to a previous saved state.
58 lines
1.1 KiB
C++
58 lines
1.1 KiB
C++
#include "stdafx.h"
|
|
#include "restore_new.h"
|
|
#include <wx/image.h>
|
|
#include "define_new_memleakdetect.h"
|
|
|
|
#ifndef _WIN32
|
|
#include <dirent.h>
|
|
#endif
|
|
|
|
#include "rPlatform.h"
|
|
|
|
rImage::rImage()
|
|
{
|
|
handle = static_cast<void*>(new wxImage());
|
|
}
|
|
|
|
rImage::~rImage()
|
|
{
|
|
delete static_cast<wxImage*>(handle);
|
|
}
|
|
|
|
void rImage::Create(int width, int height, void *data, void *alpha)
|
|
{
|
|
static_cast<wxImage*>(handle)->Create(width, height, static_cast<unsigned char*>(data), static_cast<unsigned char*>(alpha));
|
|
}
|
|
void rImage::SaveFile(const std::string& name, rImageType type)
|
|
{
|
|
if (type == rBITMAP_TYPE_PNG)
|
|
{
|
|
static_cast<wxImage*>(handle)->SaveFile(fmt::FromUTF8(name),wxBITMAP_TYPE_PNG);
|
|
}
|
|
else
|
|
{
|
|
throw std::string("unsupported type");
|
|
}
|
|
}
|
|
|
|
std::string rPlatform::getConfigDir()
|
|
{
|
|
static std::string dir = ".";
|
|
if (dir == ".") {
|
|
#ifdef _WIN32
|
|
dir = "";
|
|
//mkdir(dir.c_str());
|
|
#else
|
|
if (getenv("XDG_CONFIG_HOME") != NULL)
|
|
dir = getenv("XDG_CONFIG_HOME");
|
|
else if (getenv("HOME") != NULL)
|
|
dir = getenv("HOME") + std::string("/.config");
|
|
else // Just in case
|
|
dir = "./config";
|
|
dir = dir + "/rpcs3/";
|
|
mkdir(dir.c_str(), 0777);
|
|
#endif
|
|
}
|
|
return dir;
|
|
}
|