Refactor video_driver_has_windowed

This commit is contained in:
twinaphex 2020-07-27 13:39:02 +02:00
parent 0c78d2ec27
commit 74345f08d6
6 changed files with 45 additions and 7 deletions

View File

@ -4565,6 +4565,14 @@ static bool gl2_gfx_widgets_enabled(void *data)
}
#endif
static bool gl2_has_windowed(void *data)
{
gl_t *gl = (gl_t*)data;
if (gl && gl->ctx_driver)
return gl->ctx_driver->has_windowed;
return false;
}
video_driver_t video_gl2 = {
gl2_init,
gl2_frame,
@ -4572,7 +4580,7 @@ video_driver_t video_gl2 = {
gl2_alive,
NULL, /* focus */
gl2_suppress_screensaver,
NULL, /* has_windowed */
gl2_has_windowed,
gl2_set_shader,

View File

@ -1538,6 +1538,14 @@ static void gl1_get_overlay_interface(void *data,
#endif
static bool gl1_has_windowed(void *data)
{
gl1_t *gl = (gl1_t*)data;
if (gl && gl->ctx_driver)
return gl->ctx_driver->has_windowed;
return false;
}
video_driver_t video_gl1 = {
gl1_gfx_init,
gl1_gfx_frame,
@ -1545,7 +1553,7 @@ video_driver_t video_gl1 = {
gl1_gfx_alive,
gl1_gfx_focus,
gl1_gfx_suppress_screensaver,
NULL, /* has_windowed */
gl1_has_windowed,
gl1_gfx_set_shader,
gl1_gfx_free,
"gl1",

View File

@ -2296,6 +2296,14 @@ static unsigned gl_core_wrap_type_to_enum(enum gfx_wrap_type type)
return 0;
}
static bool gl_core_has_windowed(void *data)
{
gl_core_t *gl = (gl_core_t*)data;
if (gl && gl->ctx_driver)
return gl->ctx_driver->has_windowed;
return false;
}
video_driver_t video_gl_core = {
gl_core_init,
gl_core_frame,
@ -2303,7 +2311,7 @@ video_driver_t video_gl_core = {
gl_core_alive,
NULL, /* focus */
gl_core_suppress_screensaver,
NULL, /* has_windowed */
gl_core_has_windowed,
gl_core_set_shader,

View File

@ -482,6 +482,14 @@ static bool vg_set_shader(void *data,
static void vg_get_poke_interface(void *data,
const video_poke_interface_t **iface) { }
static bool vg_has_windowed(void *data)
{
vg_t *vg = (vg_t*)data;
if (vg && vg->ctx_driver)
return vg->ctx_driver->has_windowed;
return false;
}
video_driver_t video_vg = {
vg_init,
vg_frame,
@ -489,7 +497,7 @@ video_driver_t video_vg = {
vg_alive,
NULL, /* focused */
vg_suppress_screensaver,
NULL, /* has_windowed */
vg_has_windowed,
vg_set_shader,
vg_free,
"vg",

View File

@ -2945,6 +2945,14 @@ static void vulkan_get_overlay_interface(void *data,
static bool vulkan_gfx_widgets_enabled(void *data) { return true; }
#endif
static bool vulkan_has_windowed(void *data)
{
vk_t *vk = (vk_t*)data;
if (vk && vk->ctx_driver)
return vk->ctx_driver->has_windowed;
return false;
}
video_driver_t video_vulkan = {
vulkan_init,
vulkan_frame,
@ -2952,7 +2960,7 @@ video_driver_t video_vulkan = {
vulkan_alive,
NULL, /* focus */
vulkan_suppress_screensaver,
NULL, /* has_windowed */
vulkan_has_windowed,
vulkan_set_shader,
vulkan_free,
"vulkan",

View File

@ -33516,8 +33516,6 @@ bool video_driver_has_windowed(void)
struct rarch_state *p_rarch = &rarch_st;
if (p_rarch->video_driver_data && p_rarch->current_video->has_windowed)
return p_rarch->current_video->has_windowed(p_rarch->video_driver_data);
else if (p_rarch->video_context_data)
return p_rarch->current_video_context.has_windowed;
#endif
return false;
}