Index: third_party/WebKit/WebCore/rendering/RenderSVGTSpan.cpp |
=================================================================== |
--- third_party/WebKit/WebCore/rendering/RenderSVGTSpan.cpp (revision 5296) |
+++ third_party/WebKit/WebCore/rendering/RenderSVGTSpan.cpp (working copy) |
@@ -52,10 +52,31 @@ |
for (InlineRunBox* curr = firstBox; curr; curr = curr->nextLineBox()) { |
FloatRect rect(xRef + curr->xPos(), yRef + curr->yPos(), curr->width(), curr->height()); |
+ // FIXME: broken with CSS transforms |
rects.append(enclosingIntRect(absoluteTransform().mapRect(rect))); |
} |
} |
+void RenderSVGTSpan::absoluteQuads(Vector<FloatQuad>& quads, bool topLevel) |
+{ |
+ InlineRunBox* firstBox = firstLineBox(); |
+ |
+ SVGRootInlineBox* rootBox = firstBox ? static_cast<SVGInlineTextBox*>(firstBox)->svgRootInlineBox() : 0; |
+ RenderObject* object = rootBox ? rootBox->object() : 0; |
+ |
+ if (!object) |
+ return; |
+ |
+ int xRef = object->xPos() + xPos(); |
+ int yRef = object->yPos() + yPos(); |
+ |
+ for (InlineRunBox* curr = firstBox; curr; curr = curr->nextLineBox()) { |
+ FloatRect rect(xRef + curr->xPos(), yRef + curr->yPos(), curr->width(), curr->height()); |
+ // FIXME: broken with CSS transforms |
+ quads.append(absoluteTransform().mapRect(rect)); |
+ } |
} |
+} |
+ |
#endif // ENABLE(SVG) |