summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2023-05-08 14:09:00 +0900
committerTomaž Vajngerl <quikee@gmail.com>2023-06-01 11:19:17 +0200
commitb0da2f52374c04192ac92951519e0a47410d0a24 (patch)
treeb1b81ebf7fecb2024b3dc99396e399a12a107862 /writerfilter
parent34872a4d4e721bdf17642d406b08d407e9cfe8b2 (diff)
use ComplexColor instead of ThemeColor for better OOXML compat.
In OOXML a color definition includes more represenations, one of which is scheme color (which is what is implemented in ThemeColor currently), but it supports other representations too (RGB, HSL, System,..). ComplexColor includes all the representations, so to have a better compatibility with OOXML, this changes all uses of ThemeColor to ComplexColor. In many cases the usage of ComplexColor isn't the same as the usage of ThemeColors, but this cases will need to be changed in a later commit. Change-Id: I9cc8acee2ac0a1998fe9b98247bcf4a96273149a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151492 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 1df0565fb92972bd410e7db85eef1e4bec3fcc31) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152234 Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/DomainMapper.cxx14
-rw-r--r--writerfilter/source/dmapper/PropertyIds.cxx2
-rw-r--r--writerfilter/source/dmapper/PropertyIds.hxx2
-rw-r--r--writerfilter/source/dmapper/ThemeColorHandler.hxx2
4 files changed, 10 insertions, 10 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index ca6a3026f19c..593cf813c3e3 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -69,7 +69,7 @@
#include <com/sun/star/text/FontEmphasis.hpp>
#include <com/sun/star/awt/CharSet.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/util/XThemeColor.hpp>
+#include <com/sun/star/util/XComplexColor.hpp>
#include <comphelper/types.hxx>
#include <comphelper/storagehelper.hxx>
#include <comphelper/sequence.hxx>
@@ -2216,22 +2216,22 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, const PropertyMapPtr& rContext )
auto eType = TDefTableHandler::getThemeColorTypeIndex(pThemeColorHandler->mnIndex);
if (eType != model::ThemeColorType::Unknown)
{
- model::ThemeColor aThemeColor;
- aThemeColor.setType(eType);
+ model::ComplexColor aComplexColor;
+ aComplexColor.setSchemeColor(eType);
if (pThemeColorHandler->mnTint > 0 )
{
sal_Int16 nTint = sal_Int16((256 - pThemeColorHandler->mnTint) * 10000 / 256);
- aThemeColor.addTransformation({model::TransformationType::Tint, nTint});
+ aComplexColor.addTransformation({model::TransformationType::Tint, nTint});
}
if (pThemeColorHandler->mnShade > 0)
{
sal_Int16 nShade = sal_Int16((256 - pThemeColorHandler->mnShade) * 10000 / 256);
- aThemeColor.addTransformation({model::TransformationType::Shade, nShade});
+ aComplexColor.addTransformation({model::TransformationType::Shade, nShade});
}
- auto xThemeColor = model::theme::createXThemeColor(aThemeColor);
- m_pImpl->GetTopContext()->Insert(PROP_CHAR_COLOR_THEME_REFERENCE, uno::Any(xThemeColor));
+ auto xComplexColor = model::color::createXComplexColor(aComplexColor);
+ m_pImpl->GetTopContext()->Insert(PROP_CHAR_COMPLEX_COLOR, uno::Any(xComplexColor));
}
uno::Any aColorAny(msfilter::util::ConvertColorOU(Color(ColorTransparency, pThemeColorHandler->mnColor)));
diff --git a/writerfilter/source/dmapper/PropertyIds.cxx b/writerfilter/source/dmapper/PropertyIds.cxx
index 98525149fcf9..31151ac6c229 100644
--- a/writerfilter/source/dmapper/PropertyIds.cxx
+++ b/writerfilter/source/dmapper/PropertyIds.cxx
@@ -32,7 +32,7 @@ OUString getPropertyName( PropertyIds eId )
case PROP_CHAR_SHADOWED: sName = "CharShadowed"; break;
case PROP_CHAR_CASE_MAP: sName = "CharCaseMap"; break;
case PROP_CHAR_COLOR: sName = "CharColor"; break;
- case PROP_CHAR_COLOR_THEME_REFERENCE: sName = "CharColorThemeReference"; break;
+ case PROP_CHAR_COMPLEX_COLOR: sName = "CharComplexColor"; break;
case PROP_CHAR_RELIEF: sName = "CharRelief"; break;
case PROP_CHAR_UNDERLINE: sName = "CharUnderline"; break;
case PROP_CHAR_UNDERLINE_COLOR: sName = "CharUnderlineColor"; break;
diff --git a/writerfilter/source/dmapper/PropertyIds.hxx b/writerfilter/source/dmapper/PropertyIds.hxx
index 52b989bf41c9..0aaf9a5d893d 100644
--- a/writerfilter/source/dmapper/PropertyIds.hxx
+++ b/writerfilter/source/dmapper/PropertyIds.hxx
@@ -54,7 +54,7 @@ enum PropertyIds
,PROP_CHAR_CASE_MAP
,PROP_CHAR_CHAR_KERNING
,PROP_CHAR_COLOR
- ,PROP_CHAR_COLOR_THEME_REFERENCE
+ ,PROP_CHAR_COMPLEX_COLOR
,PROP_CHAR_COMBINE_IS_ON
,PROP_CHAR_COMBINE_PREFIX
,PROP_CHAR_COMBINE_SUFFIX
diff --git a/writerfilter/source/dmapper/ThemeColorHandler.hxx b/writerfilter/source/dmapper/ThemeColorHandler.hxx
index 88ae0cfaf418..012b4ee3472f 100644
--- a/writerfilter/source/dmapper/ThemeColorHandler.hxx
+++ b/writerfilter/source/dmapper/ThemeColorHandler.hxx
@@ -17,7 +17,7 @@
#include "PropertyIds.hxx"
#include <oox/helper/grabbagstack.hxx>
-#include <docmodel/uno/UnoThemeColor.hxx>
+#include <docmodel/uno/UnoComplexColor.hxx>
#include <memory>
#include <optional>