diff options
author | Armin Le Grand <alg@apache.org> | 2013-05-15 08:47:52 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-06-17 14:43:25 +0100 |
commit | b7a425aab6122b5848362815e5fe665c7e38da05 (patch) | |
tree | aefb221b0f04f81d9b4dfdd17d1724e4e32ab088 /svgio/source/svgreader/svgstyleattributes.cxx | |
parent | 821446a0be326c0065c827ffcd4670c113c78755 (diff) |
Resolves: #i121801# Corrected handling of gradient transformations
(cherry picked from commit 4f49f1d95e8d0be7df259ad1458441fd858be735)
Conflicts:
drawinglayer/inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx
svgio/source/svgreader/svgnode.cxx
svgio/source/svgreader/svgstyleattributes.cxx
Change-Id: I155854692a9d1771826867d2666fc6174e2c9256
Diffstat (limited to 'svgio/source/svgreader/svgstyleattributes.cxx')
-rw-r--r-- | svgio/source/svgreader/svgstyleattributes.cxx | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/svgio/source/svgreader/svgstyleattributes.cxx b/svgio/source/svgreader/svgstyleattributes.cxx index 7b8a8a59cc1a..8d9c406ab744 100644 --- a/svgio/source/svgreader/svgstyleattributes.cxx +++ b/svgio/source/svgreader/svgstyleattributes.cxx @@ -309,10 +309,11 @@ namespace svgio if(!aSvgGradientEntryVector.empty()) { basegfx::B2DHomMatrix aGeoToUnit; + basegfx::B2DHomMatrix aGradientTransform; if(rFillGradient.getGradientTransform()) { - aGeoToUnit = *rFillGradient.getGradientTransform(); + aGradientTransform = *rFillGradient.getGradientTransform(); } if(userSpaceOnUse == rFillGradient.getGradientUnits()) @@ -357,6 +358,7 @@ namespace svgio drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence( rTarget, new drawinglayer::primitive2d::SvgLinearGradientPrimitive2D( + aGradientTransform, rPath, aSvgGradientEntryVector, aStart, @@ -418,6 +420,7 @@ namespace svgio drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence( rTarget, new drawinglayer::primitive2d::SvgRadialGradientPrimitive2D( + aGradientTransform, rPath, aSvgGradientEntryVector, aStart, @@ -1779,6 +1782,18 @@ namespace svgio readLocalUrl(aContent, maMarkerEndXLink); break; } + case SVGTokenDisplay: + { + // There may be display:none statements inside of style defines, e.g. the following line: + // style="display:none" + // taken from a svg example; this needs to be parsed and set at the owning node. Do not call + // mrOwner.parseAttribute(...) here, this would lead to a recursion + if(aContent.getLength()) + { + mrOwner.setDisplay(getDisplayFromContent(aContent)); + } + break; + } default: { break; |