diff options
author | Attila Bakos <bakos.attilakaroly@nisz.hu> | 2020-04-08 14:50:07 +0200 |
---|---|---|
committer | Xisco Faulí <xiscofauli@libreoffice.org> | 2020-04-28 11:57:52 +0200 |
commit | 7e7b828468b17eab752dbe8368a9e84ebbf3d84f (patch) | |
tree | 7e9fe0d3f4f16aa44ef04e5ef8af5a63f3b5a06c /oox | |
parent | 5a9e5b3d297094fc014f37d0d3843be82b2f4706 (diff) |
tdf#78749 DOCX: import VML background image
of text boxes. DOCX relationship identifier
wasn't handled earlier, only XLSX.
Co-developer: Tibor Nagy
Change-Id: I72f246e6f69d70d1e203087516ee93a57563f777
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91933
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 9283cd9e13cd3e0dd7d6b831d930128931862a40)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92771
Tested-by: Jenkins
Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/vml/vmlshapecontext.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/oox/source/vml/vmlshapecontext.cxx b/oox/source/vml/vmlshapecontext.cxx index dd36fb521519..d27839a79084 100644 --- a/oox/source/vml/vmlshapecontext.cxx +++ b/oox/source/vml/vmlshapecontext.cxx @@ -355,6 +355,10 @@ ContextHandlerRef ShapeTypeContext::onCreateContext( sal_Int32 nElement, const A mrTypeModel.maStrokeModel.moJoinStyle = rAttribs.getToken( XML_joinstyle ); break; case VML_TOKEN( fill ): + { + // in DOCX shapes use r:id for the relationship id + // in XLSX they use o:relid + bool bHasORelId = rAttribs.hasAttribute( O_TOKEN(relid) ); mrTypeModel.maFillModel.moFilled.assignIfUsed( lclDecodeBool( rAttribs, XML_on ) ); mrTypeModel.maFillModel.moColor.assignIfUsed( rAttribs.getString( XML_color ) ); mrTypeModel.maFillModel.moOpacity = lclDecodeOpacity( rAttribs, XML_opacity, 1.0 ); @@ -365,9 +369,10 @@ ContextHandlerRef ShapeTypeContext::onCreateContext( sal_Int32 nElement, const A mrTypeModel.maFillModel.moFocus = lclDecodePercent( rAttribs, XML_focus, 0.0 ); mrTypeModel.maFillModel.moFocusPos = lclDecodePercentPair( rAttribs, XML_focusposition ); mrTypeModel.maFillModel.moFocusSize = lclDecodePercentPair( rAttribs, XML_focussize ); - mrTypeModel.maFillModel.moBitmapPath = decodeFragmentPath( rAttribs, O_TOKEN( relid ) ); + mrTypeModel.maFillModel.moBitmapPath = decodeFragmentPath( rAttribs, bHasORelId ? O_TOKEN(relid) : R_TOKEN(id) ); mrTypeModel.maFillModel.moRotate = lclDecodeBool( rAttribs, XML_rotate ); - break; + break; + } case VML_TOKEN( imagedata ): { // shapes in docx use r:id for the relationship id |