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 Apple Inc. All rights reserved. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2009 Apple Inc. 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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 , baseline() | 115 , baseline() |
116 { | 116 { |
117 } | 117 } |
118 | 118 |
119 Row row; | 119 Row row; |
120 RenderTableRow* rowRenderer; | 120 RenderTableRow* rowRenderer; |
121 LayoutUnit baseline; | 121 LayoutUnit baseline; |
122 Length logicalHeight; | 122 Length logicalHeight; |
123 }; | 123 }; |
124 | 124 |
| 125 struct SpanningRowsHeight { |
| 126 WTF_MAKE_NONCOPYABLE(SpanningRowsHeight); |
| 127 |
| 128 public: |
| 129 SpanningRowsHeight() |
| 130 : totalRowsHeight(0) |
| 131 , spanningCellHeightIgnoringBorderSpacing(0) |
| 132 { |
| 133 } |
| 134 |
| 135 Vector<int> rowHeight; |
| 136 int totalRowsHeight; |
| 137 int spanningCellHeightIgnoringBorderSpacing; |
| 138 }; |
| 139 |
125 const BorderValue& borderAdjoiningTableStart() const | 140 const BorderValue& borderAdjoiningTableStart() const |
126 { | 141 { |
127 if (hasSameDirectionAs(table())) | 142 if (hasSameDirectionAs(table())) |
128 return style()->borderStart(); | 143 return style()->borderStart(); |
129 | 144 |
130 return style()->borderEnd(); | 145 return style()->borderEnd(); |
131 } | 146 } |
132 | 147 |
133 const BorderValue& borderAdjoiningTableEnd() const | 148 const BorderValue& borderAdjoiningTableEnd() const |
134 { | 149 { |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 virtual void paintObject(PaintInfo&, const LayoutPoint&); | 234 virtual void paintObject(PaintInfo&, const LayoutPoint&); |
220 | 235 |
221 virtual void imageChanged(WrappedImagePtr, const IntRect* = 0); | 236 virtual void imageChanged(WrappedImagePtr, const IntRect* = 0); |
222 | 237 |
223 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes
tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct
ion) OVERRIDE; | 238 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes
tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct
ion) OVERRIDE; |
224 | 239 |
225 int borderSpacingForRow(unsigned row) const { return m_grid[row].rowRenderer
? table()->vBorderSpacing() : 0; } | 240 int borderSpacingForRow(unsigned row) const { return m_grid[row].rowRenderer
? table()->vBorderSpacing() : 0; } |
226 | 241 |
227 void ensureRows(unsigned); | 242 void ensureRows(unsigned); |
228 | 243 |
| 244 void populateSpanningRowsHeightFromCell(RenderTableCell*, struct SpanningRow
sHeight&); |
| 245 void distributeExtraRowSpanHeightToPercentRows(RenderTableCell*, int, int&,
Vector<int>&); |
| 246 void distributeExtraRowSpanHeightToAutoRows(RenderTableCell*, int, int&, Vec
tor<int>&); |
| 247 void distributeExtraRowSpanHeightToRemainingRows(RenderTableCell*, int, int&
, Vector<int>&); |
229 void distributeRowSpanHeightToRows(SpanningRenderTableCells& rowSpanCells); | 248 void distributeRowSpanHeightToRows(SpanningRenderTableCells& rowSpanCells); |
230 | 249 |
231 void distributeExtraLogicalHeightToPercentRows(int& extraLogicalHeight, int
totalPercent); | 250 void distributeExtraLogicalHeightToPercentRows(int& extraLogicalHeight, int
totalPercent); |
232 void distributeExtraLogicalHeightToAutoRows(int& extraLogicalHeight, unsigne
d autoRowsCount); | 251 void distributeExtraLogicalHeightToAutoRows(int& extraLogicalHeight, unsigne
d autoRowsCount); |
233 void distributeRemainingExtraLogicalHeight(int& extraLogicalHeight); | 252 void distributeRemainingExtraLogicalHeight(int& extraLogicalHeight); |
234 | 253 |
235 void updateBaselineForCell(RenderTableCell*, unsigned row, LayoutUnit& basel
ineDescent); | 254 void updateBaselineForCell(RenderTableCell*, unsigned row, LayoutUnit& basel
ineDescent); |
236 | 255 |
237 bool hasOverflowingCell() const { return m_overflowingCells.size() || m_forc
eSlowPaintPathWithOverflowingCell; } | 256 bool hasOverflowingCell() const { return m_overflowingCells.size() || m_forc
eSlowPaintPathWithOverflowingCell; } |
238 void computeOverflowFromCells(unsigned totalRows, unsigned nEffCols); | 257 void computeOverflowFromCells(unsigned totalRows, unsigned nEffCols); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isTableSection()); | 312 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isTableSection()); |
294 return static_cast<const RenderTableSection*>(object); | 313 return static_cast<const RenderTableSection*>(object); |
295 } | 314 } |
296 | 315 |
297 // This will catch anyone doing an unnecessary cast. | 316 // This will catch anyone doing an unnecessary cast. |
298 void toRenderTableSection(const RenderTableSection*); | 317 void toRenderTableSection(const RenderTableSection*); |
299 | 318 |
300 } // namespace WebCore | 319 } // namespace WebCore |
301 | 320 |
302 #endif // RenderTableSection_h | 321 #endif // RenderTableSection_h |
OLD | NEW |