Changeset 136146 in webkit
- Timestamp:
- Nov 29, 2012, 12:11:06 PM (14 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
rendering/RenderMultiColumnSet.cpp (modified) (1 diff)
-
rendering/RenderMultiColumnSet.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r136145 r136146 1 2012-11-29 David Hyatt <hyatt@apple.com> 2 3 [New Multicolumn] Add minimum column height tracking and forced break tracking to column sets. 4 https://bugs.webkit.org/show_bug.cgi?id=103657 5 6 Reviewed by Simon Fraser. 7 8 * rendering/RenderMultiColumnSet.cpp: 9 (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): 10 * rendering/RenderMultiColumnSet.h: 11 (WebCore::RenderMultiColumnSet::updateMinimumColumnHeight): 12 (WebCore::RenderMultiColumnSet::minimumColumnHeight): 13 (RenderMultiColumnSet): 14 (WebCore::RenderMultiColumnSet::forcedBreaksCount): 15 (WebCore::RenderMultiColumnSet::forcedBreakOffset): 16 (WebCore::RenderMultiColumnSet::maximumDistanceBetweenForcedBreaks): 17 (WebCore::RenderMultiColumnSet::clearForcedBreaks): 18 (WebCore::RenderMultiColumnSet::addForcedBreak): 19 1 20 2012-11-29 Pavel Feldman <pfeldman@chromium.org> 2 21 -
trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp
r133779 r136146 42 42 , m_computedColumnWidth(0) 43 43 , m_computedColumnHeight(0) 44 , m_minimumColumnHeight(0) 45 , m_forcedBreaksCount(0) 46 , m_maximumDistanceBetweenForcedBreaks(0) 47 , m_forcedBreakOffset(0) 44 48 { 45 49 } -
trunk/Source/WebCore/rendering/RenderMultiColumnSet.h
r131351 r136146 62 62 } 63 63 64 void updateMinimumColumnHeight(LayoutUnit height) { m_minimumColumnHeight = std::max(height, m_minimumColumnHeight); } 65 LayoutUnit minimumColumnHeight() const { return m_minimumColumnHeight; } 66 67 unsigned forcedBreaksCount() const { return m_forcedBreaksCount; } 68 LayoutUnit forcedBreakOffset() const { return m_forcedBreakOffset; } 69 LayoutUnit maximumDistanceBetweenForcedBreaks() const { return m_maximumDistanceBetweenForcedBreaks; } 70 void clearForcedBreaks() 71 { 72 m_forcedBreaksCount = 0; 73 m_maximumDistanceBetweenForcedBreaks = 0; 74 m_forcedBreakOffset = 0; 75 } 76 void addForcedBreak(LayoutUnit offsetFromFirstPage) 77 { 78 ASSERT(!computedColumnHeight()); 79 LayoutUnit distanceFromLastBreak = offsetFromFirstPage - m_forcedBreakOffset; 80 if (!distanceFromLastBreak) 81 return; 82 m_forcedBreaksCount++; 83 m_maximumDistanceBetweenForcedBreaks = std::max(m_maximumDistanceBetweenForcedBreaks, distanceFromLastBreak); 84 m_forcedBreakOffset = offsetFromFirstPage; 85 } 86 64 87 private: 65 88 virtual void updateLogicalWidth() OVERRIDE; … … 97 120 LayoutUnit m_computedColumnWidth; 98 121 LayoutUnit m_computedColumnHeight; 122 123 // The following variables are used when balancing the column set. 124 LayoutUnit m_minimumColumnHeight; 125 unsigned m_forcedBreaksCount; // FIXME: We will ultimately need to cache more information to balance around forced breaks properly. 126 LayoutUnit m_maximumDistanceBetweenForcedBreaks; 127 LayoutUnit m_forcedBreakOffset; 99 128 }; 100 129
Note:
See TracChangeset
for help on using the changeset viewer.