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, 2010, 2013 Apple Inc.
All rights reserved. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 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 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 // FIXME: Is this needed when issuing paint invalidations after layo
ut? | 187 // FIXME: Is this needed when issuing paint invalidations after layo
ut? |
188 cell->setShouldDoFullPaintInvalidation(); | 188 cell->setShouldDoFullPaintInvalidation(); |
189 } | 189 } |
190 } | 190 } |
191 | 191 |
192 // LayoutTableSection::layoutRows will set our logical height and width late
r, so it calls updateLayerTransform(). | 192 // LayoutTableSection::layoutRows will set our logical height and width late
r, so it calls updateLayerTransform(). |
193 clearNeedsLayout(); | 193 clearNeedsLayout(); |
194 } | 194 } |
195 | 195 |
196 // Hit Testing | 196 // Hit Testing |
197 bool LayoutTableRow::nodeAtPoint(const HitTestRequest& request, HitTestResult& r
esult, const HitTestLocation& locationInContainer, const LayoutPoint& accumulate
dOffset, HitTestAction action) | 197 bool LayoutTableRow::nodeAtPoint(HitTestResult& result, const HitTestLocation& l
ocationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action) |
198 { | 198 { |
199 // Table rows cannot ever be hit tested. Effectively they do not exist. | 199 // Table rows cannot ever be hit tested. Effectively they do not exist. |
200 // Just forward to our children always. | 200 // Just forward to our children always. |
201 for (LayoutTableCell* cell = lastCell(); cell; cell = cell->previousCell())
{ | 201 for (LayoutTableCell* cell = lastCell(); cell; cell = cell->previousCell())
{ |
202 // FIXME: We have to skip over inline flows, since they can show up insi
de table rows | 202 // FIXME: We have to skip over inline flows, since they can show up insi
de table rows |
203 // at the moment (a demoted inline <form> for example). If we ever imple
ment a | 203 // at the moment (a demoted inline <form> for example). If we ever imple
ment a |
204 // table-specific hit-test method (which we should do for performance re
asons anyway), | 204 // table-specific hit-test method (which we should do for performance re
asons anyway), |
205 // then we can remove this check. | 205 // then we can remove this check. |
206 if (!cell->hasSelfPaintingLayer()) { | 206 if (!cell->hasSelfPaintingLayer()) { |
207 LayoutPoint cellPoint = flipForWritingModeForChild(cell, accumulated
Offset); | 207 LayoutPoint cellPoint = flipForWritingModeForChild(cell, accumulated
Offset); |
208 if (cell->nodeAtPoint(request, result, locationInContainer, cellPoin
t, action)) { | 208 if (cell->nodeAtPoint(result, locationInContainer, cellPoint, action
)) { |
209 updateHitTestResult(result, locationInContainer.point() - toLayo
utSize(cellPoint)); | 209 updateHitTestResult(result, locationInContainer.point() - toLayo
utSize(cellPoint)); |
210 return true; | 210 return true; |
211 } | 211 } |
212 } | 212 } |
213 } | 213 } |
214 | 214 |
215 return false; | 215 return false; |
216 } | 216 } |
217 | 217 |
218 void LayoutTableRow::paint(const PaintInfo& paintInfo, const LayoutPoint& paintO
ffset) | 218 void LayoutTableRow::paint(const PaintInfo& paintInfo, const LayoutPoint& paintO
ffset) |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 // The cell and the row share the section's coordinate system. However | 253 // The cell and the row share the section's coordinate system. However |
254 // the visual overflow should be determined in the coordinate system of | 254 // the visual overflow should be determined in the coordinate system of |
255 // the row, that's why we shift it below. | 255 // the row, that's why we shift it below. |
256 LayoutUnit cellOffsetLogicalTopDifference = cell->location().y() - location(
).y(); | 256 LayoutUnit cellOffsetLogicalTopDifference = cell->location().y() - location(
).y(); |
257 cellVisualOverflowRect.move(0, cellOffsetLogicalTopDifference); | 257 cellVisualOverflowRect.move(0, cellOffsetLogicalTopDifference); |
258 | 258 |
259 addVisualOverflow(cellVisualOverflowRect); | 259 addVisualOverflow(cellVisualOverflowRect); |
260 } | 260 } |
261 | 261 |
262 } // namespace blink | 262 } // namespace blink |
OLD | NEW |