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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 void invalidateColumnSets(); | 82 void invalidateColumnSets(); |
83 bool hasValidColumnSetInfo() const { return !m_columnSetsInvalidated && !m_m
ultiColumnSetList.isEmpty(); } | 83 bool hasValidColumnSetInfo() const { return !m_columnSetsInvalidated && !m_m
ultiColumnSetList.isEmpty(); } |
84 | 84 |
85 void mapRectToPaintInvalidationBacking(const LayoutBoxModelObject* paintInva
lidationContainer, LayoutRect&, const PaintInvalidationState*) const override; | 85 void mapRectToPaintInvalidationBacking(const LayoutBoxModelObject* paintInva
lidationContainer, LayoutRect&, const PaintInvalidationState*) const override; |
86 | 86 |
87 LayoutUnit pageLogicalHeightForOffset(LayoutUnit); | 87 LayoutUnit pageLogicalHeightForOffset(LayoutUnit); |
88 LayoutUnit pageRemainingLogicalHeightForOffset(LayoutUnit, PageBoundaryRule)
; | 88 LayoutUnit pageRemainingLogicalHeightForOffset(LayoutUnit, PageBoundaryRule)
; |
89 | 89 |
90 virtual void contentWasLaidOut(LayoutUnit logicalTopInFlowThreadAfterPaginat
ion) = 0; | 90 virtual void contentWasLaidOut(LayoutUnit logicalTopInFlowThreadAfterPaginat
ion) = 0; |
91 | 91 |
| 92 // Find and return the next logical top after |flowThreadOffset| that can fi
t unbreakable |
| 93 // content as tall as |contentLogicalHeight|. |flowThreadOffset| is expected
to be at the exact |
| 94 // top of a column that's known to not have enough space for |contentLogical
Height|. This method |
| 95 // is called when the current column is too short to fit the content, in the
hope that there |
| 96 // exists one that's tall enough further ahead. If no such column can be fou
nd, |
| 97 // |flowThreadOffset| will be returned. |
| 98 LayoutUnit nextLogicalTopForUnbreakableContent(LayoutUnit flowThreadOffset,
LayoutUnit contentLogicalHeight) const; |
| 99 |
92 virtual bool isPageLogicalHeightKnown() const { return true; } | 100 virtual bool isPageLogicalHeightKnown() const { return true; } |
93 bool pageLogicalSizeChanged() const { return m_pageLogicalSizeChanged; } | 101 bool pageLogicalSizeChanged() const { return m_pageLogicalSizeChanged; } |
94 | 102 |
95 void collectLayerFragments(PaintLayerFragments&, const LayoutRect& layerBoun
dingBox, const LayoutRect& dirtyRectInFlowThread); | 103 void collectLayerFragments(PaintLayerFragments&, const LayoutRect& layerBoun
dingBox, const LayoutRect& dirtyRectInFlowThread); |
96 | 104 |
97 // Return the visual bounding box based on the supplied flow-thread bounding
box. Both | 105 // Return the visual bounding box based on the supplied flow-thread bounding
box. Both |
98 // rectangles are completely physical in terms of writing mode. | 106 // rectangles are completely physical in terms of writing mode. |
99 LayoutRect fragmentsBoundingBox(const LayoutRect& layerBoundingBox) const; | 107 LayoutRect fragmentsBoundingBox(const LayoutRect& layerBoundingBox) const; |
100 | 108 |
101 LayoutPoint flowThreadPointToVisualPoint(const LayoutPoint& flowThreadPoint)
const | 109 LayoutPoint flowThreadPointToVisualPoint(const LayoutPoint& flowThreadPoint)
const |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 // These structures are used by PODIntervalTree for debugging. | 155 // These structures are used by PODIntervalTree for debugging. |
148 #ifndef NDEBUG | 156 #ifndef NDEBUG |
149 template <> struct ValueToString<LayoutMultiColumnSet*> { | 157 template <> struct ValueToString<LayoutMultiColumnSet*> { |
150 static String string(const LayoutMultiColumnSet* value) { return String::for
mat("%p", value); } | 158 static String string(const LayoutMultiColumnSet* value) { return String::for
mat("%p", value); } |
151 }; | 159 }; |
152 #endif | 160 #endif |
153 | 161 |
154 } // namespace blink | 162 } // namespace blink |
155 | 163 |
156 #endif // LayoutFlowThread_h | 164 #endif // LayoutFlowThread_h |
OLD | NEW |