mirror of
https://github.com/libretro/RetroArch
synced 2025-04-11 00:44:20 +00:00
(RGUI) Add 'Lock Menu Aspect Ratio' option
This commit is contained in:
parent
4ce93b11ee
commit
e3c383bb41
@ -376,6 +376,8 @@ static bool show_advanced_settings = false;
|
|||||||
static unsigned rgui_color_theme = RGUI_THEME_CLASSIC_GREEN;
|
static unsigned rgui_color_theme = RGUI_THEME_CLASSIC_GREEN;
|
||||||
static unsigned rgui_thumbnail_downscaler = RGUI_THUMB_SCALE_POINT;
|
static unsigned rgui_thumbnail_downscaler = RGUI_THUMB_SCALE_POINT;
|
||||||
|
|
||||||
|
static bool rgui_lock_aspect = false;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
static bool default_block_config_read = false;
|
static bool default_block_config_read = false;
|
||||||
static bool automatically_add_content_to_playlist = false;
|
static bool automatically_add_content_to_playlist = false;
|
||||||
|
@ -1456,6 +1456,7 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings,
|
|||||||
SETTING_BOOL("menu_use_preferred_system_color_theme", &settings->bools.menu_use_preferred_system_color_theme, true, menu_use_preferred_system_color_theme, false);
|
SETTING_BOOL("menu_use_preferred_system_color_theme", &settings->bools.menu_use_preferred_system_color_theme, true, menu_use_preferred_system_color_theme, false);
|
||||||
SETTING_BOOL("content_show_settings", &settings->bools.menu_content_show_settings, true, content_show_settings, false);
|
SETTING_BOOL("content_show_settings", &settings->bools.menu_content_show_settings, true, content_show_settings, false);
|
||||||
SETTING_BOOL("content_show_favorites", &settings->bools.menu_content_show_favorites, true, content_show_favorites, false);
|
SETTING_BOOL("content_show_favorites", &settings->bools.menu_content_show_favorites, true, content_show_favorites, false);
|
||||||
|
SETTING_BOOL("menu_rgui_lock_aspect", &settings->bools.menu_rgui_lock_aspect, true, rgui_lock_aspect, false);
|
||||||
#ifdef HAVE_IMAGEVIEWER
|
#ifdef HAVE_IMAGEVIEWER
|
||||||
SETTING_BOOL("content_show_images", &settings->bools.menu_content_show_images, true, content_show_images, false);
|
SETTING_BOOL("content_show_images", &settings->bools.menu_content_show_images, true, content_show_images, false);
|
||||||
#endif
|
#endif
|
||||||
|
@ -170,6 +170,7 @@ typedef struct settings
|
|||||||
bool menu_rgui_background_filler_thickness_enable;
|
bool menu_rgui_background_filler_thickness_enable;
|
||||||
bool menu_rgui_border_filler_thickness_enable;
|
bool menu_rgui_border_filler_thickness_enable;
|
||||||
bool menu_rgui_border_filler_enable;
|
bool menu_rgui_border_filler_enable;
|
||||||
|
bool menu_rgui_lock_aspect;
|
||||||
bool menu_xmb_shadows_enable;
|
bool menu_xmb_shadows_enable;
|
||||||
bool menu_xmb_vertical_thumbnails;
|
bool menu_xmb_vertical_thumbnails;
|
||||||
bool menu_content_show_settings;
|
bool menu_content_show_settings;
|
||||||
|
@ -1589,6 +1589,8 @@ MSG_HASH(MENU_ENUM_LABEL_MENU_RGUI_BORDER_FILLER_THICKNESS_ENABLE,
|
|||||||
"menu_rgui_border_filler_thickness_enable")
|
"menu_rgui_border_filler_thickness_enable")
|
||||||
MSG_HASH(MENU_ENUM_LABEL_MENU_RGUI_BACKGROUND_FILLER_THICKNESS_ENABLE,
|
MSG_HASH(MENU_ENUM_LABEL_MENU_RGUI_BACKGROUND_FILLER_THICKNESS_ENABLE,
|
||||||
"menu_rgui_background_filler_thickness_enable")
|
"menu_rgui_background_filler_thickness_enable")
|
||||||
|
MSG_HASH(MENU_ENUM_LABEL_MENU_RGUI_LOCK_ASPECT,
|
||||||
|
"menu_rgui_lock_aspect")
|
||||||
MSG_HASH(MENU_ENUM_LABEL_CONTENT_SHOW_REWIND,
|
MSG_HASH(MENU_ENUM_LABEL_CONTENT_SHOW_REWIND,
|
||||||
"menu_show_rewind_settings")
|
"menu_show_rewind_settings")
|
||||||
MSG_HASH(MENU_ENUM_LABEL_CONTENT_SHOW_LATENCY,
|
MSG_HASH(MENU_ENUM_LABEL_CONTENT_SHOW_LATENCY,
|
||||||
|
@ -6640,6 +6640,10 @@ MSG_HASH(
|
|||||||
MENU_ENUM_LABEL_VALUE_MENU_RGUI_BACKGROUND_FILLER_THICKNESS_ENABLE,
|
MENU_ENUM_LABEL_VALUE_MENU_RGUI_BACKGROUND_FILLER_THICKNESS_ENABLE,
|
||||||
"Background filler thickness"
|
"Background filler thickness"
|
||||||
)
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_VALUE_MENU_RGUI_LOCK_ASPECT,
|
||||||
|
"Lock Menu Aspect Ratio"
|
||||||
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_SUBLABEL_CRT_SWITCH_RESOLUTION,
|
MENU_ENUM_SUBLABEL_CRT_SWITCH_RESOLUTION,
|
||||||
"For CRT displays only. Attempts to use exact core/game resolution and refresh rate."
|
"For CRT displays only. Attempts to use exact core/game resolution and refresh rate."
|
||||||
|
@ -2227,6 +2227,32 @@ static int rgui_pointer_tap(void *data,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void rgui_toggle(void *userdata, bool menu_on)
|
||||||
|
{
|
||||||
|
settings_t *settings = config_get_ptr();
|
||||||
|
|
||||||
|
if (settings->bools.menu_rgui_lock_aspect)
|
||||||
|
{
|
||||||
|
if (menu_on)
|
||||||
|
{
|
||||||
|
if (settings->uints.video_aspect_ratio_idx != ASPECT_RATIO_4_3)
|
||||||
|
{
|
||||||
|
unsigned aspect_ratio_idx = settings->uints.video_aspect_ratio_idx;
|
||||||
|
settings->uints.video_aspect_ratio_idx = ASPECT_RATIO_4_3;
|
||||||
|
video_driver_set_aspect_ratio();
|
||||||
|
settings->uints.video_aspect_ratio_idx = aspect_ratio_idx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (settings->uints.video_aspect_ratio_idx != ASPECT_RATIO_4_3)
|
||||||
|
{
|
||||||
|
video_driver_set_aspect_ratio();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
menu_ctx_driver_t menu_ctx_rgui = {
|
menu_ctx_driver_t menu_ctx_rgui = {
|
||||||
rgui_set_texture,
|
rgui_set_texture,
|
||||||
rgui_set_message,
|
rgui_set_message,
|
||||||
@ -2238,7 +2264,7 @@ menu_ctx_driver_t menu_ctx_rgui = {
|
|||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
rgui_populate_entries,
|
rgui_populate_entries,
|
||||||
NULL,
|
rgui_toggle,
|
||||||
rgui_navigation_clear,
|
rgui_navigation_clear,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -6012,6 +6012,10 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist
|
|||||||
MENU_ENUM_LABEL_MENU_LINEAR_FILTER,
|
MENU_ENUM_LABEL_MENU_LINEAR_FILTER,
|
||||||
PARSE_ONLY_BOOL, false) == 0)
|
PARSE_ONLY_BOOL, false) == 0)
|
||||||
count++;
|
count++;
|
||||||
|
if (menu_displaylist_parse_settings_enum(menu, info,
|
||||||
|
MENU_ENUM_LABEL_MENU_RGUI_LOCK_ASPECT,
|
||||||
|
PARSE_ONLY_BOOL, false) == 0)
|
||||||
|
count++;
|
||||||
if (menu_displaylist_parse_settings_enum(menu, info,
|
if (menu_displaylist_parse_settings_enum(menu, info,
|
||||||
MENU_ENUM_LABEL_MENU_HORIZONTAL_ANIMATION,
|
MENU_ENUM_LABEL_MENU_HORIZONTAL_ANIMATION,
|
||||||
PARSE_ONLY_BOOL, false) == 0)
|
PARSE_ONLY_BOOL, false) == 0)
|
||||||
|
@ -7959,6 +7959,22 @@ static bool setting_append_list(
|
|||||||
SD_FLAG_NONE
|
SD_FLAG_NONE
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CONFIG_BOOL(
|
||||||
|
list, list_info,
|
||||||
|
&settings->bools.menu_rgui_lock_aspect,
|
||||||
|
MENU_ENUM_LABEL_MENU_RGUI_LOCK_ASPECT,
|
||||||
|
MENU_ENUM_LABEL_VALUE_MENU_RGUI_LOCK_ASPECT,
|
||||||
|
true,
|
||||||
|
MENU_ENUM_LABEL_VALUE_OFF,
|
||||||
|
MENU_ENUM_LABEL_VALUE_ON,
|
||||||
|
&group_info,
|
||||||
|
&subgroup_info,
|
||||||
|
parent_group,
|
||||||
|
general_write_handler,
|
||||||
|
general_read_handler,
|
||||||
|
SD_FLAG_NONE
|
||||||
|
);
|
||||||
|
|
||||||
CONFIG_UINT(
|
CONFIG_UINT(
|
||||||
list, list_info,
|
list, list_info,
|
||||||
&settings->uints.menu_rgui_color_theme,
|
&settings->uints.menu_rgui_color_theme,
|
||||||
|
@ -856,6 +856,7 @@ enum msg_hash_enums
|
|||||||
MENU_LABEL(MENU_RGUI_BORDER_FILLER_ENABLE),
|
MENU_LABEL(MENU_RGUI_BORDER_FILLER_ENABLE),
|
||||||
MENU_LABEL(MENU_RGUI_BACKGROUND_FILLER_THICKNESS_ENABLE),
|
MENU_LABEL(MENU_RGUI_BACKGROUND_FILLER_THICKNESS_ENABLE),
|
||||||
MENU_LABEL(MENU_RGUI_BORDER_FILLER_THICKNESS_ENABLE),
|
MENU_LABEL(MENU_RGUI_BORDER_FILLER_THICKNESS_ENABLE),
|
||||||
|
MENU_LABEL(MENU_RGUI_LOCK_ASPECT),
|
||||||
MENU_LABEL(MENU_LINEAR_FILTER),
|
MENU_LABEL(MENU_LINEAR_FILTER),
|
||||||
MENU_LABEL(MENU_HORIZONTAL_ANIMATION),
|
MENU_LABEL(MENU_HORIZONTAL_ANIMATION),
|
||||||
MENU_LABEL(NAVIGATION_WRAPAROUND),
|
MENU_LABEL(NAVIGATION_WRAPAROUND),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user