| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/layout/MultiColumnFragmentainerGroup.h" | 5 #include "core/layout/MultiColumnFragmentainerGroup.h" |
| 6 | 6 |
| 7 #include "core/layout/ColumnBalancer.h" | 7 #include "core/layout/ColumnBalancer.h" |
| 8 #include "core/layout/FragmentationContext.h" | 8 #include "core/layout/FragmentationContext.h" |
| 9 #include "core/layout/LayoutMultiColumnSet.h" | 9 #include "core/layout/LayoutMultiColumnSet.h" |
| 10 | 10 |
| (...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 473 bool isColumnProgressionInline = m_columnSet.multiColumnFlowThread()->progre
ssionIsInline(); | 473 bool isColumnProgressionInline = m_columnSet.multiColumnFlowThread()->progre
ssionIsInline(); |
| 474 bool isHorizontalWritingMode = m_columnSet.isHorizontalWritingMode(); | 474 bool isHorizontalWritingMode = m_columnSet.isHorizontalWritingMode(); |
| 475 LayoutUnit columnLengthInColumnProgressionDirection = isColumnProgressionInl
ine ? m_columnSet.pageLogicalWidth() : logicalHeight(); | 475 LayoutUnit columnLengthInColumnProgressionDirection = isColumnProgressionInl
ine ? m_columnSet.pageLogicalWidth() : logicalHeight(); |
| 476 LayoutUnit offsetInColumnProgressionDirection = isHorizontalWritingMode == i
sColumnProgressionInline ? visualPoint.x() : visualPoint.y(); | 476 LayoutUnit offsetInColumnProgressionDirection = isHorizontalWritingMode == i
sColumnProgressionInline ? visualPoint.x() : visualPoint.y(); |
| 477 if (!m_columnSet.style()->isLeftToRightDirection() && isColumnProgressionInl
ine) | 477 if (!m_columnSet.style()->isLeftToRightDirection() && isColumnProgressionInl
ine) |
| 478 offsetInColumnProgressionDirection = m_columnSet.logicalWidth() - offset
InColumnProgressionDirection; | 478 offsetInColumnProgressionDirection = m_columnSet.logicalWidth() - offset
InColumnProgressionDirection; |
| 479 LayoutUnit columnGap = m_columnSet.columnGap(); | 479 LayoutUnit columnGap = m_columnSet.columnGap(); |
| 480 if (columnLengthInColumnProgressionDirection + columnGap <= 0) | 480 if (columnLengthInColumnProgressionDirection + columnGap <= 0) |
| 481 return 0; | 481 return 0; |
| 482 // Column boundaries are in the middle of the column gap. | 482 // Column boundaries are in the middle of the column gap. |
| 483 int index = (offsetInColumnProgressionDirection + columnGap / 2) / (columnLe
ngthInColumnProgressionDirection + columnGap); | 483 int index = ((offsetInColumnProgressionDirection + columnGap / 2) / (columnL
engthInColumnProgressionDirection + columnGap)).toInt(); |
| 484 if (index < 0) | 484 if (index < 0) |
| 485 return 0; | 485 return 0; |
| 486 return std::min(unsigned(index), actualColumnCount() - 1); | 486 return std::min(unsigned(index), actualColumnCount() - 1); |
| 487 } | 487 } |
| 488 | 488 |
| 489 void MultiColumnFragmentainerGroup::columnIntervalForBlockRangeInFlowThread(Layo
utUnit logicalTopInFlowThread, LayoutUnit logicalBottomInFlowThread, unsigned& f
irstColumn, unsigned& lastColumn) const | 489 void MultiColumnFragmentainerGroup::columnIntervalForBlockRangeInFlowThread(Layo
utUnit logicalTopInFlowThread, LayoutUnit logicalBottomInFlowThread, unsigned& f
irstColumn, unsigned& lastColumn) const |
| 490 { | 490 { |
| 491 ASSERT(logicalTopInFlowThread <= logicalBottomInFlowThread); | 491 ASSERT(logicalTopInFlowThread <= logicalBottomInFlowThread); |
| 492 firstColumn = columnIndexAtOffset(logicalTopInFlowThread); | 492 firstColumn = columnIndexAtOffset(logicalTopInFlowThread); |
| 493 lastColumn = columnIndexAtOffset(logicalBottomInFlowThread); | 493 lastColumn = columnIndexAtOffset(logicalBottomInFlowThread); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 540 append(MultiColumnFragmentainerGroup(m_columnSet)); | 540 append(MultiColumnFragmentainerGroup(m_columnSet)); |
| 541 return last(); | 541 return last(); |
| 542 } | 542 } |
| 543 | 543 |
| 544 void MultiColumnFragmentainerGroupList::deleteExtraGroups() | 544 void MultiColumnFragmentainerGroupList::deleteExtraGroups() |
| 545 { | 545 { |
| 546 shrink(1); | 546 shrink(1); |
| 547 } | 547 } |
| 548 | 548 |
| 549 } // namespace blink | 549 } // namespace blink |
| OLD | NEW |