diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2022-05-29 12:34:31 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-05-29 19:39:38 +0200 |
commit | e42703d9f23d2235c3a1d61b06610248627595c0 (patch) | |
tree | 472dcb0483185e495419674852de3dec6e7659a0 /drawinglayer/source/tools | |
parent | db3f072dd61cd06ac67f52324f9ca0d21609f508 (diff) |
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/source/tools')
-rw-r--r-- | drawinglayer/source/tools/wmfemfhelper.cxx | 26 |
1 files changed, 8 insertions, 18 deletions
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))); } } |