mirror of
https://github.com/stenzek/duckstation.git
synced 2025-06-08 04:25:37 +00:00
FullscreenUI: Make menu item borders optional
This commit is contained in:
parent
5b5eef61d7
commit
def6b76116
@ -738,6 +738,7 @@ bool FullscreenUI::Initialize()
|
|||||||
|
|
||||||
ImGuiFullscreen::SetAnimations(Host::GetBaseBoolSettingValue("Main", "FullscreenUIAnimations", true));
|
ImGuiFullscreen::SetAnimations(Host::GetBaseBoolSettingValue("Main", "FullscreenUIAnimations", true));
|
||||||
ImGuiFullscreen::SetSmoothScrolling(Host::GetBaseBoolSettingValue("Main", "FullscreenUISmoothScrolling", true));
|
ImGuiFullscreen::SetSmoothScrolling(Host::GetBaseBoolSettingValue("Main", "FullscreenUISmoothScrolling", true));
|
||||||
|
ImGuiFullscreen::SetMenuBorders(Host::GetBaseBoolSettingValue("Main", "FullscreenUIMenuBorders", true));
|
||||||
ImGuiFullscreen::UpdateLayoutScale();
|
ImGuiFullscreen::UpdateLayoutScale();
|
||||||
|
|
||||||
if (Host::GetBaseBoolSettingValue("Main", "FullscreenUIDisplayPSIcons", false))
|
if (Host::GetBaseBoolSettingValue("Main", "FullscreenUIDisplayPSIcons", false))
|
||||||
@ -4234,6 +4235,13 @@ void FullscreenUI::DrawInterfaceSettingsPage()
|
|||||||
ImGuiFullscreen::SetSmoothScrolling(bsi->GetBoolValue("Main", "FullscreenUISmoothScrolling", true));
|
ImGuiFullscreen::SetSmoothScrolling(bsi->GetBoolValue("Main", "FullscreenUISmoothScrolling", true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (DrawToggleSetting(bsi, FSUI_ICONVSTR(ICON_FA_BORDER_ALL, "Menu Borders"),
|
||||||
|
FSUI_VSTR("Draws a border around the currently-selected item for readability."), "Main",
|
||||||
|
"FullscreenUIMenuBorders", true))
|
||||||
|
{
|
||||||
|
ImGuiFullscreen::SetMenuBorders(bsi->GetBoolValue("Main", "FullscreenUIMenuBorders", true));
|
||||||
|
}
|
||||||
|
|
||||||
MenuHeading(FSUI_VSTR("Behavior"));
|
MenuHeading(FSUI_VSTR("Behavior"));
|
||||||
|
|
||||||
DrawToggleSetting(
|
DrawToggleSetting(
|
||||||
@ -9271,6 +9279,7 @@ TRANSLATE_NOOP("FullscreenUI", "Downloads covers from a user-specified URL templ
|
|||||||
TRANSLATE_NOOP("FullscreenUI", "Downsamples the rendered image prior to displaying it. Can improve overall image quality in mixed 2D/3D games.");
|
TRANSLATE_NOOP("FullscreenUI", "Downsamples the rendered image prior to displaying it. Can improve overall image quality in mixed 2D/3D games.");
|
||||||
TRANSLATE_NOOP("FullscreenUI", "Downsampling");
|
TRANSLATE_NOOP("FullscreenUI", "Downsampling");
|
||||||
TRANSLATE_NOOP("FullscreenUI", "Downsampling Display Scale");
|
TRANSLATE_NOOP("FullscreenUI", "Downsampling Display Scale");
|
||||||
|
TRANSLATE_NOOP("FullscreenUI", "Draws a border around the currently-selected item for readability.");
|
||||||
TRANSLATE_NOOP("FullscreenUI", "Duck icon by icons8 (https://icons8.com/icon/74847/platforms.undefined.short-title)");
|
TRANSLATE_NOOP("FullscreenUI", "Duck icon by icons8 (https://icons8.com/icon/74847/platforms.undefined.short-title)");
|
||||||
TRANSLATE_NOOP("FullscreenUI", "DuckStation is a free simulator/emulator of the Sony PlayStation(TM) console, focusing on playability, speed, and long-term maintainability.");
|
TRANSLATE_NOOP("FullscreenUI", "DuckStation is a free simulator/emulator of the Sony PlayStation(TM) console, focusing on playability, speed, and long-term maintainability.");
|
||||||
TRANSLATE_NOOP("FullscreenUI", "Dump Replaced Textures");
|
TRANSLATE_NOOP("FullscreenUI", "Dump Replaced Textures");
|
||||||
@ -9449,6 +9458,7 @@ TRANSLATE_NOOP("FullscreenUI", "Memory Card Port {}");
|
|||||||
TRANSLATE_NOOP("FullscreenUI", "Memory Card Settings");
|
TRANSLATE_NOOP("FullscreenUI", "Memory Card Settings");
|
||||||
TRANSLATE_NOOP("FullscreenUI", "Memory Card {} Type");
|
TRANSLATE_NOOP("FullscreenUI", "Memory Card {} Type");
|
||||||
TRANSLATE_NOOP("FullscreenUI", "Menu Background");
|
TRANSLATE_NOOP("FullscreenUI", "Menu Background");
|
||||||
|
TRANSLATE_NOOP("FullscreenUI", "Menu Borders");
|
||||||
TRANSLATE_NOOP("FullscreenUI", "Merge Multi-Disc Games");
|
TRANSLATE_NOOP("FullscreenUI", "Merge Multi-Disc Games");
|
||||||
TRANSLATE_NOOP("FullscreenUI", "Merges multi-disc games into one item in the game list.");
|
TRANSLATE_NOOP("FullscreenUI", "Merges multi-disc games into one item in the game list.");
|
||||||
TRANSLATE_NOOP("FullscreenUI", "Minimal Output Latency");
|
TRANSLATE_NOOP("FullscreenUI", "Minimal Output Latency");
|
||||||
|
@ -328,6 +328,11 @@ void ImGuiFullscreen::SetSmoothScrolling(bool enabled)
|
|||||||
UIStyle.SmoothScrolling = enabled;
|
UIStyle.SmoothScrolling = enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ImGuiFullscreen::SetMenuBorders(bool enabled)
|
||||||
|
{
|
||||||
|
UIStyle.MenuBorders = enabled;
|
||||||
|
}
|
||||||
|
|
||||||
const std::shared_ptr<GPUTexture>& ImGuiFullscreen::GetPlaceholderTexture()
|
const std::shared_ptr<GPUTexture>& ImGuiFullscreen::GetPlaceholderTexture()
|
||||||
{
|
{
|
||||||
return s_state.placeholder_texture;
|
return s_state.placeholder_texture;
|
||||||
@ -1279,7 +1284,7 @@ void ImGuiFullscreen::BeginMenuButtons(u32 num_items /* = 0 */, float y_align /*
|
|||||||
|
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, LayoutScale(x_padding, y_padding));
|
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, LayoutScale(x_padding, y_padding));
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameRounding, 0.0f);
|
ImGui::PushStyleVar(ImGuiStyleVar_FrameRounding, 0.0f);
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, LayoutScale(1.0f));
|
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, LayoutScale(UIStyle.MenuBorders ? 1.0f : 0.0f));
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0.0f, LayoutScale(LAYOUT_MENU_BUTTON_SPACING)));
|
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0.0f, LayoutScale(LAYOUT_MENU_BUTTON_SPACING)));
|
||||||
|
|
||||||
if (y_align != 0.0f)
|
if (y_align != 0.0f)
|
||||||
@ -2303,7 +2308,7 @@ bool ImGuiFullscreen::BeginHorizontalMenu(const char* name, const ImVec2& positi
|
|||||||
|
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(item_padding, item_padding));
|
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(item_padding, item_padding));
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameRounding, 0.0f);
|
ImGui::PushStyleVar(ImGuiStyleVar_FrameRounding, 0.0f);
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, LayoutScale(1.0f));
|
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, LayoutScale(UIStyle.MenuBorders ? 1.0f : 0.0f));
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(item_spacing, 0.0f));
|
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(item_spacing, 0.0f));
|
||||||
|
|
||||||
if (!BeginFullscreenWindow(position, size, name, bg_color, 0.0f, ImVec2()))
|
if (!BeginFullscreenWindow(position, size, name, bg_color, 0.0f, ImVec2()))
|
||||||
|
@ -88,6 +88,7 @@ struct ALIGN_TO_CACHE_LINE UIStyles
|
|||||||
|
|
||||||
bool Animations;
|
bool Animations;
|
||||||
bool SmoothScrolling;
|
bool SmoothScrolling;
|
||||||
|
bool MenuBorders;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern UIStyles UIStyle;
|
extern UIStyles UIStyle;
|
||||||
@ -177,6 +178,7 @@ bool Initialize(const char* placeholder_image_path);
|
|||||||
void SetTheme(std::string_view theme);
|
void SetTheme(std::string_view theme);
|
||||||
void SetAnimations(bool enabled);
|
void SetAnimations(bool enabled);
|
||||||
void SetSmoothScrolling(bool enabled);
|
void SetSmoothScrolling(bool enabled);
|
||||||
|
void SetMenuBorders(bool enabled);
|
||||||
void SetFonts(ImFont* medium_font, ImFont* large_font);
|
void SetFonts(ImFont* medium_font, ImFont* large_font);
|
||||||
bool UpdateLayoutScale();
|
bool UpdateLayoutScale();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user