summaryrefslogtreecommitdiff
path: root/svgio/source/svgreader/svgclippathnode.cxx
diff options
context:
space:
mode:
authorArmin Le Grand <alg@apache.org>2014-07-03 15:49:09 +0000
committerArmin Le Grand <alg@apache.org>2014-07-03 15:49:09 +0000
commit247d5bc4d13c8ab299f8ca72768946f59815dca4 (patch)
treed2a41c79c5005f3f09cafd9d28fbdf601be58764 /svgio/source/svgreader/svgclippathnode.cxx
parent131669af7168020750b726e4e6d1568975f73886 (diff)
i124852 Corrected mask and clip polygons for userSpaceOnUse
Notes
Notes: merged as: 7c4fb287bb1e69725560cd4688e1d1d99d4498e0
Diffstat (limited to 'svgio/source/svgreader/svgclippathnode.cxx')
-rw-r--r--svgio/source/svgreader/svgclippathnode.cxx12
1 files changed, 11 insertions, 1 deletions
diff --git a/svgio/source/svgreader/svgclippathnode.cxx b/svgio/source/svgreader/svgclippathnode.cxx
index 4e795ff1f179..3e4ecd806f3d 100644
--- a/svgio/source/svgreader/svgclippathnode.cxx
+++ b/svgio/source/svgreader/svgclippathnode.cxx
@@ -132,7 +132,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())
{
@@ -179,6 +181,14 @@ namespace svgio
aContentRange.getRange(),
aContentRange.getMinimum()));
}
+ else // userSpaceOnUse
+ {
+ // #i124852#
+ if(pTransform)
+ {
+ aClipPolyPolygon.transform(*pTransform);
+ }
+ }
// #124313# try to avoid creating an embedding to a MaskPrimitive2D if
// possible; MaskPrimitive2D processing is potentially expensive