OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ight reserved. | 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ight reserved. |
4 * Copyright (C) 2010 Google Inc. All rights reserved. | 4 * Copyright (C) 2010 Google Inc. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 10 matching lines...) Expand all Loading... |
21 */ | 21 */ |
22 | 22 |
23 #include "config.h" | 23 #include "config.h" |
24 | 24 |
25 #include "core/dom/AXObjectCache.h" | 25 #include "core/dom/AXObjectCache.h" |
26 #include "core/layout/BidiRunForLine.h" | 26 #include "core/layout/BidiRunForLine.h" |
27 #include "core/layout/LayoutCounter.h" | 27 #include "core/layout/LayoutCounter.h" |
28 #include "core/layout/LayoutFlowThread.h" | 28 #include "core/layout/LayoutFlowThread.h" |
29 #include "core/layout/LayoutListMarker.h" | 29 #include "core/layout/LayoutListMarker.h" |
30 #include "core/layout/LayoutObject.h" | 30 #include "core/layout/LayoutObject.h" |
31 #include "core/layout/LayoutRegion.h" | |
32 #include "core/layout/LayoutRubyRun.h" | 31 #include "core/layout/LayoutRubyRun.h" |
33 #include "core/layout/LayoutView.h" | 32 #include "core/layout/LayoutView.h" |
34 #include "core/layout/TextRunConstructor.h" | 33 #include "core/layout/TextRunConstructor.h" |
35 #include "core/layout/VerticalPositionCache.h" | 34 #include "core/layout/VerticalPositionCache.h" |
36 #include "core/layout/line/BreakingContextInlineHeaders.h" | 35 #include "core/layout/line/BreakingContextInlineHeaders.h" |
37 #include "core/layout/line/LayoutTextInfo.h" | 36 #include "core/layout/line/LayoutTextInfo.h" |
38 #include "core/layout/line/LineLayoutState.h" | 37 #include "core/layout/line/LineLayoutState.h" |
39 #include "core/layout/line/LineWidth.h" | 38 #include "core/layout/line/LineWidth.h" |
40 #include "core/layout/line/TrailingFloatsRootInlineBox.h" | 39 #include "core/layout/line/TrailingFloatsRootInlineBox.h" |
41 #include "core/layout/line/WordMeasurement.h" | 40 #include "core/layout/line/WordMeasurement.h" |
(...skipping 1472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1514 if (styleToUse.collapseWhiteSpace()) | 1513 if (styleToUse.collapseWhiteSpace()) |
1515 stripTrailingSpace(inlineMax, inlineMin, trailingSpaceChild); | 1514 stripTrailingSpace(inlineMax, inlineMin, trailingSpaceChild); |
1516 | 1515 |
1517 minLogicalWidth = std::max(minLogicalWidth, LayoutUnit::fromFloatCeil(inline
Min.toFloat())); | 1516 minLogicalWidth = std::max(minLogicalWidth, LayoutUnit::fromFloatCeil(inline
Min.toFloat())); |
1518 maxLogicalWidth = std::max(maxLogicalWidth, LayoutUnit::fromFloatCeil(inline
Max.toFloat())); | 1517 maxLogicalWidth = std::max(maxLogicalWidth, LayoutUnit::fromFloatCeil(inline
Max.toFloat())); |
1519 } | 1518 } |
1520 | 1519 |
1521 void LayoutBlockFlow::layoutInlineChildren(bool relayoutChildren, LayoutUnit& pa
intInvalidationLogicalTop, LayoutUnit& paintInvalidationLogicalBottom, LayoutUni
t afterEdge) | 1520 void LayoutBlockFlow::layoutInlineChildren(bool relayoutChildren, LayoutUnit& pa
intInvalidationLogicalTop, LayoutUnit& paintInvalidationLogicalBottom, LayoutUni
t afterEdge) |
1522 { | 1521 { |
1523 LayoutFlowThread* flowThread = flowThreadContainingBlock(); | 1522 LayoutFlowThread* flowThread = flowThreadContainingBlock(); |
1524 bool clearLinesForPagination = firstLineBox() && flowThread && !flowThread->
hasRegions(); | 1523 bool clearLinesForPagination = firstLineBox() && flowThread && !flowThread->
hasColumnSets(); |
1525 | 1524 |
1526 // Figure out if we should clear out our line boxes. | 1525 // Figure out if we should clear out our line boxes. |
1527 // FIXME: Handle resize eventually! | 1526 // FIXME: Handle resize eventually! |
1528 bool isFullLayout = !firstLineBox() || selfNeedsLayout() || relayoutChildren
|| clearLinesForPagination; | 1527 bool isFullLayout = !firstLineBox() || selfNeedsLayout() || relayoutChildren
|| clearLinesForPagination; |
1529 LineLayoutState layoutState(isFullLayout, paintInvalidationLogicalTop, paint
InvalidationLogicalBottom, flowThread); | 1528 LineLayoutState layoutState(isFullLayout, paintInvalidationLogicalTop, paint
InvalidationLogicalBottom, flowThread); |
1530 | 1529 |
1531 if (isFullLayout) { | 1530 if (isFullLayout) { |
1532 // Ensure the old line boxes will be erased. | 1531 // Ensure the old line boxes will be erased. |
1533 if (firstLineBox()) | 1532 if (firstLineBox()) |
1534 setShouldDoFullPaintInvalidation(); | 1533 setShouldDoFullPaintInvalidation(); |
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2052 float logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false).toFloat
(); | 2051 float logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false).toFloat
(); |
2053 float availableLogicalWidth = logicalRightOffsetForLine(logicalHeight(), fal
se) - logicalLeft; | 2052 float availableLogicalWidth = logicalRightOffsetForLine(logicalHeight(), fal
se) - logicalLeft; |
2054 updateLogicalWidthForAlignment(textAlign, 0, 0, logicalLeft, totalLogicalWid
th, availableLogicalWidth, 0); | 2053 updateLogicalWidthForAlignment(textAlign, 0, 0, logicalLeft, totalLogicalWid
th, availableLogicalWidth, 0); |
2055 | 2054 |
2056 if (!style()->isLeftToRightDirection()) | 2055 if (!style()->isLeftToRightDirection()) |
2057 return logicalWidth() - logicalLeft; | 2056 return logicalWidth() - logicalLeft; |
2058 return logicalLeft; | 2057 return logicalLeft; |
2059 } | 2058 } |
2060 | 2059 |
2061 } | 2060 } |
OLD | NEW |