OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/FragmentainerIterator.h" | 5 #include "core/layout/FragmentainerIterator.h" |
6 | 6 |
7 #include "core/layout/LayoutMultiColumnSet.h" | 7 #include "core/layout/LayoutMultiColumnSet.h" |
8 | 8 |
9 namespace blink { | 9 namespace blink { |
10 | 10 |
(...skipping 10 matching lines...) Expand all Loading... |
21 | 21 |
22 if (m_flowThread.isHorizontalWritingMode()) { | 22 if (m_flowThread.isHorizontalWritingMode()) { |
23 m_logicalTopInFlowThread = boundsInFlowThread.y(); | 23 m_logicalTopInFlowThread = boundsInFlowThread.y(); |
24 m_logicalBottomInFlowThread = boundsInFlowThread.maxY(); | 24 m_logicalBottomInFlowThread = boundsInFlowThread.maxY(); |
25 } else { | 25 } else { |
26 m_logicalTopInFlowThread = boundsInFlowThread.x(); | 26 m_logicalTopInFlowThread = boundsInFlowThread.x(); |
27 m_logicalBottomInFlowThread = boundsInFlowThread.maxX(); | 27 m_logicalBottomInFlowThread = boundsInFlowThread.maxX(); |
28 } | 28 } |
29 | 29 |
30 // Jump to the first interesting column set. | 30 // Jump to the first interesting column set. |
31 m_currentColumnSet = flowThread.columnSetAtBlockOffset(m_logicalTopInFlowThr
ead); | 31 m_currentColumnSet = flowThread.columnSetAtBlockOffset(m_logicalTopInFlowThr
ead, LayoutBox::AssociateWithLatterPage); |
32 if (!m_currentColumnSet || m_currentColumnSet->logicalTopInFlowThread() >= m
_logicalBottomInFlowThread) { | 32 if (!m_currentColumnSet || m_currentColumnSet->logicalTopInFlowThread() >= m
_logicalBottomInFlowThread) { |
33 setAtEnd(); | 33 setAtEnd(); |
34 return; | 34 return; |
35 } | 35 } |
36 // Then find the first interesting fragmentainer group. | 36 // Then find the first interesting fragmentainer group. |
37 m_currentFragmentainerGroupIndex = m_currentColumnSet->fragmentainerGroupInd
exAtFlowThreadOffset(m_logicalTopInFlowThread); | 37 m_currentFragmentainerGroupIndex = m_currentColumnSet->fragmentainerGroupInd
exAtFlowThreadOffset(m_logicalTopInFlowThread); |
38 | 38 |
39 // Now find the first and last fragmentainer we're interested in. We'll also
clip against | 39 // Now find the first and last fragmentainer we're interested in. We'll also
clip against |
40 // the clip rect here. In case the clip rect doesn't intersect with any of t
he | 40 // the clip rect here. In case the clip rect doesn't intersect with any of t
he |
41 // fragmentainers, we have to move on to the next fragmentainer group, and s
ee if we find | 41 // fragmentainers, we have to move on to the next fragmentainer group, and s
ee if we find |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 m_paginationOffset = group.flowThreadTranslationAtOffset(fragmentainerLogica
lTopInFlowThread, LayoutBox::AssociateWithLatterPage, CoordinateSpaceConversion:
:Visual); | 128 m_paginationOffset = group.flowThreadTranslationAtOffset(fragmentainerLogica
lTopInFlowThread, LayoutBox::AssociateWithLatterPage, CoordinateSpaceConversion:
:Visual); |
129 | 129 |
130 // Set the overflow clip rect that corresponds to the fragmentainer. | 130 // Set the overflow clip rect that corresponds to the fragmentainer. |
131 m_clipRectInFlowThread = group.flowThreadPortionOverflowRectAt(m_currentFrag
mentainerIndex); | 131 m_clipRectInFlowThread = group.flowThreadPortionOverflowRectAt(m_currentFrag
mentainerIndex); |
132 | 132 |
133 // Flip it into a physical rectangle. | 133 // Flip it into a physical rectangle. |
134 m_flowThread.flipForWritingMode(m_clipRectInFlowThread); | 134 m_flowThread.flipForWritingMode(m_clipRectInFlowThread); |
135 } | 135 } |
136 | 136 |
137 } // namespace blink | 137 } // namespace blink |
OLD | NEW |