OLD | NEW |
1 /* | 1 /* |
2 * This file is part of the layout object implementation for KHTML. | 2 * This file is part of the layout object implementation for KHTML. |
3 * | 3 * |
4 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 4 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
5 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 5 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
6 * Copyright (C) 2003 Apple Computer, Inc. | 6 * Copyright (C) 2003 Apple Computer, Inc. |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
445 | 445 |
446 LayoutUnit remainingSpace; | 446 LayoutUnit remainingSpace; |
447 | 447 |
448 FlexBoxIterator iterator(this); | 448 FlexBoxIterator iterator(this); |
449 unsigned highestFlexGroup = 0; | 449 unsigned highestFlexGroup = 0; |
450 unsigned lowestFlexGroup = 0; | 450 unsigned lowestFlexGroup = 0; |
451 bool haveFlex = false, flexingChildren = false; | 451 bool haveFlex = false, flexingChildren = false; |
452 gatherFlexChildrenInfo(iterator, relayoutChildren, highestFlexGroup, | 452 gatherFlexChildrenInfo(iterator, relayoutChildren, highestFlexGroup, |
453 lowestFlexGroup, haveFlex); | 453 lowestFlexGroup, haveFlex); |
454 | 454 |
455 PaintLayerScrollableArea::DelayScrollPositionClampScope delayClampScope; | 455 PaintLayerScrollableArea::DelayScrollOffsetClampScope delayClampScope; |
456 | 456 |
457 // We do 2 passes. The first pass is simply to lay everyone out at | 457 // We do 2 passes. The first pass is simply to lay everyone out at |
458 // their preferred widths. The second pass handles flexing the children. | 458 // their preferred widths. The second pass handles flexing the children. |
459 do { | 459 do { |
460 // Reset our height. | 460 // Reset our height. |
461 setHeight(yPos); | 461 setHeight(yPos); |
462 | 462 |
463 xPos = borderLeft() + paddingLeft(); | 463 xPos = borderLeft() + paddingLeft(); |
464 | 464 |
465 // Our first pass is done without flexing. We simply lay the children | 465 // Our first pass is done without flexing. We simply lay the children |
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
780 bool haveFlex = false, flexingChildren = false; | 780 bool haveFlex = false, flexingChildren = false; |
781 gatherFlexChildrenInfo(iterator, relayoutChildren, highestFlexGroup, | 781 gatherFlexChildrenInfo(iterator, relayoutChildren, highestFlexGroup, |
782 lowestFlexGroup, haveFlex); | 782 lowestFlexGroup, haveFlex); |
783 | 783 |
784 // We confine the line clamp ugliness to vertical flexible boxes (thus keeping
it out of | 784 // We confine the line clamp ugliness to vertical flexible boxes (thus keeping
it out of |
785 // mainstream block layout); this is not really part of the XUL box model. | 785 // mainstream block layout); this is not really part of the XUL box model. |
786 bool haveLineClamp = !style()->lineClamp().isNone(); | 786 bool haveLineClamp = !style()->lineClamp().isNone(); |
787 if (haveLineClamp) | 787 if (haveLineClamp) |
788 applyLineClamp(iterator, relayoutChildren); | 788 applyLineClamp(iterator, relayoutChildren); |
789 | 789 |
790 PaintLayerScrollableArea::DelayScrollPositionClampScope delayClampScope; | 790 PaintLayerScrollableArea::DelayScrollOffsetClampScope delayClampScope; |
791 | 791 |
792 // We do 2 passes. The first pass is simply to lay everyone out at | 792 // We do 2 passes. The first pass is simply to lay everyone out at |
793 // their preferred widths. The second pass handles flexing the children. | 793 // their preferred widths. The second pass handles flexing the children. |
794 // Our first pass is done without flexing. We simply lay the children | 794 // Our first pass is done without flexing. We simply lay the children |
795 // out within the box. | 795 // out within the box. |
796 do { | 796 do { |
797 setHeight(borderTop() + paddingTop()); | 797 setHeight(borderTop() + paddingTop()); |
798 LayoutUnit minHeight = size().height() + toAdd; | 798 LayoutUnit minHeight = size().height() + toAdd; |
799 | 799 |
800 for (LayoutBox* child = iterator.first(); child; child = iterator.next()) { | 800 for (LayoutBox* child = iterator.first(); child; child = iterator.next()) { |
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1232 if (minHeight.isFixed() || minHeight.isAuto()) { | 1232 if (minHeight.isFixed() || minHeight.isAuto()) { |
1233 LayoutUnit minHeight(child->style()->minHeight().value()); | 1233 LayoutUnit minHeight(child->style()->minHeight().value()); |
1234 LayoutUnit height = contentHeightForChild(child); | 1234 LayoutUnit height = contentHeightForChild(child); |
1235 LayoutUnit allowedShrinkage = (minHeight - height).clampPositiveToZero(); | 1235 LayoutUnit allowedShrinkage = (minHeight - height).clampPositiveToZero(); |
1236 return allowedShrinkage; | 1236 return allowedShrinkage; |
1237 } | 1237 } |
1238 return LayoutUnit(); | 1238 return LayoutUnit(); |
1239 } | 1239 } |
1240 | 1240 |
1241 } // namespace blink | 1241 } // namespace blink |
OLD | NEW |