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 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 void AddChild(LayoutObject* child, | 114 void AddChild(LayoutObject* child, |
115 LayoutObject* before_child = nullptr) override; | 115 LayoutObject* before_child = nullptr) override; |
116 | 116 |
117 int FirstLineBoxBaseline() const override; | 117 int FirstLineBoxBaseline() const override; |
118 | 118 |
119 void AddCell(LayoutTableCell*, LayoutTableRow*); | 119 void AddCell(LayoutTableCell*, LayoutTableRow*); |
120 | 120 |
121 int VBorderSpacingBeforeFirstRow() const; | 121 int VBorderSpacingBeforeFirstRow() const; |
122 int CalcRowLogicalHeight(); | 122 int CalcRowLogicalHeight(); |
123 void LayoutRows(); | 123 void LayoutRows(); |
124 void ComputeOverflowFromCells(); | 124 void ComputeOverflowFromDescendants(); |
125 bool RecalcChildOverflowAfterStyleChange(); | 125 bool RecalcChildOverflowAfterStyleChange(); |
126 | 126 |
127 void MarkAllCellsWidthsDirtyAndOrNeedsLayout(LayoutTable::WhatToMarkAllCells); | 127 void MarkAllCellsWidthsDirtyAndOrNeedsLayout(LayoutTable::WhatToMarkAllCells); |
128 | 128 |
129 LayoutTable* Table() const { return ToLayoutTable(Parent()); } | 129 LayoutTable* Table() const { return ToLayoutTable(Parent()); } |
130 | 130 |
131 typedef Vector<LayoutTableCell*, 2> SpanningLayoutTableCells; | 131 typedef Vector<LayoutTableCell*, 2> SpanningLayoutTableCells; |
132 | 132 |
133 // CellStruct represents the cells that occupy an (N, M) position in the | 133 // CellStruct represents the cells that occupy an (N, M) position in the |
134 // table grid. | 134 // table grid. |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
425 | 425 |
426 void UpdateBaselineForCell(LayoutTableCell*, | 426 void UpdateBaselineForCell(LayoutTableCell*, |
427 unsigned row, | 427 unsigned row, |
428 int& baseline_descent); | 428 int& baseline_descent); |
429 | 429 |
430 bool HasOverflowingCell() const { | 430 bool HasOverflowingCell() const { |
431 return overflowing_cells_.size() || | 431 return overflowing_cells_.size() || |
432 force_slow_paint_path_with_overflowing_cell_; | 432 force_slow_paint_path_with_overflowing_cell_; |
433 } | 433 } |
434 | 434 |
435 void ComputeOverflowFromCells(unsigned total_rows, unsigned n_eff_cols); | |
436 | |
437 // These two functions take a rectangle as input that has been flipped by | 435 // These two functions take a rectangle as input that has been flipped by |
438 // logicalRectForWritingModeAndDirection. | 436 // logicalRectForWritingModeAndDirection. |
439 // The returned span of rows or columns is end-exclusive, and empty if | 437 // The returned span of rows or columns is end-exclusive, and empty if |
440 // start==end. | 438 // start==end. |
441 CellSpan SpannedRows(const LayoutRect& flipped_rect) const; | 439 CellSpan SpannedRows(const LayoutRect& flipped_rect) const; |
442 CellSpan SpannedEffectiveColumns(const LayoutRect& flipped_rect) const; | 440 CellSpan SpannedEffectiveColumns(const LayoutRect& flipped_rect) const; |
443 | 441 |
444 void SetLogicalPositionForCell(LayoutTableCell*, | 442 void SetLogicalPositionForCell(LayoutTableCell*, |
445 unsigned effective_column) const; | 443 unsigned effective_column) const; |
446 | 444 |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
503 | 501 |
504 // Whether any cell spans multiple rows or cols. | 502 // Whether any cell spans multiple rows or cols. |
505 bool has_spanning_cells_; | 503 bool has_spanning_cells_; |
506 }; | 504 }; |
507 | 505 |
508 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableSection, IsTableSection()); | 506 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableSection, IsTableSection()); |
509 | 507 |
510 } // namespace blink | 508 } // namespace blink |
511 | 509 |
512 #endif // LayoutTableSection_h | 510 #endif // LayoutTableSection_h |
OLD | NEW |