OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. |
5 * All rights reserved. | 5 * All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 | 275 |
276 DCHECK(!inlineBox); | 276 DCHECK(!inlineBox); |
277 | 277 |
278 if (extraWidthToEndOfLine) | 278 if (extraWidthToEndOfLine) |
279 *extraWidthToEndOfLine = LayoutUnit(); | 279 *extraWidthToEndOfLine = LayoutUnit(); |
280 | 280 |
281 LayoutRect caretRect = | 281 LayoutRect caretRect = |
282 localCaretRectForEmptyElement(borderAndPaddingWidth(), LayoutUnit()); | 282 localCaretRectForEmptyElement(borderAndPaddingWidth(), LayoutUnit()); |
283 | 283 |
284 if (InlineBox* firstBox = firstLineBox()) | 284 if (InlineBox* firstBox = firstLineBox()) |
285 caretRect.moveBy(firstBox->topLeft()); | 285 caretRect.moveBy(firstBox->location()); |
286 | 286 |
287 return caretRect; | 287 return caretRect; |
288 } | 288 } |
289 | 289 |
290 void LayoutInline::addChild(LayoutObject* newChild, LayoutObject* beforeChild) { | 290 void LayoutInline::addChild(LayoutObject* newChild, LayoutObject* beforeChild) { |
291 // Any table-part dom child of an inline element has anonymous wrappers in the | 291 // Any table-part dom child of an inline element has anonymous wrappers in the |
292 // layout tree so we need to climb up to the enclosing anonymous table wrapper | 292 // layout tree so we need to climb up to the enclosing anonymous table wrapper |
293 // and add the new child before that. | 293 // and add the new child before that. |
294 // TODO(rhogan): If newChild is a table part we want to insert it into the | 294 // TODO(rhogan): If newChild is a table part we want to insert it into the |
295 // same table as beforeChild. | 295 // same table as beforeChild. |
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
602 const LayoutPoint& paintOffset) const { | 602 const LayoutPoint& paintOffset) const { |
603 InlinePainter(*this).paint(paintInfo, paintOffset); | 603 InlinePainter(*this).paint(paintInfo, paintOffset); |
604 } | 604 } |
605 | 605 |
606 template <typename GeneratorContext> | 606 template <typename GeneratorContext> |
607 void LayoutInline::generateLineBoxRects(GeneratorContext& yield) const { | 607 void LayoutInline::generateLineBoxRects(GeneratorContext& yield) const { |
608 if (!alwaysCreateLineBoxes()) { | 608 if (!alwaysCreateLineBoxes()) { |
609 generateCulledLineBoxRects(yield, this); | 609 generateCulledLineBoxRects(yield, this); |
610 } else if (InlineFlowBox* curr = firstLineBox()) { | 610 } else if (InlineFlowBox* curr = firstLineBox()) { |
611 for (; curr; curr = curr->nextLineBox()) | 611 for (; curr; curr = curr->nextLineBox()) |
612 yield(LayoutRect(curr->topLeft(), curr->size())); | 612 yield(LayoutRect(curr->location(), curr->size())); |
613 } | 613 } |
614 } | 614 } |
615 | 615 |
616 static inline void computeItemTopHeight(const LayoutInline* container, | 616 static inline void computeItemTopHeight(const LayoutInline* container, |
617 const RootInlineBox& rootBox, | 617 const RootInlineBox& rootBox, |
618 LayoutUnit* top, | 618 LayoutUnit* top, |
619 LayoutUnit* height) { | 619 LayoutUnit* height) { |
620 bool firstLine = rootBox.isFirstLineStyle(); | 620 bool firstLine = rootBox.isFirstLineStyle(); |
621 const SimpleFontData* fontData = | 621 const SimpleFontData* fontData = |
622 rootBox.getLineLayoutItem().style(firstLine)->font().primaryFont(); | 622 rootBox.getLineLayoutItem().style(firstLine)->font().primaryFont(); |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
777 | 777 |
778 void LayoutInline::absoluteQuadsForSelf(Vector<FloatQuad>& quads) const { | 778 void LayoutInline::absoluteQuadsForSelf(Vector<FloatQuad>& quads) const { |
779 AbsoluteQuadsGeneratorContext context(this, quads); | 779 AbsoluteQuadsGeneratorContext context(this, quads); |
780 generateLineBoxRects(context); | 780 generateLineBoxRects(context); |
781 if (quads.isEmpty()) | 781 if (quads.isEmpty()) |
782 context(FloatRect()); | 782 context(FloatRect()); |
783 } | 783 } |
784 | 784 |
785 LayoutPoint LayoutInline::firstLineBoxTopLeft() const { | 785 LayoutPoint LayoutInline::firstLineBoxTopLeft() const { |
786 if (InlineBox* firstBox = firstLineBoxIncludingCulling()) | 786 if (InlineBox* firstBox = firstLineBoxIncludingCulling()) |
787 return firstBox->topLeft(); | 787 return firstBox->location(); |
788 return LayoutPoint(); | 788 return LayoutPoint(); |
789 } | 789 } |
790 | 790 |
791 LayoutUnit LayoutInline::offsetLeft(const Element* parent) const { | 791 LayoutUnit LayoutInline::offsetLeft(const Element* parent) const { |
792 return adjustedPositionRelativeTo(firstLineBoxTopLeft(), parent).x(); | 792 return adjustedPositionRelativeTo(firstLineBoxTopLeft(), parent).x(); |
793 } | 793 } |
794 | 794 |
795 LayoutUnit LayoutInline::offsetTop(const Element* parent) const { | 795 LayoutUnit LayoutInline::offsetTop(const Element* parent) const { |
796 return adjustedPositionRelativeTo(firstLineBoxTopLeft(), parent).y(); | 796 return adjustedPositionRelativeTo(firstLineBoxTopLeft(), parent).y(); |
797 } | 797 } |
(...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1512 paintInvalidator.invalidateDisplayItemClient(*box, invalidationReason); | 1512 paintInvalidator.invalidateDisplayItemClient(*box, invalidationReason); |
1513 } | 1513 } |
1514 | 1514 |
1515 // TODO(lunalu): Not to just dump 0, 0 as the x and y here | 1515 // TODO(lunalu): Not to just dump 0, 0 as the x and y here |
1516 LayoutRect LayoutInline::debugRect() const { | 1516 LayoutRect LayoutInline::debugRect() const { |
1517 IntRect linesBox = enclosingIntRect(linesBoundingBox()); | 1517 IntRect linesBox = enclosingIntRect(linesBoundingBox()); |
1518 return LayoutRect(IntRect(0, 0, linesBox.width(), linesBox.height())); | 1518 return LayoutRect(IntRect(0, 0, linesBox.width(), linesBox.height())); |
1519 } | 1519 } |
1520 | 1520 |
1521 } // namespace blink | 1521 } // namespace blink |
OLD | NEW |