| 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 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 class OrderIterator { | 77 class OrderIterator { |
| 78 WTF_MAKE_NONCOPYABLE(OrderIterator); | 78 WTF_MAKE_NONCOPYABLE(OrderIterator); |
| 79 public: | 79 public: |
| 80 OrderIterator(const RenderFlexibleBox*); | 80 OrderIterator(const RenderFlexibleBox*); |
| 81 void setOrderValues(Vector<int>&); | 81 void setOrderValues(Vector<int>&); |
| 82 RenderBox* currentChild() const { return m_currentChild; } | 82 RenderBox* currentChild() const { return m_currentChild; } |
| 83 RenderBox* first(); | 83 RenderBox* first(); |
| 84 RenderBox* next(); | 84 RenderBox* next(); |
| 85 void reset(); | 85 void reset(); |
| 86 | 86 |
| 87 Vector<int> m_orderValues; |
| 88 |
| 87 private: | 89 private: |
| 88 const RenderFlexibleBox* m_flexibleBox; | 90 const RenderFlexibleBox* m_flexibleBox; |
| 89 RenderBox* m_currentChild; | 91 RenderBox* m_currentChild; |
| 90 Vector<int> m_orderValues; | |
| 91 Vector<int>::const_iterator m_orderValuesIterator; | 92 Vector<int>::const_iterator m_orderValuesIterator; |
| 92 }; | 93 }; |
| 93 | 94 |
| 94 typedef HashMap<const RenderBox*, LayoutUnit> InflexibleFlexItemSize; | 95 typedef HashMap<const RenderBox*, LayoutUnit> InflexibleFlexItemSize; |
| 95 typedef Vector<RenderBox*> OrderedFlexItemList; | 96 typedef Vector<RenderBox*> OrderedFlexItemList; |
| 96 | 97 |
| 97 struct LineContext; | 98 struct LineContext; |
| 98 struct Violation; | 99 struct Violation; |
| 99 | 100 |
| 100 // Use an inline capacity of 8, since flexbox containers usually have less t
han 8 children. | 101 // Use an inline capacity of 8, since flexbox containers usually have less t
han 8 children. |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 bool updateAutoMarginsInCrossAxis(RenderBox* child, LayoutUnit availableAlig
nmentSpace); | 145 bool updateAutoMarginsInCrossAxis(RenderBox* child, LayoutUnit availableAlig
nmentSpace); |
| 145 void repositionLogicalHeightDependentFlexItems(Vector<LineContext>&); | 146 void repositionLogicalHeightDependentFlexItems(Vector<LineContext>&); |
| 146 LayoutUnit clientLogicalBottomAfterRepositioning(); | 147 LayoutUnit clientLogicalBottomAfterRepositioning(); |
| 147 void appendChildFrameRects(ChildFrameRects&); | 148 void appendChildFrameRects(ChildFrameRects&); |
| 148 void repaintChildrenDuringLayoutIfMoved(const ChildFrameRects&); | 149 void repaintChildrenDuringLayoutIfMoved(const ChildFrameRects&); |
| 149 | 150 |
| 150 LayoutUnit availableAlignmentSpaceForChild(LayoutUnit lineCrossAxisExtent, R
enderBox*); | 151 LayoutUnit availableAlignmentSpaceForChild(LayoutUnit lineCrossAxisExtent, R
enderBox*); |
| 151 LayoutUnit marginBoxAscentForChild(RenderBox*); | 152 LayoutUnit marginBoxAscentForChild(RenderBox*); |
| 152 | 153 |
| 153 LayoutUnit computeChildMarginValue(Length margin, RenderView*); | 154 LayoutUnit computeChildMarginValue(Length margin, RenderView*); |
| 154 void computeMainAxisPreferredSizes(Vector<int>&); | 155 void prepareOrderIteratorAndMargins(); |
| 155 LayoutUnit adjustChildSizeForMinAndMax(RenderBox*, LayoutUnit childSize); | 156 LayoutUnit adjustChildSizeForMinAndMax(RenderBox*, LayoutUnit childSize); |
| 156 bool computeNextFlexLine(OrderedFlexItemList& orderedChildren, LayoutUnit& p
referredMainAxisExtent, double& totalFlexGrow, double& totalWeightedFlexShrink,
LayoutUnit& minMaxAppliedMainAxisExtent, bool& hasInfiniteLineLength); | 157 bool computeNextFlexLine(OrderedFlexItemList& orderedChildren, LayoutUnit& p
referredMainAxisExtent, double& totalFlexGrow, double& totalWeightedFlexShrink,
LayoutUnit& minMaxAppliedMainAxisExtent, bool& hasInfiniteLineLength); |
| 157 | 158 |
| 158 bool resolveFlexibleLengths(FlexSign, const OrderedFlexItemList&, LayoutUnit
& availableFreeSpace, double& totalFlexGrow, double& totalWeightedFlexShrink, In
flexibleFlexItemSize&, Vector<LayoutUnit>& childSizes, bool hasInfiniteLineLengt
h); | 159 bool resolveFlexibleLengths(FlexSign, const OrderedFlexItemList&, LayoutUnit
& availableFreeSpace, double& totalFlexGrow, double& totalWeightedFlexShrink, In
flexibleFlexItemSize&, Vector<LayoutUnit>& childSizes, bool hasInfiniteLineLengt
h); |
| 159 void freezeViolations(const Vector<Violation>&, LayoutUnit& availableFreeSpa
ce, double& totalFlexGrow, double& totalWeightedFlexShrink, InflexibleFlexItemSi
ze&, bool hasInfiniteLineLength); | 160 void freezeViolations(const Vector<Violation>&, LayoutUnit& availableFreeSpa
ce, double& totalFlexGrow, double& totalWeightedFlexShrink, InflexibleFlexItemSi
ze&, bool hasInfiniteLineLength); |
| 160 | 161 |
| 161 void resetAutoMarginsAndLogicalTopInCrossAxis(RenderBox*); | 162 void resetAutoMarginsAndLogicalTopInCrossAxis(RenderBox*); |
| 162 bool needToStretchChild(RenderBox*); | 163 bool needToStretchChild(RenderBox*); |
| 163 void setLogicalOverrideSize(RenderBox* child, LayoutUnit childPreferredSize)
; | 164 void setLogicalOverrideSize(RenderBox* child, LayoutUnit childPreferredSize)
; |
| 164 void prepareChildForPositionedLayout(RenderBox* child, LayoutUnit mainAxisOf
fset, LayoutUnit crossAxisOffset, PositionedLayoutMode); | 165 void prepareChildForPositionedLayout(RenderBox* child, LayoutUnit mainAxisOf
fset, LayoutUnit crossAxisOffset, PositionedLayoutMode); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 186 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isFlexibleBox()); | 187 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isFlexibleBox()); |
| 187 return static_cast<const RenderFlexibleBox*>(object); | 188 return static_cast<const RenderFlexibleBox*>(object); |
| 188 } | 189 } |
| 189 | 190 |
| 190 // This will catch anyone doing an unnecessary cast. | 191 // This will catch anyone doing an unnecessary cast. |
| 191 void toRenderFlexibleBox(const RenderFlexibleBox*); | 192 void toRenderFlexibleBox(const RenderFlexibleBox*); |
| 192 | 193 |
| 193 } // namespace WebCore | 194 } // namespace WebCore |
| 194 | 195 |
| 195 #endif // RenderFlexibleBox_h | 196 #endif // RenderFlexibleBox_h |
| OLD | NEW |