diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2023-05-08 14:09:00 +0900 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2023-06-01 11:19:17 +0200 |
commit | b0da2f52374c04192ac92951519e0a47410d0a24 (patch) | |
tree | b1b81ebf7fecb2024b3dc99396e399a12a107862 /xmloff/source | |
parent | 34872a4d4e721bdf17642d406b08d407e9cfe8b2 (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.cxx | 4 | ||||
-rw-r--r-- | xmloff/source/draw/XMLShapePropertySetContext.cxx | 2 | ||||
-rw-r--r-- | xmloff/source/draw/sdpropls.cxx | 6 | ||||
-rw-r--r-- | xmloff/source/text/XMLTextPropertySetContext.cxx | 2 | ||||
-rw-r--r-- | xmloff/source/text/XMLTextShapeStyleContext.cxx | 2 | ||||
-rw-r--r-- | xmloff/source/text/XMLThemeColorContext.cxx | 8 | ||||
-rw-r--r-- | xmloff/source/text/XMLThemeColorExport.cxx | 19 | ||||
-rw-r--r-- | xmloff/source/text/txtexppr.cxx | 2 | ||||
-rw-r--r-- | xmloff/source/text/txtprhdl.cxx | 4 | ||||
-rw-r--r-- | xmloff/source/text/txtprmap.cxx | 6 |
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 ), |