OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 struct LineContext; | 89 struct LineContext; |
90 struct Violation; | 90 struct Violation; |
91 | 91 |
92 // Use an inline capacity of 8, since flexbox containers usually have less t
han 8 children. | 92 // Use an inline capacity of 8, since flexbox containers usually have less t
han 8 children. |
93 typedef Vector<LayoutRect, 8> ChildFrameRects; | 93 typedef Vector<LayoutRect, 8> ChildFrameRects; |
94 | 94 |
95 bool hasOrthogonalFlow(LayoutBox& child) const; | 95 bool hasOrthogonalFlow(LayoutBox& child) const; |
96 bool isColumnFlow() const; | 96 bool isColumnFlow() const; |
97 bool isLeftToRightFlow() const; | 97 bool isLeftToRightFlow() const; |
98 bool isMultiline() const; | 98 bool isMultiline() const; |
99 Length flexBasisForChild(LayoutBox& child) const; | 99 Length flexBasisForChild(const LayoutBox& child) const; |
100 LayoutUnit crossAxisExtentForChild(LayoutBox& child) const; | 100 LayoutUnit crossAxisExtentForChild(LayoutBox& child) const; |
101 LayoutUnit crossAxisIntrinsicExtentForChild(LayoutBox& child) const; | 101 LayoutUnit crossAxisIntrinsicExtentForChild(LayoutBox& child) const; |
102 LayoutUnit childIntrinsicHeight(LayoutBox& child) const; | 102 LayoutUnit childIntrinsicHeight(LayoutBox& child) const; |
103 LayoutUnit childIntrinsicWidth(LayoutBox& child) const; | 103 LayoutUnit childIntrinsicWidth(LayoutBox& child) const; |
104 LayoutUnit mainAxisExtentForChild(LayoutBox& child) const; | 104 LayoutUnit mainAxisExtentForChild(LayoutBox& child) const; |
105 LayoutUnit crossAxisExtent() const; | 105 LayoutUnit crossAxisExtent() const; |
106 LayoutUnit mainAxisExtent() const; | 106 LayoutUnit mainAxisExtent() const; |
107 LayoutUnit crossAxisContentExtent() const; | 107 LayoutUnit crossAxisContentExtent() const; |
108 LayoutUnit mainAxisContentExtent(LayoutUnit contentLogicalHeight); | 108 LayoutUnit mainAxisContentExtent(LayoutUnit contentLogicalHeight); |
109 LayoutUnit computeMainAxisExtentForChild(LayoutBox& child, SizeType, const L
ength& size); | 109 LayoutUnit computeMainAxisExtentForChild(LayoutBox& child, SizeType, const L
ength& size); |
(...skipping 15 matching lines...) Expand all Loading... |
125 LayoutPoint flowAwareLocationForChild(LayoutBox& child) const; | 125 LayoutPoint flowAwareLocationForChild(LayoutBox& child) const; |
126 // FIXME: Supporting layout deltas. | 126 // FIXME: Supporting layout deltas. |
127 void setFlowAwareLocationForChild(LayoutBox& child, const LayoutPoint&); | 127 void setFlowAwareLocationForChild(LayoutBox& child, const LayoutPoint&); |
128 void adjustAlignmentForChild(LayoutBox& child, LayoutUnit); | 128 void adjustAlignmentForChild(LayoutBox& child, LayoutUnit); |
129 ItemPosition alignmentForChild(LayoutBox& child) const; | 129 ItemPosition alignmentForChild(LayoutBox& child) const; |
130 LayoutUnit mainAxisBorderAndPaddingExtentForChild(LayoutBox& child) const; | 130 LayoutUnit mainAxisBorderAndPaddingExtentForChild(LayoutBox& child) const; |
131 LayoutUnit computeInnerFlexBaseSizeForChild(LayoutBox& child, ChildLayoutTyp
e = LayoutIfNeeded); | 131 LayoutUnit computeInnerFlexBaseSizeForChild(LayoutBox& child, ChildLayoutTyp
e = LayoutIfNeeded); |
132 bool mainAxisLengthIsDefinite(LayoutBox& child, const Length& flexBasis) con
st; | 132 bool mainAxisLengthIsDefinite(LayoutBox& child, const Length& flexBasis) con
st; |
133 bool childFlexBaseSizeRequiresLayout(LayoutBox& child) const; | 133 bool childFlexBaseSizeRequiresLayout(LayoutBox& child) const; |
134 bool needToStretchChildLogicalHeight(LayoutBox& child) const; | 134 bool needToStretchChildLogicalHeight(LayoutBox& child) const; |
| 135 bool childHasIntrinsicMainAxisSize(const LayoutBox& child) const; |
135 EOverflow mainAxisOverflowForChild(LayoutBox& child) const; | 136 EOverflow mainAxisOverflowForChild(LayoutBox& child) const; |
| 137 EOverflow crossAxisOverflowForChild(LayoutBox& child) const; |
136 | 138 |
137 void layoutFlexItems(bool relayoutChildren, SubtreeLayoutScope&); | 139 void layoutFlexItems(bool relayoutChildren, SubtreeLayoutScope&); |
138 LayoutUnit autoMarginOffsetInMainAxis(const OrderedFlexItemList&, LayoutUnit
& availableFreeSpace); | 140 LayoutUnit autoMarginOffsetInMainAxis(const OrderedFlexItemList&, LayoutUnit
& availableFreeSpace); |
139 void updateAutoMarginsInMainAxis(LayoutBox& child, LayoutUnit autoMarginOffs
et); | 141 void updateAutoMarginsInMainAxis(LayoutBox& child, LayoutUnit autoMarginOffs
et); |
140 bool hasAutoMarginsInCrossAxis(LayoutBox& child) const; | 142 bool hasAutoMarginsInCrossAxis(LayoutBox& child) const; |
141 bool updateAutoMarginsInCrossAxis(LayoutBox& child, LayoutUnit availableAlig
nmentSpace); | 143 bool updateAutoMarginsInCrossAxis(LayoutBox& child, LayoutUnit availableAlig
nmentSpace); |
142 void repositionLogicalHeightDependentFlexItems(Vector<LineContext>&); | 144 void repositionLogicalHeightDependentFlexItems(Vector<LineContext>&); |
143 LayoutUnit clientLogicalBottomAfterRepositioning(); | 145 LayoutUnit clientLogicalBottomAfterRepositioning(); |
144 | 146 |
145 LayoutUnit availableAlignmentSpaceForChild(LayoutUnit lineCrossAxisExtent, L
ayoutBox& child); | 147 LayoutUnit availableAlignmentSpaceForChild(LayoutUnit lineCrossAxisExtent, L
ayoutBox& child); |
(...skipping 28 matching lines...) Expand all Loading... |
174 | 176 |
175 mutable OrderIterator m_orderIterator; | 177 mutable OrderIterator m_orderIterator; |
176 int m_numberOfInFlowChildrenOnFirstLine; | 178 int m_numberOfInFlowChildrenOnFirstLine; |
177 }; | 179 }; |
178 | 180 |
179 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutFlexibleBox, isFlexibleBox()); | 181 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutFlexibleBox, isFlexibleBox()); |
180 | 182 |
181 } // namespace blink | 183 } // namespace blink |
182 | 184 |
183 #endif // LayoutFlexibleBox_h | 185 #endif // LayoutFlexibleBox_h |
OLD | NEW |