(RGUI) Add option to always stretch menu to fill the screen
This commit is contained in:
parent
98daa0d28c
commit
26c01dd34c
|
@ -7359,6 +7359,10 @@ MSG_HASH(
|
||||||
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_LOCK_INTEGER,
|
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_LOCK_INTEGER,
|
||||||
"Integer Scale"
|
"Integer Scale"
|
||||||
)
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_LOCK_FILL_SCREEN,
|
||||||
|
"Fill Screen (Stretched)"
|
||||||
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_VALUE_RGUI_MENU_COLOR_THEME_CUSTOM,
|
MENU_ENUM_LABEL_VALUE_RGUI_MENU_COLOR_THEME_CUSTOM,
|
||||||
"Custom"
|
"Custom"
|
||||||
|
|
|
@ -2201,7 +2201,7 @@ static void load_custom_theme(rgui_t *rgui, rgui_theme_t *theme_colors, const ch
|
||||||
unsigned shadow_color = 0;
|
unsigned shadow_color = 0;
|
||||||
unsigned particle_color = 0;
|
unsigned particle_color = 0;
|
||||||
config_file_t *conf = NULL;
|
config_file_t *conf = NULL;
|
||||||
char *wallpaper_key = NULL;
|
const char *wallpaper_key = NULL;
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
bool success = false;
|
bool success = false;
|
||||||
unsigned rgui_aspect_ratio = settings->uints.menu_rgui_aspect_ratio;
|
unsigned rgui_aspect_ratio = settings->uints.menu_rgui_aspect_ratio;
|
||||||
|
@ -4078,7 +4078,16 @@ static void rgui_update_menu_viewport(rgui_t *rgui)
|
||||||
do_integer_scaling = false;
|
do_integer_scaling = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!do_integer_scaling)
|
/* Check whether menu should be stretched to
|
||||||
|
* fill the screen, regardless of internal
|
||||||
|
* aspect ratio */
|
||||||
|
if (aspect_ratio_lock == RGUI_ASPECT_RATIO_LOCK_FILL_SCREEN)
|
||||||
|
{
|
||||||
|
rgui->menu_video_settings.viewport.width = vp.full_width;
|
||||||
|
rgui->menu_video_settings.viewport.height = vp.full_height;
|
||||||
|
}
|
||||||
|
/* Normal non-integer aspect-ratio-correct scaling */
|
||||||
|
else if (!do_integer_scaling)
|
||||||
{
|
{
|
||||||
float display_aspect_ratio = (float)vp.full_width
|
float display_aspect_ratio = (float)vp.full_width
|
||||||
/ (float)vp.full_height;
|
/ (float)vp.full_height;
|
||||||
|
|
|
@ -309,6 +309,7 @@ enum rgui_aspect_ratio_lock
|
||||||
RGUI_ASPECT_RATIO_LOCK_NONE = 0,
|
RGUI_ASPECT_RATIO_LOCK_NONE = 0,
|
||||||
RGUI_ASPECT_RATIO_LOCK_FIT_SCREEN,
|
RGUI_ASPECT_RATIO_LOCK_FIT_SCREEN,
|
||||||
RGUI_ASPECT_RATIO_LOCK_INTEGER,
|
RGUI_ASPECT_RATIO_LOCK_INTEGER,
|
||||||
|
RGUI_ASPECT_RATIO_LOCK_FILL_SCREEN,
|
||||||
RGUI_ASPECT_RATIO_LOCK_LAST
|
RGUI_ASPECT_RATIO_LOCK_LAST
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -3693,6 +3693,12 @@ static void setting_get_string_representation_uint_rgui_aspect_ratio_lock(
|
||||||
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_LOCK_INTEGER),
|
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_LOCK_INTEGER),
|
||||||
len);
|
len);
|
||||||
break;
|
break;
|
||||||
|
case RGUI_ASPECT_RATIO_LOCK_FILL_SCREEN:
|
||||||
|
strlcpy(s,
|
||||||
|
msg_hash_to_str(
|
||||||
|
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_LOCK_FILL_SCREEN),
|
||||||
|
len);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12909,7 +12915,7 @@ static bool setting_append_list(
|
||||||
(*list)[list_info->index - 1].get_string_representation =
|
(*list)[list_info->index - 1].get_string_representation =
|
||||||
&setting_get_string_representation_uint_rgui_aspect_ratio_lock;
|
&setting_get_string_representation_uint_rgui_aspect_ratio_lock;
|
||||||
#if defined(GEKKO)
|
#if defined(GEKKO)
|
||||||
menu_settings_list_current_add_range(list, list_info, 0, RGUI_ASPECT_RATIO_LOCK_LAST-2, 1, true, true);
|
menu_settings_list_current_add_range(list, list_info, 0, RGUI_ASPECT_RATIO_LOCK_LAST-3, 1, true, true);
|
||||||
#else
|
#else
|
||||||
menu_settings_list_current_add_range(list, list_info, 0, RGUI_ASPECT_RATIO_LOCK_LAST-1, 1, true, true);
|
menu_settings_list_current_add_range(list, list_info, 0, RGUI_ASPECT_RATIO_LOCK_LAST-1, 1, true, true);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -2375,9 +2375,10 @@ enum msg_hash_enums
|
||||||
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_16_10,
|
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_16_10,
|
||||||
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_16_10_CENTRE,
|
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_16_10_CENTRE,
|
||||||
|
|
||||||
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_LOCK_NONE,
|
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_LOCK_NONE,
|
||||||
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_LOCK_FIT_SCREEN,
|
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_LOCK_FIT_SCREEN,
|
||||||
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_LOCK_INTEGER,
|
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_LOCK_INTEGER,
|
||||||
|
MENU_ENUM_LABEL_VALUE_RGUI_ASPECT_RATIO_LOCK_FILL_SCREEN,
|
||||||
|
|
||||||
MENU_ENUM_LABEL_VALUE_RGUI_PARTICLE_EFFECT_NONE,
|
MENU_ENUM_LABEL_VALUE_RGUI_PARTICLE_EFFECT_NONE,
|
||||||
MENU_ENUM_LABEL_VALUE_RGUI_PARTICLE_EFFECT_SNOW,
|
MENU_ENUM_LABEL_VALUE_RGUI_PARTICLE_EFFECT_SNOW,
|
||||||
|
|
Loading…
Reference in New Issue