OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006 Apple Computer, Inc. | 2 * Copyright (C) 2006 Apple Computer, Inc. |
3 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org> | 3 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org> |
4 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz> | 4 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz> |
5 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> | 5 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> |
6 * Copyright (C) 2008 Rob Buis <buis@kde.org> | 6 * Copyright (C) 2008 Rob Buis <buis@kde.org> |
7 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> | 7 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> |
8 * Copyright (C) Research In Motion Limited 2010-2012. All rights reserved. | 8 * Copyright (C) Research In Motion Limited 2010-2012. All rights reserved. |
9 * Copyright (C) 2012 Google Inc. | 9 * Copyright (C) 2012 Google Inc. |
10 * | 10 * |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 const RenderSVGText* RenderSVGText::locateRenderSVGTextAncestor(const RenderObje
ct* start) | 87 const RenderSVGText* RenderSVGText::locateRenderSVGTextAncestor(const RenderObje
ct* start) |
88 { | 88 { |
89 ASSERT(start); | 89 ASSERT(start); |
90 while (start && !start->isSVGText()) | 90 while (start && !start->isSVGText()) |
91 start = start->parent(); | 91 start = start->parent(); |
92 if (!start || !start->isSVGText()) | 92 if (!start || !start->isSVGText()) |
93 return 0; | 93 return 0; |
94 return toRenderSVGText(start); | 94 return toRenderSVGText(start); |
95 } | 95 } |
96 | 96 |
97 void RenderSVGText::mapRectToRepaintBacking(const RenderLayerModelObject* repain
tContainer, LayoutRect& rect, bool fixed) const | 97 void RenderSVGText::mapRectToPaintInvalidationBacking(const RenderLayerModelObje
ct* paintInvalidationContainer, LayoutRect& rect, bool fixed) const |
98 { | 98 { |
99 FloatRect repaintRect = rect; | 99 FloatRect repaintRect = rect; |
100 computeFloatRectForRepaint(repaintContainer, repaintRect, fixed); | 100 computeFloatRectForPaintInvalidation(paintInvalidationContainer, repaintRect
, fixed); |
101 rect = enclosingLayoutRect(repaintRect); | 101 rect = enclosingLayoutRect(repaintRect); |
102 } | 102 } |
103 | 103 |
104 static inline void collectLayoutAttributes(RenderObject* text, Vector<SVGTextLay
outAttributes*>& attributes) | 104 static inline void collectLayoutAttributes(RenderObject* text, Vector<SVGTextLay
outAttributes*>& attributes) |
105 { | 105 { |
106 for (RenderObject* descendant = text; descendant; descendant = descendant->n
extInPreOrder(text)) { | 106 for (RenderObject* descendant = text; descendant; descendant = descendant->n
extInPreOrder(text)) { |
107 if (descendant->isSVGInlineText()) | 107 if (descendant->isSVGInlineText()) |
108 attributes.append(toRenderSVGInlineText(descendant)->layoutAttribute
s()); | 108 attributes.append(toRenderSVGInlineText(descendant)->layoutAttribute
s()); |
109 } | 109 } |
110 } | 110 } |
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 if (!svgStyle->hasStroke()) | 500 if (!svgStyle->hasStroke()) |
501 return strokeBoundaries; | 501 return strokeBoundaries; |
502 | 502 |
503 ASSERT(node()); | 503 ASSERT(node()); |
504 ASSERT(node()->isSVGElement()); | 504 ASSERT(node()->isSVGElement()); |
505 SVGLengthContext lengthContext(toSVGElement(node())); | 505 SVGLengthContext lengthContext(toSVGElement(node())); |
506 strokeBoundaries.inflate(svgStyle->strokeWidth()->value(lengthContext)); | 506 strokeBoundaries.inflate(svgStyle->strokeWidth()->value(lengthContext)); |
507 return strokeBoundaries; | 507 return strokeBoundaries; |
508 } | 508 } |
509 | 509 |
510 FloatRect RenderSVGText::repaintRectInLocalCoordinates() const | 510 FloatRect RenderSVGText::paintInvalidationRectInLocalCoordinates() const |
511 { | 511 { |
512 FloatRect repaintRect = strokeBoundingBox(); | 512 FloatRect repaintRect = strokeBoundingBox(); |
513 SVGRenderSupport::intersectRepaintRectWithResources(this, repaintRect); | 513 SVGRenderSupport::intersectRepaintRectWithResources(this, repaintRect); |
514 | 514 |
515 if (const ShadowList* textShadow = style()->textShadow()) | 515 if (const ShadowList* textShadow = style()->textShadow()) |
516 textShadow->adjustRectForShadow(repaintRect); | 516 textShadow->adjustRectForShadow(repaintRect); |
517 | 517 |
518 return repaintRect; | 518 return repaintRect; |
519 } | 519 } |
520 | 520 |
(...skipping 23 matching lines...) Expand all Loading... |
544 return 0; | 544 return 0; |
545 } | 545 } |
546 | 546 |
547 // Fix for <rdar://problem/8048875>. We should not render :first-letter CSS Styl
e | 547 // Fix for <rdar://problem/8048875>. We should not render :first-letter CSS Styl
e |
548 // in a SVG text element context. | 548 // in a SVG text element context. |
549 void RenderSVGText::updateFirstLetter() | 549 void RenderSVGText::updateFirstLetter() |
550 { | 550 { |
551 } | 551 } |
552 | 552 |
553 } | 553 } |
OLD | NEW |