/* -*- 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 .
*/
// Clone may be to another model and thus another ItemPool. // SfxItemSet supports that thus we are able to Clone all // SfxItemState::SET items to the target pool.
moItemSet.emplace(rProps.moItemSet->CloneAsValue( true,
&rObj.getSdrModelFromSdrObject().GetItemPool()));
// React on ModelChange: If metric has changed, scale items. // As seen above, clone is supported, but scale is not included, // thus: TTTT maybe add scale to SfxItemSet::Clone() (?) // tdf#117707 correct ModelChange detection constbool bModelChange(&rObj.getSdrModelFromSdrObject() != &rProps.GetSdrObject().getSdrModelFromSdrObject());
// do not keep parent info, this may be changed by later constructors. // This class just copies the ItemSet, ignore parent. if(moItemSet && moItemSet->GetParent())
{
moItemSet->SetParent(nullptr);
}
}
void DefaultProperties::SetObjectItemSet(const SfxItemSet& rSet, bool bAdjustTextFrameWidthAndHeight)
{ if (rSet.HasItem(XATTR_FILLBITMAP))
{ const XFillBitmapItem* pItem = rSet.GetItem(XATTR_FILLBITMAP); const std::shared_ptr<VectorGraphicData>& pVectorData
= pItem->GetGraphicObject().GetGraphic().getVectorGraphicData(); if (pVectorData)
{ // Shape is filled by a vector graphic: tell it our size as a hint.
basegfx::B2DTuple aSizeHint;
aSizeHint.setX(GetSdrObject().GetSnapRect().getOpenWidth());
aSizeHint.setY(GetSdrObject().GetSnapRect().getOpenHeight());
pVectorData->setSizeHint(aSizeHint);
}
}
SfxWhichIter aWhichIter(rSet);
sal_uInt16 nWhich(aWhichIter.FirstWhich());
std::vector< const SfxPoolItem * > aPostItemChangeList; // give a hint to STL_Vector
aPostItemChangeList.reserve(rSet.Count());
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.