From 2d4cd0a56e83c3352afdcc8056b6e1f6446dd2c5 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 16 Aug 2014 18:39:18 +0200 Subject: [PATCH] Add new cmd enums to rarch_main_command --- driver.c | 2 +- frontend/menu/backend/menu_common_backend.c | 23 +++++++-------------- general.h | 3 +++ retroarch.c | 12 +++++++++++ 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/driver.c b/driver.c index 4a320787cb..bb586892d9 100644 --- a/driver.c +++ b/driver.c @@ -821,7 +821,7 @@ static void adjust_system_rates(void) if (driver.video_data) { if (g_extern.system.force_nonblock) - driver.video->set_nonblock_state(driver.video_data, true); + rarch_main_command(RARCH_CMD_VIDEO_SET_NONBLOCKING_STATE); else driver_set_nonblock_state(driver.nonblock_state); } diff --git a/frontend/menu/backend/menu_common_backend.c b/frontend/menu/backend/menu_common_backend.c index 3bab301040..1048ade4f1 100644 --- a/frontend/menu/backend/menu_common_backend.c +++ b/frontend/menu/backend/menu_common_backend.c @@ -1381,8 +1381,7 @@ static int menu_viewport_iterate(unsigned action, rarch_setting_t *setting) else if (custom->height >= (unsigned)stride_y) custom->height -= stride_y; - if (driver.video_data && driver.video_poke && driver.video_poke->apply_state_changes) - driver.video_poke->apply_state_changes(driver.video_data); + rarch_main_command(RARCH_CMD_VIDEO_APPLY_STATE_CHANGES); break; case MENU_ACTION_DOWN: @@ -1395,8 +1394,7 @@ static int menu_viewport_iterate(unsigned action, rarch_setting_t *setting) else custom->height += stride_y; - if (driver.video_data && driver.video_poke && driver.video_poke->apply_state_changes) - driver.video_poke->apply_state_changes(driver.video_data); + rarch_main_command(RARCH_CMD_VIDEO_APPLY_STATE_CHANGES); break; case MENU_ACTION_LEFT: @@ -1408,8 +1406,7 @@ static int menu_viewport_iterate(unsigned action, rarch_setting_t *setting) else if (custom->width >= (unsigned)stride_x) custom->width -= stride_x; - if (driver.video_data && driver.video_poke && driver.video_poke->apply_state_changes) - driver.video_poke->apply_state_changes(driver.video_data); + rarch_main_command(RARCH_CMD_VIDEO_APPLY_STATE_CHANGES); break; case MENU_ACTION_RIGHT: @@ -1422,8 +1419,7 @@ static int menu_viewport_iterate(unsigned action, rarch_setting_t *setting) else custom->width += stride_x; - if (driver.video_data && driver.video_poke && driver.video_poke->apply_state_changes) - driver.video_poke->apply_state_changes(driver.video_data); + rarch_main_command(RARCH_CMD_VIDEO_APPLY_STATE_CHANGES); break; case MENU_ACTION_CANCEL: @@ -1468,8 +1464,7 @@ static int menu_viewport_iterate(unsigned action, rarch_setting_t *setting) custom->height = vp.full_height - custom->y; } - if (driver.video_data && driver.video_poke && driver.video_poke->apply_state_changes) - driver.video_poke->apply_state_changes(driver.video_data); + rarch_main_command(RARCH_CMD_VIDEO_APPLY_STATE_CHANGES); } break; @@ -1522,8 +1517,7 @@ static int menu_viewport_iterate(unsigned action, rarch_setting_t *setting) aspectratio_lut[ASPECT_RATIO_CUSTOM].value = (float)custom->width / custom->height; - if (driver.video_data && driver.video_poke && driver.video_poke->apply_state_changes) - driver.video_poke->apply_state_changes(driver.video_data); + rarch_main_command(RARCH_CMD_VIDEO_APPLY_STATE_CHANGES); return 0; } @@ -3655,8 +3649,7 @@ static int menu_common_setting_set(unsigned id, unsigned action, rarch_setting_t else g_extern.lifecycle_state |= (1ULL << MODE_VIDEO_SOFT_FILTER_ENABLE); - if (driver.video_data && driver.video_poke && driver.video_poke->apply_state_changes) - driver.video_poke->apply_state_changes(driver.video_data); + rarch_main_command(RARCH_CMD_VIDEO_APPLY_STATE_CHANGES); break; #endif @@ -3677,7 +3670,7 @@ static int menu_common_setting_set(unsigned id, unsigned action, rarch_setting_t driver_set_monitor_refresh_rate(refresh_rate); // Incase refresh rate update forced non-block video. - driver.video->set_nonblock_state(driver.video_data, false); + rarch_main_command(RARCH_CMD_VIDEO_SET_BLOCKING_STATE); } break; } diff --git a/general.h b/general.h index b503a9e677..560e01effe 100644 --- a/general.h +++ b/general.h @@ -115,6 +115,9 @@ enum basic_event RARCH_CMD_HISTORY_DEINIT, RARCH_CMD_HISTORY_INIT, RARCH_CMD_CORE_INFO_INIT, + RARCH_CMD_VIDEO_APPLY_STATE_CHANGES, + RARCH_CMD_VIDEO_SET_BLOCKING_STATE, + RARCH_CMD_VIDEO_SET_NONBLOCKING_STATE, }; enum menu_enums diff --git a/retroarch.c b/retroarch.c index a5ae2306cc..82e8659699 100644 --- a/retroarch.c +++ b/retroarch.c @@ -3096,6 +3096,8 @@ static inline void limit_frame_time(void) void rarch_main_command(unsigned action) { + bool boolean = false; + switch (action) { case RARCH_CMD_LOAD_CONTENT: @@ -3230,6 +3232,16 @@ void rarch_main_command(unsigned action) driver.menu_ctx->init_core_info(driver.menu); #endif break; + case RARCH_CMD_VIDEO_APPLY_STATE_CHANGES: + if (driver.video_data && driver.video_poke && driver.video_poke->apply_state_changes) + driver.video_poke->apply_state_changes(driver.video_data); + break; + case RARCH_CMD_VIDEO_SET_NONBLOCKING_STATE: + boolean = true; //fall-through + case RARCH_CMD_VIDEO_SET_BLOCKING_STATE: + if (driver.video && driver.video->set_nonblock_state) + driver.video->set_nonblock_state(driver.video_data, boolean); + break; } }