summaryrefslogtreecommitdiffstats
path: root/drawinglayer
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2022-05-29 12:34:31 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-05-29 19:39:38 +0200
commite42703d9f23d2235c3a1d61b06610248627595c0 (patch)
tree472dcb0483185e495419674852de3dec6e7659a0 /drawinglayer
parentNew o3tl::intcmp.hxx (diff)
downloadcore-e42703d9f23d2235c3a1d61b06610248627595c0.tar.gz
core-e42703d9f23d2235c3a1d61b06610248627595c0.zip
elide temporary vector in processMetaTextLineAction
Change-Id: Icf5a3ae47aec43854e669133f3d0c2bace1d942d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135090 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'drawinglayer')
-rw-r--r--drawinglayer/inc/wmfemfhelper.hxx4
-rw-r--r--drawinglayer/source/tools/wmfemfhelper.cxx26
2 files changed, 12 insertions, 18 deletions
diff --git a/drawinglayer/inc/wmfemfhelper.hxx b/drawinglayer/inc/wmfemfhelper.hxx
index 01449ae2b1da..f085065c1ea6 100644
--- a/drawinglayer/inc/wmfemfhelper.hxx
+++ b/drawinglayer/inc/wmfemfhelper.hxx
@@ -53,6 +53,10 @@ namespace wmfemfhelper
{
append(pCandidate.get());
}
+ void append(drawinglayer::primitive2d::Primitive2DContainer xCandidate)
+ {
+ aTargets.append(std::move(xCandidate));
+ }
void append(drawinglayer::primitive2d::BasePrimitive2D* pCandidate);
drawinglayer::primitive2d::Primitive2DContainer getPrimitive2DSequence(const PropertyHolder& rPropertyHolder);
};
diff --git a/drawinglayer/source/tools/wmfemfhelper.cxx b/drawinglayer/source/tools/wmfemfhelper.cxx
index 0e8668e80656..8a5dbab74e12 100644
--- a/drawinglayer/source/tools/wmfemfhelper.cxx
+++ b/drawinglayer/source/tools/wmfemfhelper.cxx
@@ -1292,7 +1292,7 @@ namespace wmfemfhelper
if(!(bUnderlineUsed || bStrikeoutUsed || bOverlineUsed))
return;
- std::vector< drawinglayer::primitive2d::BasePrimitive2D* > aTargetVector;
+ drawinglayer::primitive2d::Primitive2DContainer aTargets;
basegfx::B2DVector aAlignmentOffset(0.0, 0.0);
drawinglayer::attribute::FontAttribute aFontAttribute;
basegfx::B2DHomMatrix aTextTransform;
@@ -1314,7 +1314,7 @@ namespace wmfemfhelper
if(bOverlineUsed)
{
// create primitive geometry for overline
- aTargetVector.push_back(
+ aTargets.push_back(
new drawinglayer::primitive2d::TextLinePrimitive2D(
aTextTransform,
fLineWidth,
@@ -1327,7 +1327,7 @@ namespace wmfemfhelper
if(bUnderlineUsed)
{
// create primitive geometry for underline
- aTargetVector.push_back(
+ aTargets.push_back(
new drawinglayer::primitive2d::TextLinePrimitive2D(
aTextTransform,
fLineWidth,
@@ -1349,7 +1349,7 @@ namespace wmfemfhelper
const css::lang::Locale aLocale(LanguageTag(
rProperty.getLanguageType()).getLocale());
- aTargetVector.push_back(
+ aTargets.push_back(
new drawinglayer::primitive2d::TextCharacterStrikeoutPrimitive2D(
aTextTransform,
fLineWidth,
@@ -1361,7 +1361,7 @@ namespace wmfemfhelper
else
{
// strikeout with geometry
- aTargetVector.push_back(
+ aTargets.push_back(
new drawinglayer::primitive2d::TextGeometryStrikeoutPrimitive2D(
aTextTransform,
fLineWidth,
@@ -1372,31 +1372,21 @@ namespace wmfemfhelper
}
}
- if(aTargetVector.empty())
+ if(aTargets.empty())
return;
// add created text primitive to target
if(rProperty.getTransformation().isIdentity())
{
- for(drawinglayer::primitive2d::BasePrimitive2D* a : aTargetVector)
- {
- rTarget.append(a);
- }
+ rTarget.append(std::move(aTargets));
}
else
{
// when a transformation is set, embed to it
- drawinglayer::primitive2d::Primitive2DContainer xTargets(aTargetVector.size());
-
- for(size_t a(0); a < aTargetVector.size(); a++)
- {
- xTargets[a] = drawinglayer::primitive2d::Primitive2DReference(aTargetVector[a]);
- }
-
rTarget.append(
new drawinglayer::primitive2d::TransformPrimitive2D(
rProperty.getTransformation(),
- std::move(xTargets)));
+ std::move(aTargets)));
}
}