diff options
Diffstat (limited to 'svgio/source/svgreader/svgmasknode.cxx')
-rw-r--r-- | svgio/source/svgreader/svgmasknode.cxx | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/svgio/source/svgreader/svgmasknode.cxx b/svgio/source/svgreader/svgmasknode.cxx index 26e28f5e42a1..37459afd7cd9 100644 --- a/svgio/source/svgreader/svgmasknode.cxx +++ b/svgio/source/svgreader/svgmasknode.cxx @@ -197,7 +197,9 @@ namespace svgio } } - void SvgMaskNode::apply(drawinglayer::primitive2d::Primitive2DSequence& rTarget) const + void SvgMaskNode::apply( + drawinglayer::primitive2d::Primitive2DSequence& rTarget, + const basegfx::B2DHomMatrix* pTransform) const { if(rTarget.hasElements() && Display_none != getDisplay()) { @@ -259,6 +261,19 @@ namespace svgio aMaskTarget = drawinglayer::primitive2d::Primitive2DSequence(&xTransform, 1); } + else // userSpaceOnUse + { + // #i124852# + if(pTransform) + { + const drawinglayer::primitive2d::Primitive2DReference xTransform( + new drawinglayer::primitive2d::TransformPrimitive2D( + *pTransform, + aMaskTarget)); + + aMaskTarget = drawinglayer::primitive2d::Primitive2DSequence(&xTransform, 1); + } + } // embed content to a ModifiedColorPrimitive2D since the definitions // how content is used as alpha is special for Svg |