| 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 |