GUI: add render preInit settings

This commit is contained in:
tildearrow 2024-05-07 13:44:16 -05:00
parent 5f89cb1dea
commit ae386f6269
16 changed files with 111 additions and 41 deletions

View file

@ -128,7 +128,7 @@ const char* FurnaceGUIRender::getAPIVersion() {
void FurnaceGUIRender::setSwapInterval(int swapInterval) {
}
void FurnaceGUIRender::preInit() {
void FurnaceGUIRender::preInit(const DivConfig& conf) {
}
bool FurnaceGUIRender::init(SDL_Window* win, int swapInterval) {

View file

@ -397,7 +397,7 @@ void FurnaceGUIRenderDX11::setSwapInterval(int swapInt) {
swapInterval=swapInt;
}
void FurnaceGUIRenderDX11::preInit() {
void FurnaceGUIRenderDX11::preInit(const DivConfig& conf) {
}
const float wipeVertices[4][4]={

View file

@ -89,7 +89,7 @@ class FurnaceGUIRenderDX11: public FurnaceGUIRender {
const char* getDeviceName();
const char* getAPIVersion();
void setSwapInterval(int swapInterval);
void preInit();
void preInit(const DivConfig& conf);
bool init(SDL_Window* win, int swapInterval);
void initGUI(SDL_Window* win);
void quitGUI();

View file

@ -580,7 +580,7 @@ void FurnaceGUIRenderGL::setSwapInterval(int swapInterval) {
}
}
void FurnaceGUIRenderGL::preInit() {
void FurnaceGUIRenderGL::preInit(const DivConfig& conf) {
#if defined(USE_GLES)
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS,0);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK,SDL_GL_CONTEXT_PROFILE_ES);
@ -603,12 +603,12 @@ void FurnaceGUIRenderGL::preInit() {
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION,0);
#endif
SDL_GL_SetAttribute(SDL_GL_RED_SIZE,8);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE,8);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE,8);
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE,0);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,1);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE,24);
SDL_GL_SetAttribute(SDL_GL_RED_SIZE,conf.getInt("glRedSize",8));
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE,conf.getInt("glGreenSize",8));
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE,conf.getInt("glBlueSize",8));
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE,conf.getInt("glAlphaSize",0));
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,conf.getInt("glDoubleBuffer",1));
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE,conf.getInt("glDepthSize",24));
}
#define LOAD_PROC_MANDATORY(_v,_t,_s) \

View file

@ -82,7 +82,7 @@ class FurnaceGUIRenderGL: public FurnaceGUIRender {
const char* getDeviceName();
const char* getAPIVersion();
void setSwapInterval(int swapInterval);
void preInit();
void preInit(const DivConfig& conf);
bool init(SDL_Window* win, int swapInterval);
void initGUI(SDL_Window* win);
void quitGUI();

View file

@ -245,18 +245,18 @@ void FurnaceGUIRenderGL1::setSwapInterval(int swapInterval) {
}
}
void FurnaceGUIRenderGL1::preInit() {
void FurnaceGUIRenderGL1::preInit(const DivConfig& conf) {
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS,0);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK,0);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION,1);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION,1);
SDL_GL_SetAttribute(SDL_GL_RED_SIZE,8);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE,8);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE,8);
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE,0);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,1);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE,24);
SDL_GL_SetAttribute(SDL_GL_RED_SIZE,conf.getInt("glRedSize",8));
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE,conf.getInt("glGreenSize",8));
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE,conf.getInt("glBlueSize",8));
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE,conf.getInt("glAlphaSize",0));
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,conf.getInt("glDoubleBuffer",1));
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE,conf.getInt("glDepthSize",24));
}
#define LOAD_PROC_MANDATORY(_v,_t,_s) \
@ -334,4 +334,4 @@ void FurnaceGUIRenderGL1::quitGUI() {
// sadly, OpenGL 1.1 doesn't have the ability to recover from death...
bool FurnaceGUIRenderGL1::isDead() {
return false;
}
}

View file

@ -56,7 +56,7 @@ class FurnaceGUIRenderGL1: public FurnaceGUIRender {
const char* getDeviceName();
const char* getAPIVersion();
void setSwapInterval(int swapInterval);
void preInit();
void preInit(const DivConfig& conf);
bool init(SDL_Window* win, int swapInterval);
void initGUI(SDL_Window* win);
void quitGUI();

View file

@ -52,7 +52,7 @@ class FurnaceGUIRenderMetal: public FurnaceGUIRender {
const char* getDeviceName();
const char* getAPIVersion();
void setSwapInterval(int swapInterval);
void preInit();
void preInit(const DivConfig& conf);
bool init(SDL_Window* win, int swapInterval);
void initGUI(SDL_Window* win);
void quitGUI();

View file

@ -218,7 +218,7 @@ void FurnaceGUIRenderMetal::setSwapInterval(int swapInterval) {
}
}
void FurnaceGUIRenderMetal::preInit() {
void FurnaceGUIRenderMetal::preInit(const DivConfig& conf) {
SDL_SetHint(SDL_HINT_RENDER_DRIVER,"metal");
priv=new FurnaceGUIRenderMetalPrivate;
}

View file

@ -182,7 +182,7 @@ void FurnaceGUIRenderSDL::setSwapInterval(int swapInterval) {
}
}
void FurnaceGUIRenderSDL::preInit() {
void FurnaceGUIRenderSDL::preInit(const DivConfig& conf) {
}
bool FurnaceGUIRenderSDL::init(SDL_Window* win, int swapInterval) {

View file

@ -50,7 +50,7 @@ class FurnaceGUIRenderSDL: public FurnaceGUIRender {
const char* getDeviceName();
const char* getAPIVersion();
void setSwapInterval(int swapInterval);
void preInit();
void preInit(const DivConfig& conf);
bool init(SDL_Window* win, int swapInterval);
void initGUI(SDL_Window* win);
void quitGUI();

View file

@ -160,7 +160,7 @@ const char* FurnaceGUIRenderSoftware::getAPIVersion() {
void FurnaceGUIRenderSoftware::setSwapInterval(int swapInterval) {
}
void FurnaceGUIRenderSoftware::preInit() {
void FurnaceGUIRenderSoftware::preInit(const DivConfig& conf) {
}
bool FurnaceGUIRenderSoftware::init(SDL_Window* win, int swapInterval) {

View file

@ -47,7 +47,7 @@ class FurnaceGUIRenderSoftware: public FurnaceGUIRender {
const char* getDeviceName();
const char* getAPIVersion();
void setSwapInterval(int swapInterval);
void preInit();
void preInit(const DivConfig& conf);
bool init(SDL_Window* win, int swapInterval);
void initGUI(SDL_Window* win);
void quitGUI();