OLD | NEW |
1 /* | 1 /* |
2 * (C) 1999 Lars Knoll (knoll@kde.org) | 2 * (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 2000 Dirk Mueller (mueller@kde.org) | 3 * (C) 2000 Dirk Mueller (mueller@kde.org) |
4 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. | 4 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. |
5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) | 5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) |
6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
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 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 return false; | 183 return false; |
184 } | 184 } |
185 | 185 |
186 bool RenderText::isWordBreak() const | 186 bool RenderText::isWordBreak() const |
187 { | 187 { |
188 return false; | 188 return false; |
189 } | 189 } |
190 | 190 |
191 void RenderText::styleDidChange(StyleDifference diff, const RenderStyle* oldStyl
e) | 191 void RenderText::styleDidChange(StyleDifference diff, const RenderStyle* oldStyl
e) |
192 { | 192 { |
193 // There is no need to ever schedule repaints from a style change of a text
run, since | 193 // There is no need to ever schedule paint invalidations from a style change
of a text run, since |
194 // we already did this for the parent of the text run. | 194 // we already did this for the parent of the text run. |
195 // We do have to schedule layouts, though, since a style change can force us
to | 195 // We do have to schedule layouts, though, since a style change can force us
to |
196 // need to relayout. | 196 // need to relayout. |
197 if (diff.needsFullLayout()) { | 197 if (diff.needsFullLayout()) { |
198 setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(); | 198 setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(); |
199 m_knownToHaveNoOverflowAndNoFallbackFonts = false; | 199 m_knownToHaveNoOverflowAndNoFallbackFonts = false; |
200 } | 200 } |
201 | 201 |
202 RenderStyle* newStyle = style(); | 202 RenderStyle* newStyle = style(); |
203 ETextTransform oldTransform = oldStyle ? oldStyle->textTransform() : TTNONE; | 203 ETextTransform oldTransform = oldStyle ? oldStyle->textTransform() : TTNONE; |
(...skipping 1364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1568 LayoutUnit logicalHeight = lastTextBox()->logicalBottomVisualOverflow() - lo
gicalTop; | 1568 LayoutUnit logicalHeight = lastTextBox()->logicalBottomVisualOverflow() - lo
gicalTop; |
1569 | 1569 |
1570 LayoutRect rect(logicalLeftSide, logicalTop, logicalWidth, logicalHeight); | 1570 LayoutRect rect(logicalLeftSide, logicalTop, logicalWidth, logicalHeight); |
1571 if (!style()->isHorizontalWritingMode()) | 1571 if (!style()->isHorizontalWritingMode()) |
1572 rect = rect.transposedRect(); | 1572 rect = rect.transposedRect(); |
1573 return rect; | 1573 return rect; |
1574 } | 1574 } |
1575 | 1575 |
1576 LayoutRect RenderText::clippedOverflowRectForPaintInvalidation(const RenderLayer
ModelObject* paintInvalidationContainer, const PaintInvalidationState* paintInva
lidationState) const | 1576 LayoutRect RenderText::clippedOverflowRectForPaintInvalidation(const RenderLayer
ModelObject* paintInvalidationContainer, const PaintInvalidationState* paintInva
lidationState) const |
1577 { | 1577 { |
1578 RenderObject* rendererToRepaint = containingBlock(); | 1578 RenderObject* rendererToIssuePaintInvalidations = containingBlock(); |
1579 | 1579 |
1580 // Do not cross self-painting layer boundaries. | 1580 // Do not cross self-painting layer boundaries. |
1581 RenderObject* enclosingLayerRenderer = enclosingLayer()->renderer(); | 1581 RenderObject* enclosingLayerRenderer = enclosingLayer()->renderer(); |
1582 if (enclosingLayerRenderer != rendererToRepaint && !rendererToRepaint->isDes
cendantOf(enclosingLayerRenderer)) | 1582 if (enclosingLayerRenderer != rendererToIssuePaintInvalidations && !renderer
ToIssuePaintInvalidations->isDescendantOf(enclosingLayerRenderer)) |
1583 rendererToRepaint = enclosingLayerRenderer; | 1583 rendererToIssuePaintInvalidations = enclosingLayerRenderer; |
1584 | 1584 |
1585 // The renderer we chose to repaint may be an ancestor of paintInvalidationC
ontainer, but we need to do a paintInvalidationContainer-relative repaint. | 1585 // The renderer we chose to issue paint invalidations may be an ancestor of
paintInvalidationContainer, but we need to do a paintInvalidationContainer-relat
ive paint invalidation. |
1586 if (paintInvalidationContainer && paintInvalidationContainer != rendererToRe
paint && !rendererToRepaint->isDescendantOf(paintInvalidationContainer)) | 1586 if (paintInvalidationContainer && paintInvalidationContainer != rendererToIs
suePaintInvalidations && !rendererToIssuePaintInvalidations->isDescendantOf(pain
tInvalidationContainer)) |
1587 return paintInvalidationContainer->clippedOverflowRectForPaintInvalidati
on(paintInvalidationContainer, paintInvalidationState); | 1587 return paintInvalidationContainer->clippedOverflowRectForPaintInvalidati
on(paintInvalidationContainer, paintInvalidationState); |
1588 | 1588 |
1589 return rendererToRepaint->clippedOverflowRectForPaintInvalidation(paintInval
idationContainer, paintInvalidationState); | 1589 return rendererToIssuePaintInvalidations->clippedOverflowRectForPaintInvalid
ation(paintInvalidationContainer, paintInvalidationState); |
1590 } | 1590 } |
1591 | 1591 |
1592 LayoutRect RenderText::selectionRectForPaintInvalidation(const RenderLayerModelO
bject* paintInvalidationContainer, bool clipToVisibleContent) | 1592 LayoutRect RenderText::selectionRectForPaintInvalidation(const RenderLayerModelO
bject* paintInvalidationContainer, bool clipToVisibleContent) |
1593 { | 1593 { |
1594 ASSERT(!needsLayout()); | 1594 ASSERT(!needsLayout()); |
1595 | 1595 |
1596 if (selectionState() == SelectionNone) | 1596 if (selectionState() == SelectionNone) |
1597 return LayoutRect(); | 1597 return LayoutRect(); |
1598 RenderBlock* cb = containingBlock(); | 1598 RenderBlock* cb = containingBlock(); |
1599 if (!cb) | 1599 if (!cb) |
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1872 } | 1872 } |
1873 secureTextTimer->restartWithNewText(lastTypedCharacterOffset); | 1873 secureTextTimer->restartWithNewText(lastTypedCharacterOffset); |
1874 } | 1874 } |
1875 | 1875 |
1876 PassRefPtr<AbstractInlineTextBox> RenderText::firstAbstractInlineTextBox() | 1876 PassRefPtr<AbstractInlineTextBox> RenderText::firstAbstractInlineTextBox() |
1877 { | 1877 { |
1878 return AbstractInlineTextBox::getOrCreate(this, m_firstTextBox); | 1878 return AbstractInlineTextBox::getOrCreate(this, m_firstTextBox); |
1879 } | 1879 } |
1880 | 1880 |
1881 } // namespace blink | 1881 } // namespace blink |
OLD | NEW |