summaryrefslogtreecommitdiff
path: root/xmloff/source
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 /xmloff/source
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 'xmloff/source')
-rw-r--r--xmloff/source/core/xmltoken.cxx4
-rw-r--r--xmloff/source/draw/XMLShapePropertySetContext.cxx2
-rw-r--r--xmloff/source/draw/sdpropls.cxx6
-rw-r--r--xmloff/source/text/XMLTextPropertySetContext.cxx2
-rw-r--r--xmloff/source/text/XMLTextShapeStyleContext.cxx2
-rw-r--r--xmloff/source/text/XMLThemeColorContext.cxx8
-rw-r--r--xmloff/source/text/XMLThemeColorExport.cxx19
-rw-r--r--xmloff/source/text/txtexppr.cxx2
-rw-r--r--xmloff/source/text/txtprhdl.cxx4
-rw-r--r--xmloff/source/text/txtprmap.cxx6
10 files changed, 27 insertions, 28 deletions
diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx
index a40c27459bef..5fbfcc6da43f 100644
--- a/xmloff/source/core/xmltoken.cxx
+++ b/xmloff/source/core/xmltoken.cxx
@@ -3489,8 +3489,8 @@ namespace xmloff::token {
TOKEN("linked-style-name", XML_LINKED_STYLE_NAME ),
TOKEN("theme", XML_THEME ),
- TOKEN("char-color-theme-reference", XML_CHAR_COLOR_THEME_REFERENCE),
- TOKEN("fill-color-theme-reference", XML_FILL_COLOR_THEME_REFERENCE),
+ TOKEN("char-color-theme-reference", XML_CHAR_COMPLEX_COLOR),
+ TOKEN("fill-color-theme-reference", XML_FILL_COMPLEX_COLOR),
TOKEN("dk1", XML_DK1 ),
TOKEN("lt1", XML_LT1 ),
TOKEN("dk2", XML_DK2 ),
diff --git a/xmloff/source/draw/XMLShapePropertySetContext.cxx b/xmloff/source/draw/XMLShapePropertySetContext.cxx
index 471a22d2a098..9db7cac43464 100644
--- a/xmloff/source/draw/XMLShapePropertySetContext.cxx
+++ b/xmloff/source/draw/XMLShapePropertySetContext.cxx
@@ -83,7 +83,7 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > XMLShapePropertySetCon
case CTF_TEXTCOLUMNS:
return new XMLTextColumnsContext(GetImport(), nElement, xAttrList, rProp, rProperties);
- case CTF_THEME_COLOR:
+ case CTF_COMPLEX_COLOR:
return new XMLThemeColorContext(GetImport(), nElement, xAttrList, rProp, rProperties);
}
diff --git a/xmloff/source/draw/sdpropls.cxx b/xmloff/source/draw/sdpropls.cxx
index 6d0553173c7a..c3f75938661e 100644
--- a/xmloff/source/draw/sdpropls.cxx
+++ b/xmloff/source/draw/sdpropls.cxx
@@ -109,7 +109,7 @@ const XMLPropertyMapEntry aXMLSDProperties[] =
GMAP( PROP_FillStyle, XML_NAMESPACE_DRAW, XML_FILL, XML_SD_TYPE_FILLSTYLE, CTF_FILLSTYLE ),
GMAP_D(PROP_FillColor, XML_NAMESPACE_DRAW, XML_FILL_COLOR, XML_TYPE_COLOR, CTF_FILLCOLOR ),
GMAP_D(PROP_FillColor2, XML_NAMESPACE_DRAW, XML_SECONDARY_FILL_COLOR, XML_TYPE_COLOR, 0),
- GMAPV( PROP_FillColorThemeReference, XML_NAMESPACE_LO_EXT, XML_FILL_COLOR_THEME_REFERENCE, XML_TYPE_THEME_COLOR|MID_FLAG_ELEMENT_ITEM, CTF_THEME_COLOR, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED),
+ GMAPV( PROP_FillComplexColor, XML_NAMESPACE_LO_EXT, XML_FILL_COMPLEX_COLOR, XML_TYPE_COMPLEX_COLOR|MID_FLAG_ELEMENT_ITEM, CTF_COMPLEX_COLOR, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED),
GMAP( PROP_FillGradientName, XML_NAMESPACE_DRAW, XML_FILL_GRADIENT_NAME, XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_FILLGRADIENTNAME ),
GMAP( PROP_FillGradientStepCount, XML_NAMESPACE_DRAW, XML_GRADIENT_STEP_COUNT, XML_TYPE_NUMBER16, 0 ),
GMAP( PROP_FillHatchName, XML_NAMESPACE_DRAW, XML_FILL_HATCH_NAME, XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_FILLHATCHNAME ),
@@ -1307,8 +1307,8 @@ const XMLPropertyHandler* XMLSdPropHdlFactory::GetPropertyHandler( sal_Int32 nTy
case XML_TYPE_TEXT_COLUMNS:
pHdl = new XMLTextColumnsPropertyHandler;
break;
- case XML_TYPE_THEME_COLOR:
- pHdl = new XMLThemeColorHandler;
+ case XML_TYPE_COMPLEX_COLOR:
+ pHdl = new XMLComplexColorHandler;
break;
}
diff --git a/xmloff/source/text/XMLTextPropertySetContext.cxx b/xmloff/source/text/XMLTextPropertySetContext.cxx
index fd87f837dbf7..2f8398b76cf2 100644
--- a/xmloff/source/text/XMLTextPropertySetContext.cxx
+++ b/xmloff/source/text/XMLTextPropertySetContext.cxx
@@ -69,7 +69,7 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > XMLTextPropertySetCont
rProperties );
break;
- case CTF_THEME_COLOR:
+ case CTF_COMPLEX_COLOR:
return new XMLThemeColorContext(GetImport(), nElement, xAttrList, rProp, rProperties);
break;
diff --git a/xmloff/source/text/XMLTextShapeStyleContext.cxx b/xmloff/source/text/XMLTextShapeStyleContext.cxx
index eeda57a558a8..b0ece39a2d82 100644
--- a/xmloff/source/text/XMLTextShapeStyleContext.cxx
+++ b/xmloff/source/text/XMLTextShapeStyleContext.cxx
@@ -90,7 +90,7 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > XMLTextShapePropertySe
rProperties );
break;
- case CTF_THEME_COLOR:
+ case CTF_COMPLEX_COLOR:
return new XMLThemeColorContext(GetImport(), nElement, xAttrList, rProp, rProperties);
case CTF_BACKGROUND_URL:
diff --git a/xmloff/source/text/XMLThemeColorContext.cxx b/xmloff/source/text/XMLThemeColorContext.cxx
index c2cdd6cd35ce..aeea540bbdf3 100644
--- a/xmloff/source/text/XMLThemeColorContext.cxx
+++ b/xmloff/source/text/XMLThemeColorContext.cxx
@@ -45,7 +45,7 @@ XMLThemeColorContext::XMLThemeColorContext(
sal_Int16 nValue = -1;
if (SvXMLUnitConverter::convertEnum(nValue, aIter.toView(), pXML_ThemeColor_Enum))
{
- aThemeColor.setType(model::convertToThemeColorType(nValue));
+ maComplexColor.setSchemeColor(model::convertToThemeColorType(nValue));
}
break;
}
@@ -93,7 +93,7 @@ XMLThemeColorContext::createFastChildContext(
break;
}
}
- aThemeColor.addTransformation({ eTransformationType, nTransformationValue });
+ maComplexColor.addTransformation({ eTransformationType, nTransformationValue });
return this;
}
XMLOFF_WARN_UNKNOWN_ELEMENT("xmloff", nElement);
@@ -104,9 +104,9 @@ void XMLThemeColorContext::endFastElement(sal_Int32 nElement)
{
if (nElement == mnRootElement)
{
- if (aThemeColor.getType() != model::ThemeColorType::Unknown)
+ if (maComplexColor.getSchemeType() != model::ThemeColorType::Unknown)
{
- aProp.maValue <<= model::theme::createXThemeColor(aThemeColor);
+ aProp.maValue <<= model::color::createXComplexColor(maComplexColor);
SetInsert(true);
}
}
diff --git a/xmloff/source/text/XMLThemeColorExport.cxx b/xmloff/source/text/XMLThemeColorExport.cxx
index 2f90e74ffbcf..9a48faf63546 100644
--- a/xmloff/source/text/XMLThemeColorExport.cxx
+++ b/xmloff/source/text/XMLThemeColorExport.cxx
@@ -11,7 +11,7 @@
#include <sal/config.h>
-#include <docmodel/uno/UnoThemeColor.hxx>
+#include <docmodel/uno/UnoComplexColor.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlnamespace.hxx>
#include <xmloff/xmluconv.hxx>
@@ -37,21 +37,20 @@ constexpr const std::array<XMLTokenEnum, 12> constThemeColorTypeToToken{
void XMLThemeColorExport::exportXML(const uno::Any& rAny, sal_uInt16 nPrefix,
const OUString& rLocalName)
{
- uno::Reference<util::XThemeColor> xThemeColor;
- rAny >>= xThemeColor;
- if (!xThemeColor.is())
+ uno::Reference<util::XComplexColor> xComplexColor;
+ rAny >>= xComplexColor;
+ if (!xComplexColor.is())
return;
- model::ThemeColor aThemeColor;
- model::theme::setFromXThemeColor(aThemeColor, xThemeColor);
- if (aThemeColor.getType() == model::ThemeColorType::Unknown)
+ model::ComplexColor aComplexColor = model::color::getFromXComplexColor(xComplexColor);
+ if (aComplexColor.getSchemeType() == model::ThemeColorType::Unknown)
return;
- XMLTokenEnum nToken = constThemeColorTypeToToken[sal_Int16(aThemeColor.getType())];
+ XMLTokenEnum nToken = constThemeColorTypeToToken[sal_Int16(aComplexColor.getSchemeType())];
mrExport.AddAttribute(XML_NAMESPACE_LO_EXT, XML_TYPE, nToken);
- SvXMLElementExport aThemeColorElement(mrExport, nPrefix, rLocalName, true, true);
+ SvXMLElementExport aComplexColorElement(mrExport, nPrefix, rLocalName, true, true);
- for (auto const& rTransform : aThemeColor.getTransformations())
+ for (auto const& rTransform : aComplexColor.getTransformations())
{
OUString aType;
switch (rTransform.meType)
diff --git a/xmloff/source/text/txtexppr.cxx b/xmloff/source/text/txtexppr.cxx
index 8d73fe303304..6e792e35d8fa 100644
--- a/xmloff/source/text/txtexppr.cxx
+++ b/xmloff/source/text/txtexppr.cxx
@@ -72,7 +72,7 @@ void XMLTextExportPropertySetMapper::handleElementItem(
pThis->maTextColumnsExport.exportXML( rProperty.maValue );
break;
- case CTF_THEME_COLOR:
+ case CTF_COMPLEX_COLOR:
pThis->maThemeColorExport.exportXML(rProperty.maValue,
getPropertySetMapper()->GetEntryNameSpace(rProperty.mnIndex),
getPropertySetMapper()->GetEntryXMLName(rProperty.mnIndex));
diff --git a/xmloff/source/text/txtprhdl.cxx b/xmloff/source/text/txtprhdl.cxx
index c0259d2f9dc9..06bc9df6a60f 100644
--- a/xmloff/source/text/txtprhdl.cxx
+++ b/xmloff/source/text/txtprhdl.cxx
@@ -1413,8 +1413,8 @@ static const XMLPropertyHandler *GetPropertyHandler
case XML_TYPE_GRAPHIC:
pHdl = new XMLGraphicPropertyHandler;
break;
- case XML_TYPE_THEME_COLOR:
- pHdl = new XMLThemeColorHandler;
+ case XML_TYPE_COMPLEX_COLOR:
+ pHdl = new XMLComplexColorHandler;
break;
default:
{
diff --git a/xmloff/source/text/txtprmap.cxx b/xmloff/source/text/txtprmap.cxx
index 21dd3cae294f..4c96099d8538 100644
--- a/xmloff/source/text/txtprmap.cxx
+++ b/xmloff/source/text/txtprmap.cxx
@@ -139,7 +139,7 @@ XMLPropertyMapEntry const aXMLParaPropMap[] =
MT_ED( PROP_CharColor, STYLE, USE_WINDOW_FONT_COLOR, XML_TYPE_ISAUTOCOLOR|MID_FLAG_MERGE_PROPERTY, 0 ),
MAP_EXT_I( PROP_CharTransparence, XML_NAMESPACE_DRAW, XML_OPACITY, XML_TYPE_NEG_PERCENT16 | XML_TYPE_PROP_TEXT, 0),
MAP_EXT( PROP_CharTransparence, XML_NAMESPACE_LO_EXT, XML_OPACITY, XML_TYPE_NEG_PERCENT16 | XML_TYPE_PROP_TEXT, 0),
- MAP_EXT( PROP_CharColorThemeReference, XML_NAMESPACE_LO_EXT, XML_CHAR_COLOR_THEME_REFERENCE, XML_TYPE_THEME_COLOR|XML_TYPE_PROP_TEXT|MID_FLAG_ELEMENT_ITEM, CTF_THEME_COLOR),
+ MAP_EXT( PROP_CharComplexColor, XML_NAMESPACE_LO_EXT, XML_CHAR_COMPLEX_COLOR, XML_TYPE_COMPLEX_COLOR|XML_TYPE_PROP_TEXT|MID_FLAG_ELEMENT_ITEM, CTF_COMPLEX_COLOR),
// RES_CHRATR_CONTOUR
MT_E( PROP_CharContoured, STYLE, TEXT_OUTLINE, XML_TYPE_BOOL, 0 ),
// RES_CHRATR_CROSSEDOUT
@@ -490,7 +490,7 @@ XMLPropertyMapEntry const aXMLTextPropMap[] =
MT_ED( PROP_CharColor, STYLE, USE_WINDOW_FONT_COLOR, XML_TYPE_ISAUTOCOLOR|MID_FLAG_MERGE_PROPERTY, 0 ),
MAP_EXT_I( PROP_CharTransparence, XML_NAMESPACE_DRAW, XML_OPACITY, XML_TYPE_NEG_PERCENT16 | XML_TYPE_PROP_TEXT, 0),
MAP_EXT( PROP_CharTransparence, XML_NAMESPACE_LO_EXT, XML_OPACITY, XML_TYPE_NEG_PERCENT16 | XML_TYPE_PROP_TEXT, 0),
- MAP_EXT( PROP_CharColorThemeReference, XML_NAMESPACE_LO_EXT, XML_CHAR_COLOR_THEME_REFERENCE, XML_TYPE_THEME_COLOR|XML_TYPE_PROP_TEXT|MID_FLAG_ELEMENT_ITEM, CTF_THEME_COLOR),
+ MAP_EXT( PROP_CharComplexColor, XML_NAMESPACE_LO_EXT, XML_CHAR_COMPLEX_COLOR, XML_TYPE_COMPLEX_COLOR|XML_TYPE_PROP_TEXT|MID_FLAG_ELEMENT_ITEM, CTF_COMPLEX_COLOR),
// RES_CHRATR_CONTOUR
MT_E( PROP_CharContoured, STYLE, TEXT_OUTLINE, XML_TYPE_BOOL, 0 ),
// RES_CHRATR_CROSSEDOUT
@@ -1038,7 +1038,7 @@ XMLPropertyMapEntry const aXMLCellPropMap[] =
// text properties
MT_ED( PROP_CharColor, FO, COLOR, XML_TYPE_COLORAUTO|MID_FLAG_MERGE_PROPERTY, 0 ),
MT_ED( PROP_CharColor, STYLE, USE_WINDOW_FONT_COLOR, XML_TYPE_ISAUTOCOLOR|MID_FLAG_MERGE_PROPERTY, 0 ),
- MAP_EXT( PROP_CharColorThemeReference, XML_NAMESPACE_LO_EXT, XML_CHAR_COLOR_THEME_REFERENCE, XML_TYPE_THEME_COLOR|XML_TYPE_PROP_TEXT|MID_FLAG_ELEMENT_ITEM, CTF_THEME_COLOR),
+ MAP_EXT( PROP_CharComplexColor, XML_NAMESPACE_LO_EXT, XML_CHAR_COMPLEX_COLOR, XML_TYPE_COMPLEX_COLOR|XML_TYPE_PROP_TEXT|MID_FLAG_ELEMENT_ITEM, CTF_COMPLEX_COLOR),
MT_E( PROP_CharShadowed, FO, TEXT_SHADOW, XML_TYPE_TEXT_SHADOWED, 0 ),
MT_E( PROP_CharContoured, STYLE, TEXT_OUTLINE, XML_TYPE_BOOL, 0 ),
MT_E( PROP_CharStrikeout, STYLE, TEXT_LINE_THROUGH_STYLE, XML_TYPE_TEXT_CROSSEDOUT_STYLE|MID_FLAG_MERGE_PROPERTY, 0 ),