From e42703d9f23d2235c3a1d61b06610248627595c0 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Sun, 29 May 2022 12:34:31 +0200 Subject: elide temporary vector in processMetaTextLineAction Change-Id: Icf5a3ae47aec43854e669133f3d0c2bace1d942d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135090 Tested-by: Jenkins Reviewed-by: Noel Grandin --- drawinglayer/source/tools/wmfemfhelper.cxx | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) (limited to 'drawinglayer/source/tools/wmfemfhelper.cxx') 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))); } } -- cgit