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, 2009, 2013 Apple Inc. All rights
reserved. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2013 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 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 } | 143 } |
144 | 144 |
145 int logicalHeightFromStyle() const | 145 int logicalHeightFromStyle() const |
146 { | 146 { |
147 Length height = style()->logicalHeight(); | 147 Length height = style()->logicalHeight(); |
148 int styleLogicalHeight = height.isIntrinsicOrAuto() ? LayoutUnit() : val
ueForLength(height, LayoutUnit()); | 148 int styleLogicalHeight = height.isIntrinsicOrAuto() ? LayoutUnit() : val
ueForLength(height, LayoutUnit()); |
149 | 149 |
150 // In strict mode, box-sizing: content-box do the right thing and actual
ly add in the border and padding. | 150 // In strict mode, box-sizing: content-box do the right thing and actual
ly add in the border and padding. |
151 // Call computedCSSPadding* directly to avoid including implicitPadding. | 151 // Call computedCSSPadding* directly to avoid including implicitPadding. |
152 if (!document().inQuirksMode() && style()->boxSizing() != BORDER_BOX) | 152 if (!document().inQuirksMode() && style()->boxSizing() != BORDER_BOX) |
153 styleLogicalHeight += (computedCSSPaddingBefore() + computedCSSPaddi
ngAfter()).floor() + borderBefore() + borderAfter(); | 153 styleLogicalHeight += (computedCSSPaddingBefore() + computedCSSPaddi
ngAfter() + borderBefore() + borderAfter()).floor(); |
154 return styleLogicalHeight; | 154 return styleLogicalHeight; |
155 } | 155 } |
156 | 156 |
157 int logicalHeightForRowSizing() const | 157 int logicalHeightForRowSizing() const |
158 { | 158 { |
159 // FIXME: This function does too much work, and is very hot during table
layout! | 159 // FIXME: This function does too much work, and is very hot during table
layout! |
160 int adjustedLogicalHeight = pixelSnappedLogicalHeight() - (intrinsicPadd
ingBefore() + intrinsicPaddingAfter()); | 160 int adjustedLogicalHeight = pixelSnappedLogicalHeight() - (intrinsicPadd
ingBefore() + intrinsicPaddingAfter()); |
161 int styleLogicalHeight = logicalHeightFromStyle(); | 161 int styleLogicalHeight = logicalHeightFromStyle(); |
162 return max(styleLogicalHeight, adjustedLogicalHeight); | 162 return max(styleLogicalHeight, adjustedLogicalHeight); |
163 } | 163 } |
164 | 164 |
165 | 165 |
166 void setCellLogicalWidth(int constrainedLogicalWidth, SubtreeLayoutScope&); | 166 void setCellLogicalWidth(int constrainedLogicalWidth, SubtreeLayoutScope&); |
167 | 167 |
168 int borderLeft() const override; | 168 LayoutUnit borderLeft() const override; |
169 int borderRight() const override; | 169 LayoutUnit borderRight() const override; |
170 int borderTop() const override; | 170 LayoutUnit borderTop() const override; |
171 int borderBottom() const override; | 171 LayoutUnit borderBottom() const override; |
172 int borderStart() const override; | 172 LayoutUnit borderStart() const override; |
173 int borderEnd() const override; | 173 LayoutUnit borderEnd() const override; |
174 int borderBefore() const override; | 174 LayoutUnit borderBefore() const override; |
175 int borderAfter() const override; | 175 LayoutUnit borderAfter() const override; |
176 | 176 |
177 void collectBorderValues(LayoutTable::CollapsedBorderValues&); | 177 void collectBorderValues(LayoutTable::CollapsedBorderValues&); |
178 static void sortBorderValues(LayoutTable::CollapsedBorderValues&); | 178 static void sortBorderValues(LayoutTable::CollapsedBorderValues&); |
179 | 179 |
180 void layout() override; | 180 void layout() override; |
181 | 181 |
182 void paint(const PaintInfo&, const LayoutPoint&) const override; | 182 void paint(const PaintInfo&, const LayoutPoint&) const override; |
183 | 183 |
184 int cellBaselinePosition() const; | 184 int cellBaselinePosition() const; |
185 bool isBaselineAligned() const | 185 bool isBaselineAligned() const |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
287 | 287 |
288 void paintBoxDecorationBackground(const PaintInfo&, const LayoutPoint&) cons
t override; | 288 void paintBoxDecorationBackground(const PaintInfo&, const LayoutPoint&) cons
t override; |
289 void paintMask(const PaintInfo&, const LayoutPoint&) const override; | 289 void paintMask(const PaintInfo&, const LayoutPoint&) const override; |
290 | 290 |
291 bool boxShadowShouldBeAppliedToBackground(BackgroundBleedAvoidance, const In
lineFlowBox*) const override; | 291 bool boxShadowShouldBeAppliedToBackground(BackgroundBleedAvoidance, const In
lineFlowBox*) const override; |
292 | 292 |
293 LayoutSize offsetFromContainer(const LayoutObject*, const LayoutPoint&, bool
* offsetDependsOnPoint = nullptr) const override; | 293 LayoutSize offsetFromContainer(const LayoutObject*, const LayoutPoint&, bool
* offsetDependsOnPoint = nullptr) const override; |
294 LayoutRect clippedOverflowRectForPaintInvalidation(const LayoutBoxModelObjec
t* paintInvalidationContainer, const PaintInvalidationState* = nullptr) const ov
erride; | 294 LayoutRect clippedOverflowRectForPaintInvalidation(const LayoutBoxModelObjec
t* paintInvalidationContainer, const PaintInvalidationState* = nullptr) const ov
erride; |
295 void mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* ancestor, L
ayoutRect&, const PaintInvalidationState*) const override; | 295 void mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* ancestor, L
ayoutRect&, const PaintInvalidationState*) const override; |
296 | 296 |
297 int borderHalfLeft(bool outer) const; | 297 LayoutUnit borderHalfLeft(bool outer) const; |
298 int borderHalfRight(bool outer) const; | 298 LayoutUnit borderHalfRight(bool outer) const; |
299 int borderHalfTop(bool outer) const; | 299 LayoutUnit borderHalfTop(bool outer) const; |
300 int borderHalfBottom(bool outer) const; | 300 LayoutUnit borderHalfBottom(bool outer) const; |
301 | 301 |
302 int borderHalfStart(bool outer) const; | 302 LayoutUnit borderHalfStart(bool outer) const; |
303 int borderHalfEnd(bool outer) const; | 303 LayoutUnit borderHalfEnd(bool outer) const; |
304 int borderHalfBefore(bool outer) const; | 304 LayoutUnit borderHalfBefore(bool outer) const; |
305 int borderHalfAfter(bool outer) const; | 305 LayoutUnit borderHalfAfter(bool outer) const; |
306 | 306 |
307 void setIntrinsicPaddingBefore(int p) { m_intrinsicPaddingBefore = p; } | 307 void setIntrinsicPaddingBefore(int p) { m_intrinsicPaddingBefore = p; } |
308 void setIntrinsicPaddingAfter(int p) { m_intrinsicPaddingAfter = p; } | 308 void setIntrinsicPaddingAfter(int p) { m_intrinsicPaddingAfter = p; } |
309 void setIntrinsicPadding(int before, int after) { setIntrinsicPaddingBefore(
before); setIntrinsicPaddingAfter(after); } | 309 void setIntrinsicPadding(int before, int after) { setIntrinsicPaddingBefore(
before); setIntrinsicPaddingAfter(after); } |
310 | 310 |
311 bool hasStartBorderAdjoiningTable() const; | 311 bool hasStartBorderAdjoiningTable() const; |
312 bool hasEndBorderAdjoiningTable() const; | 312 bool hasEndBorderAdjoiningTable() const; |
313 | 313 |
314 // Those functions implement the CSS collapsing border conflict | 314 // Those functions implement the CSS collapsing border conflict |
315 // resolution algorithm. | 315 // resolution algorithm. |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
379 | 379 |
380 inline LayoutTableCell* LayoutTableRow::lastCell() const | 380 inline LayoutTableCell* LayoutTableRow::lastCell() const |
381 { | 381 { |
382 ASSERT(children() == virtualChildren()); | 382 ASSERT(children() == virtualChildren()); |
383 return toLayoutTableCell(children()->lastChild()); | 383 return toLayoutTableCell(children()->lastChild()); |
384 } | 384 } |
385 | 385 |
386 } // namespace blink | 386 } // namespace blink |
387 | 387 |
388 #endif // LayoutTableCell_h | 388 #endif // LayoutTableCell_h |
OLD | NEW |