Title: [162822] trunk/Source/WebCore
Revision
162822
Author
[email protected]
Date
2014-01-26 19:57:22 -0800 (Sun, 26 Jan 2014)

Log Message

[New Multicolumn] Change the axis property to be a boolean like other isInline checks
https://bugs.webkit.org/show_bug.cgi?id=127661

Reviewed by Simon Fraser.

* rendering/ColumnInfo.h:
(WebCore::ColumnInfo::ColumnInfo):
(WebCore::ColumnInfo::progressionIsInline):
(WebCore::ColumnInfo::setProgressionIsInline):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintColumnRules):
(WebCore::RenderBlock::initialBlockOffsetForPainting):
(WebCore::RenderBlock::blockDeltaForPaintingNextColumn):
(WebCore::RenderBlock::setComputedColumnCountAndWidth):
(WebCore::RenderBlock::updateColumnInfoFromStyle):
(WebCore::RenderBlock::columnRectAt):
(WebCore::RenderBlock::adjustPointToColumnContents):
(WebCore::RenderBlock::adjustRectForColumns):
(WebCore::RenderBlock::adjustForColumns):
* rendering/RenderMultiColumnFlowThread.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::columnNumberForOffset):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (162821 => 162822)


--- trunk/Source/WebCore/ChangeLog	2014-01-27 02:22:34 UTC (rev 162821)
+++ trunk/Source/WebCore/ChangeLog	2014-01-27 03:57:22 UTC (rev 162822)
@@ -1,3 +1,28 @@
+2014-01-26  David Hyatt  <[email protected]>
+
+        [New Multicolumn] Change the axis property to be a boolean like other isInline checks
+        https://bugs.webkit.org/show_bug.cgi?id=127661
+
+        Reviewed by Simon Fraser.
+
+        * rendering/ColumnInfo.h:
+        (WebCore::ColumnInfo::ColumnInfo):
+        (WebCore::ColumnInfo::progressionIsInline):
+        (WebCore::ColumnInfo::setProgressionIsInline):
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::paintColumnRules):
+        (WebCore::RenderBlock::initialBlockOffsetForPainting):
+        (WebCore::RenderBlock::blockDeltaForPaintingNextColumn):
+        (WebCore::RenderBlock::setComputedColumnCountAndWidth):
+        (WebCore::RenderBlock::updateColumnInfoFromStyle):
+        (WebCore::RenderBlock::columnRectAt):
+        (WebCore::RenderBlock::adjustPointToColumnContents):
+        (WebCore::RenderBlock::adjustRectForColumns):
+        (WebCore::RenderBlock::adjustForColumns):
+        * rendering/RenderMultiColumnFlowThread.h:
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::columnNumberForOffset):
+
 2014-01-26  Benjamin Poulain  <[email protected]>
 
         Make DOMStringMap a typedef of DatasetDOMStringMap

Modified: trunk/Source/WebCore/rendering/ColumnInfo.h (162821 => 162822)


--- trunk/Source/WebCore/rendering/ColumnInfo.h	2014-01-27 02:22:34 UTC (rev 162821)
+++ trunk/Source/WebCore/rendering/ColumnInfo.h	2014-01-27 03:57:22 UTC (rev 162822)
@@ -37,7 +37,7 @@
     ColumnInfo()
         : m_desiredColumnWidth(0)
         , m_desiredColumnCount(1)
-        , m_progressionAxis(InlineAxis)
+        , m_progressionIsInline(true)
         , m_progressionIsReversed(false)
         , m_columnCount(1)
         , m_columnHeight(0)
@@ -55,11 +55,9 @@
     unsigned desiredColumnCount() const { return m_desiredColumnCount; }
     void setDesiredColumnCount(unsigned count) { m_desiredColumnCount = count; }
 
-    enum Axis { InlineAxis, BlockAxis };
+    bool progressionIsInline() const { return m_progressionIsInline; }
+    void setProgressionIsInline(bool progressionIsInline) { m_progressionIsInline = progressionIsInline; }
 
-    Axis progressionAxis() const { return m_progressionAxis; }
-    void setProgressionAxis(Axis progressionAxis) { m_progressionAxis = progressionAxis; }
-
     bool progressionIsReversed() const { return m_progressionIsReversed; }
     void setProgressionIsReversed(bool reversed) { m_progressionIsReversed = reversed; }
 
@@ -105,7 +103,7 @@
 private:
     LayoutUnit m_desiredColumnWidth;
     unsigned m_desiredColumnCount;
-    Axis m_progressionAxis;
+    bool m_progressionIsInline;
     bool m_progressionIsReversed;
 
     unsigned m_columnCount;

Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (162821 => 162822)


--- trunk/Source/WebCore/rendering/RenderBlock.cpp	2014-01-27 02:22:34 UTC (rev 162821)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp	2014-01-27 03:57:22 UTC (rev 162822)
@@ -2209,7 +2209,7 @@
 
     bool antialias = shouldAntialiasLines(paintInfo.context);
 
-    if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) {
+    if (colInfo->progressionIsInline()) {
         bool leftToRight = style().isLeftToRightDirection() ^ colInfo->progressionIsReversed();
         LayoutUnit currLogicalLeftOffset = leftToRight ? LayoutUnit() : contentLogicalWidth();
         LayoutUnit ruleAdd = logicalLeftOffsetForContent();
@@ -2282,7 +2282,7 @@
 {
     ColumnInfo* colInfo = columnInfo();
     LayoutUnit result = 0;
-    if (colInfo->progressionAxis() == ColumnInfo::BlockAxis && colInfo->progressionIsReversed()) {
+    if (!colInfo->progressionIsInline() && colInfo->progressionIsReversed()) {
         LayoutRect colRect = columnRectAt(colInfo, 0);
         result = isHorizontalWritingMode() ? colRect.y() : colRect.x();
         result -= borderAndPaddingBefore();
@@ -2297,7 +2297,7 @@
     ColumnInfo* colInfo = columnInfo();
     LayoutUnit blockDelta = -colInfo->columnHeight();
     LayoutUnit colGap = columnGap();
-    if (colInfo->progressionAxis() == ColumnInfo::BlockAxis) {
+    if (!colInfo->progressionIsInline()) {
         if (!colInfo->progressionIsReversed())
             blockDelta = colGap;
         else
@@ -3706,7 +3706,7 @@
         }
         info->setDesiredColumnCount(count);
         info->setDesiredColumnWidth(width);
-        info->setProgressionAxis(style().hasInlineColumnAxis() ? ColumnInfo::InlineAxis : ColumnInfo::BlockAxis);
+        info->setProgressionIsInline(style().hasInlineColumnAxis());
         info->setProgressionIsReversed(style().columnProgression() == ReverseColumnProgression);
     }
 }
@@ -3719,10 +3719,10 @@
     ColumnInfo* info = gColumnInfoMap->get(this);
 
     bool needsLayout = false;
-    ColumnInfo::Axis oldAxis = info->progressionAxis();
-    ColumnInfo::Axis newAxis = style->hasInlineColumnAxis() ? ColumnInfo::InlineAxis : ColumnInfo::BlockAxis;
-    if (oldAxis != newAxis) {
-        info->setProgressionAxis(newAxis);
+    bool oldProgressionIsInline = info->progressionIsInline();
+    bool newProgressionIsInline = style->hasInlineColumnAxis();
+    if (oldProgressionIsInline != newProgressionIsInline) {
+        info->setProgressionIsInline(newProgressionIsInline);
         needsLayout = true;
     }
 
@@ -3775,7 +3775,7 @@
     LayoutUnit colLogicalTop = borderAndPaddingBefore();
     LayoutUnit colLogicalLeft = logicalLeftOffsetForContent();
     LayoutUnit colGap = columnGap();
-    if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) {
+    if (colInfo->progressionIsInline()) {
         if (style().isLeftToRightDirection() ^ colInfo->progressionIsReversed())
             colLogicalLeft += index * (colLogicalWidth + colGap);
         else
@@ -3811,10 +3811,10 @@
         // Add in half the column gap to the left and right of the rect.
         LayoutRect colRect = columnRectAt(colInfo, i);
         flipForWritingMode(colRect);
-        if (isHorizontalWritingMode() == (colInfo->progressionAxis() == ColumnInfo::InlineAxis)) {
+        if (isHorizontalWritingMode() == colInfo->progressionIsInline()) {
             LayoutRect gapAndColumnRect(colRect.x() - halfColGap, colRect.y(), colRect.width() + colGap, colRect.height());
             if (point.x() >= gapAndColumnRect.x() && point.x() < gapAndColumnRect.maxX()) {
-                if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) {
+                if (colInfo->progressionIsInline()) {
                     // FIXME: The clamping that follows is not completely right for right-to-left
                     // content.
                     // Clamp everything above the column to its top left.
@@ -3834,7 +3834,7 @@
                 }
 
                 // We're inside the column.  Translate the x and y into our column coordinate space.
-                if (colInfo->progressionAxis() == ColumnInfo::InlineAxis)
+                if (colInfo->progressionIsInline())
                     point.move(columnPoint.x() - colRect.x(), (!style().isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset));
                 else
                     point.move((!style().isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset) - colRect.x() + borderLeft() + paddingLeft(), 0);
@@ -3842,11 +3842,11 @@
             }
 
             // Move to the next position.
-            logicalOffset += colInfo->progressionAxis() == ColumnInfo::InlineAxis ? colRect.height() : colRect.width();
+            logicalOffset += colInfo->progressionIsInline() ? colRect.height() : colRect.width();
         } else {
             LayoutRect gapAndColumnRect(colRect.x(), colRect.y() - halfColGap, colRect.width(), colRect.height() + colGap);
             if (point.y() >= gapAndColumnRect.y() && point.y() < gapAndColumnRect.maxY()) {
-                if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) {
+                if (colInfo->progressionIsInline()) {
                     // FIXME: The clamping that follows is not completely right for right-to-left
                     // content.
                     // Clamp everything above the column to its top left.
@@ -3866,7 +3866,7 @@
                 }
 
                 // We're inside the column.  Translate the x and y into our column coordinate space.
-                if (colInfo->progressionAxis() == ColumnInfo::InlineAxis)
+                if (colInfo->progressionIsInline())
                     point.move((!style().isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset), columnPoint.y() - colRect.y());
                 else
                     point.move(0, (!style().isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset) - colRect.y() + borderTop() + paddingTop());
@@ -3874,7 +3874,7 @@
             }
 
             // Move to the next position.
-            logicalOffset += colInfo->progressionAxis() == ColumnInfo::InlineAxis ? colRect.width() : colRect.height();
+            logicalOffset += colInfo->progressionIsInline() ? colRect.width() : colRect.height();
         }
     }
 }
@@ -3915,7 +3915,7 @@
         LayoutRect colRect = columnRectAt(colInfo, startColumn);
         LayoutRect repaintRect = r;
 
-        if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) {
+        if (colInfo->progressionIsInline()) {
             if (isHorizontal)
                 repaintRect.move(colRect.x() - logicalLeftOffset, - static_cast<int>(startColumn) * colHeight);
             else
@@ -3990,7 +3990,7 @@
         // Now we're in the same coordinate space as the point.  See if it is inside the rectangle.
         if (isHorizontalWritingMode()) {
             if (point.y() >= sliceRect.y() && point.y() < sliceRect.maxY()) {
-                if (colInfo->progressionAxis() == ColumnInfo::InlineAxis)
+                if (colInfo->progressionIsInline())
                     offset.expand(columnRectAt(colInfo, i).x() - logicalLeft, -logicalOffset);
                 else
                     offset.expand(0, columnRectAt(colInfo, i).y() - logicalOffset - borderAndPaddingBefore());
@@ -3998,7 +3998,7 @@
             }
         } else {
             if (point.x() >= sliceRect.x() && point.x() < sliceRect.maxX()) {
-                if (colInfo->progressionAxis() == ColumnInfo::InlineAxis)
+                if (colInfo->progressionIsInline())
                     offset.expand(-logicalOffset, columnRectAt(colInfo, i).y() - logicalLeft);
                 else
                     offset.expand(columnRectAt(colInfo, i).x() - logicalOffset - borderAndPaddingBefore(), 0);

Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (162821 => 162822)


--- trunk/Source/WebCore/rendering/RenderObject.cpp	2014-01-27 02:22:34 UTC (rev 162821)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp	2014-01-27 03:57:22 UTC (rev 162822)
@@ -1065,7 +1065,7 @@
         return columnNumber;
 
     ColumnInfo* columnInfo = view.columnInfo();
-    if (columnInfo && columnInfo->progressionAxis() == ColumnInfo::BlockAxis) {
+    if (columnInfo && !columnInfo->progressionIsInline()) {
         if (!columnInfo->progressionIsReversed())
             columnNumber = (pagination.pageLength + pagination.gap - offset) / (pagination.pageLength + pagination.gap);
         else
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to