| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) | 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) |
| 3 * (C) 1997 Torben Weis (weis@kde.org) | 3 * (C) 1997 Torben Weis (weis@kde.org) |
| 4 * (C) 1998 Waldo Bastian (bastian@kde.org) | 4 * (C) 1998 Waldo Bastian (bastian@kde.org) |
| 5 * (C) 1999 Lars Knoll (knoll@kde.org) | 5 * (C) 1999 Lars Knoll (knoll@kde.org) |
| 6 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 6 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. |
| 8 * All rights reserved. | 8 * All rights reserved. |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 239 EVerticalAlign verticalAlign, | 239 EVerticalAlign verticalAlign, |
| 240 SubtreeLayoutScope& layouter) { | 240 SubtreeLayoutScope& layouter) { |
| 241 int oldIntrinsicPaddingBefore = intrinsicPaddingBefore(); | 241 int oldIntrinsicPaddingBefore = intrinsicPaddingBefore(); |
| 242 int oldIntrinsicPaddingAfter = intrinsicPaddingAfter(); | 242 int oldIntrinsicPaddingAfter = intrinsicPaddingAfter(); |
| 243 int logicalHeightWithoutIntrinsicPadding = pixelSnappedLogicalHeight() - | 243 int logicalHeightWithoutIntrinsicPadding = pixelSnappedLogicalHeight() - |
| 244 oldIntrinsicPaddingBefore - | 244 oldIntrinsicPaddingBefore - |
| 245 oldIntrinsicPaddingAfter; | 245 oldIntrinsicPaddingAfter; |
| 246 | 246 |
| 247 int intrinsicPaddingBefore = 0; | 247 int intrinsicPaddingBefore = 0; |
| 248 switch (verticalAlign) { | 248 switch (verticalAlign) { |
| 249 case VerticalAlignSub: | 249 case EVerticalAlign::Sub: |
| 250 case VerticalAlignSuper: | 250 case EVerticalAlign::Super: |
| 251 case VerticalAlignTextTop: | 251 case EVerticalAlign::TextTop: |
| 252 case VerticalAlignTextBottom: | 252 case EVerticalAlign::TextBottom: |
| 253 case VerticalAlignLength: | 253 case EVerticalAlign::Length: |
| 254 case VerticalAlignBaseline: { | 254 case EVerticalAlign::Baseline: { |
| 255 int baseline = cellBaselinePosition(); | 255 int baseline = cellBaselinePosition(); |
| 256 if (baseline > borderBefore() + paddingBefore()) | 256 if (baseline > borderBefore() + paddingBefore()) |
| 257 intrinsicPaddingBefore = section()->rowBaseline(rowIndex()) - | 257 intrinsicPaddingBefore = section()->rowBaseline(rowIndex()) - |
| 258 (baseline - oldIntrinsicPaddingBefore); | 258 (baseline - oldIntrinsicPaddingBefore); |
| 259 break; | 259 break; |
| 260 } | 260 } |
| 261 case VerticalAlignTop: | 261 case EVerticalAlign::Top: |
| 262 break; | 262 break; |
| 263 case VerticalAlignMiddle: | 263 case EVerticalAlign::Middle: |
| 264 intrinsicPaddingBefore = | 264 intrinsicPaddingBefore = |
| 265 (rowHeight - logicalHeightWithoutIntrinsicPadding) / 2; | 265 (rowHeight - logicalHeightWithoutIntrinsicPadding) / 2; |
| 266 break; | 266 break; |
| 267 case VerticalAlignBottom: | 267 case EVerticalAlign::Bottom: |
| 268 intrinsicPaddingBefore = rowHeight - logicalHeightWithoutIntrinsicPadding; | 268 intrinsicPaddingBefore = rowHeight - logicalHeightWithoutIntrinsicPadding; |
| 269 break; | 269 break; |
| 270 case VerticalAlignBaselineMiddle: | 270 case EVerticalAlign::BaselineMiddle: |
| 271 break; | 271 break; |
| 272 } | 272 } |
| 273 | 273 |
| 274 int intrinsicPaddingAfter = | 274 int intrinsicPaddingAfter = |
| 275 rowHeight - logicalHeightWithoutIntrinsicPadding - intrinsicPaddingBefore; | 275 rowHeight - logicalHeightWithoutIntrinsicPadding - intrinsicPaddingBefore; |
| 276 setIntrinsicPaddingBefore(intrinsicPaddingBefore); | 276 setIntrinsicPaddingBefore(intrinsicPaddingBefore); |
| 277 setIntrinsicPaddingAfter(intrinsicPaddingAfter); | 277 setIntrinsicPaddingAfter(intrinsicPaddingAfter); |
| 278 | 278 |
| 279 // FIXME: Changing an intrinsic padding shouldn't trigger a relayout as it | 279 // FIXME: Changing an intrinsic padding shouldn't trigger a relayout as it |
| 280 // only shifts the cell inside the row but doesn't change the logical height. | 280 // only shifts the cell inside the row but doesn't change the logical height. |
| (...skipping 1112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1393 return; | 1393 return; |
| 1394 | 1394 |
| 1395 // We only care if the scrollbar that affects our intrinsic padding has been | 1395 // We only care if the scrollbar that affects our intrinsic padding has been |
| 1396 // added. | 1396 // added. |
| 1397 if ((isHorizontalWritingMode() && !horizontalScrollbarChanged) || | 1397 if ((isHorizontalWritingMode() && !horizontalScrollbarChanged) || |
| 1398 (!isHorizontalWritingMode() && !verticalScrollbarChanged)) | 1398 (!isHorizontalWritingMode() && !verticalScrollbarChanged)) |
| 1399 return; | 1399 return; |
| 1400 | 1400 |
| 1401 // Shrink our intrinsic padding as much as possible to accommodate the | 1401 // Shrink our intrinsic padding as much as possible to accommodate the |
| 1402 // scrollbar. | 1402 // scrollbar. |
| 1403 if (style()->verticalAlign() == VerticalAlignMiddle) { | 1403 if (style()->verticalAlign() == EVerticalAlign::Middle) { |
| 1404 LayoutUnit totalHeight = logicalHeight(); | 1404 LayoutUnit totalHeight = logicalHeight(); |
| 1405 LayoutUnit heightWithoutIntrinsicPadding = | 1405 LayoutUnit heightWithoutIntrinsicPadding = |
| 1406 totalHeight - intrinsicPaddingBefore() - intrinsicPaddingAfter(); | 1406 totalHeight - intrinsicPaddingBefore() - intrinsicPaddingAfter(); |
| 1407 totalHeight -= scrollbarHeight; | 1407 totalHeight -= scrollbarHeight; |
| 1408 LayoutUnit newBeforePadding = | 1408 LayoutUnit newBeforePadding = |
| 1409 (totalHeight - heightWithoutIntrinsicPadding) / 2; | 1409 (totalHeight - heightWithoutIntrinsicPadding) / 2; |
| 1410 LayoutUnit newAfterPadding = | 1410 LayoutUnit newAfterPadding = |
| 1411 totalHeight - heightWithoutIntrinsicPadding - newBeforePadding; | 1411 totalHeight - heightWithoutIntrinsicPadding - newBeforePadding; |
| 1412 setIntrinsicPaddingBefore(newBeforePadding.toInt()); | 1412 setIntrinsicPaddingBefore(newBeforePadding.toInt()); |
| 1413 setIntrinsicPaddingAfter(newAfterPadding.toInt()); | 1413 setIntrinsicPaddingAfter(newAfterPadding.toInt()); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1481 cb->adjustChildDebugRect(rect); | 1481 cb->adjustChildDebugRect(rect); |
| 1482 | 1482 |
| 1483 return rect; | 1483 return rect; |
| 1484 } | 1484 } |
| 1485 | 1485 |
| 1486 void LayoutTableCell::adjustChildDebugRect(LayoutRect& r) const { | 1486 void LayoutTableCell::adjustChildDebugRect(LayoutRect& r) const { |
| 1487 r.move(0, -intrinsicPaddingBefore()); | 1487 r.move(0, -intrinsicPaddingBefore()); |
| 1488 } | 1488 } |
| 1489 | 1489 |
| 1490 } // namespace blink | 1490 } // namespace blink |
| OLD | NEW |