// SPDX-License-Identifier: MIT // // EmulationStation Desktop Edition // HelpStyle.cpp // // Style (default colors, position and origin) for the help system. // Also theme handling. // #include "HelpStyle.h" #include "resources/Font.h" HelpStyle::HelpStyle() { position = glm::vec2{Renderer::getScreenWidth() * 0.012f, Renderer::getScreenHeight() * 0.9515f}; origin = glm::vec2{}; iconColor = 0x777777FF; textColor = 0x777777FF; if (FONT_SIZE_SMALL != 0) font = Font::get(FONT_SIZE_SMALL); else font = nullptr; } void HelpStyle::applyTheme(const std::shared_ptr& theme, const std::string& view) { auto elem = theme->getElement(view, "help", "helpsystem"); if (!elem) return; if (elem->has("pos")) position = elem->get("pos") * glm::vec2{static_cast(Renderer::getScreenWidth()), static_cast(Renderer::getScreenHeight())}; if (elem->has("origin")) origin = elem->get("origin"); if (elem->has("textColor")) textColor = elem->get("textColor"); if (elem->has("iconColor")) iconColor = elem->get("iconColor"); if (elem->has("fontPath") || elem->has("fontSize")) font = Font::getFromTheme(elem, ThemeFlags::ALL, font); }