diff options
author | Armin Le Grand <alg@apache.org> | 2014-07-03 15:49:09 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-07-04 16:14:21 +0100 |
commit | 7c4fb287bb1e69725560cd4688e1d1d99d4498e0 (patch) | |
tree | d967120912ecae13d33c889cc4d2ba30737439fd /svgio/source/svgreader/svgclippathnode.cxx | |
parent | 8ea270213ba95544011fc3a79cc33f0511f6c62e (diff) |
Resolves: #i124852# Corrected mask and clip polygons for userSpaceOnUse
(cherry picked from commit 247d5bc4d13c8ab299f8ca72768946f59815dca4)
Change-Id: I328a55e940db64d3dad04902bf81ede56a0dfe73
Diffstat (limited to 'svgio/source/svgreader/svgclippathnode.cxx')
-rw-r--r-- | svgio/source/svgreader/svgclippathnode.cxx | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/svgio/source/svgreader/svgclippathnode.cxx b/svgio/source/svgreader/svgclippathnode.cxx index c8b7e1809204..0a7f0f4a7369 100644 --- a/svgio/source/svgreader/svgclippathnode.cxx +++ b/svgio/source/svgreader/svgclippathnode.cxx @@ -125,7 +125,9 @@ namespace svgio } } - void SvgClipPathNode::apply(drawinglayer::primitive2d::Primitive2DSequence& rContent) const + void SvgClipPathNode::apply( + drawinglayer::primitive2d::Primitive2DSequence& rContent, + const basegfx::B2DHomMatrix* pTransform) const { if(rContent.hasElements() && Display_none != getDisplay()) { @@ -172,6 +174,14 @@ namespace svgio aContentRange.getRange(), aContentRange.getMinimum())); } + else // userSpaceOnUse + { + // #i124852# + if(pTransform) + { + aClipPolyPolygon.transform(*pTransform); + } + } // #i124313# try to avoid creating an embedding to a MaskPrimitive2D if // possible; MaskPrimitive2D processing is potentially expensive |