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 #ifndef FragmentainerIterator_h | 5 #ifndef FragmentainerIterator_h |
6 #define FragmentainerIterator_h | 6 #define FragmentainerIterator_h |
7 | 7 |
8 #include "core/layout/LayoutFlowThread.h" | 8 #include "platform/geometry/LayoutRect.h" |
9 | 9 |
10 namespace blink { | 10 namespace blink { |
11 | 11 |
| 12 class LayoutFlowThread; |
| 13 class LayoutMultiColumnSet; |
12 class MultiColumnFragmentainerGroup; | 14 class MultiColumnFragmentainerGroup; |
13 | 15 |
14 // Used to find the fragmentainers that intersect with a given portion of the | 16 // Used to find the fragmentainers that intersect with a given portion of the |
15 // flow thread. The portion typically corresponds to the bounds of some | 17 // flow thread. The portion typically corresponds to the bounds of some |
16 // descendant layout object. The iterator walks in block direction order. | 18 // descendant layout object. The iterator walks in block direction order. |
17 class FragmentainerIterator { | 19 class FragmentainerIterator { |
18 public: | 20 public: |
19 // Initialize the iterator, and move to the first fragmentainer of interest. | 21 // Initialize the iterator, and move to the first fragmentainer of interest. |
20 // The clip rectangle is optional. If it's empty, it means that no clipping | 22 // The clip rectangle is optional. If it's empty, it means that no clipping |
21 // will be performed, and that the only thing that can limit the set of | 23 // will be performed, and that the only thing that can limit the set of |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 const MultiColumnFragmentainerGroup& currentGroup() const; | 61 const MultiColumnFragmentainerGroup& currentGroup() const; |
60 void moveToNextFragmentainerGroup(); | 62 void moveToNextFragmentainerGroup(); |
61 bool setFragmentainersOfInterest(); | 63 bool setFragmentainersOfInterest(); |
62 void setAtEnd() { m_currentColumnSet = nullptr; } | 64 void setAtEnd() { m_currentColumnSet = nullptr; } |
63 bool hasClipRect() const { return !m_clipRectInMulticolContainer.isEmpty(); } | 65 bool hasClipRect() const { return !m_clipRectInMulticolContainer.isEmpty(); } |
64 }; | 66 }; |
65 | 67 |
66 } // namespace blink | 68 } // namespace blink |
67 | 69 |
68 #endif // FragmentainerIterator_h | 70 #endif // FragmentainerIterator_h |
OLD | NEW |