summaryrefslogtreecommitdiff
path: root/svgio/source/svgreader/svgnode.cxx
diff options
context:
space:
mode:
authorArmin Le Grand <alg@apache.org>2012-05-04 14:16:22 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-03-13 11:22:20 +0000
commiteceecd4a3806f64c2e8fb0a3bcdcc43e1384779f (patch)
treee8c81552d7e3a1374a903cf5ca522a6eb77853e3 /svgio/source/svgreader/svgnode.cxx
parentcc22c25de9be13596960b8af6c6f40fc2e3fd27d (diff)
Related: #i119125# corrected gradient rendering
and added stuff to add Title and Description to primitives for later usage Conflicts: drawinglayer/Library_drawinglayer.mk drawinglayer/inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx svgio/Package_inc.mk svx/source/sdr/contact/viewcontactofsdrobj.cxx Change-Id: I301c9f5f4ae0efc02d937cd3f56018e27c94a630
Diffstat (limited to 'svgio/source/svgreader/svgnode.cxx')
-rw-r--r--svgio/source/svgreader/svgnode.cxx35
1 files changed, 35 insertions, 0 deletions
diff --git a/svgio/source/svgreader/svgnode.cxx b/svgio/source/svgreader/svgnode.cxx
index e453c08a3ebb..acab42aeadee 100644
--- a/svgio/source/svgreader/svgnode.cxx
+++ b/svgio/source/svgreader/svgnode.cxx
@@ -21,6 +21,7 @@
#include <svgio/svgreader/svgdocument.hxx>
#include <svgio/svgreader/svgnode.hxx>
#include <svgio/svgreader/svgstyleattributes.hxx>
+#include <drawinglayer/primitive2d/objectinfoprimitive2d.hxx>
//////////////////////////////////////////////////////////////////////////////
@@ -183,6 +184,40 @@ namespace svgio
OSL_ENSURE(false, "Null-Pointer in child node list (!)");
}
}
+
+ if(rTarget.hasElements())
+ {
+ const SvgStyleAttributes* pStyles = getSvgStyleAttributes();
+
+ if(pStyles)
+ {
+ // check if we have Title or Desc
+ const rtl::OUString& rTitle = pStyles->getTitle();
+ const rtl::OUString& rDesc = pStyles->getDesc();
+
+ if(rTitle.getLength() || rDesc.getLength())
+ {
+ // default object name is empty
+ rtl::OUString aObjectName;
+
+ // use path as object name when outmost element
+ if(SVGTokenSvg == getType())
+ {
+ aObjectName = getDocument().getAbsolutePath();
+ }
+
+ // pack in ObjectInfoPrimitive2D group
+ const drawinglayer::primitive2d::Primitive2DReference xRef(
+ new drawinglayer::primitive2d::ObjectInfoPrimitive2D(
+ rTarget,
+ aObjectName,
+ rTitle,
+ rDesc));
+
+ rTarget = drawinglayer::primitive2d::Primitive2DSequence(&xRef, 1);
+ }
+ }
+ }
}
}