| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. |
| 3 * | 3 * |
| 4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
| 5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
| 6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
| 7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
| 8 * | 8 * |
| 9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 715 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 726 } | 726 } |
| 727 lineBottom = max<LayoutUnit>(lineBottom, pixelSnappedLogicalBottom()
); | 727 lineBottom = max<LayoutUnit>(lineBottom, pixelSnappedLogicalBottom()
); |
| 728 lineBottomIncludingMargins = max(lineBottom, lineBottomIncludingMarg
ins); | 728 lineBottomIncludingMargins = max(lineBottom, lineBottomIncludingMarg
ins); |
| 729 } | 729 } |
| 730 | 730 |
| 731 if (renderer()->style()->isFlippedLinesWritingMode()) | 731 if (renderer()->style()->isFlippedLinesWritingMode()) |
| 732 flipLinesInBlockDirection(lineTopIncludingMargins, lineBottomIncludi
ngMargins); | 732 flipLinesInBlockDirection(lineTopIncludingMargins, lineBottomIncludi
ngMargins); |
| 733 } | 733 } |
| 734 } | 734 } |
| 735 | 735 |
| 736 #if ENABLE(CSS3_TEXT) | |
| 737 void InlineFlowBox::computeMaxLogicalTop(float& maxLogicalTop) | 736 void InlineFlowBox::computeMaxLogicalTop(float& maxLogicalTop) |
| 738 { | 737 { |
| 739 for (InlineBox* curr = firstChild(); curr; curr = curr->nextOnLine()) { | 738 for (InlineBox* curr = firstChild(); curr; curr = curr->nextOnLine()) { |
| 740 if (curr->renderer()->isOutOfFlowPositioned()) | 739 if (curr->renderer()->isOutOfFlowPositioned()) |
| 741 continue; // Positioned placeholders don't affect calculations. | 740 continue; // Positioned placeholders don't affect calculations. |
| 742 | 741 |
| 743 if (descendantsHaveSameLineHeightAndBaseline()) | 742 if (descendantsHaveSameLineHeightAndBaseline()) |
| 744 continue; | 743 continue; |
| 745 | 744 |
| 746 maxLogicalTop = max<float>(maxLogicalTop, curr->y()); | 745 maxLogicalTop = max<float>(maxLogicalTop, curr->y()); |
| 747 float localMaxLogicalTop = 0; | 746 float localMaxLogicalTop = 0; |
| 748 if (curr->isInlineFlowBox()) | 747 if (curr->isInlineFlowBox()) |
| 749 toInlineFlowBox(curr)->computeMaxLogicalTop(localMaxLogicalTop); | 748 toInlineFlowBox(curr)->computeMaxLogicalTop(localMaxLogicalTop); |
| 750 maxLogicalTop = max<float>(maxLogicalTop, localMaxLogicalTop); | 749 maxLogicalTop = max<float>(maxLogicalTop, localMaxLogicalTop); |
| 751 } | 750 } |
| 752 } | 751 } |
| 753 #endif // CSS3_TEXT | |
| 754 | 752 |
| 755 void InlineFlowBox::flipLinesInBlockDirection(LayoutUnit lineTop, LayoutUnit lin
eBottom) | 753 void InlineFlowBox::flipLinesInBlockDirection(LayoutUnit lineTop, LayoutUnit lin
eBottom) |
| 756 { | 754 { |
| 757 // Flip the box on the line such that the top is now relative to the lineBot
tom instead of the lineTop. | 755 // Flip the box on the line such that the top is now relative to the lineBot
tom instead of the lineTop. |
| 758 setLogicalTop(lineBottom - (logicalTop() - lineTop) - logicalHeight()); | 756 setLogicalTop(lineBottom - (logicalTop() - lineTop) - logicalHeight()); |
| 759 | 757 |
| 760 for (InlineBox* curr = firstChild(); curr; curr = curr->nextOnLine()) { | 758 for (InlineBox* curr = firstChild(); curr; curr = curr->nextOnLine()) { |
| 761 if (curr->renderer()->isOutOfFlowPositioned()) | 759 if (curr->renderer()->isOutOfFlowPositioned()) |
| 762 continue; // Positioned placeholders aren't affected here. | 760 continue; // Positioned placeholders aren't affected here. |
| 763 | 761 |
| (...skipping 887 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1651 MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Rendering); | 1649 MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Rendering); |
| 1652 InlineBox::reportMemoryUsage(memoryObjectInfo); | 1650 InlineBox::reportMemoryUsage(memoryObjectInfo); |
| 1653 info.addMember(m_overflow, "overflow"); | 1651 info.addMember(m_overflow, "overflow"); |
| 1654 info.addMember(m_firstChild, "firstChild"); | 1652 info.addMember(m_firstChild, "firstChild"); |
| 1655 info.addMember(m_lastChild, "lastChild"); | 1653 info.addMember(m_lastChild, "lastChild"); |
| 1656 info.addMember(m_prevLineBox, "prevLineBox"); | 1654 info.addMember(m_prevLineBox, "prevLineBox"); |
| 1657 info.addMember(m_nextLineBox, "nextLineBox"); | 1655 info.addMember(m_nextLineBox, "nextLineBox"); |
| 1658 } | 1656 } |
| 1659 | 1657 |
| 1660 } // namespace WebCore | 1658 } // namespace WebCore |
| OLD | NEW |