Merge pull request #232 from hex007/better-menus

Better handle Menu width
This commit is contained in:
Jools Wills 2017-08-30 05:35:14 +01:00 committed by GitHub
commit c397492625
2 changed files with 8 additions and 6 deletions

View file

@ -153,7 +153,8 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window, MetaDataList* md, const std::vector
mGrid.setEntry(mButtons, Vector2i(0, 2), true, false);
// resize + center
setSize(Renderer::getScreenWidth() * 0.5f, Renderer::getScreenHeight() * 0.82f);
float width = std::min(Renderer::getScreenHeight(), (unsigned int) (Renderer::getScreenWidth() * 0.90f));
setSize(width, Renderer::getScreenHeight() * 0.82f);
setPosition((Renderer::getScreenWidth() - mSize.x()) / 2, (Renderer::getScreenHeight() - mSize.y()) / 2);
}

View file

@ -8,9 +8,9 @@
using namespace Eigen;
MenuComponent::MenuComponent(Window* window, const char* title, const std::shared_ptr<Font>& titleFont) : GuiComponent(window),
MenuComponent::MenuComponent(Window* window, const char* title, const std::shared_ptr<Font>& titleFont) : GuiComponent(window),
mBackground(window), mGrid(window, Vector2i(1, 3))
{
{
addChild(&mBackground);
addChild(&mGrid);
@ -63,7 +63,8 @@ void MenuComponent::updateSize()
}
}
setSize(Renderer::getScreenWidth() * 0.5f, height);
float width = std::min(Renderer::getScreenHeight(), (unsigned int) (Renderer::getScreenWidth() * 0.90f));
setSize(width, height);
}
void MenuComponent::onSizeChanged()
@ -73,7 +74,7 @@ void MenuComponent::onSizeChanged()
// update grid row/col sizes
mGrid.setRowHeightPerc(0, TITLE_HEIGHT / mSize.y());
mGrid.setRowHeightPerc(2, getButtonGridHeight() / mSize.y());
mGrid.setSize(mSize);
}
@ -117,7 +118,7 @@ std::shared_ptr<ComponentGrid> makeButtonGrid(Window* window, const std::vector<
{
buttonGrid->setColWidthPerc(i, (buttons.at(i)->getSize().x() + BUTTON_GRID_HORIZ_PADDING) / buttonGridWidth);
}
buttonGrid->setSize(buttonGridWidth, buttons.at(0)->getSize().y() + BUTTON_GRID_VERT_PADDING + 2);
buttonGrid->setRowHeightPerc(1, 2 / buttonGrid->getSize().y()); // spacer row to deal with dropshadow to make buttons look centered