/// <summary> /// Group the specified elements. /// </summary> /// <param name="elements">Elements.</param> /// <param name="baseLength">Base length (width or height).</param> /// <param name="layout">Layout.</param> /// <param name="resultedGroup">Result</param> public static void Group(List <LayoutElementInfo> elements, float baseLength, EasyLayout layout, List <List <LayoutElementInfo> > resultedGroup) { if (elements.Count == 0) { return; } if (layout.Stacking == Stackings.Horizontal) { GroupHorizontal(elements, baseLength, layout, resultedGroup); } else { GroupVertical(elements, baseLength, layout, resultedGroup); } var rows = resultedGroup.Count; var columns = rows > 0 ? resultedGroup.Max(x => x.Count) : 0; if ((layout.CompactConstraint == CompactConstraints.MaxRowCount) && (rows > layout.ConstraintCount)) { resultedGroup.Clear(); EasyLayoutGrid.GroupByRows(elements, layout, resultedGroup); } else if ((layout.CompactConstraint == CompactConstraints.MaxColumnCount) && (columns > layout.ConstraintCount)) { resultedGroup.Clear(); EasyLayoutGrid.GroupByColumns(elements, layout, resultedGroup); } }
/// <summary> /// Group the specified uiElements. /// </summary> /// <param name="uiElements">User interface elements.</param> /// <param name="baseLength">Base length (width or size).</param> /// <param name="layout">Layout.</param> /// <param name="resultedGroup">Result</param> public static void Group(List <LayoutElementInfo> uiElements, float baseLength, EasyLayout layout, List <List <LayoutElementInfo> > resultedGroup) { if (layout.GridConstraint == GridConstraints.Flexible) { EasyLayoutGrid.GroupFlexible(uiElements, baseLength, layout, resultedGroup); } else if (layout.GridConstraint == GridConstraints.FixedRowCount) { EasyLayoutGrid.GroupByRows(uiElements, layout, resultedGroup); } else if (layout.GridConstraint == GridConstraints.FixedColumnCount) { EasyLayoutGrid.GroupByColumns(uiElements, layout, resultedGroup); } }