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, 2009, 2013 Apple Inc. All rights | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2009, 2013 Apple Inc. All rights |
8 * reserved. | 8 * 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 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
350 | 350 |
351 bool IsRepeatingHeaderGroup() const; | 351 bool IsRepeatingHeaderGroup() const; |
352 | 352 |
353 void UpdateLayout() override; | 353 void UpdateLayout() override; |
354 | 354 |
355 CellSpan FullSectionRowSpan() const { return CellSpan(0, grid_.size()); } | 355 CellSpan FullSectionRowSpan() const { return CellSpan(0, grid_.size()); } |
356 CellSpan FullTableEffectiveColumnSpan() const { | 356 CellSpan FullTableEffectiveColumnSpan() const { |
357 return CellSpan(0, Table()->NumEffectiveColumns()); | 357 return CellSpan(0, Table()->NumEffectiveColumns()); |
358 } | 358 } |
359 | 359 |
360 // Return the primary cell of the table grid slot above or below grid slot | |
361 // (row, effectiveColumn). | |
362 LayoutTableCell* PrimaryCellAboveInTable(unsigned row, | |
363 unsigned effective_column); | |
364 LayoutTableCell* PrimaryCellBelowInTable(unsigned row, | |
365 unsigned effective_column); | |
366 | |
367 void InvalidateCellCollapsedBordersIntersectingRow(unsigned row_index); | |
368 | |
360 protected: | 369 protected: |
361 void StyleDidChange(StyleDifference, const ComputedStyle* old_style) override; | 370 void StyleDidChange(StyleDifference, const ComputedStyle* old_style) override; |
362 bool NodeAtPoint(HitTestResult&, | 371 bool NodeAtPoint(HitTestResult&, |
363 const HitTestLocation& location_in_container, | 372 const HitTestLocation& location_in_container, |
364 const LayoutPoint& accumulated_offset, | 373 const LayoutPoint& accumulated_offset, |
365 HitTestAction) override; | 374 HitTestAction) override; |
366 | 375 |
367 private: | 376 private: |
368 bool IsOfType(LayoutObjectType type) const override { | 377 bool IsOfType(LayoutObjectType type) const override { |
369 return type == kLayoutObjectTableSection || LayoutBox::IsOfType(type); | 378 return type == kLayoutObjectTableSection || LayoutBox::IsOfType(type); |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
446 void RelayoutCellIfFlexed(LayoutTableCell&, int row_index, int row_height); | 455 void RelayoutCellIfFlexed(LayoutTableCell&, int row_index, int row_height); |
447 | 456 |
448 int LogicalHeightForRow(const LayoutTableRow&) const; | 457 int LogicalHeightForRow(const LayoutTableRow&) const; |
449 | 458 |
450 // Honor breaking restrictions inside the table row, and adjust position and | 459 // Honor breaking restrictions inside the table row, and adjust position and |
451 // size accordingly. | 460 // size accordingly. |
452 void AdjustRowForPagination(LayoutTableRow&, SubtreeLayoutScope&); | 461 void AdjustRowForPagination(LayoutTableRow&, SubtreeLayoutScope&); |
453 | 462 |
454 bool PaintedOutputOfObjectHasNoEffectRegardlessOfSize() const override; | 463 bool PaintedOutputOfObjectHasNoEffectRegardlessOfSize() const override; |
455 | 464 |
465 void InvalidateCollapsedBordersOfAffectedCells(); | |
wkorman
2017/04/27 22:05:36
Same as previous comment re: "OfAffectedCells"
| |
466 | |
456 // The representation of the rows and their cells (CellStruct). | 467 // The representation of the rows and their cells (CellStruct). |
457 Vector<RowStruct> grid_; | 468 Vector<RowStruct> grid_; |
458 | 469 |
459 // The logical offset of each row from the top of the section. | 470 // The logical offset of each row from the top of the section. |
460 // | 471 // |
461 // Note that this Vector has one more entry than the number of rows so that | 472 // Note that this Vector has one more entry than the number of rows so that |
462 // we can keep track of the final size of the section. That is, | 473 // we can keep track of the final size of the section. That is, |
463 // m_rowPos[m_grid.size()] is a valid entry. | 474 // m_rowPos[m_grid.size()] is a valid entry. |
464 // | 475 // |
465 // To know a row's height at |rowIndex|, use the formula: | 476 // To know a row's height at |rowIndex|, use the formula: |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
502 | 513 |
503 // Whether any cell spans multiple rows or cols. | 514 // Whether any cell spans multiple rows or cols. |
504 bool has_spanning_cells_; | 515 bool has_spanning_cells_; |
505 }; | 516 }; |
506 | 517 |
507 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableSection, IsTableSection()); | 518 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableSection, IsTableSection()); |
508 | 519 |
509 } // namespace blink | 520 } // namespace blink |
510 | 521 |
511 #endif // LayoutTableSection_h | 522 #endif // LayoutTableSection_h |
OLD | NEW |