diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2023-08-03 10:14:40 +0200 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2023-08-15 20:58:13 +0200 |
commit | 9d5a7d9257db78eb3f4d77c39eae1affe877ea6b (patch) | |
tree | e5efa2d17c68055125eb24fe1761c6e77caab4db /oox | |
parent | 918cd8cbf383e0099d80db2e12a1071a0bc4f200 (diff) |
ComplexColor various clean-up and (trivial) refactorings
Don't allow access to member variables of ComplexColor and makes
them private. Needs a lot of changes.
Change "scheme" to "theme" to be more consistent. In LO we usually
call the "theme color" what is usually refered to as "scheme color"
in OOXML, where it is sometimes refered to as "scheme" and other times
as theme color.
Remove ThemeColor class which was replaced with CmplexColor some
time ago.
Remove un-needed includes and un-needed components.
Use isValidThemeColor in many places where we check that the
ComplexColor is of "Theme" type and that ThemeColorType is set to
a valid value.
Change-Id: I325595fa65b8e56a4707e9d22acc6330aac28961
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155359
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'oox')
-rw-r--r-- | oox/inc/pch/precompiled_oox.hxx | 1 | ||||
-rw-r--r-- | oox/qa/unit/drawingml.cxx | 14 | ||||
-rw-r--r-- | oox/qa/unit/shape.cxx | 2 | ||||
-rw-r--r-- | oox/source/drawingml/color.cxx | 7 | ||||
-rw-r--r-- | oox/source/drawingml/colorchoicecontext.cxx | 11 | ||||
-rw-r--r-- | oox/source/drawingml/fillproperties.cxx | 2 | ||||
-rw-r--r-- | oox/source/drawingml/fontworkhelpers.cxx | 11 | ||||
-rw-r--r-- | oox/source/drawingml/lineproperties.cxx | 4 | ||||
-rw-r--r-- | oox/source/export/ThemeExport.cxx | 36 | ||||
-rw-r--r-- | oox/source/export/drawingml.cxx | 4 |
10 files changed, 43 insertions, 49 deletions
diff --git a/oox/inc/pch/precompiled_oox.hxx b/oox/inc/pch/precompiled_oox.hxx index 02971960b084..b9324feedb72 100644 --- a/oox/inc/pch/precompiled_oox.hxx +++ b/oox/inc/pch/precompiled_oox.hxx @@ -208,7 +208,6 @@ #include <docmodel/color/ComplexColor.hxx> #include <docmodel/dllapi.h> #include <docmodel/theme/ColorSet.hxx> -#include <docmodel/theme/ThemeColor.hxx> #include <docmodel/theme/ThemeColorType.hxx> #include <drawinglayer/primitive2d/Primitive2DContainer.hxx> #include <drawingml/colorchoicecontext.hxx> diff --git a/oox/qa/unit/drawingml.cxx b/oox/qa/unit/drawingml.cxx index 27bd3984a1c7..3f2876c97e41 100644 --- a/oox/qa/unit/drawingml.cxx +++ b/oox/qa/unit/drawingml.cxx @@ -419,7 +419,7 @@ CPPUNIT_TEST_FIXTURE(OoxDrawingmlTest, testPptxTheme) CPPUNIT_ASSERT(xPortion->getPropertyValue("CharComplexColor") >>= xComplexColor); CPPUNIT_ASSERT(xComplexColor.is()); auto aComplexColor = model::color::getFromXComplexColor(xComplexColor); - CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aComplexColor.getSchemeType()); + CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aComplexColor.getThemeColorType()); CPPUNIT_ASSERT_EQUAL(model::TransformationType::LumMod, aComplexColor.getTransformations()[0].meType); CPPUNIT_ASSERT_EQUAL(sal_Int16(6000), aComplexColor.getTransformations()[0].mnValue); @@ -474,7 +474,7 @@ CPPUNIT_TEST_FIXTURE(OoxDrawingmlTest, testThemeColorTint_Table) CPPUNIT_ASSERT(xA1->getPropertyValue("FillComplexColor") >>= xComplexColor); CPPUNIT_ASSERT(xComplexColor.is()); auto aComplexColor = model::color::getFromXComplexColor(xComplexColor); - CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aComplexColor.getSchemeType()); + CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aComplexColor.getThemeColorType()); { auto const& rTrans = aComplexColor.getTransformations(); CPPUNIT_ASSERT_EQUAL(size_t(0), rTrans.size()); @@ -487,7 +487,7 @@ CPPUNIT_TEST_FIXTURE(OoxDrawingmlTest, testThemeColorTint_Table) CPPUNIT_ASSERT(xA2->getPropertyValue("FillComplexColor") >>= xComplexColor); CPPUNIT_ASSERT(xComplexColor.is()); auto aComplexColor = model::color::getFromXComplexColor(xComplexColor); - CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aComplexColor.getSchemeType()); + CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aComplexColor.getThemeColorType()); { auto const& rTrans = aComplexColor.getTransformations(); CPPUNIT_ASSERT_EQUAL(size_t(1), rTrans.size()); @@ -516,7 +516,7 @@ CPPUNIT_TEST_FIXTURE(OoxDrawingmlTest, testThemeColor_Shape) CPPUNIT_ASSERT(xComplexColor.is()); { auto aComplexColor = model::color::getFromXComplexColor(xComplexColor); - CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent6, aComplexColor.getSchemeType()); + CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent6, aComplexColor.getThemeColorType()); auto const& rTrans = aComplexColor.getTransformations(); CPPUNIT_ASSERT_EQUAL(size_t(2), rTrans.size()); @@ -530,7 +530,7 @@ CPPUNIT_TEST_FIXTURE(OoxDrawingmlTest, testThemeColor_Shape) CPPUNIT_ASSERT(xComplexColor.is()); { auto aComplexColor = model::color::getFromXComplexColor(xComplexColor); - CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent6, aComplexColor.getSchemeType()); + CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent6, aComplexColor.getThemeColorType()); auto const& rTrans = aComplexColor.getTransformations(); CPPUNIT_ASSERT_EQUAL(size_t(1), rTrans.size()); @@ -546,7 +546,7 @@ CPPUNIT_TEST_FIXTURE(OoxDrawingmlTest, testThemeColor_Shape) CPPUNIT_ASSERT(xComplexColor.is()); { auto aComplexColor = model::color::getFromXComplexColor(xComplexColor); - CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aComplexColor.getSchemeType()); + CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aComplexColor.getThemeColorType()); auto const& rTrans = aComplexColor.getTransformations(); CPPUNIT_ASSERT_EQUAL(size_t(0), rTrans.size()); @@ -556,7 +556,7 @@ CPPUNIT_TEST_FIXTURE(OoxDrawingmlTest, testThemeColor_Shape) CPPUNIT_ASSERT(xComplexColor.is()); { auto aComplexColor = model::color::getFromXComplexColor(xComplexColor); - CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aComplexColor.getSchemeType()); + CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, aComplexColor.getThemeColorType()); auto const& rTrans = aComplexColor.getTransformations(); CPPUNIT_ASSERT_EQUAL(size_t(1), rTrans.size()); diff --git a/oox/qa/unit/shape.cxx b/oox/qa/unit/shape.cxx index 68ce372335df..605834d6c0fc 100644 --- a/oox/qa/unit/shape.cxx +++ b/oox/qa/unit/shape.cxx @@ -320,7 +320,7 @@ CPPUNIT_TEST_FIXTURE(OoxShapeTest, testTdf54095_SmartArtThemeTextColor) xPortion->getPropertyValue("CharComplexColor") >>= xComplexColor; CPPUNIT_ASSERT(xComplexColor.is()); auto aComplexColor = model::color::getFromXComplexColor(xComplexColor); - CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Dark2, aComplexColor.getSchemeType()); + CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Dark2, aComplexColor.getThemeColorType()); if (!bUseGroup) { diff --git a/oox/source/drawingml/color.cxx b/oox/source/drawingml/color.cxx index 0bd570185a4c..9462fc03095c 100644 --- a/oox/source/drawingml/color.cxx +++ b/oox/source/drawingml/color.cxx @@ -619,8 +619,7 @@ sal_Int16 Color::getLumOff() const model::ComplexColor Color::getComplexColor() const { - model::ComplexColor aComplexColor; - aComplexColor.setSchemeColor(model::convertToThemeColorType(getSchemeColorIndex())); + auto aComplexColor = model::ComplexColor::Theme(model::convertToThemeColorType(getSchemeColorIndex())); if (getTintOrShade() > 0) { @@ -818,12 +817,12 @@ model::ComplexColor Color::createComplexColor(const GraphicHelper& /*rGraphicHel if (meMode == COLOR_PH) { auto eTheme = model::convertToThemeColorType(nPhClrTheme); - aNewComplexColor.setSchemeColor(eTheme); + aNewComplexColor.setThemeColor(eTheme); } else if (meMode == COLOR_SCHEME) { auto eTheme = getThemeColorType(); - aNewComplexColor.setSchemeColor(eTheme); + aNewComplexColor.setThemeColor(eTheme); } else if (meMode == COLOR_RGB) { diff --git a/oox/source/drawingml/colorchoicecontext.cxx b/oox/source/drawingml/colorchoicecontext.cxx index 63ac44fd6aac..4db601aed01a 100644 --- a/oox/source/drawingml/colorchoicecontext.cxx +++ b/oox/source/drawingml/colorchoicecontext.cxx @@ -188,12 +188,12 @@ void ColorValueContext::onStartElement( const AttributeList& rAttribs ) { if (nToken == XML_phClr) { - mpComplexColor->setSchemePlaceholder(); + mpComplexColor->setThemePlaceholder(); } else { model::ThemeColorType eType = schemeNameToThemeColorType(*sSchemeName); - mpComplexColor->setSchemeColor(eType); + mpComplexColor->setThemeColor(eType); } } } @@ -208,10 +208,7 @@ void ColorValueContext::onStartElement( const AttributeList& rAttribs ) { // TODO - just converted to RGB for now ::Color nRgbValue = Color::getDmlPresetColor(nToken, API_RGB_TRANSPARENT); - mpComplexColor->mnComponent1 = nRgbValue.GetRed(); - mpComplexColor->mnComponent2 = nRgbValue.GetGreen(); - mpComplexColor->mnComponent3 = nRgbValue.GetBlue(); - mpComplexColor->meType = model::ColorType::RGB; + mpComplexColor->setColor(nRgbValue); } } break; @@ -282,7 +279,7 @@ void ColorValueContext::onStartElement( const AttributeList& rAttribs ) else nValue = rAttribs.getInteger(XML_val, 0); - mpComplexColor->maTransformations.push_back({eType, sal_Int16(nValue / 10)}); + mpComplexColor->addTransformation({eType, sal_Int16(nValue / 10)}); } } diff --git a/oox/source/drawingml/fillproperties.cxx b/oox/source/drawingml/fillproperties.cxx index 5edc71b8bc12..a11aeb6236ee 100644 --- a/oox/source/drawingml/fillproperties.cxx +++ b/oox/source/drawingml/fillproperties.cxx @@ -430,7 +430,7 @@ void FillProperties::pushToPropMap(ShapePropertyMap& rPropMap, const GraphicHelp model::ComplexColor aComplexColor; if (aFillColor == nPhClr) { - aComplexColor.setSchemeColor(model::convertToThemeColorType(nPhClrTheme)); + aComplexColor.setThemeColor(model::convertToThemeColorType(nPhClrTheme)); } else { diff --git a/oox/source/drawingml/fontworkhelpers.cxx b/oox/source/drawingml/fontworkhelpers.cxx index 70c24ed5c3c8..4867ee38d8c4 100644 --- a/oox/source/drawingml/fontworkhelpers.cxx +++ b/oox/source/drawingml/fontworkhelpers.cxx @@ -1020,10 +1020,7 @@ bool FontworkHelpers::getThemeColorFromShape( && (xPropertySet->getPropertyValue(rPropertyName) >>= xComplexColor) && xComplexColor.is()) { rComplexColor = model::color::getFromXComplexColor(xComplexColor); - if (rComplexColor.getSchemeType() == model::ThemeColorType::Unknown) - return false; - else - return true; + return rComplexColor.isValidThemeType(); } return false; } @@ -1062,7 +1059,7 @@ constexpr const std::array<std::u16string_view, 12> WColorNames{ OUString lcl_getW14MarkupStringForThemeColor(const model::ComplexColor& rComplexColor) { const sal_uInt8 nClrNameIndex = std::clamp<sal_uInt8>( - sal_Int32(rComplexColor.getSchemeType()), sal_Int32(model::ThemeColorType::Dark1), + sal_Int32(rComplexColor.getThemeColorType()), sal_Int32(model::ThemeColorType::Dark1), sal_Int32(model::ThemeColorType::FollowedHyperlink)); return OUString(W14ColorNames[nClrNameIndex]); } @@ -1071,7 +1068,7 @@ OUString lcl_getW14MarkupStringForThemeColor(const model::ComplexColor& rComplex OUString lcl_getWMarkupStringForThemeColor(const model::ComplexColor& rComplexColor) { const sal_uInt8 nClrNameIndex = std::clamp<sal_uInt8>( - sal_Int32(rComplexColor.getSchemeType()), sal_Int32(model::ThemeColorType::Dark1), + sal_Int32(rComplexColor.getThemeColorType()), sal_Int32(model::ThemeColorType::Dark1), sal_Int32(model::ThemeColorType::FollowedHyperlink)); return OUString(WColorNames[nClrNameIndex]); } @@ -1313,7 +1310,7 @@ void FontworkHelpers::createCharInteropGrabBagUpdatesFromShapeProps( pGrabBagStack->push("attributes"); pGrabBagStack->addInt32("pos", (*it).first); pGrabBagStack->pop(); - if ((*it).second.TTColor.getSchemeType() == model::ThemeColorType::Unknown) + if ((*it).second.TTColor.getThemeColorType() == model::ThemeColorType::Unknown) { pGrabBagStack->push("srgbClr"); pGrabBagStack->push("attributes"); diff --git a/oox/source/drawingml/lineproperties.cxx b/oox/source/drawingml/lineproperties.cxx index 1372a6b96016..5d818a26c613 100644 --- a/oox/source/drawingml/lineproperties.cxx +++ b/oox/source/drawingml/lineproperties.cxx @@ -504,12 +504,12 @@ void LineProperties::pushToPropMap( ShapePropertyMap& rPropMap, if (aColor == nPhClr) { - aComplexColor.setSchemeColor(model::convertToThemeColorType(nPhClrTheme)); + aComplexColor.setThemeColor(model::convertToThemeColorType(nPhClrTheme)); rPropMap.setProperty(PROP_LineComplexColor, model::color::createXComplexColor(aComplexColor)); } else { - aComplexColor.setSchemeColor(model::convertToThemeColorType(aLineColor.getSchemeColorIndex())); + aComplexColor.setThemeColor(model::convertToThemeColorType(aLineColor.getSchemeColorIndex())); if (aLineColor.getLumMod() != 10000) aComplexColor.addTransformation({model::TransformationType::LumMod, aLineColor.getLumMod()}); if (aLineColor.getLumOff() != 0) diff --git a/oox/source/export/ThemeExport.cxx b/oox/source/export/ThemeExport.cxx index 87cb5f2bc0bc..9fd9a97f847d 100644 --- a/oox/source/export/ThemeExport.cxx +++ b/oox/source/export/ThemeExport.cxx @@ -245,43 +245,45 @@ void ThemeExport::writeColorRGB(model::ComplexColor const& rComplexColor) void ThemeExport::writeColorCRGB(model::ComplexColor const& rComplexColor) { - mpFS->startElementNS(XML_a, XML_scrgbClr, XML_r, OString::number(rComplexColor.mnComponent1), - XML_g, OString::number(rComplexColor.mnComponent2), XML_b, - OString::number(rComplexColor.mnComponent3)); - writeColorTransformations(rComplexColor.maTransformations); + mpFS->startElementNS(XML_a, XML_scrgbClr, XML_r, + OString::number(sal_Int32(rComplexColor.getRed())), XML_g, + OString::number(sal_Int32(rComplexColor.getGreen())), XML_b, + OString::number(sal_Int32(rComplexColor.getBlue()))); + writeColorTransformations(rComplexColor.getTransformations()); mpFS->endElementNS(XML_a, XML_scrgbClr); } void ThemeExport::writeColorHSL(model::ComplexColor const& rComplexColor) { - mpFS->startElementNS(XML_a, XML_hslClr, XML_hue, OString::number(rComplexColor.mnComponent1), - XML_sat, OString::number(rComplexColor.mnComponent2), XML_lum, - OString::number(rComplexColor.mnComponent3)); - writeColorTransformations(rComplexColor.maTransformations); + mpFS->startElementNS(XML_a, XML_hslClr, XML_hue, + OString::number(sal_Int32(rComplexColor.getRed())), XML_sat, + OString::number(sal_Int32(rComplexColor.getGreen())), XML_lum, + OString::number(sal_Int32(rComplexColor.getBlue()))); + writeColorTransformations(rComplexColor.getTransformations()); mpFS->endElementNS(XML_a, XML_hslClr); } -void ThemeExport::writeColorScheme(model::ComplexColor const& rComplexColor) +void ThemeExport::writeColorTheme(model::ComplexColor const& rComplexColor) { - auto iterator = constThemeColorTypeTokenMap.find(rComplexColor.meSchemeType); + auto iterator = constThemeColorTypeTokenMap.find(rComplexColor.getThemeColorType()); if (iterator != constThemeColorTypeTokenMap.end()) { const char* sValue = iterator->second; mpFS->startElementNS(XML_a, XML_schemeClr, XML_val, sValue); - writeColorTransformations(rComplexColor.maTransformations); + writeColorTransformations(rComplexColor.getTransformations()); mpFS->endElementNS(XML_a, XML_schemeClr); } } void ThemeExport::writeColorSystem(model::ComplexColor const& rComplexColor) { - auto iterator = constSystemColorTypeTokenMap.find(rComplexColor.meSystemColorType); + auto iterator = constSystemColorTypeTokenMap.find(rComplexColor.getSystemColorType()); if (iterator != constSystemColorTypeTokenMap.end()) { const char* sValue = iterator->second; mpFS->startElementNS(XML_a, XML_sysClr, XML_val, sValue); //XML_lastClr - writeColorTransformations(rComplexColor.maTransformations); + writeColorTransformations(rComplexColor.getTransformations()); mpFS->endElementNS(XML_a, XML_schemeClr); } } @@ -289,13 +291,13 @@ void ThemeExport::writeColorSystem(model::ComplexColor const& rComplexColor) void ThemeExport::writeColorPlaceholder(model::ComplexColor const& rComplexColor) { mpFS->startElementNS(XML_a, XML_schemeClr, XML_val, "phClr"); - writeColorTransformations(rComplexColor.maTransformations); + writeColorTransformations(rComplexColor.getTransformations()); mpFS->endElementNS(XML_a, XML_schemeClr); } void ThemeExport::writeComplexColor(model::ComplexColor const& rComplexColor) { - switch (rComplexColor.meType) + switch (rComplexColor.getType()) { case model::ColorType::Unused: break; @@ -308,8 +310,8 @@ void ThemeExport::writeComplexColor(model::ComplexColor const& rComplexColor) case model::ColorType::HSL: writeColorHSL(rComplexColor); break; - case model::ColorType::Scheme: - writeColorScheme(rComplexColor); + case model::ColorType::Theme: + writeColorTheme(rComplexColor); break; case model::ColorType::Palette: break; diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index a8c032259476..351c1b7cf265 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -540,9 +540,9 @@ bool DrawingML::WriteSchemeColor(OUString const& rPropertyName, const uno::Refer return false; auto aComplexColor = model::color::getFromXComplexColor(xComplexColor); - if (aComplexColor.getSchemeType() == model::ThemeColorType::Unknown) + if (aComplexColor.getThemeColorType() == model::ThemeColorType::Unknown) return false; - const char* pColorName = g_aPredefinedClrNames[sal_Int16(aComplexColor.getSchemeType())]; + const char* pColorName = g_aPredefinedClrNames[sal_Int16(aComplexColor.getThemeColorType())]; mpFS->startElementNS(XML_a, XML_solidFill); mpFS->startElementNS(XML_a, XML_schemeClr, XML_val, pColorName); for (auto const& rTransform : aComplexColor.getTransformations()) |