From b56e7560a75b76ba064dd2dafff649a860eade5b Mon Sep 17 00:00:00 2001 From: jules Date: Tue, 23 Jan 2018 14:06:26 +0000 Subject: [PATCH] Added some missing logic to flexbox --- modules/juce_gui_basics/layout/juce_FlexBox.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/juce_gui_basics/layout/juce_FlexBox.cpp b/modules/juce_gui_basics/layout/juce_FlexBox.cpp index 62f4f95340..6163c9a3e5 100644 --- a/modules/juce_gui_basics/layout/juce_FlexBox.cpp +++ b/modules/juce_gui_basics/layout/juce_FlexBox.cpp @@ -386,6 +386,8 @@ struct FlexBoxLayoutCalculation if (isRowDirection) item.setHeightChecked (lineSize - item.item->margin.top - item.item->margin.bottom); + else + item.setWidthChecked (lineSize - item.item->margin.left - item.item->margin.right); } else if (owner.alignItems == FlexBox::AlignItems::flexStart) { @@ -393,11 +395,17 @@ struct FlexBoxLayoutCalculation } else if (owner.alignItems == FlexBox::AlignItems::flexEnd) { - item.lockedMarginTop = lineSize - item.lockedHeight - item.item->margin.bottom; + if (isRowDirection) + item.lockedMarginTop = lineSize - item.lockedHeight - item.item->margin.bottom; + else + item.lockedMarginLeft = lineSize - item.lockedWidth - item.item->margin.right; } else if (owner.alignItems == FlexBox::AlignItems::center) { - item.lockedMarginTop = (lineSize - item.lockedHeight - item.item->margin.top - item.item->margin.bottom) / 2; + if (isRowDirection) + item.lockedMarginTop = (lineSize - item.lockedHeight - item.item->margin.top - item.item->margin.bottom) / 2; + else + item.lockedMarginLeft = (lineSize - item.lockedWidth - item.item->margin.left - item.item->margin.right) / 2; } } }