OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "core/layout/LayoutMultiColumnSet.h" | 5 #include "core/layout/LayoutMultiColumnSet.h" |
6 | 6 |
7 namespace blink { | 7 namespace blink { |
8 | 8 |
9 // A column balancer traverses a portion of the subtree of a flow thread that be
longs to one or | 9 // A column balancer traverses a portion of the subtree of a flow thread that be
longs to one or |
10 // more fragmentainer groups within one column set, in order to collect certain
data to be used for | 10 // more fragmentainer groups within one column set, in order to collect certain
data to be used for |
11 // column balancing. This is an abstract class that just walks the subtree and l
eaves it to | 11 // column balancing. This is an abstract class that just walks the subtree and l
eaves it to |
12 // subclasses to actually collect data. | 12 // subclasses to actually collect data. |
13 class ColumnBalancer { | 13 class ColumnBalancer { |
14 protected: | 14 protected: |
15 ColumnBalancer(const LayoutMultiColumnSet&, LayoutUnit logicalTopInFlowThrea
d, LayoutUnit logicalBottomInFlowThread); | 15 ColumnBalancer(const LayoutMultiColumnSet&, LayoutUnit logicalTopInFlowThrea
d, LayoutUnit logicalBottomInFlowThread); |
16 | 16 |
17 const LayoutMultiColumnSet& columnSet() const { return m_columnSet; } | 17 const LayoutMultiColumnSet& columnSet() const { return m_columnSet; } |
18 | 18 |
19 // The flow thread portion we're examining. It may be that of the entire col
umn set, or just of | 19 // The flow thread portion we're examining. It may be that of the entire col
umn set, or just of |
20 // a fragmentainer group. | 20 // a fragmentainer group. |
21 const LayoutUnit logicalTopInFlowThread() const { return m_logicalTopInFlowT
hread; } | 21 const LayoutUnit logicalTopInFlowThread() const { return m_logicalTopInFlowT
hread; } |
22 const LayoutUnit logicalBottomInFlowThread() const { return m_logicalBottomI
nFlowThread; } | 22 const LayoutUnit logicalBottomInFlowThread() const { return m_logicalBottomI
nFlowThread; } |
23 | 23 |
24 const MultiColumnFragmentainerGroup& groupAtOffset(LayoutUnit offsetInFlowTh
read) const | 24 const MultiColumnFragmentainerGroup& groupAtOffset(LayoutUnit offsetInFlowTh
read) const |
25 { | 25 { |
26 return m_columnSet.fragmentainerGroupAtFlowThreadOffset(offsetInFlowThre
ad); | 26 return m_columnSet.fragmentainerGroupAtFlowThreadOffset(offsetInFlowThre
ad, LayoutBox::AssociateWithLatterPage); |
27 } | 27 } |
28 | 28 |
29 LayoutUnit offsetFromColumnLogicalTop(LayoutUnit offsetInFlowThread) const | 29 LayoutUnit offsetFromColumnLogicalTop(LayoutUnit offsetInFlowThread) const |
30 { | 30 { |
31 return offsetInFlowThread - groupAtOffset(offsetInFlowThread).columnLogi
calTopForOffset(offsetInFlowThread); | 31 return offsetInFlowThread - groupAtOffset(offsetInFlowThread).columnLogi
calTopForOffset(offsetInFlowThread); |
32 } | 32 } |
33 | 33 |
34 // Flow thread offset for the layout object that we're currently examining. | 34 // Flow thread offset for the layout object that we're currently examining. |
35 LayoutUnit flowThreadOffset() const { return m_flowThreadOffset; } | 35 LayoutUnit flowThreadOffset() const { return m_flowThreadOffset; } |
36 | 36 |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 LayoutUnit m_minimumSpaceShortage; | 208 LayoutUnit m_minimumSpaceShortage; |
209 | 209 |
210 // Set when breaking before a block, and we're looking for the first unbreak
able descendant, in | 210 // Set when breaking before a block, and we're looking for the first unbreak
able descendant, in |
211 // order to report correct space shortage for that one. | 211 // order to report correct space shortage for that one. |
212 LayoutUnit m_pendingStrut; | 212 LayoutUnit m_pendingStrut; |
213 | 213 |
214 unsigned m_forcedBreaksCount; | 214 unsigned m_forcedBreaksCount; |
215 }; | 215 }; |
216 | 216 |
217 } // namespace blink | 217 } // namespace blink |
OLD | NEW |