From 39a479b63abf2917abab8e1e431a9be1fc163b8e Mon Sep 17 00:00:00 2001 From: Gülşah Köse Date: Fri, 18 Sep 2020 13:20:30 +0300 Subject: tdf#136247 OOXML export data label background color. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ie3e00e8195239e6570bfe76c2451bae11c209145 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102999 Tested-by: Jenkins Reviewed-by: Gülşah Köse (cherry picked from commit a11bb74d4f464e9639ddb5b8d87dc4770663fea8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103045 Tested-by: Jenkins CollaboraOffice --- oox/source/export/chartexport.cxx | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) (limited to 'oox') diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index 623a03b8ac97..4c0ef9d202f3 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -3189,27 +3189,46 @@ void writeLabelProperties( const FSHelperPtr& pFS, ChartExport* pChartExport, Sequence> aCustomLabelFields; sal_Int32 nLabelBorderWidth = 0; sal_Int32 nLabelBorderColor = 0x00FFFFFF; + sal_Int32 nLabelFillColor = -1; xPropSet->getPropertyValue("Label") >>= aLabel; xPropSet->getPropertyValue("CustomLabelFields") >>= aCustomLabelFields; xPropSet->getPropertyValue("LabelBorderWidth") >>= nLabelBorderWidth; xPropSet->getPropertyValue("LabelBorderColor") >>= nLabelBorderColor; + xPropSet->getPropertyValue("LabelFillColor") >>= nLabelFillColor; - if (nLabelBorderWidth > 0) + if (nLabelBorderWidth > 0 || nLabelFillColor != -1) { pFS->startElement(FSNS(XML_c, XML_spPr)); - pFS->startElement(FSNS(XML_a, XML_ln), XML_w, - OString::number(convertHmmToEmu(nLabelBorderWidth))); - if (nLabelBorderColor != -1) + + if (nLabelFillColor != -1) { pFS->startElement(FSNS(XML_a, XML_solidFill)); - OString aStr = OString::number(nLabelBorderColor, 16).toAsciiUpperCase(); + OString aStr = OString::number(nLabelFillColor, 16).toAsciiUpperCase(); pFS->singleElement(FSNS(XML_a, XML_srgbClr), XML_val, aStr); pFS->endElement(FSNS(XML_a, XML_solidFill)); } - pFS->endElement(FSNS(XML_a, XML_ln)); + + if (nLabelBorderWidth > 0) + { + pFS->startElement(FSNS(XML_a, XML_ln), XML_w, + OString::number(convertHmmToEmu(nLabelBorderWidth))); + + if (nLabelBorderColor != -1) + { + pFS->startElement(FSNS(XML_a, XML_solidFill)); + + OString aStr = OString::number(nLabelBorderColor, 16).toAsciiUpperCase(); + pFS->singleElement(FSNS(XML_a, XML_srgbClr), XML_val, aStr); + + pFS->endElement(FSNS(XML_a, XML_solidFill)); + } + + pFS->endElement(FSNS(XML_a, XML_ln)); + } + pFS->endElement(FSNS(XML_c, XML_spPr)); } -- cgit