// no geometry provided, done if (aContent.empty()) return;
// if no ViewBox append aContent without embedding if(nullptr == getViewBox())
{
rTarget.append(aContent); return;
}
// prepare range of imported geometry // tdf#164434 CAUTION: There *are* svg files which do not define // all needed data, e.g. x/y/w/h might be missing in any combination. // As fallback, use size of imported geometry. Do this separate for // position and size to do the best if only one value pair is provided
basegfx::B2DRange aImportedRange;
basegfx::B2DPoint aPosition;
basegfx::B2DVector aSize;
// evaluate position if (maX.isSet() && maY.isSet())
{ // use values from imported svg if both provided
aPosition = basegfx::B2DPoint(
maX.solve(*this, NumberType::xcoordinate),
maY.solve(*this, NumberType::ycoordinate));
} else
{ // fallback to imported geometry
drawinglayer::geometry::ViewInformation2D aViewInfo;
aImportedRange = aContent.getB2DRange(aViewInfo);
aPosition = aImportedRange.getMinimum();
}
// evaluate size if (maWidth.isSet() && maHeight.isSet())
{ // use values from imported svg if both provided
aSize = basegfx::B2DVector(
maWidth.solve(*this, NumberType::xcoordinate),
maHeight.solve(*this, NumberType::ycoordinate));
} else
{ // fallback to imported geometry if (aImportedRange.isEmpty())
{
drawinglayer::geometry::ViewInformation2D aViewInfo;
aImportedRange = aContent.getB2DRange(aViewInfo);
}
aSize = aImportedRange.getRange();
}
// tdf#164434 no size, no geometry, done if (0.0 == aSize.getX() || 0.0 == aSize.getY()) return;
// prepare embedding in transformation // create embedding group element with transformation const drawinglayer::primitive2d::Primitive2DReference xRef( new drawinglayer::primitive2d::TransformPrimitive2D(
aEmbeddingTransform,
drawinglayer::primitive2d::Primitive2DContainer(std::move(aContent))));
// add embedded geometry to result
rTarget.push_back(xRef);
}
¤ 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.0.12Bemerkung:
(vorverarbeitet am 2026-09-29)
¤
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.