22#include <com/sun/star/awt/Gradient.hpp>
31#include <rtl/ustrbuf.hxx>
32#include <rtl/ustring.hxx>
61 const uno::Reference< xml::sax::XFastAttributeList >& xAttrList,
65 OUString aDisplayName;
67 awt::Gradient aGradient;
68 aGradient.Style = css::awt::GradientStyle_LINEAR;
69 aGradient.StartColor = 0;
70 aGradient.EndColor = 0;
73 aGradient.XOffset = 0;
74 aGradient.YOffset = 0;
75 aGradient.StartIntensity = 100;
76 aGradient.EndIntensity = 100;
77 aGradient.StepCount = 0;
81 sal_Int32 nTmpValue(0);
83 switch( aIter.getToken() )
86 rStrName = aIter.toString();
89 aDisplayName = aIter.toString();
96 aGradient.XOffset =
static_cast< sal_Int16
>( nTmpValue );
100 aGradient.YOffset =
static_cast< sal_Int16
>( nTmpValue );
110 aGradient.StartIntensity =
static_cast< sal_Int16
>( nTmpValue );
114 aGradient.EndIntensity =
static_cast< sal_Int16
>( nTmpValue );
119 bool const bSuccess =
122 (cmp12 < 0) || (cmp12 == 0
126 SAL_INFO_IF(!bSuccess,
"xmloff.style",
"failed to import draw:angle");
131 aGradient.Border =
static_cast< sal_Int16
>( nTmpValue );
139 rValue <<= aGradient;
141 if( !aDisplayName.isEmpty() )
145 rStrName = aDisplayName;
158 const OUString& rStrName,
161 awt::Gradient aGradient;
163 if( rStrName.isEmpty() )
166 if( !(rValue >>= aGradient) )
177 bool bEncoded =
false;
185 aStrValue = aOut.makeStringAndClear();
189 if( aGradient.Style != awt::GradientStyle_LINEAR &&
190 aGradient.Style != awt::GradientStyle_AXIAL )
193 aStrValue = aOut.makeStringAndClear();
196 aStrValue = aOut.makeStringAndClear();
202 aStrValue = aOut.makeStringAndClear();
207 aStrValue = aOut.makeStringAndClear();
212 aStrValue = aOut.makeStringAndClear();
217 aStrValue = aOut.makeStringAndClear();
221 if( aGradient.Style != awt::GradientStyle_RADIAL )
224 aStrValue = aOut.makeStringAndClear();
230 aStrValue = aOut.makeStringAndClear();
SvXMLEnumMapEntry< awt::GradientStyle > const pXML_GradientStyle_Enum[]
void AddAttribute(sal_uInt16 nPrefix, const OUString &rName, const OUString &rValue)
SvtSaveOptions::ODFSaneDefaultVersion getSaneDefaultVersion() const
returns the deterministic version for odf export
OUString EncodeStyleName(const OUString &rName, bool *pEncoded=nullptr) const
static const sal_uInt16 AOO_4x
bool isGeneratorVersionOlderThan(sal_uInt16 const nOOoVersion, sal_uInt16 const nLOVersion)
depending on whether the generator version indicates LO, compare against either the given LO or given...
OUString GetODFVersion() const
void AddStyleDisplayName(XmlStyleFamily nFamily, const OUString &rName, const OUString &rDisplayName)
sal_uInt16 getGeneratorVersion() const
this checks the build ID and returns
static const sal_uInt16 LO_7x
static bool convertEnum(EnumT &rEnum, std::u16string_view rValue, const SvXMLEnumMapEntry< EnumT > *pMap)
convert string to enum using given enum map, if the enum is not found in the map, this method will re...
void exportXML(const OUString &rStrName, const css::uno::Any &rValue)
XMLGradientStyleExport(SvXMLExport &rExport)
XMLGradientStyleImport(SvXMLImport &rImport)
void importXML(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList, css::uno::Any &rValue, OUString &rStrName)
static bool convertPercent(sal_Int32 &rValue, std::u16string_view rString)
static bool convertColor(sal_Int32 &rColor, std::u16string_view rValue)
static void convertAngle(OUStringBuffer &rBuffer, sal_Int16 nAngle, SvtSaveOptions::ODFSaneDefaultVersion nVersion)
constexpr OUStringLiteral ODFVER_012_TEXT
#define SAL_INFO_IF(condition, area, stream)
FastAttributeList & castToFastAttributeList(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
Handling of tokens in XML:
@ XML_GRADIENTSTYLE_ELLIPSOID
@ XML_GRADIENTSTYLE_AXIAL
@ XML_GRADIENTSTYLE_SQUARE
@ XML_GRADIENTSTYLE_RECTANGULAR
@ XML_GRADIENTSTYLE_RADIAL
#define XMLOFF_WARN_UNKNOWN(area, rIter)
#define XML_ELEMENT(prefix, name)
constexpr sal_uInt16 XML_NAMESPACE_DRAW