summaryrefslogtreecommitdiff
path: root/svgio/source
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2021-09-09 13:00:23 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-09-09 15:22:52 +0200
commit8104d771b10a5c8b15eae4b67aa112ae2ef77b5b (patch)
tree095a091a90104689a1d6d53ed7060feb0973c1ea /svgio/source
parentca512f301faf42b7d23675ca251b20e0ad67db1b (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/source')
-rw-r--r--svgio/source/svgreader/svgclippathnode.cxx6
-rw-r--r--svgio/source/svgreader/svgimagenode.cxx4
-rw-r--r--svgio/source/svgreader/svgmasknode.cxx20
-rw-r--r--svgio/source/svgreader/svgnode.cxx4
-rw-r--r--svgio/source/svgreader/svgstyleattributes.cxx16
-rw-r--r--svgio/source/svgreader/svgsvgnode.cxx12
-rw-r--r--svgio/source/svgreader/svgusenode.cxx2
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);
}