| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2007 David Smith (catfish.man@gmail.com) | 4 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. |
| 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 7 * Copyright (C) 2014 Samsung Electronics. All rights reserved. | 7 * Copyright (C) 2014 Samsung Electronics. All rights reserved. |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 3440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3451 ColumnInfo* colInfo = columnInfo(); | 3451 ColumnInfo* colInfo = columnInfo(); |
| 3452 LayoutUnit columnLogicalHeight = colInfo->columnHeight(); | 3452 LayoutUnit columnLogicalHeight = colInfo->columnHeight(); |
| 3453 LayoutUnit expandedLogicalHeight = borderBefore() + paddingBefore() + column
Count(colInfo) * columnLogicalHeight + borderAfter() + paddingAfter() + scrollba
rLogicalHeight(); | 3453 LayoutUnit expandedLogicalHeight = borderBefore() + paddingBefore() + column
Count(colInfo) * columnLogicalHeight + borderAfter() + paddingAfter() + scrollba
rLogicalHeight(); |
| 3454 | 3454 |
| 3455 if (isHorizontalWritingMode()) | 3455 if (isHorizontalWritingMode()) |
| 3456 rect.setY(expandedLogicalHeight - rect.maxY()); | 3456 rect.setY(expandedLogicalHeight - rect.maxY()); |
| 3457 else | 3457 else |
| 3458 rect.setX(expandedLogicalHeight - rect.maxX()); | 3458 rect.setX(expandedLogicalHeight - rect.maxX()); |
| 3459 } | 3459 } |
| 3460 | 3460 |
| 3461 void RenderBlock::adjustForColumns(LayoutSize& offset, const LayoutPoint& point)
const | 3461 LayoutSize RenderBlock::columnOffset(const LayoutPoint& point) const |
| 3462 { | 3462 { |
| 3463 if (!hasColumns()) | 3463 if (!hasColumns()) |
| 3464 return; | 3464 return LayoutSize(); |
| 3465 | 3465 |
| 3466 ColumnInfo* colInfo = columnInfo(); | 3466 ColumnInfo* colInfo = columnInfo(); |
| 3467 | 3467 |
| 3468 LayoutUnit logicalLeft = logicalLeftOffsetForContent(); | 3468 LayoutUnit logicalLeft = logicalLeftOffsetForContent(); |
| 3469 unsigned colCount = columnCount(colInfo); | 3469 unsigned colCount = columnCount(colInfo); |
| 3470 LayoutUnit colLogicalWidth = colInfo->desiredColumnWidth(); | 3470 LayoutUnit colLogicalWidth = colInfo->desiredColumnWidth(); |
| 3471 LayoutUnit colLogicalHeight = colInfo->columnHeight(); | 3471 LayoutUnit colLogicalHeight = colInfo->columnHeight(); |
| 3472 | 3472 |
| 3473 for (unsigned i = 0; i < colCount; ++i) { | 3473 for (unsigned i = 0; i < colCount; ++i) { |
| 3474 // Compute the edges for a given column in the block progression directi
on. | 3474 // Compute the edges for a given column in the block progression directi
on. |
| 3475 LayoutRect sliceRect = LayoutRect(logicalLeft, borderBefore() + paddingB
efore() + i * colLogicalHeight, colLogicalWidth, colLogicalHeight); | 3475 LayoutRect sliceRect = LayoutRect(logicalLeft, borderBefore() + paddingB
efore() + i * colLogicalHeight, colLogicalWidth, colLogicalHeight); |
| 3476 if (!isHorizontalWritingMode()) | 3476 if (!isHorizontalWritingMode()) |
| 3477 sliceRect = sliceRect.transposedRect(); | 3477 sliceRect = sliceRect.transposedRect(); |
| 3478 | 3478 |
| 3479 LayoutUnit logicalOffset = i * colLogicalHeight; | 3479 LayoutUnit logicalOffset = i * colLogicalHeight; |
| 3480 | 3480 |
| 3481 // Now we're in the same coordinate space as the point. See if it is in
side the rectangle. | 3481 // Now we're in the same coordinate space as the point. See if it is in
side the rectangle. |
| 3482 if (isHorizontalWritingMode()) { | 3482 if (isHorizontalWritingMode()) { |
| 3483 if (point.y() >= sliceRect.y() && point.y() < sliceRect.maxY()) { | 3483 if (point.y() >= sliceRect.y() && point.y() < sliceRect.maxY()) { |
| 3484 if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) | 3484 if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) |
| 3485 offset.expand(columnRectAt(colInfo, i).x() - logicalLeft, -l
ogicalOffset); | 3485 return LayoutSize(columnRectAt(colInfo, i).x() - logicalLeft
, -logicalOffset); |
| 3486 else | 3486 return LayoutSize(0, columnRectAt(colInfo, i).y() - logicalOffse
t - borderBefore() - paddingBefore()); |
| 3487 offset.expand(0, columnRectAt(colInfo, i).y() - logicalOffse
t - borderBefore() - paddingBefore()); | |
| 3488 return; | |
| 3489 } | 3487 } |
| 3490 } else { | 3488 } else { |
| 3491 if (point.x() >= sliceRect.x() && point.x() < sliceRect.maxX()) { | 3489 if (point.x() >= sliceRect.x() && point.x() < sliceRect.maxX()) { |
| 3492 if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) | 3490 if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) |
| 3493 offset.expand(-logicalOffset, columnRectAt(colInfo, i).y() -
logicalLeft); | 3491 return LayoutSize(-logicalOffset, columnRectAt(colInfo, i).y
() - logicalLeft); |
| 3494 else | 3492 return LayoutSize(columnRectAt(colInfo, i).x() - logicalOffset -
borderBefore() - paddingBefore(), 0); |
| 3495 offset.expand(columnRectAt(colInfo, i).x() - logicalOffset -
borderBefore() - paddingBefore(), 0); | |
| 3496 return; | |
| 3497 } | 3493 } |
| 3498 } | 3494 } |
| 3499 } | 3495 } |
| 3496 |
| 3497 return LayoutSize(); |
| 3500 } | 3498 } |
| 3501 | 3499 |
| 3502 void RenderBlock::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Lay
outUnit& maxLogicalWidth) const | 3500 void RenderBlock::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Lay
outUnit& maxLogicalWidth) const |
| 3503 { | 3501 { |
| 3504 if (childrenInline()) { | 3502 if (childrenInline()) { |
| 3505 // FIXME: Remove this const_cast. | 3503 // FIXME: Remove this const_cast. |
| 3506 toRenderBlockFlow(const_cast<RenderBlock*>(this))->computeInlinePreferre
dLogicalWidths(minLogicalWidth, maxLogicalWidth); | 3504 toRenderBlockFlow(const_cast<RenderBlock*>(this))->computeInlinePreferre
dLogicalWidths(minLogicalWidth, maxLogicalWidth); |
| 3507 } else { | 3505 } else { |
| 3508 computeBlockPreferredLogicalWidths(minLogicalWidth, maxLogicalWidth); | 3506 computeBlockPreferredLogicalWidths(minLogicalWidth, maxLogicalWidth); |
| 3509 } | 3507 } |
| (...skipping 1510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5020 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const | 5018 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const |
| 5021 { | 5019 { |
| 5022 showRenderObject(); | 5020 showRenderObject(); |
| 5023 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) | 5021 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) |
| 5024 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); | 5022 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); |
| 5025 } | 5023 } |
| 5026 | 5024 |
| 5027 #endif | 5025 #endif |
| 5028 | 5026 |
| 5029 } // namespace WebCore | 5027 } // namespace WebCore |
| OLD | NEW |