diff options
author | Adam Co <rattles2013@gmail.com> | 2013-11-12 11:22:13 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2013-11-14 14:38:21 +0000 |
commit | 4b0cb789f8ddd87c92216e3e9520f88d3ad9115d (patch) | |
tree | 9a108bf9761cb8f84b501bd9daba42e2426b6fd6 | |
parent | 6e0f24596f3efc2ff25ce2e7a71f9fc681097086 (diff) |
fdo#65295 : swap gradient text-box colors only in case of axis
This commit changes the behavior of the export process of text-box
gradient color. Currently it exports the colors inverted,
but it should do so only when it is an 'axis' gradient.
Change-Id: I8841982c1dbc57616d6e1640d73bc8aa823ae056
Reviewed-on: https://gerrit.libreoffice.org/6646
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r-- | sw/source/filter/ww8/docxattributeoutput.cxx | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index 881d9de7bde1..6f22fdc1b454 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -5897,21 +5897,29 @@ void DocxAttributeOutput::FormatFillGradient( const XFillGradientItem& rFillGrad const XGradient& rGradient = rFillGradient.GetGradientValue(); OString sStartColor = msfilter::util::ConvertColor(rGradient.GetStartColor()); - m_pFlyFillAttrList->add(XML_color2, "#" + sStartColor); OString sEndColor = msfilter::util::ConvertColor(rGradient.GetEndColor()); - m_pFlyAttrList->add(XML_fillcolor, "#" + sEndColor); + + OString sColor1 = sStartColor; + OString sColor2 = sEndColor; switch (rGradient.GetGradientStyle()) { - case XGRAD_LINEAR: break; case XGRAD_AXIAL: m_pFlyFillAttrList->add(XML_focus, "50%"); + // If it is an 'axial' gradient - swap the colors + // (because in the import process they were imported swapped) + sColor1 = sEndColor; + sColor2 = sStartColor; break; + case XGRAD_LINEAR: break; case XGRAD_RADIAL: break; case XGRAD_ELLIPTICAL: break; case XGRAD_SQUARE: break; case XGRAD_RECT: break; } + + m_pFlyAttrList->add(XML_fillcolor , "#" + sColor1); + m_pFlyFillAttrList->add(XML_color2, "#" + sColor2); } m_oFillStyle.reset(); } |