Add RARCH_DISPLAY_CTL_GET_NEXT_VIDEO_OUT

This commit is contained in:
twinaphex 2015-11-20 21:20:12 +01:00
parent b4ec6e208b
commit e09e65e348
5 changed files with 16 additions and 30 deletions

View File

@ -243,7 +243,7 @@ bool gfx_ctx_check_window(void *data, bool *quit, bool *resize,
if (!data)
return false;
ctx->check_window(data, quit, resize, width, height, *frame_count);
ctx->check_window(data, quit, resize, width, height, (unsigned int)*frame_count);
return true;
}

View File

@ -776,27 +776,6 @@ void video_driver_set_filtering(unsigned index, bool smooth)
poke->set_filtering(driver->video_data, index, smooth);
}
void video_driver_get_video_output_next(void)
{
driver_t *driver = driver_get_ptr();
const video_poke_interface_t *poke = video_driver_get_poke_ptr(driver);
if (poke && poke->get_video_output_next)
poke->get_video_output_next(driver->video_data);
}
void video_driver_get_video_output_prev(void)
{
driver_t *driver = driver_get_ptr();
const video_poke_interface_t *poke = video_driver_get_poke_ptr(driver);
if (poke && poke->get_video_output_prev)
poke->get_video_output_prev(driver->video_data);
}
void video_driver_cached_frame_set_ptr(const void *data)
{
if (!data)
@ -1144,6 +1123,16 @@ bool video_driver_ctl(enum rarch_display_ctl_state state, void *data)
switch (state)
{
case RARCH_DISPLAY_CTL_GET_NEXT_VIDEO_OUT:
if (!poke || !poke->get_video_output_next)
return false;
poke->get_video_output_next(driver->video_data);
return true;
case RARCH_DISPLAY_CTL_GET_PREV_VIDEO_OUT:
if (!poke || !poke->get_video_output_prev)
return false;
poke->get_video_output_prev(driver->video_data);
return true;
case RARCH_DISPLAY_CTL_INIT:
return init_video();
case RARCH_DISPLAY_CTL_DEINIT:
@ -1205,9 +1194,8 @@ bool video_driver_ctl(enum rarch_display_ctl_state state, void *data)
if (!ptr)
return false;
*ptr = &video_frame_count;
return true;
}
break;
return true;
case RARCH_DISPLAY_CTL_FRAME_FILTER_ALIVE:
if (video_state.filter.filter)
return true;

View File

@ -229,6 +229,8 @@ enum rarch_display_ctl_state
RARCH_DISPLAY_CTL_FIND_DRIVER,
RARCH_DISPLAY_CTL_FRAME_FILTER_ALIVE,
RARCH_DISPLAY_CTL_FRAME_FILTER_IS_32BIT,
RARCH_DISPLAY_CTL_GET_PREV_VIDEO_OUT,
RARCH_DISPLAY_CTL_GET_NEXT_VIDEO_OUT,
RARCH_DISPLAY_CTL_HAS_WINDOWED,
RARCH_DISPLAY_CTL_IS_FOCUSED,
RARCH_DISPLAY_CTL_SET_ASPECT_RATIO,
@ -325,10 +327,6 @@ void * video_driver_read_frame_raw(unsigned *width,
void video_driver_set_filtering(unsigned index, bool smooth);
void video_driver_get_video_output_next(void);
void video_driver_get_video_output_prev(void);
bool video_driver_suppress_screensaver(bool enable);
const char *video_driver_get_ident(void);

View File

@ -293,7 +293,7 @@ static int action_left_video_resolution(unsigned type, const char *label,
[global->console.screen.resolutions.current.idx];
}
#else
video_driver_get_video_output_prev();
video_driver_ctl(RARCH_DISPLAY_CTL_GET_VIDEO_OUT_PREV, NULL);
#endif
return 0;

View File

@ -318,7 +318,7 @@ static int action_right_video_resolution(unsigned type, const char *label,
[global->console.screen.resolutions.current.idx];
}
#else
video_driver_get_video_output_next();
video_driver_ctl(RARCH_DISPLAY_CTL_GET_VIDEO_OUT_NEXT, NULL);
#endif
return 0;