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 16 matching lines...) Expand all Loading... |
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, LayoutBox::AssociateWithLatterPage); | 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, LayoutBox::AssociateWithLatterPag
e); |
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 |
42 // something there. | 42 // something there. |
43 if (!setFragmentainersOfInterest()) { | 43 if (!setFragmentainersOfInterest()) { |
44 moveToNextFragmentainerGroup(); | 44 moveToNextFragmentainerGroup(); |
45 if (atEnd()) | 45 if (atEnd()) |
46 return; | 46 return; |
47 } | 47 } |
(...skipping 80 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 |