mirror of
https://github.com/libretro/RetroArch
synced 2025-04-01 04:20:27 +00:00
Allow toggling monitor index in RGUI.
This commit is contained in:
parent
0ae933ea8b
commit
2e3ca36010
@ -1900,6 +1900,7 @@ void menu_populate_entries(void *data, unsigned menu_type)
|
|||||||
file_list_push(rgui->selection_buf, "Windowed Scale (Y)", RGUI_SETTINGS_VIDEO_WINDOW_SCALE_Y, 0);
|
file_list_push(rgui->selection_buf, "Windowed Scale (Y)", RGUI_SETTINGS_VIDEO_WINDOW_SCALE_Y, 0);
|
||||||
#endif
|
#endif
|
||||||
file_list_push(rgui->selection_buf, "Crop Overscan (reload)", RGUI_SETTINGS_VIDEO_CROP_OVERSCAN, 0);
|
file_list_push(rgui->selection_buf, "Crop Overscan (reload)", RGUI_SETTINGS_VIDEO_CROP_OVERSCAN, 0);
|
||||||
|
file_list_push(rgui->selection_buf, "Monitor Index", RGUI_SETTINGS_VIDEO_MONITOR_INDEX, 0);
|
||||||
file_list_push(rgui->selection_buf, "Estimated Monitor FPS", RGUI_SETTINGS_VIDEO_REFRESH_RATE_AUTO, 0);
|
file_list_push(rgui->selection_buf, "Estimated Monitor FPS", RGUI_SETTINGS_VIDEO_REFRESH_RATE_AUTO, 0);
|
||||||
break;
|
break;
|
||||||
case RGUI_SETTINGS_CORE_OPTIONS:
|
case RGUI_SETTINGS_CORE_OPTIONS:
|
||||||
|
@ -87,6 +87,7 @@ typedef enum
|
|||||||
RGUI_SETTINGS_VIDEO_WINDOW_SCALE_Y,
|
RGUI_SETTINGS_VIDEO_WINDOW_SCALE_Y,
|
||||||
RGUI_SETTINGS_VIDEO_CROP_OVERSCAN,
|
RGUI_SETTINGS_VIDEO_CROP_OVERSCAN,
|
||||||
RGUI_SETTINGS_VIDEO_REFRESH_RATE_AUTO,
|
RGUI_SETTINGS_VIDEO_REFRESH_RATE_AUTO,
|
||||||
|
RGUI_SETTINGS_VIDEO_MONITOR_INDEX,
|
||||||
RGUI_SETTINGS_VIDEO_OPTIONS_LAST,
|
RGUI_SETTINGS_VIDEO_OPTIONS_LAST,
|
||||||
RGUI_SETTINGS_SHADER_OPTIONS,
|
RGUI_SETTINGS_SHADER_OPTIONS,
|
||||||
RGUI_SETTINGS_SHADER_FILTER,
|
RGUI_SETTINGS_SHADER_FILTER,
|
||||||
|
@ -1595,6 +1595,33 @@ int menu_set_settings(void *data, unsigned setting, unsigned action)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case RGUI_SETTINGS_VIDEO_MONITOR_INDEX:
|
||||||
|
switch (action)
|
||||||
|
{
|
||||||
|
case RGUI_ACTION_START:
|
||||||
|
g_settings.video.monitor_index = 0;
|
||||||
|
rarch_set_fullscreen(g_settings.video.fullscreen);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RGUI_ACTION_OK:
|
||||||
|
case RGUI_ACTION_RIGHT:
|
||||||
|
g_settings.video.monitor_index++;
|
||||||
|
rarch_set_fullscreen(g_settings.video.fullscreen);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RGUI_ACTION_LEFT:
|
||||||
|
if (g_settings.video.monitor_index)
|
||||||
|
{
|
||||||
|
g_settings.video.monitor_index++;
|
||||||
|
rarch_set_fullscreen(g_settings.video.fullscreen);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case RGUI_SETTINGS_VIDEO_REFRESH_RATE_AUTO:
|
case RGUI_SETTINGS_VIDEO_REFRESH_RATE_AUTO:
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
@ -1917,6 +1944,12 @@ void menu_set_settings_label(char *type_str, size_t type_str_size, unsigned *w,
|
|||||||
strlcpy(type_str, g_settings.menu.driver, type_str_size);
|
strlcpy(type_str, g_settings.menu.driver, type_str_size);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
case RGUI_SETTINGS_VIDEO_MONITOR_INDEX:
|
||||||
|
if (g_settings.video.monitor_index)
|
||||||
|
snprintf(type_str, type_str_size, "%u", g_settings.video.monitor_index);
|
||||||
|
else
|
||||||
|
strlcpy(type_str, "0 (Auto)", type_str_size);
|
||||||
|
break;
|
||||||
case RGUI_SETTINGS_VIDEO_REFRESH_RATE_AUTO:
|
case RGUI_SETTINGS_VIDEO_REFRESH_RATE_AUTO:
|
||||||
{
|
{
|
||||||
double refresh_rate = 0.0;
|
double refresh_rate = 0.0;
|
||||||
|
@ -524,7 +524,8 @@ static bool gfx_ctx_set_video_mode(void *data,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Find desired video mode, and use that.
|
// Find desired video mode, and use that.
|
||||||
if (width == 0 && height == 0)
|
// If not fullscreen, we get desired windowed size, which is not appropriate.
|
||||||
|
if ((width == 0 && height == 0) || !fullscreen)
|
||||||
g_drm_mode = &g_connector->modes[0];
|
g_drm_mode = &g_connector->modes[0];
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1256,6 +1256,7 @@ bool config_save_file(const char *path)
|
|||||||
config_set_bool(conf, "video_threaded", g_settings.video.threaded);
|
config_set_bool(conf, "video_threaded", g_settings.video.threaded);
|
||||||
config_set_bool(conf, "video_fullscreen", g_settings.video.fullscreen);
|
config_set_bool(conf, "video_fullscreen", g_settings.video.fullscreen);
|
||||||
config_set_float(conf, "video_refresh_rate", g_settings.video.refresh_rate);
|
config_set_float(conf, "video_refresh_rate", g_settings.video.refresh_rate);
|
||||||
|
config_set_int(conf, "video_monitor_index", g_settings.video.monitor_index);
|
||||||
config_set_int(conf, "video_fullscreen_x", g_settings.video.fullscreen_x);
|
config_set_int(conf, "video_fullscreen_x", g_settings.video.fullscreen_x);
|
||||||
config_set_int(conf, "video_fullscreen_y", g_settings.video.fullscreen_y);
|
config_set_int(conf, "video_fullscreen_y", g_settings.video.fullscreen_y);
|
||||||
config_set_string(conf, "video_driver", g_settings.video.driver);
|
config_set_string(conf, "video_driver", g_settings.video.driver);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user