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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 virtual void removeRegionFromThread(RenderMultiColumnSet*); | 73 virtual void removeRegionFromThread(RenderMultiColumnSet*); |
74 | 74 |
75 virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logic
alTop, LogicalExtentComputedValues&) const OVERRIDE; | 75 virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logic
alTop, LogicalExtentComputedValues&) const OVERRIDE; |
76 | 76 |
77 bool hasRegions() const { return m_multiColumnSetList.size(); } | 77 bool hasRegions() const { return m_multiColumnSetList.size(); } |
78 | 78 |
79 void validateRegions(); | 79 void validateRegions(); |
80 void invalidateRegions(); | 80 void invalidateRegions(); |
81 bool hasValidRegionInfo() const { return !m_regionsInvalidated && !m_multiCo
lumnSetList.isEmpty(); } | 81 bool hasValidRegionInfo() const { return !m_regionsInvalidated && !m_multiCo
lumnSetList.isEmpty(); } |
82 | 82 |
83 void repaintRectangleInRegions(const LayoutRect&) const; | 83 void paintInvalidationRectangleInRegions(const LayoutRect&) const; |
84 | 84 |
85 LayoutUnit pageLogicalHeightForOffset(LayoutUnit); | 85 LayoutUnit pageLogicalHeightForOffset(LayoutUnit); |
86 LayoutUnit pageRemainingLogicalHeightForOffset(LayoutUnit, PageBoundaryRule
= IncludePageBoundary); | 86 LayoutUnit pageRemainingLogicalHeightForOffset(LayoutUnit, PageBoundaryRule
= IncludePageBoundary); |
87 | 87 |
88 virtual void setPageBreak(LayoutUnit /*offset*/, LayoutUnit /*spaceShortage*
/) { } | 88 virtual void setPageBreak(LayoutUnit /*offset*/, LayoutUnit /*spaceShortage*
/) { } |
89 virtual void updateMinimumPageHeight(LayoutUnit /*offset*/, LayoutUnit /*min
Height*/) { } | 89 virtual void updateMinimumPageHeight(LayoutUnit /*offset*/, LayoutUnit /*min
Height*/) { } |
90 | 90 |
91 bool regionsHaveUniformLogicalHeight() const { return m_regionsHaveUniformLo
gicalHeight; } | 91 bool regionsHaveUniformLogicalHeight() const { return m_regionsHaveUniformLo
gicalHeight; } |
92 | 92 |
93 // FIXME: These 2 functions should return a RenderMultiColumnSet. | 93 // FIXME: These 2 functions should return a RenderMultiColumnSet. |
(...skipping 14 matching lines...) Expand all Loading... |
108 void popFlowThreadLayoutState(); | 108 void popFlowThreadLayoutState(); |
109 LayoutUnit offsetFromLogicalTopOfFirstRegion(const RenderBlock*) const; | 109 LayoutUnit offsetFromLogicalTopOfFirstRegion(const RenderBlock*) const; |
110 | 110 |
111 // Used to estimate the maximum height of the flow thread. | 111 // Used to estimate the maximum height of the flow thread. |
112 static LayoutUnit maxLogicalHeight() { return LayoutUnit::max() / 2; } | 112 static LayoutUnit maxLogicalHeight() { return LayoutUnit::max() / 2; } |
113 | 113 |
114 protected: | 114 protected: |
115 virtual const char* renderName() const = 0; | 115 virtual const char* renderName() const = 0; |
116 | 116 |
117 void updateRegionsFlowThreadPortionRect(); | 117 void updateRegionsFlowThreadPortionRect(); |
118 bool shouldRepaint(const LayoutRect&) const; | 118 bool shouldIssuePaintInvalidations(const LayoutRect&) const; |
119 | 119 |
120 void getRegionRangeForBox(const RenderBox*, RenderMultiColumnSet*& startColu
mnSet, RenderMultiColumnSet*& endColumnSet) const; | 120 void getRegionRangeForBox(const RenderBox*, RenderMultiColumnSet*& startColu
mnSet, RenderMultiColumnSet*& endColumnSet) const; |
121 | 121 |
122 virtual RenderMultiColumnSet* columnSetAtBlockOffset(LayoutUnit) const = 0; | 122 virtual RenderMultiColumnSet* columnSetAtBlockOffset(LayoutUnit) const = 0; |
123 | 123 |
124 bool cachedOffsetFromLogicalTopOfFirstRegion(const RenderBox*, LayoutUnit&)
const; | 124 bool cachedOffsetFromLogicalTopOfFirstRegion(const RenderBox*, LayoutUnit&)
const; |
125 void setOffsetFromLogicalTopOfFirstRegion(const RenderBox*, LayoutUnit); | 125 void setOffsetFromLogicalTopOfFirstRegion(const RenderBox*, LayoutUnit); |
126 void clearOffsetFromLogicalTopOfFirstRegion(const RenderBox*); | 126 void clearOffsetFromLogicalTopOfFirstRegion(const RenderBox*); |
127 | 127 |
128 const RenderBox* currentStatePusherRenderBox() const; | 128 const RenderBox* currentStatePusherRenderBox() const; |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 }; | 214 }; |
215 | 215 |
216 template <> struct ValueToString<RenderMultiColumnSet*> { | 216 template <> struct ValueToString<RenderMultiColumnSet*> { |
217 static String string(const RenderMultiColumnSet* value) { return String::for
mat("%p", value); } | 217 static String string(const RenderMultiColumnSet* value) { return String::for
mat("%p", value); } |
218 }; | 218 }; |
219 #endif | 219 #endif |
220 | 220 |
221 } // namespace blink | 221 } // namespace blink |
222 | 222 |
223 #endif // RenderFlowThread_h | 223 #endif // RenderFlowThread_h |
OLD | NEW |