Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Side by Side Diff: third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.h

Issue 1898293003: Make MultiColumnFragmentainerGroup::m_columnSet const. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #ifndef MultiColumnFragmentainerGroup_h 5 #ifndef MultiColumnFragmentainerGroup_h
6 #define MultiColumnFragmentainerGroup_h 6 #define MultiColumnFragmentainerGroup_h
7 7
8 #include "core/layout/LayoutMultiColumnFlowThread.h" 8 #include "core/layout/LayoutMultiColumnFlowThread.h"
9 #include "wtf/Allocator.h" 9 #include "wtf/Allocator.h"
10 10
(...skipping 11 matching lines...) Expand all
22 // 22 //
23 // Each fragmentainer group may have its own actual column count (if there are u nused columns 23 // Each fragmentainer group may have its own actual column count (if there are u nused columns
24 // because of forced breaks, for example). If there are multiple fragmentainer g roups, the actual 24 // because of forced breaks, for example). If there are multiple fragmentainer g roups, the actual
25 // column count must not exceed the used column count (the one calculated based on column-count and 25 // column count must not exceed the used column count (the one calculated based on column-count and
26 // column-width from CSS), or they'd overflow the outer fragmentainer in the inl ine direction. If we 26 // column-width from CSS), or they'd overflow the outer fragmentainer in the inl ine direction. If we
27 // need more columns than what a group has room for, we'll create another group and put them there 27 // need more columns than what a group has room for, we'll create another group and put them there
28 // (and make them appear in the next outer fragmentainer). 28 // (and make them appear in the next outer fragmentainer).
29 class MultiColumnFragmentainerGroup { 29 class MultiColumnFragmentainerGroup {
30 DISALLOW_NEW_EXCEPT_PLACEMENT_NEW(); 30 DISALLOW_NEW_EXCEPT_PLACEMENT_NEW();
31 public: 31 public:
32 MultiColumnFragmentainerGroup(LayoutMultiColumnSet&); 32 MultiColumnFragmentainerGroup(const LayoutMultiColumnSet&);
33 33
34 const LayoutMultiColumnSet& columnSet() const { return m_columnSet; } 34 const LayoutMultiColumnSet& columnSet() const { return m_columnSet; }
35 35
36 bool isFirstGroup() const; 36 bool isFirstGroup() const;
37 bool isLastGroup() const; 37 bool isLastGroup() const;
38 38
39 // Position within the LayoutMultiColumnSet. 39 // Position within the LayoutMultiColumnSet.
40 LayoutUnit logicalTop() const { return m_logicalTop; } 40 LayoutUnit logicalTop() const { return m_logicalTop; }
41 void setLogicalTop(LayoutUnit logicalTop) { m_logicalTop = logicalTop; } 41 void setLogicalTop(LayoutUnit logicalTop) { m_logicalTop = logicalTop; }
42 42
(...skipping 10 matching lines...) Expand all
53 void setLogicalTopInFlowThread(LayoutUnit logicalTopInFlowThread) { m_logica lTopInFlowThread = logicalTopInFlowThread; } 53 void setLogicalTopInFlowThread(LayoutUnit logicalTopInFlowThread) { m_logica lTopInFlowThread = logicalTopInFlowThread; }
54 54
55 // The bottom of our flow thread portion 55 // The bottom of our flow thread portion
56 LayoutUnit logicalBottomInFlowThread() const { return m_logicalBottomInFlowT hread; } 56 LayoutUnit logicalBottomInFlowThread() const { return m_logicalBottomInFlowT hread; }
57 void setLogicalBottomInFlowThread(LayoutUnit logicalBottomInFlowThread) { AS SERT(logicalBottomInFlowThread >= m_logicalTopInFlowThread); m_logicalBottomInFl owThread = logicalBottomInFlowThread; } 57 void setLogicalBottomInFlowThread(LayoutUnit logicalBottomInFlowThread) { AS SERT(logicalBottomInFlowThread >= m_logicalTopInFlowThread); m_logicalBottomInFl owThread = logicalBottomInFlowThread; }
58 58
59 // The height of our flow thread portion 59 // The height of our flow thread portion
60 LayoutUnit logicalHeightInFlowThread() const { return m_logicalBottomInFlowT hread - m_logicalTopInFlowThread; } 60 LayoutUnit logicalHeightInFlowThread() const { return m_logicalBottomInFlowT hread - m_logicalTopInFlowThread; }
61 61
62 void resetColumnHeight(); 62 void resetColumnHeight();
63 bool recalculateColumnHeight(); 63 bool recalculateColumnHeight(LayoutMultiColumnSet&);
mstensho (USE GERRIT) 2016/04/19 19:07:39 So, how silly is this? I need a non-const referenc
leviw_travelin_and_unemployed 2016/04/19 19:57:50 It's silly, but I don't have better solutions. I'd
64 64
65 LayoutSize flowThreadTranslationAtOffset(LayoutUnit offsetInFlowThread) cons t; 65 LayoutSize flowThreadTranslationAtOffset(LayoutUnit offsetInFlowThread) cons t;
66 LayoutUnit columnLogicalTopForOffset(LayoutUnit offsetInFlowThread) const; 66 LayoutUnit columnLogicalTopForOffset(LayoutUnit offsetInFlowThread) const;
67 LayoutPoint visualPointToFlowThreadPoint(const LayoutPoint& visualPoint) con st; 67 LayoutPoint visualPointToFlowThreadPoint(const LayoutPoint& visualPoint) con st;
68 LayoutRect fragmentsBoundingBox(const LayoutRect& boundingBoxInFlowThread) c onst; 68 LayoutRect fragmentsBoundingBox(const LayoutRect& boundingBoxInFlowThread) c onst;
69 69
70 void collectLayerFragments(PaintLayerFragments&, const LayoutRect& layerBoun dingBox, const LayoutRect& dirtyRect) const; 70 void collectLayerFragments(PaintLayerFragments&, const LayoutRect& layerBoun dingBox, const LayoutRect& dirtyRect) const;
71 LayoutRect calculateOverflow() const; 71 LayoutRect calculateOverflow() const;
72 72
73 enum ColumnIndexCalculationMode { 73 enum ColumnIndexCalculationMode {
(...skipping 22 matching lines...) Expand all
96 // not inside any of the columns. 96 // not inside any of the columns.
97 unsigned columnIndexAtVisualPoint(const LayoutPoint& visualPoint) const; 97 unsigned columnIndexAtVisualPoint(const LayoutPoint& visualPoint) const;
98 98
99 // Get the first and the last column intersecting the specified block range. 99 // Get the first and the last column intersecting the specified block range.
100 // Note that |logicalBottomInFlowThread| is an exclusive endpoint. 100 // Note that |logicalBottomInFlowThread| is an exclusive endpoint.
101 void columnIntervalForBlockRangeInFlowThread(LayoutUnit logicalTopInFlowThre ad, LayoutUnit logicalBottomInFlowThread, unsigned& firstColumn, unsigned& lastC olumn) const; 101 void columnIntervalForBlockRangeInFlowThread(LayoutUnit logicalTopInFlowThre ad, LayoutUnit logicalBottomInFlowThread, unsigned& firstColumn, unsigned& lastC olumn) const;
102 102
103 // Get the first and the last column intersecting the specified visual recta ngle. 103 // Get the first and the last column intersecting the specified visual recta ngle.
104 void columnIntervalForVisualRect(const LayoutRect&, unsigned& firstColumn, u nsigned& lastColumn) const; 104 void columnIntervalForVisualRect(const LayoutRect&, unsigned& firstColumn, u nsigned& lastColumn) const;
105 105
106 LayoutMultiColumnSet& m_columnSet; 106 const LayoutMultiColumnSet& m_columnSet;
107 107
108 LayoutUnit m_logicalTop; 108 LayoutUnit m_logicalTop;
109 LayoutUnit m_logicalTopInFlowThread; 109 LayoutUnit m_logicalTopInFlowThread;
110 LayoutUnit m_logicalBottomInFlowThread; 110 LayoutUnit m_logicalBottomInFlowThread;
111 111
112 LayoutUnit m_columnHeight; 112 LayoutUnit m_columnHeight;
113 113
114 LayoutUnit m_maxColumnHeight; // Maximum column height allowed. 114 LayoutUnit m_maxColumnHeight; // Maximum column height allowed.
115 }; 115 };
116 116
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 151
152 private: 152 private:
153 LayoutMultiColumnSet& m_columnSet; 153 LayoutMultiColumnSet& m_columnSet;
154 154
155 Vector<MultiColumnFragmentainerGroup, 1> m_groups; 155 Vector<MultiColumnFragmentainerGroup, 1> m_groups;
156 }; 156 };
157 157
158 } // namespace blink 158 } // namespace blink
159 159
160 #endif // MultiColumnFragmentainerGroup_h 160 #endif // MultiColumnFragmentainerGroup_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698