OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. | 2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above | 8 * 1. Redistributions of source code must retain the above |
9 * copyright notice, this list of conditions and the following | 9 * copyright notice, this list of conditions and the following |
10 * disclaimer. | 10 * disclaimer. |
(...skipping 14 matching lines...) Expand all Loading... |
25 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | 25 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF |
26 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 26 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
27 * SUCH DAMAGE. | 27 * SUCH DAMAGE. |
28 */ | 28 */ |
29 | 29 |
30 #ifndef LayoutFlowThread_h | 30 #ifndef LayoutFlowThread_h |
31 #define LayoutFlowThread_h | 31 #define LayoutFlowThread_h |
32 | 32 |
33 #include "core/CoreExport.h" | 33 #include "core/CoreExport.h" |
34 #include "core/layout/LayoutBlockFlow.h" | 34 #include "core/layout/LayoutBlockFlow.h" |
35 #include "core/paint/PaintLayerFragment.h" | |
36 #include "wtf/ListHashSet.h" | 35 #include "wtf/ListHashSet.h" |
37 | 36 |
38 namespace blink { | 37 namespace blink { |
39 | 38 |
40 class LayoutMultiColumnSet; | 39 class LayoutMultiColumnSet; |
41 | 40 |
42 typedef ListHashSet<LayoutMultiColumnSet*> LayoutMultiColumnSetList; | 41 typedef ListHashSet<LayoutMultiColumnSet*> LayoutMultiColumnSetList; |
43 | 42 |
44 // Layout state for multicol. To be stored when laying out a block child, so tha
t we can roll back | 43 // Layout state for multicol. To be stored when laying out a block child, so tha
t we can roll back |
45 // to the initial state if we need to re-lay out said block child. | 44 // to the initial state if we need to re-lay out said block child. |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 // content as tall as |contentLogicalHeight|. |flowThreadOffset| is expected
to be at the exact | 109 // content as tall as |contentLogicalHeight|. |flowThreadOffset| is expected
to be at the exact |
111 // top of a column that's known to not have enough space for |contentLogical
Height|. This method | 110 // top of a column that's known to not have enough space for |contentLogical
Height|. This method |
112 // is called when the current column is too short to fit the content, in the
hope that there | 111 // is called when the current column is too short to fit the content, in the
hope that there |
113 // exists one that's tall enough further ahead. If no such column can be fou
nd, | 112 // exists one that's tall enough further ahead. If no such column can be fou
nd, |
114 // |flowThreadOffset| will be returned. | 113 // |flowThreadOffset| will be returned. |
115 LayoutUnit nextLogicalTopForUnbreakableContent(LayoutUnit flowThreadOffset,
LayoutUnit contentLogicalHeight) const; | 114 LayoutUnit nextLogicalTopForUnbreakableContent(LayoutUnit flowThreadOffset,
LayoutUnit contentLogicalHeight) const; |
116 | 115 |
117 virtual bool isPageLogicalHeightKnown() const { return true; } | 116 virtual bool isPageLogicalHeightKnown() const { return true; } |
118 bool pageLogicalSizeChanged() const { return m_pageLogicalSizeChanged; } | 117 bool pageLogicalSizeChanged() const { return m_pageLogicalSizeChanged; } |
119 | 118 |
120 void collectLayerFragments(PaintLayerFragments&, const LayoutRect& layerBoun
dingBox, const LayoutRect& dirtyRectInMulticolContainer); | |
121 | |
122 // Return the visual bounding box based on the supplied flow-thread bounding
box. Both | 119 // Return the visual bounding box based on the supplied flow-thread bounding
box. Both |
123 // rectangles are completely physical in terms of writing mode. | 120 // rectangles are completely physical in terms of writing mode. |
124 LayoutRect fragmentsBoundingBox(const LayoutRect& layerBoundingBox) const; | 121 LayoutRect fragmentsBoundingBox(const LayoutRect& layerBoundingBox) const; |
125 | 122 |
126 // Convert a logical position in the flow thread coordinate space to a logic
al position in the | 123 // Convert a logical position in the flow thread coordinate space to a logic
al position in the |
127 // containing coordinate space. | 124 // containing coordinate space. |
128 void flowThreadToContainingCoordinateSpace(LayoutUnit& blockPosition, Layout
Unit& inlinePosition) const; | 125 void flowThreadToContainingCoordinateSpace(LayoutUnit& blockPosition, Layout
Unit& inlinePosition) const; |
129 | 126 |
130 virtual LayoutPoint flowThreadPointToVisualPoint(const LayoutPoint& flowThre
adPoint) const = 0; | 127 virtual LayoutPoint flowThreadPointToVisualPoint(const LayoutPoint& flowThre
adPoint) const = 0; |
131 virtual LayoutPoint visualPointToFlowThreadPoint(const LayoutPoint& visualPo
int) const = 0; | 128 virtual LayoutPoint visualPointToFlowThreadPoint(const LayoutPoint& visualPo
int) const = 0; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 // These structures are used by PODIntervalTree for debugging. | 169 // These structures are used by PODIntervalTree for debugging. |
173 #ifndef NDEBUG | 170 #ifndef NDEBUG |
174 template <> struct ValueToString<LayoutMultiColumnSet*> { | 171 template <> struct ValueToString<LayoutMultiColumnSet*> { |
175 static String toString(const LayoutMultiColumnSet* value) { return String::f
ormat("%p", value); } | 172 static String toString(const LayoutMultiColumnSet* value) { return String::f
ormat("%p", value); } |
176 }; | 173 }; |
177 #endif | 174 #endif |
178 | 175 |
179 } // namespace blink | 176 } // namespace blink |
180 | 177 |
181 #endif // LayoutFlowThread_h | 178 #endif // LayoutFlowThread_h |
OLD | NEW |