| 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 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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. |
| 94 RenderRegion* firstRegion() const; | 94 RenderRegion* firstRegion() const; |
| 95 RenderRegion* lastRegion() const; | 95 RenderRegion* lastRegion() const; |
| 96 | 96 |
| 97 void setRegionRangeForBox(const RenderBox*, LayoutUnit offsetFromLogicalTopO
fFirstPage); | |
| 98 | |
| 99 virtual bool addForcedRegionBreak(LayoutUnit, RenderObject* breakChild, bool
isBefore, LayoutUnit* offsetBreakAdjustment = 0) { return false; } | 97 virtual bool addForcedRegionBreak(LayoutUnit, RenderObject* breakChild, bool
isBefore, LayoutUnit* offsetBreakAdjustment = 0) { return false; } |
| 100 | 98 |
| 101 virtual bool isPageLogicalHeightKnown() const { return true; } | 99 virtual bool isPageLogicalHeightKnown() const { return true; } |
| 102 bool pageLogicalSizeChanged() const { return m_pageLogicalSizeChanged; } | 100 bool pageLogicalSizeChanged() const { return m_pageLogicalSizeChanged; } |
| 103 | 101 |
| 104 void collectLayerFragments(LayerFragments&, const LayoutRect& layerBoundingB
ox, const LayoutRect& dirtyRect); | 102 void collectLayerFragments(LayerFragments&, const LayoutRect& layerBoundingB
ox, const LayoutRect& dirtyRect); |
| 105 LayoutRect fragmentsBoundingBox(const LayoutRect& layerBoundingBox); | 103 LayoutRect fragmentsBoundingBox(const LayoutRect& layerBoundingBox); |
| 106 | 104 |
| 107 void pushFlowThreadLayoutState(const RenderObject&); | 105 void pushFlowThreadLayoutState(const RenderObject&); |
| 108 void popFlowThreadLayoutState(); | 106 void popFlowThreadLayoutState(); |
| 109 LayoutUnit offsetFromLogicalTopOfFirstRegion(const RenderBlock*) const; | 107 LayoutUnit offsetFromLogicalTopOfFirstRegion(const RenderBlock*) const; |
| 110 | 108 |
| 111 // Used to estimate the maximum height of the flow thread. | 109 // Used to estimate the maximum height of the flow thread. |
| 112 static LayoutUnit maxLogicalHeight() { return LayoutUnit::max() / 2; } | 110 static LayoutUnit maxLogicalHeight() { return LayoutUnit::max() / 2; } |
| 113 | 111 |
| 114 protected: | 112 protected: |
| 115 virtual const char* renderName() const = 0; | 113 virtual const char* renderName() const = 0; |
| 116 | 114 |
| 117 void updateRegionsFlowThreadPortionRect(); | 115 void updateRegionsFlowThreadPortionRect(); |
| 118 bool shouldIssuePaintInvalidations(const LayoutRect&) const; | 116 bool shouldIssuePaintInvalidations(const LayoutRect&) const; |
| 119 | 117 |
| 120 void getRegionRangeForBox(const RenderBox*, RenderMultiColumnSet*& startColu
mnSet, RenderMultiColumnSet*& endColumnSet) const; | |
| 121 | |
| 122 virtual RenderMultiColumnSet* columnSetAtBlockOffset(LayoutUnit) const = 0; | 118 virtual RenderMultiColumnSet* columnSetAtBlockOffset(LayoutUnit) const = 0; |
| 123 | 119 |
| 124 bool cachedOffsetFromLogicalTopOfFirstRegion(const RenderBox*, LayoutUnit&)
const; | 120 bool cachedOffsetFromLogicalTopOfFirstRegion(const RenderBox*, LayoutUnit&)
const; |
| 125 void setOffsetFromLogicalTopOfFirstRegion(const RenderBox*, LayoutUnit); | 121 void setOffsetFromLogicalTopOfFirstRegion(const RenderBox*, LayoutUnit); |
| 126 void clearOffsetFromLogicalTopOfFirstRegion(const RenderBox*); | 122 void clearOffsetFromLogicalTopOfFirstRegion(const RenderBox*); |
| 127 | 123 |
| 128 const RenderBox* currentStatePusherRenderBox() const; | 124 const RenderBox* currentStatePusherRenderBox() const; |
| 129 | 125 |
| 130 RenderMultiColumnSetList m_multiColumnSetList; | 126 RenderMultiColumnSetList m_multiColumnSetList; |
| 131 | 127 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 const LayoutUnit& highValue() const { return m_offset; } | 166 const LayoutUnit& highValue() const { return m_offset; } |
| 171 void collectIfNeeded(const MultiColumnSetInterval&); | 167 void collectIfNeeded(const MultiColumnSetInterval&); |
| 172 | 168 |
| 173 RenderRegion* result() const { return m_result; } | 169 RenderRegion* result() const { return m_result; } |
| 174 | 170 |
| 175 private: | 171 private: |
| 176 LayoutUnit m_offset; | 172 LayoutUnit m_offset; |
| 177 RenderRegion* m_result; | 173 RenderRegion* m_result; |
| 178 }; | 174 }; |
| 179 | 175 |
| 180 // A maps from RenderBox | |
| 181 typedef HashMap<const RenderBox*, RenderMultiColumnSetRange> RenderMultiColu
mnSetRangeMap; | |
| 182 RenderMultiColumnSetRangeMap m_multiColumnSetRangeMap; | |
| 183 | |
| 184 // Stack of objects that pushed a LayoutState object on the RenderView. The | 176 // Stack of objects that pushed a LayoutState object on the RenderView. The |
| 185 // objects on the stack are the ones that are curently in the process of bei
ng | 177 // objects on the stack are the ones that are curently in the process of bei
ng |
| 186 // laid out. | 178 // laid out. |
| 187 ListHashSet<const RenderObject*> m_statePusherObjectsStack; | 179 ListHashSet<const RenderObject*> m_statePusherObjectsStack; |
| 188 typedef HashMap<const RenderBox*, LayoutUnit> RenderBoxToOffsetMap; | 180 typedef HashMap<const RenderBox*, LayoutUnit> RenderBoxToOffsetMap; |
| 189 RenderBoxToOffsetMap m_boxesToOffsetMap; | 181 RenderBoxToOffsetMap m_boxesToOffsetMap; |
| 190 | 182 |
| 191 MultiColumnSetIntervalTree m_multiColumnSetIntervalTree; | 183 MultiColumnSetIntervalTree m_multiColumnSetIntervalTree; |
| 192 | 184 |
| 193 bool m_regionsInvalidated : 1; | 185 bool m_regionsInvalidated : 1; |
| (...skipping 20 matching lines...) Expand all Loading... |
| 214 }; | 206 }; |
| 215 | 207 |
| 216 template <> struct ValueToString<RenderMultiColumnSet*> { | 208 template <> struct ValueToString<RenderMultiColumnSet*> { |
| 217 static String string(const RenderMultiColumnSet* value) { return String::for
mat("%p", value); } | 209 static String string(const RenderMultiColumnSet* value) { return String::for
mat("%p", value); } |
| 218 }; | 210 }; |
| 219 #endif | 211 #endif |
| 220 | 212 |
| 221 } // namespace blink | 213 } // namespace blink |
| 222 | 214 |
| 223 #endif // RenderFlowThread_h | 215 #endif // RenderFlowThread_h |
| OLD | NEW |