OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2011 Apple Inc. 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 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 1504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1515 | 1515 |
1516 bool startIsAuto = startPosition.isAuto() | 1516 bool startIsAuto = startPosition.isAuto() |
1517 || (startPosition.isNamedGridArea() && !GridPositionsResolver::isValidNa medLineOrArea(startPosition.namedGridLine(), styleRef(), GridPositionsResolver:: initialPositionSide(direction))) | 1517 || (startPosition.isNamedGridArea() && !GridPositionsResolver::isValidNa medLineOrArea(startPosition.namedGridLine(), styleRef(), GridPositionsResolver:: initialPositionSide(direction))) |
1518 || (startLine < firstExplicitLine) | 1518 || (startLine < firstExplicitLine) |
1519 || (startLine > lastExplicitLine); | 1519 || (startLine > lastExplicitLine); |
1520 bool endIsAuto = endPosition.isAuto() | 1520 bool endIsAuto = endPosition.isAuto() |
1521 || (endPosition.isNamedGridArea() && !GridPositionsResolver::isValidName dLineOrArea(endPosition.namedGridLine(), styleRef(), GridPositionsResolver::fina lPositionSide(direction))) | 1521 || (endPosition.isNamedGridArea() && !GridPositionsResolver::isValidName dLineOrArea(endPosition.namedGridLine(), styleRef(), GridPositionsResolver::fina lPositionSide(direction))) |
1522 || (endLine < firstExplicitLine) | 1522 || (endLine < firstExplicitLine) |
1523 || (endLine > lastExplicitLine); | 1523 || (endLine > lastExplicitLine); |
1524 | 1524 |
1525 LayoutUnit start = startIsAuto ? LayoutUnit() : isForColumns ? m_columnPosi tions[startLine] : m_rowPositions[startLine]; | 1525 // We're normalizing the positions to avoid issues with RTL (as they're stor ed in the same order than LTR but adding an offset). |
1526 LayoutUnit end = endIsAuto ? isForColumns ? logicalWidth() : logicalHeight() : isForColumns ? m_columnPositions[endLine] : m_rowPositions[endLine]; | 1526 LayoutUnit start; |
1527 if (!startIsAuto) { | |
1528 if (isForColumns) | |
jfernandez
2016/03/29 12:24:35
I think we must use an isXXAxis terminologym, inst
| |
1529 start = m_columnPositions[startLine] - m_columnPositions[0] + paddin gStart(); | |
1530 else | |
1531 start = m_rowPositions[startLine] - m_rowPositions[0] + paddingBefor e(); | |
1532 } | |
1533 | |
1534 LayoutUnit end = isForColumns ? clientLogicalWidth() : clientLogicalHeight() ; | |
1535 if (!endIsAuto) { | |
1536 if (isForColumns) | |
jfernandez
2016/03/29 12:24:35
Ditto
| |
1537 end = m_columnPositions[endLine] - m_columnPositions[0] + paddingSta rt(); | |
1538 else | |
1539 end = m_rowPositions[endLine] - m_rowPositions[0] + paddingBefore(); | |
1540 } | |
1527 | 1541 |
1528 breadth = end - start; | 1542 breadth = end - start; |
1529 | |
1530 if (startIsAuto) | |
1531 breadth -= isForColumns ? borderStart() : borderBefore(); | |
1532 else | |
1533 start -= isForColumns ? borderStart() : borderBefore(); | |
1534 | |
1535 if (endIsAuto) { | |
1536 breadth -= isForColumns ? borderEnd() : borderAfter(); | |
1537 breadth -= scrollbarLogicalWidth(); | |
1538 } | |
1539 | |
1540 offset = start; | 1543 offset = start; |
1541 | 1544 |
1542 if (child.parent() == this && !startIsAuto) { | 1545 if (child.parent() == this && !startIsAuto) { |
1543 // If column/row start is "auto" the static position has been already se t in prepareChildForPositionedLayout(). | 1546 // If column/row start is "auto" the static position has been already se t in prepareChildForPositionedLayout(). |
1544 PaintLayer* childLayer = child.layer(); | 1547 PaintLayer* childLayer = child.layer(); |
1545 if (isForColumns) | 1548 if (isForColumns) |
1546 childLayer->setStaticInlinePosition(borderStart() + offset); | 1549 childLayer->setStaticInlinePosition(borderStart() + offset); |
1547 else | 1550 else |
1548 childLayer->setStaticBlockPosition(borderBefore() + offset); | 1551 childLayer->setStaticBlockPosition(borderBefore() + offset); |
1549 } | 1552 } |
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2037 | 2040 |
2038 return LayoutPoint(rowAxisOffset, columnAxisOffsetForChild(child, sizingData )); | 2041 return LayoutPoint(rowAxisOffset, columnAxisOffsetForChild(child, sizingData )); |
2039 } | 2042 } |
2040 | 2043 |
2041 void LayoutGrid::paintChildren(const PaintInfo& paintInfo, const LayoutPoint& pa intOffset) const | 2044 void LayoutGrid::paintChildren(const PaintInfo& paintInfo, const LayoutPoint& pa intOffset) const |
2042 { | 2045 { |
2043 GridPainter(*this).paintChildren(paintInfo, paintOffset); | 2046 GridPainter(*this).paintChildren(paintInfo, paintOffset); |
2044 } | 2047 } |
2045 | 2048 |
2046 } // namespace blink | 2049 } // namespace blink |
OLD | NEW |