diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-09-09 13:00:23 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-09-09 15:22:52 +0200 |
commit | 8104d771b10a5c8b15eae4b67aa112ae2ef77b5b (patch) | |
tree | 095a091a90104689a1d6d53ed7060feb0973c1ea /svgio | |
parent | ca512f301faf42b7d23675ca251b20e0ad67db1b (diff) |
tdf#144052 reduce Primitive2D copying
when creating charts, by using a
Primitive2DContainer&&
parameter in the GroupPrimitive2D constructor, which forces the call
sites to pass a temporary, and at most call sites, we can std::move in
an existing local variable.
Change-Id: I531970918800c6832ab606b5a4ff5fd2d47ccf5b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121844
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svgio')
-rw-r--r-- | svgio/source/svgreader/svgclippathnode.cxx | 6 | ||||
-rw-r--r-- | svgio/source/svgreader/svgimagenode.cxx | 4 | ||||
-rw-r--r-- | svgio/source/svgreader/svgmasknode.cxx | 20 | ||||
-rw-r--r-- | svgio/source/svgreader/svgnode.cxx | 4 | ||||
-rw-r--r-- | svgio/source/svgreader/svgstyleattributes.cxx | 16 | ||||
-rw-r--r-- | svgio/source/svgreader/svgsvgnode.cxx | 12 | ||||
-rw-r--r-- | svgio/source/svgreader/svgusenode.cxx | 2 |
7 files changed, 32 insertions, 32 deletions
diff --git a/svgio/source/svgreader/svgclippathnode.cxx b/svgio/source/svgreader/svgclippathnode.cxx index 341ddaf00327..31ac632d33dc 100644 --- a/svgio/source/svgreader/svgclippathnode.cxx +++ b/svgio/source/svgreader/svgclippathnode.cxx @@ -110,7 +110,7 @@ namespace svgio::svgreader const drawinglayer::primitive2d::Primitive2DReference xRef( new drawinglayer::primitive2d::TransformPrimitive2D( *getTransform(), - aNewTarget)); + std::move(aNewTarget))); rTarget.push_back(xRef); } @@ -231,10 +231,10 @@ namespace svgio::svgreader // geometry. Using the automatically set mbIsClipPathContent at // SvgStyleAttributes the clip definition is without fill, stroke, // and strokeWidth and forced to black - const drawinglayer::primitive2d::Primitive2DReference xEmbedTransparence( + drawinglayer::primitive2d::Primitive2DReference xEmbedTransparence( new drawinglayer::primitive2d::MaskPrimitive2D( aClipPolyPolygon, - rContent)); + std::move(rContent))); rContent = drawinglayer::primitive2d::Primitive2DContainer { xEmbedTransparence }; } diff --git a/svgio/source/svgreader/svgimagenode.cxx b/svgio/source/svgreader/svgimagenode.cxx index 2dba10c6631b..15d48916eae5 100644 --- a/svgio/source/svgreader/svgimagenode.cxx +++ b/svgio/source/svgreader/svgimagenode.cxx @@ -328,7 +328,7 @@ namespace svgio::svgreader const drawinglayer::primitive2d::Primitive2DReference xRef( new drawinglayer::primitive2d::TransformPrimitive2D( aEmbeddingTransform, - aNewTarget)); + std::move(aNewTarget))); aNewTarget = drawinglayer::primitive2d::Primitive2DContainer { xRef }; } @@ -340,7 +340,7 @@ namespace svgio::svgreader new drawinglayer::primitive2d::MaskPrimitive2D( basegfx::B2DPolyPolygon( basegfx::utils::createPolygonFromRect(aTarget)), - aNewTarget)); + std::move(aNewTarget))); aNewTarget = drawinglayer::primitive2d::Primitive2DContainer { xMask }; } diff --git a/svgio/source/svgreader/svgmasknode.cxx b/svgio/source/svgreader/svgmasknode.cxx index d036bed33656..6b2bc2b17430 100644 --- a/svgio/source/svgreader/svgmasknode.cxx +++ b/svgio/source/svgreader/svgmasknode.cxx @@ -174,10 +174,10 @@ namespace svgio::svgreader if(getTransform()) { // create embedding group element with transformation - const drawinglayer::primitive2d::Primitive2DReference xRef( + drawinglayer::primitive2d::Primitive2DReference xRef( new drawinglayer::primitive2d::TransformPrimitive2D( *getTransform(), - aNewTarget)); + std::move(aNewTarget))); aNewTarget = drawinglayer::primitive2d::Primitive2DContainer { xRef }; } @@ -241,12 +241,12 @@ namespace svgio::svgreader if (SvgUnits::objectBoundingBox == maMaskContentUnits) { // mask is object-relative, embed in content transformation - const drawinglayer::primitive2d::Primitive2DReference xTransform( + drawinglayer::primitive2d::Primitive2DReference xTransform( new drawinglayer::primitive2d::TransformPrimitive2D( basegfx::utils::createScaleTranslateB2DHomMatrix( aContentRange.getRange(), aContentRange.getMinimum()), - aMaskTarget)); + std::move(aMaskTarget))); aMaskTarget = drawinglayer::primitive2d::Primitive2DContainer { xTransform }; } @@ -255,10 +255,10 @@ namespace svgio::svgreader // #i124852# if(pTransform) { - const drawinglayer::primitive2d::Primitive2DReference xTransform( + drawinglayer::primitive2d::Primitive2DReference xTransform( new drawinglayer::primitive2d::TransformPrimitive2D( *pTransform, - aMaskTarget)); + std::move(aMaskTarget))); aMaskTarget = drawinglayer::primitive2d::Primitive2DContainer { xTransform }; } @@ -267,9 +267,9 @@ namespace svgio::svgreader // embed content to a ModifiedColorPrimitive2D since the definitions // how content is used as alpha is special for Svg { - const drawinglayer::primitive2d::Primitive2DReference xInverseMask( + drawinglayer::primitive2d::Primitive2DReference xInverseMask( new drawinglayer::primitive2d::ModifiedColorPrimitive2D( - aMaskTarget, + std::move(aMaskTarget), std::make_shared<basegfx::BColorModifier_luminance_to_alpha>())); aMaskTarget = drawinglayer::primitive2d::Primitive2DContainer { xInverseMask }; @@ -278,8 +278,8 @@ namespace svgio::svgreader // prepare new content drawinglayer::primitive2d::Primitive2DReference xNewContent( new drawinglayer::primitive2d::TransparencePrimitive2D( - rTarget, - aMaskTarget)); + std::move(rTarget), + std::move(aMaskTarget))); // output up to now is defined by aContentRange and mask is oriented // relative to it. It is possible that aOffscreenBufferRange defines diff --git a/svgio/source/svgreader/svgnode.cxx b/svgio/source/svgreader/svgnode.cxx index e940acbe6a07..c01539ba389a 100644 --- a/svgio/source/svgreader/svgnode.cxx +++ b/svgio/source/svgreader/svgnode.cxx @@ -569,9 +569,9 @@ namespace svgio::svgreader } // pack in ObjectInfoPrimitive2D group - const drawinglayer::primitive2d::Primitive2DReference xRef( + drawinglayer::primitive2d::Primitive2DReference xRef( new drawinglayer::primitive2d::ObjectInfoPrimitive2D( - rTarget, + std::move(rTarget), aObjectName, rTitle, rDesc)); diff --git a/svgio/source/svgreader/svgstyleattributes.cxx b/svgio/source/svgreader/svgstyleattributes.cxx index df7efce88a85..4d2b155f3ff8 100644 --- a/svgio/source/svgreader/svgstyleattributes.cxx +++ b/svgio/source/svgreader/svgstyleattributes.cxx @@ -492,7 +492,7 @@ namespace svgio::svgreader rTarget.push_back( new drawinglayer::primitive2d::TransformPrimitive2D( *rFillPattern.getPatternTransform(), - aNewTarget)); + std::move(aNewTarget))); } } else @@ -579,7 +579,7 @@ namespace svgio::svgreader const drawinglayer::primitive2d::Primitive2DReference xRef( new drawinglayer::primitive2d::TransformPrimitive2D( aMapPrimitivesToUnitRange, - aPrimitives)); + std::move(aPrimitives))); aPrimitives = drawinglayer::primitive2d::Primitive2DContainer { xRef }; } @@ -638,7 +638,7 @@ namespace svgio::svgreader // embed in UnifiedTransparencePrimitive2D rTarget.push_back( new drawinglayer::primitive2d::UnifiedTransparencePrimitive2D( - aNewFill, + std::move(aNewFill), 1.0 - fFillOpacity)); } else @@ -794,7 +794,7 @@ namespace svgio::svgreader // embed in UnifiedTransparencePrimitive2D rTarget.push_back( new drawinglayer::primitive2d::UnifiedTransparencePrimitive2D( - aNewStroke, + std::move(aNewStroke), 1.0 - fStrokeOpacity)); } else @@ -1057,7 +1057,7 @@ namespace svgio::svgreader drawinglayer::primitive2d::Primitive2DReference xMarker( new drawinglayer::primitive2d::TransformPrimitive2D( aCombinedTransform, - aPreparedMarkerPrimitives)); + drawinglayer::primitive2d::Primitive2DContainer(aPreparedMarkerPrimitives))); if(!aPreparedMarkerClipRange.isEmpty()) { @@ -1168,7 +1168,7 @@ namespace svgio::svgreader // embed in UnifiedTransparencePrimitive2D const drawinglayer::primitive2d::Primitive2DReference xRef( new drawinglayer::primitive2d::UnifiedTransparencePrimitive2D( - aSource, + std::move(aSource), 1.0 - fOpacity)); aSource = drawinglayer::primitive2d::Primitive2DContainer { xRef }; @@ -1181,7 +1181,7 @@ namespace svgio::svgreader const drawinglayer::primitive2d::Primitive2DReference xRef( new drawinglayer::primitive2d::TransformPrimitive2D( *pTransform, - aSource)); + std::move(aSource))); aSource = drawinglayer::primitive2d::Primitive2DContainer { xRef }; } @@ -1231,7 +1231,7 @@ namespace svgio::svgreader // Slide/Page information const drawinglayer::primitive2d::Primitive2DReference xRef( new drawinglayer::primitive2d::PageHierarchyPrimitive2D( - aSource)); + std::move(aSource))); aSource = drawinglayer::primitive2d::Primitive2DContainer { xRef }; } diff --git a/svgio/source/svgreader/svgsvgnode.cxx b/svgio/source/svgreader/svgsvgnode.cxx index 71246df49a05..027f9e505ae7 100644 --- a/svgio/source/svgreader/svgsvgnode.cxx +++ b/svgio/source/svgreader/svgsvgnode.cxx @@ -433,7 +433,7 @@ namespace svgio::svgreader const drawinglayer::primitive2d::Primitive2DReference xRef( new drawinglayer::primitive2d::TransformPrimitive2D( aEmbeddingTransform, - aSequence)); + drawinglayer::primitive2d::Primitive2DContainer(aSequence))); if(rRatio.isMeetOrSlice()) { @@ -464,7 +464,7 @@ namespace svgio::svgreader const drawinglayer::primitive2d::Primitive2DReference xRef( new drawinglayer::primitive2d::TransformPrimitive2D( basegfx::utils::createTranslateB2DHomMatrix(fX, fY), - aSequence)); + std::move(aSequence))); aSequence = drawinglayer::primitive2d::Primitive2DContainer { xRef, }; } @@ -475,7 +475,7 @@ namespace svgio::svgreader basegfx::B2DPolyPolygon( basegfx::utils::createPolygonFromRect( basegfx::B2DRange(fX, fY, fX + fW, fY + fH))), - aSequence)); + drawinglayer::primitive2d::Primitive2DContainer(aSequence))); // append rTarget.push_back(xMask); @@ -567,7 +567,7 @@ namespace svgio::svgreader const drawinglayer::primitive2d::Primitive2DReference xTransform( new drawinglayer::primitive2d::TransformPrimitive2D( aViewBoxMapping, - aSequence)); + std::move(aSequence))); aSequence = drawinglayer::primitive2d::Primitive2DContainer { xTransform }; } @@ -645,7 +645,7 @@ namespace svgio::svgreader basegfx::B2DPolyPolygon( basegfx::utils::createPolygonFromRect( aSvgCanvasRange)), - aSequence)); + std::move(aSequence))); aSequence = drawinglayer::primitive2d::Primitive2DContainer { xMask }; } @@ -688,7 +688,7 @@ namespace svgio::svgreader const drawinglayer::primitive2d::Primitive2DReference xTransform( new drawinglayer::primitive2d::TransformPrimitive2D( aTransform, - aSequence)); + std::move(aSequence))); aSequence = drawinglayer::primitive2d::Primitive2DContainer { xTransform }; } diff --git a/svgio/source/svgreader/svgusenode.cxx b/svgio/source/svgreader/svgusenode.cxx index a5a2d5e8ad57..b3db75df0d4e 100644 --- a/svgio/source/svgreader/svgusenode.cxx +++ b/svgio/source/svgreader/svgusenode.cxx @@ -172,7 +172,7 @@ namespace svgio::svgreader const drawinglayer::primitive2d::Primitive2DReference xRef( new drawinglayer::primitive2d::TransformPrimitive2D( aTransform, - aNewTarget)); + std::move(aNewTarget))); rTarget.push_back(xRef); } |