/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
// 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.