diff options
Diffstat (limited to 'WebCore/svg/graphics/SVGPaintServerPattern.cpp')
-rw-r--r-- | WebCore/svg/graphics/SVGPaintServerPattern.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/WebCore/svg/graphics/SVGPaintServerPattern.cpp b/WebCore/svg/graphics/SVGPaintServerPattern.cpp index 5926aad..a2ac5df 100644 --- a/WebCore/svg/graphics/SVGPaintServerPattern.cpp +++ b/WebCore/svg/graphics/SVGPaintServerPattern.cpp @@ -115,8 +115,6 @@ bool SVGPaintServerPattern::setup(GraphicsContext*& context, const RenderObject* return false; context->save(); - context->translate(patternBoundaries().x(), patternBoundaries().y()); - context->concatCTM(patternTransform()); ASSERT(!m_pattern); @@ -160,6 +158,11 @@ bool SVGPaintServerPattern::setup(GraphicsContext*& context, const RenderObject* applyStrokeStyleToContext(context, object->style(), object); } + TransformationMatrix matrix; + matrix.translate(patternBoundaries().x(), patternBoundaries().y()); + matrix.multiply(patternTransform()); + m_pattern->setPatternSpaceTransform(matrix); + if (isPaintingText) { context->setTextDrawingMode(isFilled ? cTextFill : cTextStroke); #if PLATFORM(CG) |