From c9fb441c55d03f55877ed3bb2f5c39310d1ec44b Mon Sep 17 00:00:00 2001 From: Tomaž Vajngerl Date: Fri, 27 Jan 2023 08:41:16 +0900 Subject: move Theme class to own file inside docmodel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also move Theme from svx to model namespace so it is consistent with other classes in docmodel. Theme header also includes ThemeSupplementalFont, ThemeFont, FontScheme classes that are used by the Theme and were also moved to docmodel. These may be moved to its own file in the future when they are used in more places. Change-Id: Ic409bea8e5298adc2b039b529c4f7b01cf64f03e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146221 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl --- svx/source/styles/ColorSets.cxx | 136 ---------------------------------------- 1 file changed, 136 deletions(-) (limited to 'svx/source/styles') diff --git a/svx/source/styles/ColorSets.cxx b/svx/source/styles/ColorSets.cxx index 23adaf3281a1..145babb7d98d 100644 --- a/svx/source/styles/ColorSets.cxx +++ b/svx/source/styles/ColorSets.cxx @@ -11,18 +11,7 @@ #include #include - -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include using namespace com::sun::star; @@ -166,131 +155,6 @@ void ColorSets::insert(model::ColorSet const& rColorSet) maColorSets.push_back(rColorSet); } -Theme::Theme(OUString const& rName) - : maName(rName) -{ -} - -void Theme::SetColorSet(std::unique_ptr pColorSet) { mpColorSet = std::move(pColorSet); } - -const model::ColorSet* Theme::GetColorSet() const { return mpColorSet.get(); } - -model::ColorSet* Theme::GetColorSet() { return mpColorSet.get(); } - -void Theme::SetName(const OUString& rName) { maName = rName; } - -const OUString& Theme::GetName() const { return maName; } - -void Theme::dumpAsXml(xmlTextWriterPtr pWriter) const -{ - (void)xmlTextWriterStartElement(pWriter, BAD_CAST("Theme")); - (void)xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("ptr"), "%p", this); - (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("maName"), - BAD_CAST(maName.toUtf8().getStr())); - - if (mpColorSet) - { - mpColorSet->dumpAsXml(pWriter); - } - - (void)xmlTextWriterEndElement(pWriter); -} - -void Theme::ToAny(css::uno::Any& rVal) const -{ - comphelper::SequenceAsHashMap aMap; - aMap["Name"] <<= maName; - - if (mpColorSet) - { - std::vector aColorScheme; - for (auto eThemeColorType : o3tl::enumrange()) - { - if (eThemeColorType != model::ThemeColorType::Unknown) - { - Color aColor = mpColorSet->getColor(eThemeColorType); - aColorScheme.push_back(sal_Int32(aColor)); - } - } - - aMap["ColorSchemeName"] <<= mpColorSet->getName(); - aMap["ColorScheme"] <<= comphelper::containerToSequence(aColorScheme); - } - - rVal <<= aMap.getAsConstPropertyValueList(); -} - -std::unique_ptr Theme::FromAny(const css::uno::Any& rVal) -{ - comphelper::SequenceAsHashMap aMap(rVal); - std::unique_ptr pTheme; - model::ColorSet* pColorSet = nullptr; - - auto it = aMap.find("Name"); - if (it != aMap.end()) - { - OUString aName; - it->second >>= aName; - pTheme = std::make_unique(aName); - } - - it = aMap.find("ColorSchemeName"); - if (it != aMap.end() && pTheme) - { - OUString aName; - it->second >>= aName; - auto pSet = std::make_unique(aName); - pTheme->SetColorSet(std::move(pSet)); - pColorSet = pTheme->GetColorSet(); - } - - it = aMap.find("ColorScheme"); - if (it != aMap.end() && pColorSet) - { - uno::Sequence aColors; - it->second >>= aColors; - - SAL_WARN_IF(aColors.size() > 12, "svx", "Theme::FromAny: number of colors greater than max theme colors supported"); - - for (auto eThemeColorType : o3tl::enumrange()) - { - if (eThemeColorType != model::ThemeColorType::Unknown) - { - size_t nIndex(static_cast(eThemeColorType)); - if (nIndex < aColors.size()) - { - Color aColor(ColorTransparency, aColors[nIndex]); - pColorSet->add(eThemeColorType, aColor); - } - } - } - } - - return pTheme; -} - -std::vector Theme::GetColors() const -{ - if (!mpColorSet) - return {}; - - std::vector aColors; - for (auto eThemeColorType : o3tl::enumrange()) - { - if (eThemeColorType != model::ThemeColorType::Unknown) - aColors.push_back(mpColorSet->getColor(eThemeColorType)); - } - return aColors; -} - -Color Theme::GetColor(model::ThemeColorType eType) const -{ - if (!mpColorSet) - return {}; - - return mpColorSet->getColor(eType); -} - } // end of namespace svx /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit