summaryrefslogtreecommitdiff
path: root/svgio/source/svgreader/svgstyleattributes.cxx
diff options
context:
space:
mode:
authorArmin Le Grand <alg@apache.org>2013-05-15 08:47:52 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-06-17 14:43:25 +0100
commitb7a425aab6122b5848362815e5fe665c7e38da05 (patch)
treeaefb221b0f04f81d9b4dfdd17d1724e4e32ab088 /svgio/source/svgreader/svgstyleattributes.cxx
parent821446a0be326c0065c827ffcd4670c113c78755 (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.cxx17
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;