Esempio n. 1
0
        /// <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);
            }
        }
Esempio n. 2
0
 /// <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);
     }
 }