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. All rights
reserved. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 973 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
984 LayoutUnit logicalHeight = lastLineBox()->logicalBottomVisualOverflow(lastRo
otBox.lineBottom()) - logicalTop; | 984 LayoutUnit logicalHeight = lastLineBox()->logicalBottomVisualOverflow(lastRo
otBox.lineBottom()) - logicalTop; |
985 | 985 |
986 LayoutRect rect(logicalLeftSide, logicalTop, logicalWidth, logicalHeight); | 986 LayoutRect rect(logicalLeftSide, logicalTop, logicalWidth, logicalHeight); |
987 if (!style()->isHorizontalWritingMode()) | 987 if (!style()->isHorizontalWritingMode()) |
988 rect = rect.transposedRect(); | 988 rect = rect.transposedRect(); |
989 return rect; | 989 return rect; |
990 } | 990 } |
991 | 991 |
992 LayoutRect RenderInline::clippedOverflowRectForPaintInvalidation(const RenderLay
erModelObject* paintInvalidationContainer, const PaintInvalidationState* paintIn
validationState) const | 992 LayoutRect RenderInline::clippedOverflowRectForPaintInvalidation(const RenderLay
erModelObject* paintInvalidationContainer, const PaintInvalidationState* paintIn
validationState) const |
993 { | 993 { |
994 if (!firstLineBoxIncludingCulling() && !continuation()) | 994 if ((!firstLineBoxIncludingCulling() && !continuation()) || style()->visibil
ity() != VISIBLE) |
995 return LayoutRect(); | 995 return LayoutRect(); |
996 | 996 |
997 LayoutRect repaintRect(linesVisualOverflowBoundingBox()); | 997 LayoutRect repaintRect(linesVisualOverflowBoundingBox()); |
998 bool hitRepaintContainer = false; | 998 bool hitRepaintContainer = false; |
999 | 999 |
1000 // We need to add in the in-flow position offsets of any inlines (including
us) up to our | 1000 // We need to add in the in-flow position offsets of any inlines (including
us) up to our |
1001 // containing block. | 1001 // containing block. |
1002 RenderBlock* cb = containingBlock(); | 1002 RenderBlock* cb = containingBlock(); |
1003 for (const RenderObject* inlineFlow = this; inlineFlow && inlineFlow->isRend
erInline() && inlineFlow != cb; | 1003 for (const RenderObject* inlineFlow = this; inlineFlow && inlineFlow->isRend
erInline() && inlineFlow != cb; |
1004 inlineFlow = inlineFlow->parent()) { | 1004 inlineFlow = inlineFlow->parent()) { |
(...skipping 548 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1553 if (!container) | 1553 if (!container) |
1554 container = this; | 1554 container = this; |
1555 | 1555 |
1556 FloatPoint absPos = container->localToAbsolute(); | 1556 FloatPoint absPos = container->localToAbsolute(); |
1557 region.bounds.setX(absPos.x() + region.bounds.x()); | 1557 region.bounds.setX(absPos.x() + region.bounds.x()); |
1558 region.bounds.setY(absPos.y() + region.bounds.y()); | 1558 region.bounds.setY(absPos.y() + region.bounds.y()); |
1559 | 1559 |
1560 regions.append(region); | 1560 regions.append(region); |
1561 } | 1561 } |
1562 | 1562 |
1563 void RenderInline::invalidateTreeIfNeeded(const PaintInvalidationState& paintInv
alidationState) | |
1564 { | |
1565 bool establishesNewPaintInvalidationContainer = isPaintInvalidationContainer
(); | |
1566 const RenderLayerModelObject& newPaintInvalidationContainer = *adjustComposi
tedContainerForSpecialAncestors(establishesNewPaintInvalidationContainer ? this
: &paintInvalidationState.paintInvalidationContainer()); | |
1567 PaintInvalidationState childPaintInvalidationState(paintInvalidationState, *
this, newPaintInvalidationContainer); | |
1568 | |
1569 if (isRelPositioned()) { | |
1570 const LayoutPoint oldPosition = previousPositionFromPaintInvalidationCon
tainer(); | |
1571 const LayoutPoint newPosition = RenderLayer::positionFromPaintInvalidati
onContainer(this, &newPaintInvalidationContainer, &paintInvalidationState); | |
1572 if (oldPosition != newPosition) | |
1573 childPaintInvalidationState.setForceCheckForPaintInvalidation(); | |
1574 } | |
1575 | |
1576 RenderObject::invalidateTreeIfNeeded(childPaintInvalidationState); | |
1577 } | |
1578 | |
1579 } // namespace blink | 1563 } // namespace blink |
OLD | NEW |