// This method is called for every default style void XMLGraphicsDefaultStyle::SetDefaults()
{
Reference< XMultiServiceFactory > xFact( GetImport().GetModel(), UNO_QUERY ); if( !xFact.is() ) return;
if (GetImport().IsOOoXML()
&& xInfo->hasPropertyByName(u"IsFollowingTextFlow"_ustr))
{ // OOo 1.x only supported "true" so that is the more appropriate // default for OOoXML format documents.
xDefaults->setPropertyValue(u"IsFollowingTextFlow"_ustr, uno::Any(true));
}
// NOTE: the only reason why it's legal to check "==" (not "<") against // arbitrary versions here is that the default value of these attributes // is not defined by ODF, therefore it is implementation-defined // (and we of course must not override any attributes that are actually // in the document, so check for that) boolconst bIsAOO4(
GetImport().getGeneratorVersion() >= SvXMLImport::AOO_40x
&& GetImport().getGeneratorVersion() <= SvXMLImport::AOO_4x);
// fdo#75872: backward compatibility for pool defaults change if (GetImport().isGeneratorVersionOlderThan(
SvXMLImport::AOO_40x, SvXMLImport::LO_42x) // argh... it turns out that LO has also changed defaults for these // since LO 4.0, and so even the _new_ AOO 4.0+ default needs // special handling since AOO still does _not_ write it into the file
|| bIsAOO4)
{
rtl::Reference<XMLPropertySetMapper> const pImpPrMap(
GetStyles()->GetImportPropertyMapper(GetFamily())
->getPropertySetMapper());
sal_Int32 const nStrokeIndex(
pImpPrMap->GetEntryIndex(XML_NAMESPACE_SVG, u"stroke-color", 0)); if (std::none_of(GetProperties().begin(), GetProperties().end(),
XMLPropertyByIndex(nStrokeIndex)))
{
Color const nStroke(
bIsAOO4 ? Color(128, 128, 128) : COL_BLACK);
xDefaults->setPropertyValue(u"LineColor"_ustr, Any(nStroke));
}
Color const nFillColor( bIsAOO4
? Color(0xCF, 0xE7, 0xF5) : Color(153, 204, 255));
sal_Int32 const nFillIndex(
pImpPrMap->GetEntryIndex(XML_NAMESPACE_DRAW, u"fill-color", 0)); if (std::none_of(GetProperties().begin(), GetProperties().end(),
XMLPropertyByIndex(nFillIndex)))
{
xDefaults->setPropertyValue(u"FillColor"_ustr, Any(nFillColor));
} if (xInfo->hasPropertyByName(u"FillColor2"_ustr))
{
sal_Int32 const nFill2Index(pImpPrMap->GetEntryIndex(
XML_NAMESPACE_DRAW, u"secondary-fill-color", 0)); if (std::none_of(GetProperties().begin(), GetProperties().end(),
XMLPropertyByIndex(nFill2Index)))
{
xDefaults->setPropertyValue(u"FillColor2"_ustr, Any(sal_Int32(nFillColor)));
}
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.