// create unit outline polygon const basegfx::B2DPolygon& aUnitOutline(basegfx::utils::createUnitPolygon());
// add fill, but only when graphic is transparent if (!getSdrLFSTAttribute().getFill().isDefault() && isTransparent())
{
basegfx::B2DPolyPolygon aTransformed(aUnitOutline);
// add graphic content if (0 != getGraphicAttr().GetAlpha())
{ // standard graphic fill const Primitive2DReference xGraphicContentPrimitive( new GraphicPrimitive2D(getTransform(), getGraphicObject(), getGraphicAttr()));
aRetval.push_back(xGraphicContentPrimitive);
}
// add line if (!getSdrLFSTAttribute().getLine().isDefault())
{ // if line width is given, polygon needs to be grown by half of it to make the // outline to be outside of the bitmap if (0.0 != getSdrLFSTAttribute().getLine().getWidth())
{ // decompose to get scale
basegfx::B2DVector aScale, aTranslate; double fRotate, fShearX;
getTransform().decompose(aScale, aTranslate, fRotate, fShearX);
// Soft edges should be before text, since text is not affected by soft edges if (!aRetval.empty() && getSdrLFSTAttribute().getSoftEdgeRadius())
{
aRetval = createEmbeddedSoftEdgePrimitive(std::move(aRetval),
getSdrLFSTAttribute().getSoftEdgeRadius());
}
// add text if (!getSdrLFSTAttribute().getText().isDefault())
{ const drawinglayer::primitive2d::Primitive2DReference xReferenceA = createTextPrimitive(
basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), getSdrLFSTAttribute().getText(),
getSdrLFSTAttribute().getLine(), false, false);
if (!mbPlaceholderImage)
{
aRetval.push_back(xReferenceA);
} else
{ const drawinglayer::primitive2d::Primitive2DReference aEmbedded( new drawinglayer::primitive2d::ExclusiveEditViewPrimitive2D(
drawinglayer::primitive2d::Primitive2DContainer{ xReferenceA }));
aRetval.push_back(aEmbedded);
}
}
// tdf#132199: put glow before shadow, to have shadow of the glow, not the opposite if (!aRetval.empty() && !getSdrLFSTAttribute().getGlow().isDefault())
{ // glow
aRetval = createEmbeddedGlowPrimitive(std::move(aRetval), getSdrLFSTAttribute().getGlow());
}
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.