diff --git a/es-core/src/components/ButtonComponent.cpp b/es-core/src/components/ButtonComponent.cpp index c1c622154..89af804db 100644 --- a/es-core/src/components/ButtonComponent.cpp +++ b/es-core/src/components/ButtonComponent.cpp @@ -55,8 +55,9 @@ void ButtonComponent::setText(const std::string& text, const std::string& helpTe mTextCache = std::unique_ptr<TextCache>(mFont->buildTextCache(mText, 0, 0, getCurTextColor())); - float minWidth = mFont->sizeText("DELETE").x() + 12; - setSize(std::max(mTextCache->metrics.size.x() + 12, minWidth), mTextCache->metrics.size.y()); + float minWidth = mFont->sizeText("DELETE").x() + (12 * Renderer::getScreenWidthModifier()); + setSize(std::max(mTextCache->metrics.size.x() + (12 * Renderer::getScreenWidthModifier()), + minWidth), mTextCache->metrics.size.y()); updateHelpPrompts(); } diff --git a/es-core/src/components/ComponentList.cpp b/es-core/src/components/ComponentList.cpp index a1fa52ad5..071287e3e 100644 --- a/es-core/src/components/ComponentList.cpp +++ b/es-core/src/components/ComponentList.cpp @@ -8,7 +8,7 @@ #include "components/ComponentList.h" -#define TOTAL_HORIZONTAL_PADDING_PX 20 +#define TOTAL_HORIZONTAL_PADDING_PX 20.0f ComponentList::ComponentList(Window* window) : IList<ComponentListRow, void*>(window, LIST_SCROLL_STYLE_SLOW, LIST_NEVER_LOOP) @@ -291,7 +291,8 @@ void ComponentList::render(const Transform4x4f& parentTrans) // Draw separators. float y = 0; for (unsigned int i = 0; i < mEntries.size(); i++) { - Renderer::drawRect(0.0f, y, mSize.x(), 1.0f, 0xC6C7C6FF, 0xC6C7C6FF, false, opacity, trans); + Renderer::drawRect(0.0f, y, mSize.x(), 1.0f * Renderer::getScreenHeightModifier(), + 0xC6C7C6FF, 0xC6C7C6FF, false, opacity, trans); y += getRowHeight(mEntries.at(i).data); } @@ -329,7 +330,7 @@ void ComponentList::updateElementPosition(const ComponentListRow& row) // Assumes updateElementSize has already been called. float rowHeight = getRowHeight(row); - float x = TOTAL_HORIZONTAL_PADDING_PX / 2; + float x = (TOTAL_HORIZONTAL_PADDING_PX * Renderer::getScreenWidthModifier()) / 2; for (unsigned int i = 0; i < row.elements.size(); i++) { const auto comp = row.elements.at(i).component; @@ -341,7 +342,7 @@ void ComponentList::updateElementPosition(const ComponentListRow& row) void ComponentList::updateElementSize(const ComponentListRow& row) { - float width = mSize.x() - TOTAL_HORIZONTAL_PADDING_PX; + float width = mSize.x() - (TOTAL_HORIZONTAL_PADDING_PX * Renderer::getScreenWidthModifier()); std::vector< std::shared_ptr<GuiComponent> > resizeVec; for (auto it = row.elements.cbegin(); it != row.elements.cend(); it++) { diff --git a/es-core/src/components/HelpComponent.cpp b/es-core/src/components/HelpComponent.cpp index b22279ce5..30ff0e363 100644 --- a/es-core/src/components/HelpComponent.cpp +++ b/es-core/src/components/HelpComponent.cpp @@ -90,7 +90,8 @@ void HelpComponent::updateGrid() Utils::String::toUpper(it->second), font, mStyle.textColor); labels.push_back(lbl); - width += icon->getSize().x() + lbl->getSize().x() + ICON_TEXT_SPACING + ENTRY_SPACING; + width += icon->getSize().x() + lbl->getSize().x() + + ((ICON_TEXT_SPACING + ENTRY_SPACING) * Renderer::getScreenWidthModifier()); } mGrid->setSize(width, height); @@ -98,7 +99,8 @@ void HelpComponent::updateGrid() for (unsigned int i = 0; i < icons.size(); i++) { const int col = i*4; mGrid->setColWidthPerc(col, icons.at(i)->getSize().x() / width); - mGrid->setColWidthPerc(col + 1, ICON_TEXT_SPACING / width); + mGrid->setColWidthPerc(col + 1, (ICON_TEXT_SPACING * + Renderer::getScreenWidthModifier()) / width); mGrid->setColWidthPerc(col + 2, labels.at(i)->getSize().x() / width); mGrid->setEntry(icons.at(i), Vector2i(col, 0), false, false); diff --git a/es-core/src/components/MenuComponent.cpp b/es-core/src/components/MenuComponent.cpp index e890a193b..51aa8ce78 100644 --- a/es-core/src/components/MenuComponent.cpp +++ b/es-core/src/components/MenuComponent.cpp @@ -11,8 +11,8 @@ #include "components/ButtonComponent.h" #include "Settings.h" -#define BUTTON_GRID_VERT_PADDING 32 -#define BUTTON_GRID_HORIZ_PADDING 10 +#define BUTTON_GRID_VERT_PADDING 32.0f +#define BUTTON_GRID_HORIZ_PADDING 10.0f #define TITLE_HEIGHT (mTitle->getFont()->getLetterHeight() + TITLE_VERT_PADDING) @@ -74,8 +74,9 @@ void MenuComponent::setTitle(std::string title, const std::shared_ptr<Font>& fon float MenuComponent::getButtonGridHeight() const { - return (mButtonGrid ? mButtonGrid->getSize().y() - : Font::get(FONT_SIZE_MEDIUM)->getHeight() + BUTTON_GRID_VERT_PADDING); + return (mButtonGrid ? mButtonGrid->getSize().y() : + Font::get(FONT_SIZE_MEDIUM)->getHeight() + + (BUTTON_GRID_VERT_PADDING * Renderer::getScreenHeightModifier())); } void MenuComponent::updateSize() @@ -144,18 +145,19 @@ std::shared_ptr<ComponentGrid> makeButtonGrid(Window* window, std::shared_ptr<ComponentGrid> buttonGrid = std::make_shared<ComponentGrid> (window, Vector2i(static_cast<int>(buttons.size()), 2)); - // Initialize to padding. - float buttonGridWidth = static_cast<float>(BUTTON_GRID_HORIZ_PADDING) * buttons.size(); + // Initialize to padding. + float buttonGridWidth = BUTTON_GRID_HORIZ_PADDING * + Renderer::getScreenWidthModifier() * buttons.size(); for (int i = 0; i < static_cast<int>(buttons.size()); i++) { buttonGrid->setEntry(buttons.at(i), Vector2i(i, 0), true, false); buttonGridWidth += buttons.at(i)->getSize().x(); } for (unsigned int i = 0; i < buttons.size(); i++) buttonGrid->setColWidthPerc(i, (buttons.at(i)->getSize().x() + - BUTTON_GRID_HORIZ_PADDING) / buttonGridWidth); + BUTTON_GRID_HORIZ_PADDING * Renderer::getScreenWidthModifier()) / buttonGridWidth); buttonGrid->setSize(buttonGridWidth, buttons.at(0)->getSize().y() + - BUTTON_GRID_VERT_PADDING + 2); + (BUTTON_GRID_VERT_PADDING * Renderer::getScreenHeightModifier()) + 2); // Spacer row to deal with dropshadow to make buttons look centered. buttonGrid->setRowHeightPerc(1, 2 / buttonGrid->getSize().y()); diff --git a/es-core/src/components/ScrollableContainer.cpp b/es-core/src/components/ScrollableContainer.cpp index a58dc4b4e..f4be4a09a 100644 --- a/es-core/src/components/ScrollableContainer.cpp +++ b/es-core/src/components/ScrollableContainer.cpp @@ -26,7 +26,7 @@ ScrollableContainer::ScrollableContainer( { // Set the modifier to get equivalent scrolling speed regardless of screen resolution. // 1080p is the reference. - mResolutionModifier = static_cast<float>(Renderer::getScreenWidth()) / 1920.0f; + mResolutionModifier = Renderer::getScreenWidthModifier(); mAutoScrollResetDelayConstant = AUTO_SCROLL_RESET_DELAY; mAutoScrollDelayConstant = AUTO_SCROLL_DELAY;