| 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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 LayoutUnit crossAxisScrollbarExtent() const; | 115 LayoutUnit crossAxisScrollbarExtent() const; |
| 116 LayoutPoint flowAwareLocationForChild(RenderBox* child) const; | 116 LayoutPoint flowAwareLocationForChild(RenderBox* child) const; |
| 117 // FIXME: Supporting layout deltas. | 117 // FIXME: Supporting layout deltas. |
| 118 void setFlowAwareLocationForChild(RenderBox* child, const LayoutPoint&); | 118 void setFlowAwareLocationForChild(RenderBox* child, const LayoutPoint&); |
| 119 void adjustAlignmentForChild(RenderBox* child, LayoutUnit); | 119 void adjustAlignmentForChild(RenderBox* child, LayoutUnit); |
| 120 ItemPosition alignmentForChild(RenderBox* child) const; | 120 ItemPosition alignmentForChild(RenderBox* child) const; |
| 121 LayoutUnit mainAxisBorderAndPaddingExtentForChild(RenderBox* child) const; | 121 LayoutUnit mainAxisBorderAndPaddingExtentForChild(RenderBox* child) const; |
| 122 LayoutUnit preferredMainAxisContentExtentForChild(RenderBox* child, bool has
InfiniteLineLength, bool relayoutChildren = false); | 122 LayoutUnit preferredMainAxisContentExtentForChild(RenderBox* child, bool has
InfiniteLineLength, bool relayoutChildren = false); |
| 123 bool childPreferredMainAxisContentExtentRequiresLayout(RenderBox* child, boo
l hasInfiniteLineLength) const; | 123 bool childPreferredMainAxisContentExtentRequiresLayout(RenderBox* child, boo
l hasInfiniteLineLength) const; |
| 124 bool needToStretchChildLogicalHeight(RenderBox* child) const; | 124 bool needToStretchChildLogicalHeight(RenderBox* child) const; |
| 125 bool childHasFiniteCrossSize(RenderBox* child) const; |
| 125 | 126 |
| 126 void layoutFlexItems(bool relayoutChildren); | 127 void layoutFlexItems(bool relayoutChildren); |
| 127 LayoutUnit autoMarginOffsetInMainAxis(const OrderedFlexItemList&, LayoutUnit
& availableFreeSpace); | 128 LayoutUnit autoMarginOffsetInMainAxis(const OrderedFlexItemList&, LayoutUnit
& availableFreeSpace); |
| 128 void updateAutoMarginsInMainAxis(RenderBox* child, LayoutUnit autoMarginOffs
et); | 129 void updateAutoMarginsInMainAxis(RenderBox* child, LayoutUnit autoMarginOffs
et); |
| 129 bool hasAutoMarginsInCrossAxis(RenderBox* child) const; | 130 bool hasAutoMarginsInCrossAxis(RenderBox* child) const; |
| 130 bool updateAutoMarginsInCrossAxis(RenderBox* child, LayoutUnit availableAlig
nmentSpace); | 131 bool updateAutoMarginsInCrossAxis(RenderBox* child, LayoutUnit availableAlig
nmentSpace); |
| 131 void repositionLogicalHeightDependentFlexItems(Vector<LineContext>&); | 132 void repositionLogicalHeightDependentFlexItems(Vector<LineContext>&); |
| 132 LayoutUnit clientLogicalBottomAfterRepositioning(); | 133 LayoutUnit clientLogicalBottomAfterRepositioning(); |
| 133 void appendChildFrameRects(ChildFrameRects&); | 134 void appendChildFrameRects(ChildFrameRects&); |
| 134 | 135 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 147 | 148 |
| 148 void resetAutoMarginsAndLogicalTopInCrossAxis(RenderBox*); | 149 void resetAutoMarginsAndLogicalTopInCrossAxis(RenderBox*); |
| 149 void setLogicalOverrideSize(RenderBox* child, LayoutUnit childPreferredSize)
; | 150 void setLogicalOverrideSize(RenderBox* child, LayoutUnit childPreferredSize)
; |
| 150 void prepareChildForPositionedLayout(RenderBox* child, LayoutUnit mainAxisOf
fset, LayoutUnit crossAxisOffset, PositionedLayoutMode); | 151 void prepareChildForPositionedLayout(RenderBox* child, LayoutUnit mainAxisOf
fset, LayoutUnit crossAxisOffset, PositionedLayoutMode); |
| 151 size_t numberOfInFlowPositionedChildren(const OrderedFlexItemList&) const; | 152 size_t numberOfInFlowPositionedChildren(const OrderedFlexItemList&) const; |
| 152 void layoutAndPlaceChildren(LayoutUnit& crossAxisOffset, const OrderedFlexIt
emList&, const Vector<LayoutUnit, 16>& childSizes, LayoutUnit availableFreeSpace
, bool relayoutChildren, Vector<LineContext>&, bool hasInfiniteLineLength); | 153 void layoutAndPlaceChildren(LayoutUnit& crossAxisOffset, const OrderedFlexIt
emList&, const Vector<LayoutUnit, 16>& childSizes, LayoutUnit availableFreeSpace
, bool relayoutChildren, Vector<LineContext>&, bool hasInfiniteLineLength); |
| 153 void layoutColumnReverse(const OrderedFlexItemList&, LayoutUnit crossAxisOff
set, LayoutUnit availableFreeSpace); | 154 void layoutColumnReverse(const OrderedFlexItemList&, LayoutUnit crossAxisOff
set, LayoutUnit availableFreeSpace); |
| 154 void alignFlexLines(Vector<LineContext>&); | 155 void alignFlexLines(Vector<LineContext>&); |
| 155 void alignChildren(const Vector<LineContext>&); | 156 void alignChildren(const Vector<LineContext>&); |
| 156 void applyStretchAlignmentToChild(RenderBox*, LayoutUnit lineCrossAxisExtent
); | 157 void applyStretchAlignmentToChild(RenderBox*, LayoutUnit lineCrossAxisExtent
); |
| 158 void computeAspectRatioOfChild(RenderBox* child, double& aspectRatio, bool&
hasAspectRatio); |
| 157 void flipForRightToLeftColumn(); | 159 void flipForRightToLeftColumn(); |
| 158 void flipForWrapReverse(const Vector<LineContext>&, LayoutUnit crossAxisStar
tEdge); | 160 void flipForWrapReverse(const Vector<LineContext>&, LayoutUnit crossAxisStar
tEdge); |
| 159 | 161 |
| 160 // This is used to cache the preferred size for orthogonal flow children so
we don't have to relayout to get it | 162 // This is used to cache the preferred size for orthogonal flow children so
we don't have to relayout to get it |
| 161 HashMap<const RenderObject*, LayoutUnit> m_intrinsicSizeAlongMainAxis; | 163 HashMap<const RenderObject*, LayoutUnit> m_intrinsicSizeAlongMainAxis; |
| 162 | 164 |
| 163 mutable OrderIterator m_orderIterator; | 165 mutable OrderIterator m_orderIterator; |
| 164 int m_numberOfInFlowChildrenOnFirstLine; | 166 int m_numberOfInFlowChildrenOnFirstLine; |
| 165 }; | 167 }; |
| 166 | 168 |
| 167 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderFlexibleBox, isFlexibleBox()); | 169 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderFlexibleBox, isFlexibleBox()); |
| 168 | 170 |
| 169 } // namespace WebCore | 171 } // namespace WebCore |
| 170 | 172 |
| 171 #endif // RenderFlexibleBox_h | 173 #endif // RenderFlexibleBox_h |
| OLD | NEW |