diff --git a/es-core/src/HelpStyle.cpp b/es-core/src/HelpStyle.cpp deleted file mode 100644 index 13e91c77d..000000000 --- a/es-core/src/HelpStyle.cpp +++ /dev/null @@ -1,210 +0,0 @@ -// SPDX-License-Identifier: MIT -// -// ES-DE Frontend -// HelpStyle.cpp -// -// Style (colors, position, icons etc.) for the help system. -// - -#include "HelpStyle.h" - -#include "resources/Font.h" - -#define PREFIX "button_" - -HelpStyle::HelpStyle() - : position {Renderer::getScreenWidth() * 0.012f, - Renderer::getScreenHeight() * - (Renderer::getIsVerticalOrientation() ? 0.975f : 0.9515f)} - , positionDimmed {position} - , origin {glm::vec2 {0.0f, 0.0f}} - , originDimmed {origin} - , textColor {0x777777FF} - , textColorDimmed {0x777777FF} - , iconColor {0x777777FF} - , iconColorDimmed {0x777777FF} - , font {Renderer::getIsVerticalOrientation() ? Font::get(0.025f * Renderer::getScreenWidth()) : - Font::get(FONT_SIZE_SMALL)} - , fontDimmed {Renderer::getIsVerticalOrientation() ? - Font::get(0.025f * Renderer::getScreenWidth()) : - Font::get(FONT_SIZE_SMALL)} - , entrySpacing {0.00833f} - , entrySpacingDimmed {entrySpacing} - , iconTextSpacing {0.00416f} - , iconTextSpacingDimmed {iconTextSpacing} - , opacity {1.0f} - , opacityDimmed {opacity} - , letterCase {"uppercase"} -{ -} - -void HelpStyle::applyTheme(const std::shared_ptr& theme, const std::string& view) -{ - auto elem = theme->getElement(view, "helpsystem_help", "helpsystem"); - if (!elem) - return; - - if (elem->has("pos")) - position = elem->get("pos") * - glm::vec2 {Renderer::getScreenWidth(), Renderer::getScreenHeight()}; - - if (elem->has("posDimmed")) - positionDimmed = elem->get("posDimmed") * - glm::vec2 {Renderer::getScreenWidth(), Renderer::getScreenHeight()}; - else - positionDimmed = position; - - if (elem->has("origin")) - origin = elem->get("origin"); - - if (elem->has("originDimmed")) - originDimmed = elem->get("originDimmed"); - else - originDimmed = origin; - - if (elem->has("textColor")) - textColor = elem->get("textColor"); - - if (elem->has("textColorDimmed")) - textColorDimmed = elem->get("textColorDimmed"); - else - textColorDimmed = textColor; - - if (elem->has("iconColor")) - iconColor = elem->get("iconColor"); - - if (elem->has("iconColorDimmed")) - iconColorDimmed = elem->get("iconColorDimmed"); - else - iconColorDimmed = iconColor; - - if (elem->has("fontPath") || elem->has("fontSize")) { - font = Font::getFromTheme(elem, ThemeFlags::ALL, font); - if (!elem->has("fontSizeDimmed")) - fontDimmed = Font::getFromTheme(elem, ThemeFlags::ALL, font); - } - - if (elem->has("fontSizeDimmed")) - fontDimmed = Font::getFromTheme(elem, ThemeFlags::ALL, font, 0.0f, 1.0f, true); - - if (elem->has("entrySpacing")) - entrySpacing = glm::clamp(elem->get("entrySpacing"), 0.0f, 0.04f); - - if (elem->has("entrySpacingDimmed")) - entrySpacingDimmed = glm::clamp(elem->get("entrySpacingDimmed"), 0.0f, 0.04f); - else - entrySpacingDimmed = entrySpacing; - - if (elem->has("iconTextSpacing")) - iconTextSpacing = glm::clamp(elem->get("iconTextSpacing"), 0.0f, 0.04f); - - if (elem->has("iconTextSpacingDimmed")) - iconTextSpacingDimmed = glm::clamp(elem->get("iconTextSpacingDimmed"), 0.0f, 0.04f); - else - iconTextSpacingDimmed = iconTextSpacing; - - if (elem->has("letterCase")) - letterCase = elem->get("letterCase"); - - if (elem->has("opacity")) - opacity = glm::clamp(elem->get("opacity"), 0.2f, 1.0f); - - if (elem->has("opacityDimmed")) - opacityDimmed = glm::clamp(elem->get("opacityDimmed"), 0.2f, 1.0f); - else - opacityDimmed = opacity; - - // Load custom button icons. - // The names may look a bit strange when combined with the PREFIX string "button_" but it's - // because ThemeData adds this prefix to avoid name collisions when using XML attributes. - - // General. - if (elem->has(PREFIX "dpad_updown")) - mCustomButtons.dpad_updown = elem->get(PREFIX "dpad_updown"); - if (elem->has(PREFIX "dpad_leftright")) - mCustomButtons.dpad_leftright = elem->get(PREFIX "dpad_leftright"); - if (elem->has(PREFIX "dpad_all")) - mCustomButtons.dpad_all = elem->get(PREFIX "dpad_all"); - if (elem->has(PREFIX "thumbstick_click")) - mCustomButtons.thumbstick_click = elem->get(PREFIX "thumbstick_click"); - if (elem->has(PREFIX "button_l")) - mCustomButtons.button_l = elem->get(PREFIX "button_l"); - if (elem->has(PREFIX "button_r")) - mCustomButtons.button_r = elem->get(PREFIX "button_r"); - if (elem->has(PREFIX "button_lr")) - mCustomButtons.button_lr = elem->get(PREFIX "button_lr"); - if (elem->has(PREFIX "button_lt")) - mCustomButtons.button_lt = elem->get(PREFIX "button_lt"); - if (elem->has(PREFIX "button_rt")) - mCustomButtons.button_rt = elem->get(PREFIX "button_rt"); - if (elem->has(PREFIX "button_ltrt")) - mCustomButtons.button_ltrt = elem->get(PREFIX "button_ltrt"); - - // SNES. - if (elem->has(PREFIX "button_a_SNES")) - mCustomButtons.button_a_SNES = elem->get(PREFIX "button_a_SNES"); - if (elem->has(PREFIX "button_b_SNES")) - mCustomButtons.button_b_SNES = elem->get(PREFIX "button_b_SNES"); - if (elem->has(PREFIX "button_x_SNES")) - mCustomButtons.button_x_SNES = elem->get(PREFIX "button_x_SNES"); - if (elem->has(PREFIX "button_y_SNES")) - mCustomButtons.button_y_SNES = elem->get(PREFIX "button_y_SNES"); - if (elem->has(PREFIX "button_back_SNES")) - mCustomButtons.button_back_SNES = elem->get(PREFIX "button_back_SNES"); - if (elem->has(PREFIX "button_start_SNES")) - mCustomButtons.button_start_SNES = elem->get(PREFIX "button_start_SNES"); - - // Switch Pro. - if (elem->has(PREFIX "button_a_switch")) - mCustomButtons.button_a_switch = elem->get(PREFIX "button_a_switch"); - if (elem->has(PREFIX "button_b_switch")) - mCustomButtons.button_b_switch = elem->get(PREFIX "button_b_switch"); - if (elem->has(PREFIX "button_x_switch")) - mCustomButtons.button_x_switch = elem->get(PREFIX "button_x_switch"); - if (elem->has(PREFIX "button_y_switch")) - mCustomButtons.button_y_switch = elem->get(PREFIX "button_y_switch"); - if (elem->has(PREFIX "button_back_switch")) - mCustomButtons.button_back_switch = elem->get(PREFIX "button_back_switch"); - if (elem->has(PREFIX "button_start_switch")) - mCustomButtons.button_start_switch = elem->get(PREFIX "button_start_switch"); - - // PlayStation. - if (elem->has(PREFIX "button_a_PS")) - mCustomButtons.button_a_PS = elem->get(PREFIX "button_a_PS"); - if (elem->has(PREFIX "button_b_PS")) - mCustomButtons.button_b_PS = elem->get(PREFIX "button_b_PS"); - if (elem->has(PREFIX "button_x_PS")) - mCustomButtons.button_x_PS = elem->get(PREFIX "button_x_PS"); - if (elem->has(PREFIX "button_y_PS")) - mCustomButtons.button_y_PS = elem->get(PREFIX "button_y_PS"); - if (elem->has(PREFIX "button_back_PS123")) - mCustomButtons.button_back_PS123 = elem->get(PREFIX "button_back_PS123"); - if (elem->has(PREFIX "button_start_PS123")) - mCustomButtons.button_start_PS123 = elem->get(PREFIX "button_start_PS123"); - if (elem->has(PREFIX "button_back_PS4")) - mCustomButtons.button_back_PS4 = elem->get(PREFIX "button_back_PS4"); - if (elem->has(PREFIX "button_start_PS4")) - mCustomButtons.button_start_PS4 = elem->get(PREFIX "button_start_PS4"); - if (elem->has(PREFIX "button_back_PS5")) - mCustomButtons.button_back_PS5 = elem->get(PREFIX "button_back_PS5"); - if (elem->has(PREFIX "button_start_PS5")) - mCustomButtons.button_start_PS5 = elem->get(PREFIX "button_start_PS5"); - - // XBOX. - if (elem->has(PREFIX "button_a_XBOX")) - mCustomButtons.button_a_XBOX = elem->get(PREFIX "button_a_XBOX"); - if (elem->has(PREFIX "button_b_XBOX")) - mCustomButtons.button_b_XBOX = elem->get(PREFIX "button_b_XBOX"); - if (elem->has(PREFIX "button_x_XBOX")) - mCustomButtons.button_x_XBOX = elem->get(PREFIX "button_x_XBOX"); - if (elem->has(PREFIX "button_y_XBOX")) - mCustomButtons.button_y_XBOX = elem->get(PREFIX "button_y_XBOX"); - if (elem->has(PREFIX "button_back_XBOX")) - mCustomButtons.button_back_XBOX = elem->get(PREFIX "button_back_XBOX"); - if (elem->has(PREFIX "button_start_XBOX")) - mCustomButtons.button_start_XBOX = elem->get(PREFIX "button_start_XBOX"); - if (elem->has(PREFIX "button_back_XBOX360")) - mCustomButtons.button_back_XBOX360 = elem->get(PREFIX "button_back_XBOX360"); - if (elem->has(PREFIX "button_start_XBOX360")) - mCustomButtons.button_start_XBOX360 = elem->get(PREFIX "button_start_XBOX360"); -} diff --git a/es-core/src/HelpStyle.h b/es-core/src/HelpStyle.h deleted file mode 100644 index 8cbca7dac..000000000 --- a/es-core/src/HelpStyle.h +++ /dev/null @@ -1,99 +0,0 @@ -// SPDX-License-Identifier: MIT -// -// ES-DE Frontend -// HelpStyle.h -// -// Style (colors, position, icons etc.) for the help system. -// - -#ifndef ES_CORE_HELP_STYLE_H -#define ES_CORE_HELP_STYLE_H - -#include "utils/MathUtil.h" - -#include -#include - -class Font; -class ThemeData; - -struct HelpStyle { - glm::vec2 position; - glm::vec2 positionDimmed; - glm::vec2 origin; - glm::vec2 originDimmed; - unsigned int textColor; - unsigned int textColorDimmed; - unsigned int iconColor; - unsigned int iconColorDimmed; - std::shared_ptr font; - std::shared_ptr fontDimmed; - float entrySpacing; - float entrySpacingDimmed; - float iconTextSpacing; - float iconTextSpacingDimmed; - float opacity; - float opacityDimmed; - std::string letterCase; - - struct CustomButtonIcons { - // Generic - std::string dpad_updown; - std::string dpad_up; - std::string dpad_down; - std::string dpad_leftright; - std::string dpad_all; - std::string thumbstick_click; - std::string button_l; - std::string button_r; - std::string button_lr; - std::string button_lt; - std::string button_rt; - std::string button_ltrt; - - // SNES - std::string button_a_SNES; - std::string button_b_SNES; - std::string button_x_SNES; - std::string button_y_SNES; - std::string button_back_SNES; - std::string button_start_SNES; - - // Switch Pro - std::string button_a_switch; - std::string button_b_switch; - std::string button_x_switch; - std::string button_y_switch; - std::string button_back_switch; - std::string button_start_switch; - - // PlayStation - std::string button_a_PS; - std::string button_b_PS; - std::string button_x_PS; - std::string button_y_PS; - std::string button_back_PS123; - std::string button_start_PS123; - std::string button_back_PS4; - std::string button_start_PS4; - std::string button_back_PS5; - std::string button_start_PS5; - - // XBOX - std::string button_a_XBOX; - std::string button_b_XBOX; - std::string button_x_XBOX; - std::string button_y_XBOX; - std::string button_back_XBOX; - std::string button_start_XBOX; - std::string button_back_XBOX360; - std::string button_start_XBOX360; - }; - - CustomButtonIcons mCustomButtons; - - HelpStyle(); - void applyTheme(const std::shared_ptr& theme, const std::string& view); -}; - -#endif // ES_CORE_HELP_STYLE_H