(GLUI) Menu scaling improvements

This commit is contained in:
jdgleaver 2019-10-09 11:33:02 +01:00
parent 9144583fdb
commit e47e055508
33 changed files with 362 additions and 402 deletions

View File

@ -467,7 +467,6 @@ static bool content_show_add = true;
static bool content_show_playlists = true;
#ifdef HAVE_XMB
static unsigned xmb_scale_factor = 100;
static unsigned xmb_alpha_factor = 75;
static unsigned menu_font_color_red = 255;
static unsigned menu_font_color_green = 255;
@ -889,15 +888,9 @@ static const bool playlist_fuzzy_archive_match = false;
/* Show Menu start-up screen on boot. */
static const bool default_menu_show_start_screen = true;
#define DEFAULT_MENU_DPI_OVERRIDE_ENABLE false
#ifdef RARCH_MOBILE
#define DEFAULT_MENU_DPI_OVERRIDE_VALUE 72
#elif defined(__CELLOS_LV2__)
#define DEFAULT_MENU_DPI_OVERRIDE_VALUE 360
#else
#define DEFAULT_MENU_DPI_OVERRIDE_VALUE 200
#endif
/* Default scale factor for non-frambuffer-based menu
* drivers and menu widgets */
#define DEFAULT_MENU_SCALE_FACTOR 1.0f
/* Log level for the frontend */
#define DEFAULT_FRONTEND_LOG_LEVEL 1

View File

@ -1451,7 +1451,6 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings,
SETTING_BOOL("menu_throttle_framerate", &settings->bools.menu_throttle_framerate, true, true, false);
SETTING_BOOL("menu_linear_filter", &settings->bools.menu_linear_filter, true, true, false);
SETTING_BOOL("menu_horizontal_animation", &settings->bools.menu_horizontal_animation, true, DEFAULT_MENU_HORIZONTAL_ANIMATION, false);
SETTING_BOOL("dpi_override_enable", &settings->bools.menu_dpi_override_enable, true, DEFAULT_MENU_DPI_OVERRIDE_ENABLE, false);
SETTING_BOOL("menu_pause_libretro", &settings->bools.menu_pause_libretro, true, true, false);
SETTING_BOOL("menu_savestate_resume", &settings->bools.menu_savestate_resume, true, menu_savestate_resume, false);
SETTING_BOOL("menu_mouse_enable", &settings->bools.menu_mouse_enable, true, DEFAULT_MOUSE_ENABLE, false);
@ -1692,6 +1691,7 @@ static struct config_float_setting *populate_settings_float(settings_t *settings
SETTING_FLOAT("input_overlay_scale", &settings->floats.input_overlay_scale, true, 1.0f, false);
#endif
#ifdef HAVE_MENU
SETTING_FLOAT("menu_scale_factor", &settings->floats.menu_scale_factor, true, DEFAULT_MENU_SCALE_FACTOR, false);
SETTING_FLOAT("menu_wallpaper_opacity", &settings->floats.menu_wallpaper_opacity, true, menu_wallpaper_opacity, false);
SETTING_FLOAT("menu_framebuffer_opacity", &settings->floats.menu_framebuffer_opacity, true, menu_framebuffer_opacity, false);
SETTING_FLOAT("menu_footer_opacity", &settings->floats.menu_footer_opacity, true, menu_footer_opacity, false);
@ -1769,7 +1769,6 @@ static struct config_uint_setting *populate_settings_uint(settings_t *settings,
SETTING_UINT("video_overscan_correction_bottom", &settings->uints.video_overscan_correction_bottom, true, DEFAULT_VIDEO_OVERSCAN_CORRECTION_BOTTOM, false);
#endif
#ifdef HAVE_MENU
SETTING_UINT("dpi_override_value", &settings->uints.menu_dpi_override_value, true, DEFAULT_MENU_DPI_OVERRIDE_VALUE, false);
SETTING_UINT("menu_thumbnails", &settings->uints.menu_thumbnails, true, menu_thumbnails_default, false);
SETTING_UINT("menu_left_thumbnails", &settings->uints.menu_left_thumbnails, true, menu_left_thumbnails_default, false);
SETTING_UINT("menu_thumbnail_upscale_threshold", &settings->uints.menu_thumbnail_upscale_threshold, true, menu_thumbnail_upscale_threshold, false);
@ -1799,7 +1798,6 @@ static struct config_uint_setting *populate_settings_uint(settings_t *settings,
SETTING_UINT("menu_xmb_animation_horizontal_highlight", &settings->uints.menu_xmb_animation_horizontal_highlight, true, 0 /* TODO/FIXME - implement */, false);
SETTING_UINT("menu_xmb_animation_move_up_down", &settings->uints.menu_xmb_animation_move_up_down, true, 0 /* TODO/FIXME - implement */, false);
SETTING_UINT("xmb_alpha_factor", &settings->uints.menu_xmb_alpha_factor, true, xmb_alpha_factor, false);
SETTING_UINT("xmb_scale_factor", &settings->uints.menu_xmb_scale_factor, true, xmb_scale_factor, false);
SETTING_UINT("xmb_layout", &settings->uints.menu_xmb_layout, true, xmb_menu_layout, false);
SETTING_UINT("xmb_theme", &settings->uints.menu_xmb_theme, true, xmb_icon_theme, false);
SETTING_UINT("xmb_menu_color_theme", &settings->uints.menu_xmb_color_theme, true, xmb_theme, false);

View File

@ -161,7 +161,6 @@ typedef struct settings
bool menu_pointer_enable;
bool menu_navigation_wraparound_enable;
bool menu_navigation_browser_filter_supported_extensions_enable;
bool menu_dpi_override_enable;
bool menu_show_advanced_settings;
bool menu_throttle_framerate;
bool menu_linear_filter;
@ -394,6 +393,7 @@ typedef struct settings
float video_msg_color_b;
float video_msg_bgcolor_opacity;
float menu_scale_factor;
float menu_wallpaper_opacity;
float menu_framebuffer_opacity;
float menu_footer_opacity;
@ -516,14 +516,12 @@ typedef struct settings
unsigned menu_thumbnail_upscale_threshold;
unsigned menu_rgui_thumbnail_downscaler;
unsigned menu_rgui_thumbnail_delay;
unsigned menu_dpi_override_value;
unsigned menu_rgui_color_theme;
unsigned menu_xmb_animation_opening_main_menu;
unsigned menu_xmb_animation_horizontal_highlight;
unsigned menu_xmb_animation_move_up_down;
unsigned menu_xmb_layout;
unsigned menu_xmb_shader_pipeline;
unsigned menu_xmb_scale_factor;
unsigned menu_xmb_alpha_factor;
unsigned menu_xmb_theme;
unsigned menu_xmb_color_theme;

View File

@ -647,10 +647,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE,
"Download Core...")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"Content Downloader")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"DPI Override Enable")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"DPI Override")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"أنظمة التشغيل")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DUMMY_ON_CORE_SHUTDOWN,
@ -1927,7 +1923,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED,
"Volcanic Red")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
"Menu Shader Pipeline")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Menu Scale Factor")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
"Icon Shadows Enable")
@ -3156,10 +3152,6 @@ MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_HEADER_OPACITY,
"Modify the opacity of the header graphic.")
MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Modify the opacity of the footer graphic.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"The menu normally scales itself dynamically. If you want to set a specific scaling size instead, enable this.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Set the custom scaling size here. NOTE: You have to enable 'DPI Override' for this scaling size to take effect.")
MSG_HASH(MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Save all downloaded files to this directory.")
MSG_HASH(MENU_ENUM_SUBLABEL_INPUT_REMAPPING_DIRECTORY,

View File

@ -640,10 +640,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE,
"下载核心……")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"下载游戏内容")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"启用DPI覆盖")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"DPI覆盖")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"驱动")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DUMMY_ON_CORE_SHUTDOWN,
@ -1987,7 +1983,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED,
"火山红")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
"菜单渲染器管线")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"菜单缩放因子")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
"启用图标阴影")
@ -3403,10 +3399,6 @@ MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_HEADER_OPACITY,
"Modify the opacity of the header graphic.")
MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Modify the opacity of the footer graphic.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"The menu normally scales itself dynamically. If you want to set a specific scaling size instead, enable this.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Set the custom scaling size here. NOTE: You have to enable 'DPI Override' for this scaling size to take effect.")
MSG_HASH(MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"保存下载文件的文件夹。")
MSG_HASH(MENU_ENUM_SUBLABEL_INPUT_REMAPPING_DIRECTORY,

View File

@ -590,10 +590,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE,
"下載核心……")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"下載遊戲內容")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"啟用DPI覆蓋")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"DPI覆蓋")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"驅動")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DUMMY_ON_CORE_SHUTDOWN,
@ -1793,7 +1789,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED,
"火山紅")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
"選單Shader管線")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"選單縮放因子")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
"啟用圖標陰影")
@ -2972,10 +2968,6 @@ MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_HEADER_OPACITY,
"Modify the opacity of the header graphic.")
MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Modify the opacity of the footer graphic.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"The menu normally scales itself dynamically. If you want to set a specific scaling size instead, enable this.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Set the custom scaling size here. NOTE: You have to enable 'DPI Override' for this scaling size to take effect.")
MSG_HASH(MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Save all downloaded files to this directory.")
MSG_HASH(MENU_ENUM_SUBLABEL_INPUT_REMAPPING_DIRECTORY,

View File

@ -623,10 +623,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE,
"Core herunterladen...")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"Inhalt herunterladen")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"Aktiviert DPI-Überschreibung")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"DPI-Überschreibung")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"Treiber")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DUMMY_ON_CORE_SHUTDOWN,
@ -1876,7 +1872,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED,
"Volcanic Red")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
"Menü-Shader")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Menü-Skalierungsfaktor")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
"Icon-Schatten aktivieren")
@ -3084,10 +3080,6 @@ MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_HEADER_OPACITY,
"Ändere die Transparenz der Header-Grafik.")
MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Ändere die Transparenz der Footer-Grafik.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"Das Menü wird normalerweise automatisch skaliert. Wenn Du stattdessen eine bestimmte Skalierung wünschst, aktiviere diese Option.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Lege hier die gewünschte Skalierung fest. HINWEIS: Du musst 'DPI-Überschreibung' aktivieren, damit diese Skalierung verwendet wird.")
MSG_HASH(MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Speichere alle heruntergeladenen Dateien in diesem Verzeichnis.")
MSG_HASH(MENU_ENUM_SUBLABEL_INPUT_REMAPPING_DIRECTORY,

View File

@ -770,14 +770,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"Λήψη Περιεχομένου"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"DPI Override Enable"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"DPI Override"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"Οδηγοί"
@ -3449,7 +3441,7 @@ MSG_HASH(
"Menu Shader Pipeline"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Menu Scale Factor"
)
MSG_HASH(
@ -5643,15 +5635,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Modify the opacity of the footer graphic."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"The menu normally scales itself dynamically. If you want to set a specific scaling size instead, enable this."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Set the custom scaling size here.\n"
"NOTE: You have to enable 'DPI Override' for this scaling size to take effect."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Save all downloaded files to this directory."

View File

@ -514,10 +514,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE,
"Download Core...")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"Content Downloader")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"DPI Override Enable")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"DPI Override")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"Driver")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DUMMY_ON_CORE_SHUTDOWN,
@ -1709,7 +1705,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED,
"Volcanic Red")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
"Menu Shader Pipeline")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Menu Scale Factor")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
"Icon Shadows Enable")
@ -2860,10 +2856,6 @@ MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_HEADER_OPACITY,
"Modify the opacity of the header graphic.")
MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Modify the opacity of the footer graphic.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"The menu normally scales itself dynamically. If you want to set a specific scaling size instead, enable this.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Set the custom scaling size here. NOTE: You have to enable 'DPI Override' for this scaling size to take effect.")
MSG_HASH(MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Save all downloaded files to this directory.")
MSG_HASH(MENU_ENUM_SUBLABEL_INPUT_REMAPPING_DIRECTORY,

View File

@ -809,14 +809,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"Descargador de contenido"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"Forzar DPI"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"Anular DPI"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"Controladores"
@ -3521,7 +3513,7 @@ MSG_HASH(
"Menú Shader Pipeline"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Escala del menú"
)
MSG_HASH(
@ -5756,15 +5748,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Modificar opacidad del pie de página"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"El menú es escalado dinamicamente. Activar si desea un valor predefinido"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Establecer DPI\n"
"NOTA: Debe activar 'Forzar DPI' para que tenga efecto"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Guardar archivos descargados en esta carpeta"

View File

@ -822,14 +822,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"Téléchargement de contenu"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"Remplacer la valeur des pixels/pouce"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"Valeur de remplacement des pixels/pouce"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"Pilotes"
@ -3930,7 +3922,7 @@ MSG_HASH(
"Pipeline de shader du menu (fond animé) "
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Facteur d'échelle du menu "
)
MSG_HASH(
@ -6244,15 +6236,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Modifier l'opacité du graphique de pied de page."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"Le menu est normalement redimensionné de manière dynamique. Si vous souhaitez définir une taille de mise à l'échelle spécifique, activez cette option."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Définir la taille de mise à l'échelle personnalisée ici.\n"
"REMARQUE : Vous devez activer 'Remplacer la valeur des pixels/pouce' pour que cette taille d'échelle prenne effet."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Tous les fichiers téléchargés seront conservés dans ce dossier."

View File

@ -623,10 +623,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE,
"Scarica Core")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"Downloader dei contenuti")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"DPI Override Abilitato")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"DPI Override")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"Driver")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DUMMY_ON_CORE_SHUTDOWN,
@ -1876,7 +1872,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED,
"Rosso vulcanico")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
"Menu Shader Pipeline")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Menu Scale Factor")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
"Abilita Ombre delle Icone")
@ -3086,10 +3082,6 @@ MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_HEADER_OPACITY,
"Modifica l'opacità dell'intestazione grafica.")
MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Modifica l'opacità grafica a piè di pagina.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"Il menu normalmente si scala dinamicamente. Se si desidera impostare una dimensione specifica, abilitare l'opzione.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Impostare qui la dimensione della scala personalizzata. NOTA: è necessario abilitare l'opzione 'DPI Override' per scalare a questa dimensione.")
MSG_HASH(MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Salva tutti i file scaricati in questa directory.")
MSG_HASH(MENU_ENUM_SUBLABEL_INPUT_REMAPPING_DIRECTORY,

View File

@ -850,14 +850,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"コンテンツをダウンロード"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"DPI優先を有効"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"DPI優先"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"ドライバ"
@ -4177,7 +4169,7 @@ MSG_HASH(
"メニューのシェーダパイプライン"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"メニューの倍率"
)
MSG_HASH(
@ -6572,16 +6564,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"フッタの不透明度を調整します。"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"通常, メニューは動的にスケールされます。 "
"特定のスケールサイズを指定したい場合に有効にしてください。"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"カスタムスケールサイズを指定します。 "
"備考: このスケールサイズを反映するには, [優先DPI]を有効にする必要があります。"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"すべてのダウンロードしたファイルをこのフォルダに保存します。"

View File

@ -841,14 +841,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"컨텐츠 다운로더"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"DPI 오버라이드 허용"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"DPI 오버라이드"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"드라이버"
@ -4159,7 +4151,7 @@ MSG_HASH(
"메뉴 쉐이더 파이프라인"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"메뉴 크기 요소"
)
MSG_HASH(
@ -6497,15 +6489,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"푸터 그래픽의 투명도를 변경합니다."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"메뉴는 일반적으로 동적으로 조정됩니다. 특정 크기를 설정하려면 이 옵션을 활성화하십시오."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"사용자 정의 크기 조정을 설정합니다.\n"
"참고:크기조정을 적용하려면 'DPI 오버라이드'를 활성화해야합니다."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"모든 다운로드 파일을 이 디렉토리에 저장합니다."

View File

@ -463,10 +463,8 @@ MSG_HASH(MENU_ENUM_LABEL_DOWNLOAD_CORE_CONTENT_DIRS,
"download_core_content_dirs")
MSG_HASH(MENU_ENUM_LABEL_CONTENT_DIR,
"content_directory")
MSG_HASH(MENU_ENUM_LABEL_DPI_OVERRIDE_ENABLE,
"dpi_override_enable")
MSG_HASH(MENU_ENUM_LABEL_DPI_OVERRIDE_VALUE,
"dpi_override_value")
MSG_HASH(MENU_ENUM_LABEL_MENU_SCALE_FACTOR,
"menu_scale_factor")
MSG_HASH(MENU_ENUM_LABEL_DRIVER_SETTINGS,
"driver_settings")
MSG_HASH(MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE,
@ -1501,8 +1499,6 @@ MSG_HASH(MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME,
"xmb_menu_color_theme")
MSG_HASH(MENU_ENUM_LABEL_XMB_RIBBON_ENABLE,
"xmb_ribbon_enable")
MSG_HASH(MENU_ENUM_LABEL_XMB_SCALE_FACTOR,
"xmb_scale_factor")
MSG_HASH(MENU_ENUM_LABEL_XMB_SHADOWS_ENABLE,
"xmb_shadows_enable")
MSG_HASH(MENU_ENUM_LABEL_CONTENT_SHOW_HISTORY,

View File

@ -514,10 +514,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE,
"Download Core...")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"Download Inhoud")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"DPI Override Activeren")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"DPI Override")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"Driver")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DUMMY_ON_CORE_SHUTDOWN,
@ -1711,7 +1707,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED,
"Vulkanisch Rood")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
"Menu Shader Pipeline")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Menu Scale Factor")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
"Icon Shadows Enable")
@ -2865,10 +2861,6 @@ MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_HEADER_OPACITY,
"Modify the opacity of the header graphic.")
MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Modify the opacity of the footer graphic.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"The menu normally scales itself dynamically. If you want to set a specific scaling size instead, enable this.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Set the custom scaling size here. NOTE: You have to enable 'DPI Override' for this scaling size to take effect.")
MSG_HASH(MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Save all downloaded files to this directory.")
MSG_HASH(MENU_ENUM_SUBLABEL_INPUT_REMAPPING_DIRECTORY,

View File

@ -651,10 +651,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE,
"Pobierz rdzeń...")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"Program do pobierania treści")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"Zastąp włączone DPI")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"Nadpisz DPI")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"Sterowniki")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DUMMY_ON_CORE_SHUTDOWN,
@ -1958,7 +1954,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED,
"Czerwień wulkaniczna")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
"Animowany efekt tłą")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Współczynnik skali menu")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
"Włącz cienie ikony")
@ -3211,10 +3207,6 @@ MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_HEADER_OPACITY,
"Zmodyfikuj krycie grafiki nagłówka.")
MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Zmodyfikuj krycie grafiki stopki.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"Menu zazwyczaj dynamicznie się skaluje. Jeśli chcesz zamiast tego ustawić określony rozmiar skalowania, włącz to.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Ustaw tutaj niestandardowy rozmiar skalowania. UWAGA: Musisz włączyć 'DPI Override', aby ten rozmiar skali zaczął obowiązywać.")
MSG_HASH(MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Zapisz wszystkie pobrane pliki w tym katalogu.")
MSG_HASH(MENU_ENUM_SUBLABEL_INPUT_REMAPPING_DIRECTORY,

View File

@ -841,14 +841,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"Download de Conteúdo"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"Habilitar Redefinição de DPI"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"Redefinição de DPI"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"Driver"
@ -4159,7 +4151,7 @@ MSG_HASH(
"Pipeline do Shader de Menu"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Fator de Escala do Menu"
)
MSG_HASH(
@ -6501,15 +6493,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Modifica a opacidade do gráfico do rodapé."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"O menu normalmente se dimensiona dinamicamente. Se você desejar definir uma escala de tamanho específica em vez disto, habilite esta função."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Define o tamanho do dimensionamento personalizado aqui.\n"
"OBS: Você deve habilitar a função 'Redefinição de DPI' para que este dimensionamento tenha efeito."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Salva todos os arquivos baixados neste diretório."

View File

@ -579,10 +579,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE,
"Transferir núcleo...")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"Descarregador de conteúdo")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"Ativar sobreposição de DPI")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"Sobreposição de DPI")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"Controlador")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DUMMY_ON_CORE_SHUTDOWN,
@ -1788,7 +1784,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED,
"Vermelho vulcânico")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
"Shader do canal do menu")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Fator de escala do menu")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
"Ativar sombras nos ícones")
@ -2943,10 +2939,6 @@ MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_HEADER_OPACITY,
"Modificar a opacidade do gráfico do cabeçalho.")
MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Modificar a opacidade do gráfico do rodapé.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"O menu normalmente irá redimensionar-se, de forma dinâmica. Se você desejar definir uma dimensão em vez disso, ative esta opção.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Definir o tamanho do dimensionamento personalizado aqui. OBS: Você deve ativar a opção 'Sobreposição de DPI' para que este dimensionamento surta efeito.")
MSG_HASH(MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Guardar todos os ficheiros transferidos nesta pasta.")
MSG_HASH(MENU_ENUM_SUBLABEL_INPUT_REMAPPING_DIRECTORY,

View File

@ -595,10 +595,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE,
"Загрузка ядра...")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"Загрузка содержимого")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"Разрешить переопределение DPI")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"Переопределение DPI")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"Драйвер")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DUMMY_ON_CORE_SHUTDOWN,
@ -1824,7 +1820,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED,
"Вулканический красный")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
"Шейдерный фон меню")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Масштаб в меню")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
"Отображение теней у иконок")
@ -3014,10 +3010,6 @@ MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_HEADER_OPACITY,
"Изменение прозрачность графического заголовка.")
MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Изменение прозрачности графика нижнего колонтитула.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"Меню интерфейса обычно сам подстраивается. Если вы хотите изменить DPI под свой вкус, то включите эту функцию.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Установить свой размер масштабирования. ПРИМЕЧАНИЕ: Вы должны включить 'DPI Override', чтобы эти изменения заработали.")
MSG_HASH(MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Сохранять все закаченные файлы в этой папке.")
MSG_HASH(MENU_ENUM_SUBLABEL_INPUT_REMAPPING_DIRECTORY,

View File

@ -833,14 +833,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"İçerik İndir"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"DPI Üzerine yazma"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"DPI Üzerine yazma"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"Sürücüler"
@ -3991,7 +3983,7 @@ MSG_HASH(
"Menü Gölgelendirici Hattı"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Menü Ölçeklendirme Faktörü"
)
MSG_HASH(
@ -6292,15 +6284,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Altbilgi grafiğinin opaklığını değiştirin."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"Menü normalde kendini dinamik olarak ölçeklendirir. Bunun yerine belirli bir ölçekleme boyutu ayarlamak istiyorsanız, bunu etkinleştirin."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Özel ölçeklendirme boyutunu buradan ayarlayın.\n"
"NOT: Ölçeklendirme boyutunun etkili olması için 'DPI Geçersiz Kılma'yı etkinleştirmeniz gerekir."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"İndirilen tüm dosyaları bu dizine kaydedin."

View File

@ -834,12 +834,12 @@ MSG_HASH(
"Content Downloader"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"DPI Override"
MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Menu Scale Factor"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"DPI Override"
MENU_ENUM_SUBLABEL_MENU_SCALE_FACTOR,
"Applies a global scaling factor when drawing the menu. Can be used to increase or decrease the size of the user interface."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
@ -4192,10 +4192,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
"Menu Shader Pipeline"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
"Menu Scale Factor"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
"Icon Shadows"
@ -6535,15 +6531,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Modify the opacity of the footer graphic."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"The menu normally scales itself dynamically. If you want to set a specific scaling size instead, enable this."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Set the custom scaling size here.\n"
"NOTE: You have to enable 'DPI Override' for this scaling size to take effect."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Save all downloaded files to this directory."

View File

@ -591,10 +591,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE,
"Tải về Core...")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT,
"Tải về nội dung")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
"DPI Override Enable")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
"Kích hoạt DPI Override")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS,
"Trình điều khiển")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DUMMY_ON_CORE_SHUTDOWN,
@ -1821,7 +1817,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED,
"Volcanic Red")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
"Menu Shader Pipeline")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
"Menu Scale Factor")
MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
"Kích hoạt Icon Shadows")
@ -3022,10 +3018,6 @@ MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_HEADER_OPACITY,
"Modify the opacity of the header graphic.")
MSG_HASH(MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY,
"Modify the opacity of the footer graphic.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE,
"The menu normally scales itself dynamically. If you want to set a specific scaling size instead, enable this.")
MSG_HASH(MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE,
"Set the custom scaling size here. NOTE: You have to enable 'DPI Override' for this scaling size to take effect.")
MSG_HASH(MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY,
"Save all downloaded files to this directory.")
MSG_HASH(MENU_ENUM_SUBLABEL_INPUT_REMAPPING_DIRECTORY,

View File

@ -486,6 +486,7 @@ default_sublabel_macro(action_bind_sublabel_ozone_collapse_sidebar,
default_sublabel_macro(action_bind_sublabel_ozone_truncate_playlist_name, MENU_ENUM_SUBLABEL_OZONE_TRUNCATE_PLAYLIST_NAME)
default_sublabel_macro(action_bind_sublabel_ozone_scroll_content_metadata, MENU_ENUM_SUBLABEL_OZONE_SCROLL_CONTENT_METADATA)
default_sublabel_macro(action_bind_sublabel_menu_use_preferred_system_color_theme, MENU_ENUM_SUBLABEL_MENU_USE_PREFERRED_SYSTEM_COLOR_THEME)
default_sublabel_macro(action_bind_sublabel_menu_scale_factor, MENU_ENUM_SUBLABEL_MENU_SCALE_FACTOR)
default_sublabel_macro(action_bind_sublabel_menu_wallpaper_opacity, MENU_ENUM_SUBLABEL_MENU_WALLPAPER_OPACITY)
default_sublabel_macro(action_bind_sublabel_menu_framebuffer_opacity, MENU_ENUM_SUBLABEL_MENU_FRAMEBUFFER_OPACITY)
default_sublabel_macro(action_bind_sublabel_menu_horizontal_animation, MENU_ENUM_SUBLABEL_MENU_HORIZONTAL_ANIMATION)
@ -572,8 +573,6 @@ default_sublabel_macro(action_bind_sublabel_main_menu_enable_settings,
default_sublabel_macro(action_bind_sublabel_rgui_show_start_screen, MENU_ENUM_SUBLABEL_RGUI_SHOW_START_SCREEN)
default_sublabel_macro(action_bind_sublabel_menu_header_opacity, MENU_ENUM_SUBLABEL_MATERIALUI_MENU_HEADER_OPACITY)
default_sublabel_macro(action_bind_sublabel_menu_footer_opacity, MENU_ENUM_SUBLABEL_MATERIALUI_MENU_FOOTER_OPACITY)
default_sublabel_macro(action_bind_sublabel_dpi_override_enable, MENU_ENUM_SUBLABEL_DPI_OVERRIDE_ENABLE)
default_sublabel_macro(action_bind_sublabel_dpi_override_value, MENU_ENUM_SUBLABEL_DPI_OVERRIDE_VALUE)
default_sublabel_macro(action_bind_sublabel_core_assets_directory, MENU_ENUM_SUBLABEL_CORE_ASSETS_DIRECTORY)
default_sublabel_macro(action_bind_sublabel_input_remapping_directory, MENU_ENUM_SUBLABEL_INPUT_REMAPPING_DIRECTORY)
default_sublabel_macro(action_bind_sublabel_core_directory, MENU_ENUM_SUBLABEL_LIBRETRO_DIR_PATH)
@ -1406,12 +1405,6 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_INPUT_REMAPPING_DIRECTORY:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_remapping_directory);
break;
case MENU_ENUM_LABEL_DPI_OVERRIDE_ENABLE:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_dpi_override_enable);
break;
case MENU_ENUM_LABEL_DPI_OVERRIDE_VALUE:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_dpi_override_value);
break;
case MENU_ENUM_LABEL_MATERIALUI_MENU_FOOTER_OPACITY:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_footer_opacity);
break;
@ -1686,6 +1679,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_MENU_XMB_ANIMATION_OPENING_MAIN_MENU:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_xmb_animation_opening_main_menu);
break;
case MENU_ENUM_LABEL_MENU_SCALE_FACTOR:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_scale_factor);
break;
case MENU_ENUM_LABEL_MENU_WALLPAPER_OPACITY:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_wallpaper_opacity);
break;

View File

@ -57,9 +57,11 @@
#include "../../dynamic.h"
/* Global DPI-aware scale factor ==
* (screen DPI) * MUI_DPI_SCALE_COEFF */
#define MUI_DPI_SCALE_COEFF 2.2f
/* Defines the 'device independent pixel' base
* unit reference size for all UI elements.
* 212 px corresponds to the the baseline standard
* 22 inch, 96 DPI display */
#define MUI_DIP_BASE_UNIT_SIZE 212.0f
/* This struct holds the y position and the line height for each menu entry */
typedef struct
@ -152,7 +154,10 @@ typedef struct materialui_handle
bool is_file_list;
bool is_dropdown_list;
float dpi_scale_factor;
unsigned last_width;
unsigned last_height;
float last_scale_factor;
float dip_base_unit_size;
int cursor_size;
@ -649,7 +654,7 @@ static void materialui_compute_entries_box(materialui_handle_t* mui, int width,
lines = materialui_count_lines(wrapped_sublabel_str);
}
node->line_height = (mui->dpi_scale_factor / 3) + (lines * mui->font->size);
node->line_height = (mui->dip_base_unit_size / 3) + (lines * mui->font->size);
node->y = sum;
sum += node->line_height;
}
@ -691,6 +696,9 @@ static float materialui_get_scroll(materialui_handle_t *mui)
return sum - half;
}
static void materialui_context_reset_internal(
materialui_handle_t *mui, bool is_threaded);
/* Called on each frame. We use this callback to:
* - Determine current scroll postion
* - Determine index of first/last onscreen entries
@ -706,10 +714,30 @@ static void materialui_render(void *data,
bool first_entry_found = false;
size_t i;
int bottom;
float scale_factor;
if (!mui || !list)
return;
/* Check whether menu scale factor has changed */
scale_factor = menu_display_get_dpi_scale(width, height);
if (scale_factor != mui->last_scale_factor)
{
mui->dip_base_unit_size = scale_factor * MUI_DIP_BASE_UNIT_SIZE;
materialui_context_reset_internal(mui, video_driver_is_threaded());
mui->last_scale_factor = scale_factor;
}
/* Check whether screen dimensions have changed
* (this can happen without changing the scaling factor,
* and it affects list spacing) */
if ((width != mui->last_width) || (height != mui->last_height))
{
mui->need_compute = true;
mui->last_width = width;
mui->last_height = height;
}
if (mui->need_compute)
{
if (mui->font)
@ -1006,20 +1034,20 @@ static void materialui_render_label_value(
menu_display_draw_text(mui->font2, wrapped_sublabel_str,
mui->margin + icon_margin,
y + (mui->dpi_scale_factor / 4) + mui->font->size,
y + (mui->dip_base_unit_size / 4) + mui->font->size,
width, height, sublabel_color, TEXT_ALIGN_LEFT,
1.0f, false, 0, false);
}
menu_display_draw_text(mui->font, label_str,
ticker_label_x_offset + mui->margin + icon_margin,
y + (mui->dpi_scale_factor / 5),
y + (mui->dip_base_unit_size / 5),
width, height, color, TEXT_ALIGN_LEFT, 1.0f, false, 0, false);
if (do_draw_text)
menu_display_draw_text(mui->font, value_str,
value_x_offset + width - mui->margin,
y + (mui->dpi_scale_factor / 5),
y + (mui->dip_base_unit_size / 5),
width, height, color, TEXT_ALIGN_RIGHT, 1.0f, false, 0, false);
if (texture_switch2)
@ -1027,7 +1055,7 @@ static void materialui_render_label_value(
mui->icon_size,
(uintptr_t)texture_switch2,
0,
y + (mui->dpi_scale_factor / 6) - mui->icon_size/2,
y + (mui->dip_base_unit_size / 6) - mui->icon_size/2,
width,
height,
0,
@ -1050,7 +1078,7 @@ static void materialui_render_label_value(
mui->icon_size,
(uintptr_t)texture_switch,
width - mui->margin - mui->icon_size,
y + (mui->dpi_scale_factor / 6) - mui->icon_size/2,
y + (mui->dip_base_unit_size / 6) - mui->icon_size/2,
width,
height,
0,
@ -1756,20 +1784,22 @@ static void materialui_layout(materialui_handle_t *mui, bool video_is_threaded)
int new_font_size, new_font_size2;
unsigned new_header_height;
new_header_height = mui->dpi_scale_factor / 3;
new_font_size = mui->dpi_scale_factor / 9;
new_font_size2 = mui->dpi_scale_factor / 12;
mui->cursor_size = mui->dip_base_unit_size / 3;
mui->shadow_height = mui->dpi_scale_factor / 36;
mui->scrollbar_width = mui->dpi_scale_factor / 36;
new_header_height = mui->dip_base_unit_size / 3;
new_font_size = mui->dip_base_unit_size / 9;
new_font_size2 = mui->dip_base_unit_size / 12;
mui->shadow_height = mui->dip_base_unit_size / 36;
mui->scrollbar_width = mui->dip_base_unit_size / 36;
mui->tabs_height = 0;
if (materialui_list_get_size(mui, MENU_LIST_PLAIN) == 1)
mui->tabs_height = mui->dpi_scale_factor / 3;
mui->tabs_height = mui->dip_base_unit_size / 3;
mui->line_height = mui->dpi_scale_factor / 3;
mui->margin = mui->dpi_scale_factor / 9;
mui->icon_size = mui->dpi_scale_factor / 3;
mui->line_height = mui->dip_base_unit_size / 3;
mui->margin = mui->dip_base_unit_size / 9;
mui->icon_size = mui->dip_base_unit_size / 3;
/* we assume the average glyph aspect ratio is close to 3:4 */
mui->glyph_width = new_font_size * 3/4;
@ -1777,6 +1807,17 @@ static void materialui_layout(materialui_handle_t *mui, bool video_is_threaded)
menu_display_set_header_height(new_header_height);
if (mui->font)
{
menu_display_font_free(mui->font);
mui->font = NULL;
}
if (mui->font2)
{
menu_display_font_free(mui->font2);
mui->font2 = NULL;
}
mui->font = menu_display_font(
APPLICATION_SPECIAL_DIRECTORY_ASSETS_MATERIALUI_FONT,
new_font_size,
@ -1804,6 +1845,8 @@ static void materialui_layout(materialui_handle_t *mui, bool video_is_threaded)
if (m_width2)
mui->glyph_width2 = m_width2;
}
mui->need_compute = true;
}
static void *materialui_init(void **userdata, bool video_is_threaded)
@ -1826,23 +1869,24 @@ static void *materialui_init(void **userdata, bool video_is_threaded)
*userdata = mui;
/* Get global DPI-aware scale factor
* Note: screen DPI is a physical characteristic.
* It doesn't change, so we only have to do this once. */
/* Get DPI/screen-size-aware base unit size for
* UI elements */
video_driver_get_size(&width, &height);
mui->dpi_scale_factor = menu_display_get_dpi(width, height) * MUI_DPI_SCALE_COEFF;
mui->cursor_size = mui->dpi_scale_factor / 3;
mui->last_width = width;
mui->last_height = height;
mui->last_scale_factor = menu_display_get_dpi_scale(width, height);
mui->dip_base_unit_size = mui->last_scale_factor * MUI_DIP_BASE_UNIT_SIZE;
mui->need_compute = false;
mui->is_playlist = false;
mui->is_file_list = false;
mui->is_dropdown_list = false;
mui->need_compute = false;
mui->is_playlist = false;
mui->is_file_list = false;
mui->is_dropdown_list = false;
mui->first_onscreen_entry = 0;
mui->last_onscreen_entry = 0;
mui->menu_title[0] = '\0';
mui->menu_title[0] = '\0';
return menu;
error:
@ -1884,8 +1928,12 @@ static void materialui_context_destroy(void *data)
for (i = 0; i < MUI_TEXTURE_LAST; i++)
video_driver_texture_unload(&mui->textures.list[i]);
menu_display_font_free(mui->font);
menu_display_font_free(mui->font2);
if (mui->font)
menu_display_font_free(mui->font);
mui->font = NULL;
if (mui->font2)
menu_display_font_free(mui->font2);
mui->font2 = NULL;
materialui_context_bg_destroy(mui);
}
@ -2039,7 +2087,7 @@ static void materialui_populate_entries(
* otherwise it is hidden) */
mui->tabs_height = 0;
if (materialui_list_get_size(mui, MENU_LIST_PLAIN) == 1)
mui->tabs_height = mui->dpi_scale_factor / 3;
mui->tabs_height = mui->dip_base_unit_size / 3;
mui->need_compute = true;
@ -2049,13 +2097,12 @@ static void materialui_populate_entries(
* is acted upon */
}
/* Context reset is called on launch or when a core is launched */
static void materialui_context_reset(void *data, bool is_threaded)
static void materialui_context_reset_internal(
materialui_handle_t *mui, bool is_threaded)
{
materialui_handle_t *mui = (materialui_handle_t*)data;
settings_t *settings = config_get_ptr();
settings_t *settings = config_get_ptr();
if (!mui || !settings)
if (!settings)
return;
materialui_layout(mui, is_threaded);
@ -2067,6 +2114,17 @@ static void materialui_context_reset(void *data, bool is_threaded)
task_push_image_load(settings->paths.path_menu_wallpaper,
video_driver_supports_rgba(), 0,
menu_display_handle_wallpaper_upload, NULL);
}
/* Context reset is called on launch or when a core is launched */
static void materialui_context_reset(void *data, bool is_threaded)
{
materialui_handle_t *mui = (materialui_handle_t*)data;
if (!mui)
return;
materialui_context_reset_internal(mui, is_threaded);
video_driver_monitor_reset();
}
@ -2687,7 +2745,7 @@ static void materialui_list_insert(void *userdata,
return;
}
node->line_height = mui->dpi_scale_factor / 3;
node->line_height = mui->dip_base_unit_size / 3;
node->y = 0;
node->texture_switch_set = false;
node->texture_switch2_set = false;

View File

@ -2811,7 +2811,7 @@ static void stripes_frame(void *data, video_frame_info_t *video_info)
if (!stripes)
return;
scale_factor = (settings->uints.menu_xmb_scale_factor * (float)width) / (1920.0 * 100);
scale_factor = (settings->floats.menu_scale_factor * (float)width) / 1920.0f;
pseudo_font_length = stripes->icon_spacing_horizontal * 4 - stripes->icon_size / 4;
msg[0] = '\0';
@ -3022,7 +3022,7 @@ static void stripes_layout_ps3(stripes_handle_t *stripes, int width, int height)
settings_t *settings = config_get_ptr();
float scale_factor =
(settings->uints.menu_xmb_scale_factor * width) / (1920.0 * 100);
(settings->floats.menu_scale_factor * width) / 1920.0f;
stripes->above_subitem_offset = 1.5;
stripes->above_item_offset = -1.0;
@ -3107,10 +3107,10 @@ static void stripes_layout_psp(stripes_handle_t *stripes, int width)
unsigned new_font_size, new_header_height;
settings_t *settings = config_get_ptr();
float scale_factor =
((settings->uints.menu_xmb_scale_factor * width) / (1920.0 * 100)) * 1.5;
((settings->floats.menu_scale_factor * width) / 1920.0) * 1.5;
#ifdef _3DS
scale_factor =
settings->uints.menu_xmb_scale_factor / 400.0;
settings->floats.menu_scale_factor / 4.0;
#endif
stripes->above_subitem_offset = 1.5;
@ -3248,7 +3248,7 @@ static void *stripes_init(void **userdata, bool video_is_threaded)
stripes_handle_t *stripes = NULL;
settings_t *settings = config_get_ptr();
menu_handle_t *menu = (menu_handle_t*)calloc(1, sizeof(*menu));
float scale_value = settings->uints.menu_xmb_scale_factor;
float scale_value = settings->floats.menu_scale_factor * 100.0f;
/* scaling multiplier formulas made from these values: */
/* stripes_scale 50 = {2.5, 2.5, 2, 1.7, 2.5, 4, 2.4, 2.5} */

View File

@ -3333,7 +3333,7 @@ static void xmb_render(void *data,
if (!xmb)
return;
scale_factor = (settings->uints.menu_xmb_scale_factor * (float)width) / (1920.0 * 100);
scale_factor = (settings->floats.menu_scale_factor * (float)width) / 1920.0f;
if (scale_factor >= 0.1f && scale_factor != xmb->previous_scale_factor)
xmb_context_reset_internal(xmb, video_driver_is_threaded(),
@ -3641,7 +3641,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
if (!xmb)
return;
scale_factor = (settings->uints.menu_xmb_scale_factor * (float)width) / (1920.0 * 100);
scale_factor = (settings->floats.menu_scale_factor * (float)width) / 1920.0f;
thumbnail_scale_factor = ((float)settings->uints.menu_xmb_thumbnail_scale_factor / 100.0f);
pseudo_font_length = xmb->icon_spacing_horizontal * 4 - xmb->icon_size / 4;
@ -4424,7 +4424,7 @@ static void xmb_layout_ps3(xmb_handle_t *xmb, int width)
settings_t *settings = config_get_ptr();
float scale_factor =
(settings->uints.menu_xmb_scale_factor * width) / (1920.0 * 100);
(settings->floats.menu_scale_factor * (float)width) / 1920.0f;
xmb->above_subitem_offset = 1.5;
xmb->above_item_offset = -1.0;
@ -4481,10 +4481,10 @@ static void xmb_layout_psp(xmb_handle_t *xmb, int width)
unsigned new_font_size, new_header_height;
settings_t *settings = config_get_ptr();
float scale_factor =
((settings->uints.menu_xmb_scale_factor * width) / (1920.0 * 100)) * 1.5;
((settings->floats.menu_scale_factor * (float)width) / 1920.0f) * 1.5f;
#ifdef _3DS
scale_factor =
settings->uints.menu_xmb_scale_factor / 400.0;
settings->floats.menu_scale_factor / 4.0f;
#endif
xmb->above_subitem_offset = 1.5;
@ -4685,7 +4685,7 @@ static void *xmb_init(void **userdata, bool video_is_threaded)
xmb_handle_t *xmb = NULL;
settings_t *settings = config_get_ptr();
menu_handle_t *menu = (menu_handle_t*)calloc(1, sizeof(*menu));
float scale_value = settings->uints.menu_xmb_scale_factor;
float scale_value = settings->floats.menu_scale_factor * 100.0f;
/* scaling multiplier formulas made from these values: */
/* xmb_scale 50 = {2.5, 2.5, 2, 1.7, 2.5, 4, 2.4, 2.5} */

View File

@ -5389,6 +5389,7 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct
case DISPLAYLIST_MENU_SETTINGS_LIST:
{
menu_displaylist_build_info_t build_list[] = {
{MENU_ENUM_LABEL_MENU_SCALE_FACTOR, PARSE_ONLY_FLOAT},
{MENU_ENUM_LABEL_MENU_WALLPAPER, PARSE_ONLY_PATH },
{MENU_ENUM_LABEL_DYNAMIC_WALLPAPER, PARSE_ONLY_BOOL },
{MENU_ENUM_LABEL_MENU_WALLPAPER_OPACITY, PARSE_ONLY_FLOAT},
@ -5410,10 +5411,7 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct
{MENU_ENUM_LABEL_MENU_RGUI_SHADOWS, PARSE_ONLY_BOOL},
{MENU_ENUM_LABEL_MENU_RGUI_PARTICLE_EFFECT, PARSE_ONLY_UINT},
{MENU_ENUM_LABEL_MENU_RGUI_PARTICLE_EFFECT_SPEED, PARSE_ONLY_FLOAT},
{MENU_ENUM_LABEL_DPI_OVERRIDE_ENABLE, PARSE_ONLY_BOOL},
{MENU_ENUM_LABEL_DPI_OVERRIDE_VALUE, PARSE_ONLY_UINT},
{MENU_ENUM_LABEL_XMB_ALPHA_FACTOR, PARSE_ONLY_UINT},
{MENU_ENUM_LABEL_XMB_SCALE_FACTOR, PARSE_ONLY_UINT},
{MENU_ENUM_LABEL_XMB_FONT, PARSE_ONLY_PATH},
{MENU_ENUM_LABEL_MENU_FONT_COLOR_RED, PARSE_ONLY_UINT},
{MENU_ENUM_LABEL_MENU_FONT_COLOR_GREEN, PARSE_ONLY_UINT},

View File

@ -75,6 +75,16 @@
#define POWERSTATE_CHECK_INTERVAL (30 * 1000000)
#define DATETIME_CHECK_INTERVAL 1000000
/* Number of pixels corner-to-corner on a 1080p
* display:
* > sqrt((1920 * 1920) + (1080 * 1080))
* Note: This is a double, so no suffix */
#define DIAGONAL_PIXELS_1080P 2202.90717008229831581901
/* Standard reference DPI value, used when determining
* DPI-aware menu scaling factors */
#define REFERENCE_DPI 96.0f
typedef struct menu_ctx_load_image
{
void *data;
@ -2024,26 +2034,174 @@ void menu_display_unset_framebuffer_dirty_flag(void)
menu_display_framebuf_dirty = false;
}
/* Get the preferred DPI at which to render the menu.
* NOTE: Only MaterialUI menu driver so far uses this, neither
* RGUI or XMB use this. */
float menu_display_get_dpi(unsigned width, unsigned height)
float menu_display_get_pixel_scale(unsigned width, unsigned height)
{
float dpi = 0.0f;
settings_t *settings = config_get_ptr();
static unsigned last_width = 0;
static unsigned last_height = 0;
static float scale = 0.0f;
static bool scale_cached = false;
settings_t *settings = config_get_ptr();
/* Use manual override, if set */
if (settings && settings->bools.menu_dpi_override_enable)
return settings->uints.menu_dpi_override_value;
/* We need to perform a square root here, which
* can be slow on some platforms (not *slow*, but
* it involves enough work that it's worth trying
* to optimise). We therefore cache the pixel scale,
* and only update on first run or when the video
* size changes */
if (!scale_cached ||
(width != last_width) ||
(height != last_height))
{
/* Baseline reference is a 1080p display */
scale = (float)(
sqrt((double)((width * width) + (height * height))) /
DIAGONAL_PIXELS_1080P);
/* TODO/FIXME: Implement proper scaling for all platforms */
#ifdef RARCH_MOBILE
dpi = sqrt((width * width) + (height * height)) / 11.0f;
#else
dpi = sqrt((width * width) + (height * height)) / 14.3f;
scale_cached = true;
last_width = width;
last_height = height;
}
/* Apply user scaling factor */
if (settings)
return scale * ((settings->floats.menu_scale_factor > 0.0001f) ?
settings->floats.menu_scale_factor : 1.0f);
return scale;
}
float menu_display_get_dpi_scale(unsigned width, unsigned height)
{
static unsigned last_width = 0;
static unsigned last_height = 0;
static float scale = 0.0f;
static bool scale_cached = false;
settings_t *settings = config_get_ptr();
/* Scale is based on display metrics - these are a fixed
* hardware property. To minimise performance overheads
* we therefore only call video_context_driver_get_metrics()
* on first run, or when the current video resolution changes */
if (!scale_cached ||
(width != last_width) ||
(height != last_height))
{
float diagonal_pixels;
float pixel_scale;
float dpi;
gfx_ctx_metrics_t metrics;
/* Determine the diagonal 'size' of the display
* (or window) in terms of pixels */
diagonal_pixels = (float)sqrt(
(double)((width * width) + (height * height)));
/* Get pixel scale relative to baseline 1080p display */
pixel_scale = diagonal_pixels / DIAGONAL_PIXELS_1080P;
/* Attempt to get display DPI */
metrics.type = DISPLAY_METRIC_DPI;
metrics.value = &dpi;
if (video_context_driver_get_metrics(&metrics) && (dpi > 0.0f))
{
float display_size;
float dpi_scale;
#if defined(ANDROID) || defined(HAVE_COCOATOUCH)
/* Android/iOS devices tell complete lies when
* reporting DPI values. From the Android devices
* I've had access to, the DPI is generally
* overestimated by 17%. All we can do is apply
* a blind correction factor... */
dpi = dpi * 0.83f;
#endif
return dpi;
/* Note: If we are running in windowed mode, this
* 'display size' is actually the window size - which
* kinda makes a mess of everything. Since we cannot
* get fullscreen resolution when running in windowed
* mode, there is nothing we can do about this. So just
* treat the window as a display, and hope for the best... */
display_size = diagonal_pixels / dpi;
dpi_scale = dpi / REFERENCE_DPI;
/* Note: We have tried leveraging every possible metric
* (and numerous studies on TV/monitor/mobile device
* usage habits) to determine an appropriate auto scaling
* factor. *None of these 'smart'/technical methods work
* consistently in the real world* - there is simply too
* much variance.
* So instead we have implemented a very fuzzy/loose
* method which is crude as can be, but actually has
* some semblance of usability... */
if (display_size > 24.0f)
{
/* DPI scaling fails miserably when using large
* displays. Having a UI element that's 1 inch high
* on all screens might seem like a good idea - until
* you realise that a HTPC user is probably sitting
* several metres from their TV, which makes something
* 1 inch high virtually invisible.
* So we make some assumptions:
* - Normal size displays <= 24 inches are probably
* PC monitors, with an eye-to-screen distance of
* 1 arm length. Under these conditions, fixed size
* (DPI scaled) UI elements should be visible for most
* users
* - Large displays > 24 inches start to encroach on
* TV territory. Once we start working with TVs, we
* have to consider users sitting on a couch - and
* in this situation, we fall back to the age-old
* standard of UI elements occupying a fixed fraction
* of the display size (i.e. just look at the menu of
* any console system for the past decade)
* - 24 -> 32 inches is a grey area, where the display
* might be a monitor or a TV. Above 32 inches, a TV
* is almost a certainty. So we simply lerp between
* dpi scaling and pixel scaling as the display size
* increases from 24 to 32 */
float fraction = (display_size > 32.0f) ? 32.0f : display_size;
fraction = fraction - 24.0f;
fraction = fraction / (32.0f - 24.0f);
scale = ((1.0f - fraction) * dpi_scale) + (fraction * pixel_scale);
}
else if (display_size < 12.0f)
{
/* DPI scaling also fails when using very small
* displays - i.e. mobile devices (tablets/phones).
* That 1 inch UI element is going to look pretty
* dumb on a 5 inch screen in landscape orientation...
* We're essentially in the opposite situation to the
* TV case above, and it turns out that a similar
* solution provides relief: as screen size reduces
* from 12 inches to zero, we lerp from dpi scaling
* to pixel scaling */
float fraction = display_size / 12.0f;
scale = ((1.0f - fraction) * pixel_scale) + (fraction * dpi_scale);
}
else
scale = dpi_scale;
}
/* If DPI retrieval is unsupported, all we can do
* is use the raw pixel scale */
else
scale = pixel_scale;
scale_cached = true;
last_width = width;
last_height = height;
}
/* Apply user scaling factor */
if (settings)
return scale * ((settings->floats.menu_scale_factor > 0.0001f) ?
settings->floats.menu_scale_factor : 1.0f);
return scale;
}
bool menu_display_driver_exists(const char *s)

View File

@ -575,7 +575,8 @@ void menu_display_unset_viewport(unsigned width, unsigned height);
bool menu_display_get_framebuffer_dirty_flag(void);
void menu_display_set_framebuffer_dirty_flag(void);
void menu_display_unset_framebuffer_dirty_flag(void);
float menu_display_get_dpi(unsigned width, unsigned height);
float menu_display_get_pixel_scale(unsigned width, unsigned height);
float menu_display_get_dpi_scale(unsigned width, unsigned height);
bool menu_display_init_first_driver(bool video_is_threaded);
bool menu_display_restore_clear_color(void);
void menu_display_clear_color(menu_display_ctx_clearcolor_t *color,

View File

@ -12200,40 +12200,23 @@ static bool setting_append_list(
START_SUB_GROUP(list, list_info, "Display", &group_info, &subgroup_info, parent_group);
if (string_is_equal(settings->arrays.menu_driver, "glui"))
{
/* only GLUI uses these values, don't show
* them on other drivers */
CONFIG_BOOL(
/* Only implemented for GLUI and XMB at present */
if (string_is_equal(settings->arrays.menu_driver, "glui") ||
string_is_equal(settings->arrays.menu_driver, "xmb"))
CONFIG_FLOAT(
list, list_info,
&settings->bools.menu_dpi_override_enable,
MENU_ENUM_LABEL_DPI_OVERRIDE_ENABLE,
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE,
DEFAULT_MENU_DPI_OVERRIDE_ENABLE,
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(
list, list_info,
&settings->uints.menu_dpi_override_value,
MENU_ENUM_LABEL_DPI_OVERRIDE_VALUE,
MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_VALUE,
DEFAULT_MENU_DPI_OVERRIDE_VALUE,
&settings->floats.menu_scale_factor,
MENU_ENUM_LABEL_MENU_SCALE_FACTOR,
MENU_ENUM_LABEL_VALUE_MENU_SCALE_FACTOR,
DEFAULT_MENU_SCALE_FACTOR,
"%.2fx",
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler);
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
(*list)[list_info->index - 1].offset_by = 72;
menu_settings_list_current_add_range(list, list_info, 72, 999, 1, true, true);
}
menu_settings_list_current_add_range(list, list_info, 0.2, 5.0, 0.01, true, true);
#ifdef HAVE_XMB
if (string_is_equal(settings->arrays.menu_driver, "xmb"))
@ -12255,22 +12238,6 @@ static bool setting_append_list(
menu_settings_list_current_add_range(list, list_info, 0, 100, 1, true, true);
SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_LAKKA_ADVANCED);
CONFIG_UINT(
list, list_info,
&settings->uints.menu_xmb_scale_factor,
MENU_ENUM_LABEL_XMB_SCALE_FACTOR,
MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR,
xmb_scale_factor,
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler);
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
(*list)[list_info->index - 1].offset_by = 20;
menu_settings_list_current_add_range(list, list_info, (*list)[list_info->index -1].offset_by, 200, 1, true, true);
SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_LAKKA_ADVANCED);
CONFIG_PATH(
list, list_info,
settings->paths.path_menu_xmb_font,

View File

@ -498,6 +498,7 @@ enum msg_hash_enums
MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN,
MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END = MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN + RARCH_BIND_LIST_END,
MENU_LABEL(MENU_SCALE_FACTOR),
MENU_LABEL(MENU_WALLPAPER_OPACITY),
MENU_LABEL(MENU_FRAMEBUFFER_OPACITY),
MENU_LABEL(MENU_USE_PREFERRED_SYSTEM_COLOR_THEME),
@ -918,7 +919,6 @@ enum msg_hash_enums
MENU_LABEL(SHOW_ADVANCED_SETTINGS),
MENU_LABEL(THREADED_DATA_RUNLOOP_ENABLE),
MENU_LABEL(XMB_ALPHA_FACTOR),
MENU_LABEL(XMB_SCALE_FACTOR),
MENU_LABEL(MENU_FONT_COLOR_RED),
MENU_LABEL(MENU_FONT_COLOR_GREEN),
MENU_LABEL(MENU_FONT_COLOR_BLUE),
@ -1508,8 +1508,6 @@ enum msg_hash_enums
MENU_LABEL(SAVESTATE_THUMBNAIL_ENABLE),
MENU_LABEL(SUSPEND_SCREENSAVER_ENABLE),
MENU_LABEL(DPI_OVERRIDE_ENABLE),
MENU_LABEL(DPI_OVERRIDE_VALUE),
MENU_ENUM_LABEL_VOLUME_UP,
MENU_ENUM_LABEL_VOLUME_DOWN,

View File

@ -13075,19 +13075,41 @@ static void menu_input_set_pointer_visibility(retro_time_t current_time)
static float menu_input_get_dpi(void)
{
gfx_ctx_metrics_t metrics;
float dpi = 0.0f;
menu_handle_t *menu_data = menu_driver_get_ptr();
bool is_rgui =
(menu_data && menu_data->driver_ctx && menu_data->driver_ctx->set_texture);
static unsigned last_video_width = 0;
static unsigned last_video_height = 0;
static float dpi = 0.0f;
static bool dpi_cached = false;
menu_handle_t *menu_data = menu_driver_get_ptr();
bool is_rgui;
/* Regardless of menu driver, need 'actual'
* screen DPI */
metrics.type = DISPLAY_METRIC_DPI;
metrics.value = &dpi;
if (!menu_data)
return 0.0f;
if (!video_context_driver_get_metrics(&metrics))
dpi = 0.0f; /* Ensure a sane value (unnecessary check, but no harm being safe) */
is_rgui = menu_data->driver_ctx && menu_data->driver_ctx->set_texture;
/* Regardless of menu driver, need 'actual' screen DPI
* Note: DPI is a fixed hardware property. To minimise performance
* overheads we therefore only call video_context_driver_get_metrics()
* on first run, or when the current video resolution changes */
if (!dpi_cached ||
(video_driver_width != last_video_width) ||
(video_driver_height != last_video_height))
{
gfx_ctx_metrics_t metrics;
metrics.type = DISPLAY_METRIC_DPI;
metrics.value = &dpi;
/* Note: If video_context_driver_get_metrics() fails,
* we don't know what happened to dpi - so ensure it
* is reset to a sane value */
if (!video_context_driver_get_metrics(&metrics))
dpi = 0.0f;
dpi_cached = true;
last_video_width = video_driver_width;
last_video_height = video_driver_height;
}
/* RGUI uses a framebuffer texture, which means we
* operate in menu space, not screen space.
@ -13098,11 +13120,9 @@ static float menu_input_get_dpi(void)
{
size_t fb_pitch;
unsigned fb_width, fb_height;
struct video_viewport vp;
/* Read display/framebuffer info */
/* Read framebuffer info */
menu_display_get_fb_size(&fb_width, &fb_height, &fb_pitch);
video_driver_get_viewport_info(&vp);
/* Rationale for current 'DPI' determination method:
* - Divide screen height by DPI, to get number of vertical
@ -13111,7 +13131,7 @@ static float menu_input_get_dpi(void)
* '1 inch' squares to get number of menu space pixels
* per inch
* This is crude, but should be sufficient... */
dpi = ((float)fb_height / (float)vp.full_height) * dpi;
return ((float)fb_height / (float)video_driver_height) * dpi;
}
return dpi;