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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 struct Violation; | 82 struct Violation; |
83 | 83 |
84 // Use an inline capacity of 8, since flexbox containers usually have less t
han 8 children. | 84 // Use an inline capacity of 8, since flexbox containers usually have less t
han 8 children. |
85 typedef Vector<LayoutRect, 8> ChildFrameRects; | 85 typedef Vector<LayoutRect, 8> ChildFrameRects; |
86 | 86 |
87 bool hasOrthogonalFlow(RenderBox* child) const; | 87 bool hasOrthogonalFlow(RenderBox* child) const; |
88 bool isColumnFlow() const; | 88 bool isColumnFlow() const; |
89 bool isLeftToRightFlow() const; | 89 bool isLeftToRightFlow() const; |
90 bool isMultiline() const; | 90 bool isMultiline() const; |
91 Length flexBasisForChild(RenderBox* child) const; | 91 Length flexBasisForChild(RenderBox* child) const; |
92 void setCrossAxisExtent(LayoutUnit); | |
93 LayoutUnit crossAxisExtentForChild(RenderBox* child) const; | 92 LayoutUnit crossAxisExtentForChild(RenderBox* child) const; |
94 LayoutUnit mainAxisExtentForChild(RenderBox* child) const; | 93 LayoutUnit mainAxisExtentForChild(RenderBox* child) const; |
95 LayoutUnit crossAxisExtent() const; | 94 LayoutUnit crossAxisExtent() const; |
96 LayoutUnit mainAxisExtent() const; | 95 LayoutUnit mainAxisExtent() const; |
97 LayoutUnit crossAxisContentExtent() const; | 96 LayoutUnit crossAxisContentExtent() const; |
98 LayoutUnit mainAxisContentExtent(LayoutUnit contentLogicalHeight); | 97 LayoutUnit mainAxisContentExtent(LayoutUnit contentLogicalHeight); |
99 LayoutUnit computeMainAxisExtentForChild(RenderBox* child, SizeType, const L
ength& size); | 98 LayoutUnit computeMainAxisExtentForChild(RenderBox* child, SizeType, const L
ength& size); |
100 WritingMode transformedWritingMode() const; | 99 WritingMode transformedWritingMode() const; |
101 LayoutUnit flowAwareBorderStart() const; | 100 LayoutUnit flowAwareBorderStart() const; |
102 LayoutUnit flowAwareBorderEnd() const; | 101 LayoutUnit flowAwareBorderEnd() const; |
103 LayoutUnit flowAwareBorderBefore() const; | 102 LayoutUnit flowAwareBorderBefore() const; |
104 LayoutUnit flowAwareBorderAfter() const; | 103 LayoutUnit flowAwareBorderAfter() const; |
105 LayoutUnit flowAwarePaddingStart() const; | 104 LayoutUnit flowAwarePaddingStart() const; |
106 LayoutUnit flowAwarePaddingEnd() const; | 105 LayoutUnit flowAwarePaddingEnd() const; |
107 LayoutUnit flowAwarePaddingBefore() const; | 106 LayoutUnit flowAwarePaddingBefore() const; |
108 LayoutUnit flowAwarePaddingAfter() const; | 107 LayoutUnit flowAwarePaddingAfter() const; |
109 LayoutUnit flowAwareMarginStartForChild(RenderBox* child) const; | 108 LayoutUnit flowAwareMarginStartForChild(RenderBox* child) const; |
110 LayoutUnit flowAwareMarginEndForChild(RenderBox* child) const; | 109 LayoutUnit flowAwareMarginEndForChild(RenderBox* child) const; |
111 LayoutUnit flowAwareMarginBeforeForChild(RenderBox* child) const; | 110 LayoutUnit flowAwareMarginBeforeForChild(RenderBox* child) const; |
112 LayoutUnit flowAwareMarginAfterForChild(RenderBox* child) const; | |
113 LayoutUnit crossAxisMarginExtentForChild(RenderBox* child) const; | 111 LayoutUnit crossAxisMarginExtentForChild(RenderBox* child) const; |
114 LayoutUnit crossAxisScrollbarExtent() const; | 112 LayoutUnit crossAxisScrollbarExtent() const; |
115 LayoutPoint flowAwareLocationForChild(RenderBox* child) const; | 113 LayoutPoint flowAwareLocationForChild(RenderBox* child) const; |
116 // FIXME: Supporting layout deltas. | 114 // FIXME: Supporting layout deltas. |
117 void setFlowAwareLocationForChild(RenderBox* child, const LayoutPoint&); | 115 void setFlowAwareLocationForChild(RenderBox* child, const LayoutPoint&); |
118 void adjustAlignmentForChild(RenderBox* child, LayoutUnit); | 116 void adjustAlignmentForChild(RenderBox* child, LayoutUnit); |
119 ItemPosition alignmentForChild(RenderBox* child) const; | 117 ItemPosition alignmentForChild(RenderBox* child) const; |
120 LayoutUnit mainAxisBorderAndPaddingExtentForChild(RenderBox* child) const; | 118 LayoutUnit mainAxisBorderAndPaddingExtentForChild(RenderBox* child) const; |
121 LayoutUnit mainAxisScrollbarExtentForChild(RenderBox* child) const; | |
122 LayoutUnit preferredMainAxisContentExtentForChild(RenderBox* child, bool has
InfiniteLineLength, bool relayoutChildren = false); | 119 LayoutUnit preferredMainAxisContentExtentForChild(RenderBox* child, bool has
InfiniteLineLength, bool relayoutChildren = false); |
123 bool childPreferredMainAxisContentExtentRequiresLayout(RenderBox* child, boo
l hasInfiniteLineLength) const; | 120 bool childPreferredMainAxisContentExtentRequiresLayout(RenderBox* child, boo
l hasInfiniteLineLength) const; |
124 | 121 |
125 void layoutFlexItems(bool relayoutChildren); | 122 void layoutFlexItems(bool relayoutChildren); |
126 LayoutUnit autoMarginOffsetInMainAxis(const OrderedFlexItemList&, LayoutUnit
& availableFreeSpace); | 123 LayoutUnit autoMarginOffsetInMainAxis(const OrderedFlexItemList&, LayoutUnit
& availableFreeSpace); |
127 void updateAutoMarginsInMainAxis(RenderBox* child, LayoutUnit autoMarginOffs
et); | 124 void updateAutoMarginsInMainAxis(RenderBox* child, LayoutUnit autoMarginOffs
et); |
128 bool hasAutoMarginsInCrossAxis(RenderBox* child) const; | 125 bool hasAutoMarginsInCrossAxis(RenderBox* child) const; |
129 bool updateAutoMarginsInCrossAxis(RenderBox* child, LayoutUnit availableAlig
nmentSpace); | 126 bool updateAutoMarginsInCrossAxis(RenderBox* child, LayoutUnit availableAlig
nmentSpace); |
130 void repositionLogicalHeightDependentFlexItems(Vector<LineContext>&); | 127 void repositionLogicalHeightDependentFlexItems(Vector<LineContext>&); |
131 LayoutUnit clientLogicalBottomAfterRepositioning(); | 128 LayoutUnit clientLogicalBottomAfterRepositioning(); |
(...skipping 29 matching lines...) Expand all Loading... |
161 | 158 |
162 mutable OrderIterator m_orderIterator; | 159 mutable OrderIterator m_orderIterator; |
163 int m_numberOfInFlowChildrenOnFirstLine; | 160 int m_numberOfInFlowChildrenOnFirstLine; |
164 }; | 161 }; |
165 | 162 |
166 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderFlexibleBox, isFlexibleBox()); | 163 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderFlexibleBox, isFlexibleBox()); |
167 | 164 |
168 } // namespace WebCore | 165 } // namespace WebCore |
169 | 166 |
170 #endif // RenderFlexibleBox_h | 167 #endif // RenderFlexibleBox_h |
OLD | NEW |