diff options
author | Armin Le Grand <alg@apache.org> | 2012-05-04 14:16:22 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-03-13 11:22:20 +0000 |
commit | eceecd4a3806f64c2e8fb0a3bcdcc43e1384779f (patch) | |
tree | e8c81552d7e3a1374a903cf5ca522a6eb77853e3 /svgio/source/svgreader/svgnode.cxx | |
parent | cc22c25de9be13596960b8af6c6f40fc2e3fd27d (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.cxx | 35 |
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); + } + } + } } } |