#include "stdafx.h" #include #include "Gui/GLGSFrame.h" #ifndef _WIN32 #include #endif #include "rPlatform.h" rCanvas::rCanvas(void *parent) { handle = static_cast(new wxGLCanvas(static_cast(parent),wxID_ANY,NULL)); } rCanvas::~rCanvas() { delete static_cast(handle); } bool rCanvas::SetCurrent(void *ctx) { return static_cast(handle)->SetCurrent(*static_cast(ctx)); } rGLFrame::rGLFrame() { handle = static_cast(new GLGSFrame()); } rGLFrame::~rGLFrame() { delete static_cast(handle); } void rGLFrame::Close() { static_cast(handle)->Close(); } bool rGLFrame::IsShown() { return static_cast(handle)->IsShown(); } void rGLFrame::Hide() { static_cast(handle)->Hide(); } void rGLFrame::Show() { static_cast(handle)->Show(); } void *rGLFrame::GetNewContext() { return static_cast(new wxGLContext( static_cast(handle)->GetCanvas() )); } void rGLFrame::Flip(void *ctx) { static_cast(handle)->Flip( static_cast(ctx)); } void rGLFrame::SetCurrent(void *ctx) { static_cast(handle)->GetCanvas()->SetCurrent(*static_cast(ctx)); } rImage::rImage() { handle = static_cast(new wxImage()); } rImage::~rImage() { delete static_cast(handle); } void rImage::Create(int width, int height, void *data, void *alpha) { static_cast(handle)->Create(width, height, static_cast(data), static_cast(alpha)); } void rImage::SaveFile(const std::string& name, rImageType type) { if (type == rBITMAP_TYPE_PNG) { static_cast(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()); #endif } return dir; }