OLD | NEW |
1 /* | 1 /* |
2 * This file is part of the render object implementation for KHTML. | 2 * This file is part of the render object implementation for KHTML. |
3 * | 3 * |
4 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 4 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
5 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 5 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
6 * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc. | 6 * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc. |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 curr->absoluteRects(rects, tx + curr->xPos(), ty + curr->yPos(), fal
se); | 294 curr->absoluteRects(rects, tx + curr->xPos(), ty + curr->yPos(), fal
se); |
295 } | 295 } |
296 | 296 |
297 if (continuation() && topLevel) | 297 if (continuation() && topLevel) |
298 continuation()->absoluteRects(rects, | 298 continuation()->absoluteRects(rects, |
299 tx - containingBlock()->xPos() + continuat
ion()->xPos(), | 299 tx - containingBlock()->xPos() + continuat
ion()->xPos(), |
300 ty - containingBlock()->yPos() + continuat
ion()->yPos(), | 300 ty - containingBlock()->yPos() + continuat
ion()->yPos(), |
301 topLevel); | 301 topLevel); |
302 } | 302 } |
303 | 303 |
| 304 void RenderInline::absoluteQuads(Vector<FloatQuad>& quads, bool topLevel) |
| 305 { |
| 306 for (InlineRunBox* curr = firstLineBox(); curr; curr = curr->nextLineBox())
{ |
| 307 FloatRect localRect(curr->xPos(), curr->yPos(), curr->width(), curr->hei
ght()); |
| 308 quads.append(localToAbsoluteQuad(localRect)); |
| 309 } |
| 310 |
| 311 for (RenderObject* curr = firstChild(); curr; curr = curr->nextSibling()) { |
| 312 if (!curr->isText()) |
| 313 curr->absoluteQuads(quads, false); |
| 314 } |
| 315 |
| 316 if (continuation() && topLevel) |
| 317 continuation()->absoluteQuads(quads, topLevel); |
| 318 } |
| 319 |
304 bool RenderInline::requiresLayer() | 320 bool RenderInline::requiresLayer() |
305 { | 321 { |
306 return isRelPositioned() || isTransparent() || hasMask(); | 322 return isRelPositioned() || isTransparent() || hasMask(); |
307 } | 323 } |
308 | 324 |
309 int RenderInline::width() const | 325 int RenderInline::width() const |
310 { | 326 { |
311 // Return the width of the minimal left side and the maximal right side. | 327 // Return the width of the minimal left side and the maximal right side. |
312 int leftSide = 0; | 328 int leftSide = 0; |
313 int rightSide = 0; | 329 int rightSide = 0; |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 if (c->isInline()) | 390 if (c->isInline()) |
375 contBlock = c->containingBlock(); | 391 contBlock = c->containingBlock(); |
376 if (c->isInline() || c->firstChild()) | 392 if (c->isInline() || c->firstChild()) |
377 return c->positionForCoordinates(parentBlockX - contBlock->xPos(), p
arentBlockY - contBlock->yPos()); | 393 return c->positionForCoordinates(parentBlockX - contBlock->xPos(), p
arentBlockY - contBlock->yPos()); |
378 } | 394 } |
379 | 395 |
380 return RenderFlow::positionForCoordinates(x, y); | 396 return RenderFlow::positionForCoordinates(x, y); |
381 } | 397 } |
382 | 398 |
383 } // namespace WebCore | 399 } // namespace WebCore |
OLD | NEW |