summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/RenderSVGInline.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/rendering/RenderSVGInline.cpp')
-rw-r--r--WebCore/rendering/RenderSVGInline.cpp53
1 files changed, 19 insertions, 34 deletions
diff --git a/WebCore/rendering/RenderSVGInline.cpp b/WebCore/rendering/RenderSVGInline.cpp
index 85d148e..ca0fdb5 100644
--- a/WebCore/rendering/RenderSVGInline.cpp
+++ b/WebCore/rendering/RenderSVGInline.cpp
@@ -26,11 +26,7 @@
#if ENABLE(SVG)
#include "RenderSVGInline.h"
-#include "FloatQuad.h"
-#include "RenderBlock.h"
#include "SVGInlineFlowBox.h"
-#include "SVGInlineTextBox.h"
-#include "SVGRootInlineBox.h"
namespace WebCore {
@@ -46,25 +42,6 @@ InlineFlowBox* RenderSVGInline::createInlineFlowBox()
return box;
}
-void RenderSVGInline::absoluteRects(Vector<IntRect>& rects, int, int)
-{
- InlineFlowBox* firstBox = firstLineBox();
-
- RootInlineBox* rootBox = firstBox ? firstBox->root() : 0;
- RenderBox* object = rootBox ? rootBox->block() : 0;
-
- if (!object)
- return;
-
- int xRef = object->x();
- int yRef = object->y();
-
- for (InlineFlowBox* curr = firstBox; curr; curr = curr->nextLineBox()) {
- FloatRect rect(xRef + curr->x(), yRef + curr->y(), curr->width(), curr->height());
- rects.append(enclosingIntRect(localToAbsoluteQuad(rect).boundingBox()));
- }
-}
-
FloatRect RenderSVGInline::objectBoundingBox() const
{
if (const RenderObject* object = findTextRootObject(this))
@@ -89,25 +66,33 @@ FloatRect RenderSVGInline::repaintRectInLocalCoordinates() const
return FloatRect();
}
-void RenderSVGInline::absoluteQuads(Vector<FloatQuad>& quads)
+IntRect RenderSVGInline::clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer)
{
- InlineFlowBox* firstBox = firstLineBox();
+ return SVGRenderBase::clippedOverflowRectForRepaint(this, repaintContainer);
+}
- RootInlineBox* rootBox = firstBox ? firstBox->root() : 0;
- RenderBox* object = rootBox ? rootBox->block() : 0;
+void RenderSVGInline::computeRectForRepaint(RenderBoxModelObject* repaintContainer, IntRect& repaintRect, bool fixed)
+{
+ SVGRenderBase::computeRectForRepaint(this, repaintContainer, repaintRect, fixed);
+}
+
+void RenderSVGInline::mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool useTransforms, bool fixed, TransformState& transformState) const
+{
+ SVGRenderBase::mapLocalToContainer(this, repaintContainer, useTransforms, fixed, transformState);
+}
+void RenderSVGInline::absoluteQuads(Vector<FloatQuad>& quads)
+{
+ const RenderObject* object = findTextRootObject(this);
if (!object)
return;
- int xRef = object->x();
- int yRef = object->y();
-
- for (InlineFlowBox* curr = firstBox; curr; curr = curr->nextLineBox()) {
- FloatRect rect(xRef + curr->x(), yRef + curr->y(), curr->width(), curr->height());
- quads.append(localToAbsoluteQuad(rect));
- }
+ FloatRect textBoundingBox = object->strokeBoundingBox();
+ for (InlineFlowBox* box = firstLineBox(); box; box = box->nextLineBox())
+ quads.append(localToAbsoluteQuad(FloatRect(textBoundingBox.x() + box->x(), textBoundingBox.y() + box->y(), box->width(), box->height())));
}
+
}
#endif // ENABLE(SVG)