summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2021-09-23 15:35:34 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-09-24 11:33:32 +0200
commitc8d2fa176a15a7ae76d6a4b76aea5f108313c2ec (patch)
tree96cee630060986d6d2ab68b1ce2ca09a6a4fe922
parente1600348e49e1538459a0374fd97cd3173d4a4b9 (diff)
reduce copying in drawinglayer
by passing PrimitiveContainer&& around. There are lots of place where we were preparing a local variable of type PrimitiveContainer, and then copying it someplace else, then throwing it away. Change-Id: Iacfd983640c9e55da25800ccc01734dfc8b4d64a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122527 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--drawinglayer/inc/primitive2d/graphicprimitivehelper2d.hxx2
-rw-r--r--drawinglayer/inc/primitive2d/texteffectprimitive2d.hxx2
-rw-r--r--drawinglayer/source/primitive2d/graphicprimitive2d.cxx2
-rw-r--r--drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/patternfillprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/textdecoratedprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/texteffectprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/textprimitive2d.cxx4
-rw-r--r--include/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/patternfillprimitive2d.hxx2
-rw-r--r--include/svx/sdr/animation/animationstate.hxx2
-rw-r--r--include/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx2
-rw-r--r--include/svx/svddrgmt.hxx3
-rw-r--r--sd/source/ui/animations/motionpathtag.cxx2
-rw-r--r--svgio/inc/svgstyleattributes.hxx4
-rw-r--r--svgio/inc/svgtextnode.hxx2
-rw-r--r--svgio/source/svgreader/svganode.cxx2
-rw-r--r--svgio/source/svgreader/svgcirclenode.cxx2
-rw-r--r--svgio/source/svgreader/svgellipsenode.cxx2
-rw-r--r--svgio/source/svgreader/svggnode.cxx2
-rw-r--r--svgio/source/svgreader/svgimagenode.cxx2
-rw-r--r--svgio/source/svgreader/svglinenode.cxx2
-rw-r--r--svgio/source/svgreader/svgpathnode.cxx2
-rw-r--r--svgio/source/svgreader/svgpolynode.cxx2
-rw-r--r--svgio/source/svgreader/svgrectnode.cxx2
-rw-r--r--svgio/source/svgreader/svgstyleattributes.cxx10
-rw-r--r--svgio/source/svgreader/svgtextnode.cxx16
-rw-r--r--svx/inc/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx2
-rw-r--r--svx/inc/sdr/primitive2d/sdrdecompositiontools.hxx4
-rw-r--r--svx/inc/sdr/primitive2d/sdrole2primitive2d.hxx2
-rw-r--r--svx/source/engine3d/view3d.cxx2
-rw-r--r--svx/source/sdr/animation/animationstate.cxx4
-rw-r--r--svx/source/sdr/contact/viewcontactofsdrobjcustomshape.cxx2
-rw-r--r--svx/source/sdr/contact/viewobjectcontact.cxx3
-rw-r--r--svx/source/sdr/contact/viewobjectcontactofpageobj.cxx2
-rw-r--r--svx/source/sdr/overlay/overlayprimitive2dsequenceobject.cxx4
-rw-r--r--svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx2
-rw-r--r--svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx2
-rw-r--r--svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx8
-rw-r--r--svx/source/sdr/primitive2d/sdrdecompositiontools.cxx166
-rw-r--r--svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx4
-rw-r--r--svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx6
-rw-r--r--svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx2
-rw-r--r--svx/source/sdr/primitive2d/sdrole2primitive2d.cxx6
-rw-r--r--svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx2
-rw-r--r--svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx2
-rw-r--r--svx/source/svdraw/svdcrtv.cxx2
-rw-r--r--svx/source/svdraw/svddrgmt.cxx8
-rw-r--r--svx/source/svdraw/svdhdl.cxx2
-rw-r--r--svx/source/table/viewcontactoftableobj.cxx4
-rw-r--r--sw/source/core/layout/paintfrm.cxx10
52 files changed, 169 insertions, 175 deletions
diff --git a/drawinglayer/inc/primitive2d/graphicprimitivehelper2d.hxx b/drawinglayer/inc/primitive2d/graphicprimitivehelper2d.hxx
index 001ff3159305..cecb1d8f1564 100644
--- a/drawinglayer/inc/primitive2d/graphicprimitivehelper2d.hxx
+++ b/drawinglayer/inc/primitive2d/graphicprimitivehelper2d.hxx
@@ -44,7 +44,7 @@ namespace drawinglayer::primitive2d
applied.
*/
Primitive2DContainer create2DColorModifierEmbeddingsAsNeeded(
- const Primitive2DContainer& rChildren,
+ Primitive2DContainer&& rChildren,
GraphicDrawMode aGraphicDrawMode,
double fLuminance = 0.0, // [-1.0 .. 1.0]
double fContrast = 0.0, // [-1.0 .. 1.0]
diff --git a/drawinglayer/inc/primitive2d/texteffectprimitive2d.hxx b/drawinglayer/inc/primitive2d/texteffectprimitive2d.hxx
index ce62b3110199..c586c6f23509 100644
--- a/drawinglayer/inc/primitive2d/texteffectprimitive2d.hxx
+++ b/drawinglayer/inc/primitive2d/texteffectprimitive2d.hxx
@@ -63,7 +63,7 @@ private:
public:
/// constructor
- TextEffectPrimitive2D(const Primitive2DContainer& rTextContent,
+ TextEffectPrimitive2D(Primitive2DContainer&& rTextContent,
const basegfx::B2DPoint& rRotationCenter, double fDirection,
TextEffectStyle2D eTextEffectStyle2D);
diff --git a/drawinglayer/source/primitive2d/graphicprimitive2d.cxx b/drawinglayer/source/primitive2d/graphicprimitive2d.cxx
index ac1ba3d5657e..0d57512f2f86 100644
--- a/drawinglayer/source/primitive2d/graphicprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/graphicprimitive2d.cxx
@@ -114,7 +114,7 @@ void GraphicPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer,
// embed to needed ModifiedColorPrimitive2D's if necessary. Do this for
// adjustments and draw mode specials
aRetval = create2DColorModifierEmbeddingsAsNeeded(
- aRetval, aSuppressGraphicAttr.GetDrawMode(),
+ std::move(aRetval), aSuppressGraphicAttr.GetDrawMode(),
std::clamp(aSuppressGraphicAttr.GetLuminance() * 0.01, -1.0, 1.0),
std::clamp(aSuppressGraphicAttr.GetContrast() * 0.01, -1.0, 1.0),
std::clamp(aSuppressGraphicAttr.GetChannelR() * 0.01, -1.0, 1.0),
diff --git a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
index 37539685a8cd..c91dd683106b 100644
--- a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
+++ b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
@@ -576,7 +576,7 @@ namespace drawinglayer::primitive2d
}
Primitive2DContainer create2DColorModifierEmbeddingsAsNeeded(
- const Primitive2DContainer& rChildren,
+ Primitive2DContainer&& rChildren,
GraphicDrawMode aGraphicDrawMode,
double fLuminance,
double fContrast,
@@ -596,7 +596,7 @@ namespace drawinglayer::primitive2d
// set child content as retval; that is what will be used as child content in all
// embeddings from here
- aRetval = rChildren;
+ aRetval = std::move(rChildren);
if(GraphicDrawMode::Watermark == aGraphicDrawMode)
{
diff --git a/drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx b/drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx
index 83468b36d46e..7aa1a440555e 100644
--- a/drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx
@@ -105,9 +105,9 @@ namespace drawinglayer::primitive2d
const basegfx::B2DHomMatrix& rTransform,
double fContentWidth,
double fContentHeight,
- const Primitive2DContainer& rPageContent)
+ Primitive2DContainer&& rPageContent)
: mxDrawPage(rxDrawPage),
- maPageContent(rPageContent),
+ maPageContent(std::move(rPageContent)),
maTransform(rTransform),
mfContentWidth(fContentWidth),
mfContentHeight(fContentHeight)
diff --git a/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx b/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
index 8add9d587c6d..fc0538564896 100644
--- a/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
@@ -262,10 +262,10 @@ namespace drawinglayer::primitive2d
PatternFillPrimitive2D::PatternFillPrimitive2D(
const basegfx::B2DPolyPolygon& rMask,
- const Primitive2DContainer& rChildren,
+ Primitive2DContainer&& rChildren,
const basegfx::B2DRange& rReferenceRange)
: maMask(rMask),
- maChildren(rChildren),
+ maChildren(std::move(rChildren)),
maReferenceRange(rReferenceRange),
mnDiscreteWidth(0),
mnDiscreteHeight(0)
diff --git a/drawinglayer/source/primitive2d/textdecoratedprimitive2d.cxx b/drawinglayer/source/primitive2d/textdecoratedprimitive2d.cxx
index 05417f55c505..7c11edfc14dc 100644
--- a/drawinglayer/source/primitive2d/textdecoratedprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/textdecoratedprimitive2d.cxx
@@ -271,7 +271,7 @@ namespace drawinglayer::primitive2d
}
Primitive2DReference aNewTextEffect(new TextEffectPrimitive2D(
- aRetval,
+ std::move(aRetval),
aDecTrans.getTranslate(),
aDecTrans.getRotate(),
aTextEffectStyle2D));
@@ -282,7 +282,7 @@ namespace drawinglayer::primitive2d
// create outline using an own helper primitive since this will
// be view-dependent
Primitive2DReference aNewTextEffect(new TextEffectPrimitive2D(
- aRetval,
+ std::move(aRetval),
aDecTrans.getTranslate(),
aDecTrans.getRotate(),
TextEffectStyle2D::Outline));
diff --git a/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx b/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx
index 5d6425fc77e5..2a3f9e849eca 100644
--- a/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx
@@ -168,11 +168,11 @@ void TextEffectPrimitive2D::create2DDecomposition(
}
}
-TextEffectPrimitive2D::TextEffectPrimitive2D(const Primitive2DContainer& rTextContent,
+TextEffectPrimitive2D::TextEffectPrimitive2D(Primitive2DContainer&& rTextContent,
const basegfx::B2DPoint& rRotationCenter,
double fDirection,
TextEffectStyle2D eTextEffectStyle2D)
- : maTextContent(rTextContent)
+ : maTextContent(std::move(rTextContent))
, maRotationCenter(rRotationCenter)
, mfDirection(fDirection)
, meTextEffectStyle2D(eTextEffectStyle2D)
diff --git a/drawinglayer/source/primitive2d/textprimitive2d.cxx b/drawinglayer/source/primitive2d/textprimitive2d.cxx
index 67deaed3649f..15b0868ee3fb 100644
--- a/drawinglayer/source/primitive2d/textprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/textprimitive2d.cxx
@@ -189,8 +189,8 @@ void TextSimplePortionPrimitive2D::create2DDecomposition(
aPolygonTransform.decompose(aScale, aTranslate, fRotate, fShearX);
// create outline text effect with current content and replace
- Primitive2DReference aNewTextEffect(
- new TextEffectPrimitive2D(aRetval, aTranslate, fRotate, TextEffectStyle2D::Outline));
+ Primitive2DReference aNewTextEffect(new TextEffectPrimitive2D(
+ std::move(aRetval), aTranslate, fRotate, TextEffectStyle2D::Outline));
aRetval = Primitive2DContainer{ aNewTextEffect };
}
diff --git a/include/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx b/include/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx
index e54c883b0945..6ee1475575c0 100644
--- a/include/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx
@@ -66,7 +66,7 @@ namespace drawinglayer::primitive2d
const basegfx::B2DHomMatrix& rTransform,
double fContentWidth,
double fContentHeight,
- const Primitive2DContainer& rPageContent);
+ Primitive2DContainer&& rPageContent);
/// data read access
const css::uno::Reference< css::drawing::XDrawPage >& getXDrawPage() const { return mxDrawPage; }
diff --git a/include/drawinglayer/primitive2d/patternfillprimitive2d.hxx b/include/drawinglayer/primitive2d/patternfillprimitive2d.hxx
index f9c183f41ad6..63a3e6d8d274 100644
--- a/include/drawinglayer/primitive2d/patternfillprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/patternfillprimitive2d.hxx
@@ -64,7 +64,7 @@ namespace drawinglayer::primitive2d
/// constructor
PatternFillPrimitive2D(
const basegfx::B2DPolyPolygon& rMask,
- const Primitive2DContainer& rChildren,
+ Primitive2DContainer&& rChildren,
const basegfx::B2DRange& rReferenceRange);
/// data read access
diff --git a/include/svx/sdr/animation/animationstate.hxx b/include/svx/sdr/animation/animationstate.hxx
index 078cc6342801..92878897e072 100644
--- a/include/svx/sdr/animation/animationstate.hxx
+++ b/include/svx/sdr/animation/animationstate.hxx
@@ -42,7 +42,7 @@ namespace sdr::animation
public:
// basic constructor.
- PrimitiveAnimation(sdr::contact::ViewObjectContact& rVOContact, const drawinglayer::primitive2d::Primitive2DContainer& rAnimatedPrimitives);
+ PrimitiveAnimation(sdr::contact::ViewObjectContact& rVOContact, drawinglayer::primitive2d::Primitive2DContainer&& rAnimatedPrimitives);
// destructor
virtual ~PrimitiveAnimation() override;
diff --git a/include/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx b/include/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx
index fd5a87ac6404..06e7428de191 100644
--- a/include/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx
+++ b/include/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx
@@ -35,7 +35,7 @@ namespace sdr::overlay
virtual drawinglayer::primitive2d::Primitive2DContainer createOverlayObjectPrimitive2DSequence() override;
public:
- explicit OverlayPrimitive2DSequenceObject(const drawinglayer::primitive2d::Primitive2DContainer& rSequence);
+ explicit OverlayPrimitive2DSequenceObject(drawinglayer::primitive2d::Primitive2DContainer&& rSequence);
virtual ~OverlayPrimitive2DSequenceObject() override;
};
diff --git a/include/svx/svddrgmt.hxx b/include/svx/svddrgmt.hxx
index 626467f18465..dec7c1b8c42e 100644
--- a/include/svx/svddrgmt.hxx
+++ b/include/svx/svddrgmt.hxx
@@ -90,8 +90,7 @@ private:
drawinglayer::primitive2d::Primitive2DContainer maPrimitive2DSequence;
public:
- SdrDragEntryPrimitive2DSequence(
- const drawinglayer::primitive2d::Primitive2DContainer& rSequence);
+ SdrDragEntryPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DContainer&& rSequence);
virtual ~SdrDragEntryPrimitive2DSequence() override;
virtual drawinglayer::primitive2d::Primitive2DContainer createPrimitive2DSequenceInCurrentState(SdrDragMethod& rDragMethod) override;
diff --git a/sd/source/ui/animations/motionpathtag.cxx b/sd/source/ui/animations/motionpathtag.cxx
index 360c709ac7ad..72bf2d1620b4 100644
--- a/sd/source/ui/animations/motionpathtag.cxx
+++ b/sd/source/ui/animations/motionpathtag.cxx
@@ -301,7 +301,7 @@ void SdPathHdl::CreateB2dIAObject()
{
const sdr::contact::ViewContact& rVC = mpPathObj->GetViewContact();
const drawinglayer::primitive2d::Primitive2DContainer& aSequence = rVC.getViewIndependentPrimitive2DContainer();
- std::unique_ptr<sdr::overlay::OverlayObject> pNew(new sdr::overlay::OverlayPrimitive2DSequenceObject(aSequence));
+ std::unique_ptr<sdr::overlay::OverlayObject> pNew(new sdr::overlay::OverlayPrimitive2DSequenceObject(drawinglayer::primitive2d::Primitive2DContainer(aSequence)));
// OVERLAYMANAGER
insertNewlyCreatedOverlayObjectForSdrHdl(
diff --git a/svgio/inc/svgstyleattributes.hxx b/svgio/inc/svgstyleattributes.hxx
index 05f3ef085fd3..3fbb7a2ff324 100644
--- a/svgio/inc/svgstyleattributes.hxx
+++ b/svgio/inc/svgstyleattributes.hxx
@@ -282,14 +282,14 @@ namespace svgio::svgreader
/// helper which does the necessary with a given path
void add_text(
drawinglayer::primitive2d::Primitive2DContainer& rTarget,
- drawinglayer::primitive2d::Primitive2DContainer const & rSource) const;
+ drawinglayer::primitive2d::Primitive2DContainer&& rSource) const;
void add_path(
const basegfx::B2DPolyPolygon& rPath,
drawinglayer::primitive2d::Primitive2DContainer& rTarget,
const basegfx::utils::PointIndexSet* pHelpPointIndices) const;
void add_postProcess(
drawinglayer::primitive2d::Primitive2DContainer& rTarget,
- const drawinglayer::primitive2d::Primitive2DContainer& rSource,
+ drawinglayer::primitive2d::Primitive2DContainer&& rSource,
const std::optional<basegfx::B2DHomMatrix>& pTransform) const;
/// helper to set mpCssStyleParent temporarily for CSS style hierarchies
diff --git a/svgio/inc/svgtextnode.hxx b/svgio/inc/svgtextnode.hxx
index 9ff73d66d104..b72d1043b8c0 100644
--- a/svgio/inc/svgtextnode.hxx
+++ b/svgio/inc/svgtextnode.hxx
@@ -46,7 +46,7 @@ namespace svgio::svgreader
static void addTextPrimitives(
const SvgNode& rCandidate,
drawinglayer::primitive2d::Primitive2DContainer& rTarget,
- drawinglayer::primitive2d::Primitive2DContainer const & rSource);
+ drawinglayer::primitive2d::Primitive2DContainer&& rSource);
public:
SvgTextNode(
diff --git a/svgio/source/svgreader/svganode.cxx b/svgio/source/svgreader/svganode.cxx
index 358282d143e9..aa473eb9187f 100644
--- a/svgio/source/svgreader/svganode.cxx
+++ b/svgio/source/svgreader/svganode.cxx
@@ -93,7 +93,7 @@ namespace svgio::svgreader
if(!aContent.empty())
{
- pStyle->add_postProcess(rTarget, aContent, getTransform());
+ pStyle->add_postProcess(rTarget, std::move(aContent), getTransform());
}
}
}
diff --git a/svgio/source/svgreader/svgcirclenode.cxx b/svgio/source/svgreader/svgcirclenode.cxx
index 8577ba2726f6..a9f8fa75941e 100644
--- a/svgio/source/svgreader/svgcirclenode.cxx
+++ b/svgio/source/svgreader/svgcirclenode.cxx
@@ -135,7 +135,7 @@ namespace svgio::svgreader
if(!aNewTarget.empty())
{
- pStyle->add_postProcess(rTarget, aNewTarget, getTransform());
+ pStyle->add_postProcess(rTarget, std::move(aNewTarget), getTransform());
}
}
} // end of namespace svgio::svgreader
diff --git a/svgio/source/svgreader/svgellipsenode.cxx b/svgio/source/svgreader/svgellipsenode.cxx
index b1646b30d929..2317648ef808 100644
--- a/svgio/source/svgreader/svgellipsenode.cxx
+++ b/svgio/source/svgreader/svgellipsenode.cxx
@@ -150,7 +150,7 @@ namespace svgio::svgreader
if(!aNewTarget.empty())
{
- pStyle->add_postProcess(rTarget, aNewTarget, getTransform());
+ pStyle->add_postProcess(rTarget, std::move(aNewTarget), getTransform());
}
}
} // end of namespace svgio::svgreader
diff --git a/svgio/source/svgreader/svggnode.cxx b/svgio/source/svgreader/svggnode.cxx
index 8e2c1a2486da..02341d459147 100644
--- a/svgio/source/svgreader/svggnode.cxx
+++ b/svgio/source/svgreader/svggnode.cxx
@@ -108,7 +108,7 @@ namespace svgio::svgreader
if(!aContent.empty())
{
- pStyle->add_postProcess(rTarget, aContent, getTransform());
+ pStyle->add_postProcess(rTarget, std::move(aContent), getTransform());
}
}
}
diff --git a/svgio/source/svgreader/svgimagenode.cxx b/svgio/source/svgreader/svgimagenode.cxx
index 15d48916eae5..2390f74dac03 100644
--- a/svgio/source/svgreader/svgimagenode.cxx
+++ b/svgio/source/svgreader/svgimagenode.cxx
@@ -346,7 +346,7 @@ namespace svgio::svgreader
}
// embed and add to rTarget, take local extra-transform into account
- pStyle->add_postProcess(rTarget, aNewTarget, getTransform());
+ pStyle->add_postProcess(rTarget, std::move(aNewTarget), getTransform());
}
}
diff --git a/svgio/source/svgreader/svglinenode.cxx b/svgio/source/svgreader/svglinenode.cxx
index 4259c4b1ca95..d593155fa38c 100644
--- a/svgio/source/svgreader/svglinenode.cxx
+++ b/svgio/source/svgreader/svglinenode.cxx
@@ -145,7 +145,7 @@ namespace svgio::svgreader
if(!aNewTarget.empty())
{
- pStyle->add_postProcess(rTarget, aNewTarget, getTransform());
+ pStyle->add_postProcess(rTarget, std::move(aNewTarget), getTransform());
}
}
} // end of namespace svgio::svgreader
diff --git a/svgio/source/svgreader/svgpathnode.cxx b/svgio/source/svgreader/svgpathnode.cxx
index f3637bcf410f..1a5f931dea64 100644
--- a/svgio/source/svgreader/svgpathnode.cxx
+++ b/svgio/source/svgreader/svgpathnode.cxx
@@ -108,7 +108,7 @@ namespace svgio::svgreader
if(!aNewTarget.empty())
{
- pStyle->add_postProcess(rTarget, aNewTarget, getTransform());
+ pStyle->add_postProcess(rTarget, std::move(aNewTarget), getTransform());
}
}
}
diff --git a/svgio/source/svgreader/svgpolynode.cxx b/svgio/source/svgreader/svgpolynode.cxx
index 0956dcd2dad5..64d1949d7d63 100644
--- a/svgio/source/svgreader/svgpolynode.cxx
+++ b/svgio/source/svgreader/svgpolynode.cxx
@@ -106,7 +106,7 @@ namespace svgio::svgreader
if(!aNewTarget.empty())
{
- pStyle->add_postProcess(rTarget, aNewTarget, getTransform());
+ pStyle->add_postProcess(rTarget, std::move(aNewTarget), getTransform());
}
}
}
diff --git a/svgio/source/svgreader/svgrectnode.cxx b/svgio/source/svgreader/svgrectnode.cxx
index 27c1042edcfc..2bb1f166f595 100644
--- a/svgio/source/svgreader/svgrectnode.cxx
+++ b/svgio/source/svgreader/svgrectnode.cxx
@@ -207,7 +207,7 @@ namespace svgio::svgreader
if(!aNewTarget.empty())
{
- pStyle->add_postProcess(rTarget, aNewTarget, getTransform());
+ pStyle->add_postProcess(rTarget, std::move(aNewTarget), getTransform());
}
}
} // end of namespace svgio::svgreader
diff --git a/svgio/source/svgreader/svgstyleattributes.cxx b/svgio/source/svgreader/svgstyleattributes.cxx
index 4d2b155f3ff8..3ad148c4624c 100644
--- a/svgio/source/svgreader/svgstyleattributes.cxx
+++ b/svgio/source/svgreader/svgstyleattributes.cxx
@@ -258,7 +258,7 @@ namespace svgio::svgreader
void SvgStyleAttributes::add_text(
drawinglayer::primitive2d::Primitive2DContainer& rTarget,
- drawinglayer::primitive2d::Primitive2DContainer const & rSource) const
+ drawinglayer::primitive2d::Primitive2DContainer&& rSource) const
{
if(rSource.empty())
return;
@@ -321,7 +321,7 @@ namespace svgio::svgreader
else if(pFill)
{
// add the already prepared primitives for single color fill
- rTarget.append(rSource);
+ rTarget.append(std::move(rSource));
}
// add stroke
@@ -588,7 +588,7 @@ namespace svgio::svgreader
rTarget.push_back(
new drawinglayer::primitive2d::PatternFillPrimitive2D(
rPath,
- aPrimitives,
+ std::move(aPrimitives),
aReferenceRange));
}
@@ -1148,7 +1148,7 @@ namespace svgio::svgreader
void SvgStyleAttributes::add_postProcess(
drawinglayer::primitive2d::Primitive2DContainer& rTarget,
- const drawinglayer::primitive2d::Primitive2DContainer& rSource,
+ drawinglayer::primitive2d::Primitive2DContainer&& rSource,
const std::optional<basegfx::B2DHomMatrix>& pTransform) const
{
if(rSource.empty())
@@ -1161,7 +1161,7 @@ namespace svgio::svgreader
return;
}
- drawinglayer::primitive2d::Primitive2DContainer aSource(rSource);
+ drawinglayer::primitive2d::Primitive2DContainer aSource(std::move(rSource));
if(basegfx::fTools::less(fOpacity, 1.0))
{
diff --git a/svgio/source/svgreader/svgtextnode.cxx b/svgio/source/svgreader/svgtextnode.cxx
index bda316cae4a4..25ad066e9bbc 100644
--- a/svgio/source/svgreader/svgtextnode.cxx
+++ b/svgio/source/svgreader/svgtextnode.cxx
@@ -83,7 +83,7 @@ namespace svgio::svgreader
void SvgTextNode::addTextPrimitives(
const SvgNode& rCandidate,
drawinglayer::primitive2d::Primitive2DContainer& rTarget,
- drawinglayer::primitive2d::Primitive2DContainer const & rSource)
+ drawinglayer::primitive2d::Primitive2DContainer&& rSource)
{
if(rSource.empty())
return;
@@ -93,13 +93,13 @@ namespace svgio::svgreader
if(pAttributes)
{
// add text with taking all Fill/Stroke attributes into account
- pAttributes->add_text(rTarget, rSource);
+ pAttributes->add_text(rTarget, std::move(rSource));
}
else
{
// should not happen, every subnode from SvgTextNode will at least
// return the attributes from SvgTextNode. Nonetheless, add text
- rTarget.append(rSource);
+ rTarget.append(std::move(rSource));
}
}
@@ -144,7 +144,7 @@ namespace svgio::svgreader
if(!aNewTarget.empty())
{
- addTextPrimitives(rCandidate, rTarget, aNewTarget);
+ addTextPrimitives(rCandidate, rTarget, std::move(aNewTarget));
}
}
@@ -171,7 +171,7 @@ namespace svgio::svgreader
if(!aNewTarget.empty())
{
- addTextPrimitives(rCandidate, rTarget, aNewTarget);
+ addTextPrimitives(rCandidate, rTarget, std::move(aNewTarget));
}
}
break;
@@ -200,7 +200,7 @@ namespace svgio::svgreader
if(!aNewTarget.empty())
{
- addTextPrimitives(rCandidate, rTarget, aNewTarget);
+ addTextPrimitives(rCandidate, rTarget, std::move(aNewTarget));
}
}
}
@@ -245,13 +245,13 @@ namespace svgio::svgreader
{
drawinglayer::primitive2d::Primitive2DContainer aNewTarget2;
- addTextPrimitives(*this, aNewTarget2, aNewTarget);
+ addTextPrimitives(*this, aNewTarget2, std::move(aNewTarget));
aNewTarget = aNewTarget2;
}
if(!aNewTarget.empty())
{
- pStyle->add_postProcess(rTarget, aNewTarget, getTransform());
+ pStyle->add_postProcess(rTarget, std::move(aNewTarget), getTransform());
}
}
diff --git a/svx/inc/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx b/svx/inc/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx
index e84ef0a4d3e8..f5ed1f6b2276 100644
--- a/svx/inc/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx
@@ -53,7 +53,7 @@ namespace drawinglayer::primitive2d
public:
SdrCustomShapePrimitive2D(
const attribute::SdrEffectsTextAttribute& rSdrSTAttribute,
- const Primitive2DContainer& rSubPrimitives,
+ Primitive2DContainer&& rSubPrimitives,
const basegfx::B2DHomMatrix& rTextBox,
bool bWordWrap,
bool b3DShape,
diff --git a/svx/inc/sdr/primitive2d/sdrdecompositiontools.hxx b/svx/inc/sdr/primitive2d/sdrdecompositiontools.hxx
index 01888e60d141..ac65e0eda30f 100644
--- a/svx/inc/sdr/primitive2d/sdrdecompositiontools.hxx
+++ b/svx/inc/sdr/primitive2d/sdrdecompositiontools.hxx
@@ -69,13 +69,13 @@ namespace drawinglayer::primitive2d
bool bWordWrap);
Primitive2DContainer SVXCORE_DLLPUBLIC createEmbeddedShadowPrimitive(
- const Primitive2DContainer& rContent,
+ Primitive2DContainer&& rContent,
const attribute::SdrShadowAttribute& rShadow,
const basegfx::B2DHomMatrix& rObjectMatrix = basegfx::B2DHomMatrix(),
const Primitive2DContainer* pContentForShadow = nullptr);
Primitive2DContainer SVXCORE_DLLPUBLIC createEmbeddedGlowPrimitive(
- const Primitive2DContainer& rContent,
+ Primitive2DContainer&& rContent,
const attribute::SdrGlowAttribute& rGlow);
Primitive2DContainer SVXCORE_DLLPUBLIC createEmbeddedSoftEdgePrimitive(
diff --git a/svx/inc/sdr/primitive2d/sdrole2primitive2d.hxx b/svx/inc/sdr/primitive2d/sdrole2primitive2d.hxx
index 2618f75b03b2..615eb3299def 100644
--- a/svx/inc/sdr/primitive2d/sdrole2primitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrole2primitive2d.hxx
@@ -39,7 +39,7 @@ namespace drawinglayer::primitive2d
public:
SdrOle2Primitive2D(
- const Primitive2DContainer& rOLEContent,
+ Primitive2DContainer&& rOLEContent,
const basegfx::B2DHomMatrix& rTransform,
const attribute::SdrLineFillEffectsTextAttribute& rSdrLFSTAttribute);
diff --git a/svx/source/engine3d/view3d.cxx b/svx/source/engine3d/view3d.cxx
index 33f1162cb3f9..920dc42645d8 100644
--- a/svx/source/engine3d/view3d.cxx
+++ b/svx/source/engine3d/view3d.cxx
@@ -175,7 +175,7 @@ void Impl3DMirrorConstructOverlay::SetMirrorAxis(Point aMirrorAxisA, Point aMirr
drawinglayer::primitive2d::Primitive2DReference aUnifiedTransparencePrimitive2D(new drawinglayer::primitive2d::UnifiedTransparencePrimitive2D(std::move(aContent), 0.5));
aContent = drawinglayer::primitive2d::Primitive2DContainer { aUnifiedTransparencePrimitive2D };
- std::unique_ptr<sdr::overlay::OverlayPrimitive2DSequenceObject> pNew(new sdr::overlay::OverlayPrimitive2DSequenceObject(aContent));
+ std::unique_ptr<sdr::overlay::OverlayPrimitive2DSequenceObject> pNew(new sdr::overlay::OverlayPrimitive2DSequenceObject(std::move(aContent)));
xTargetOverlay->add(*pNew);
maObjects.append(std::move(pNew));
diff --git a/svx/source/sdr/animation/animationstate.cxx b/svx/source/sdr/animation/animationstate.cxx
index 38c24711c849..074f2082e460 100644
--- a/svx/source/sdr/animation/animationstate.cxx
+++ b/svx/source/sdr/animation/animationstate.cxx
@@ -99,9 +99,9 @@ namespace sdr::animation
mrVOContact.GetObjectContact().getPrimitiveAnimator().InsertEvent(*this);
}
- PrimitiveAnimation::PrimitiveAnimation(sdr::contact::ViewObjectContact& rVOContact, const drawinglayer::primitive2d::Primitive2DContainer& rAnimatedPrimitives)
+ PrimitiveAnimation::PrimitiveAnimation(sdr::contact::ViewObjectContact& rVOContact, drawinglayer::primitive2d::Primitive2DContainer&& rAnimatedPrimitives)
: mrVOContact(rVOContact),
- maAnimatedPrimitives(rAnimatedPrimitives)
+ maAnimatedPrimitives(std::move(rAnimatedPrimitives))
{
if (!comphelper::LibreOfficeKit::isActive())
// setup initially
diff --git a/svx/source/sdr/contact/viewcontactofsdrobjcustomshape.cxx b/svx/source/sdr/contact/viewcontactofsdrobjcustomshape.cxx
index f676bd89b739..a28e06f589e3 100644
--- a/svx/source/sdr/contact/viewcontactofsdrobjcustomshape.cxx
+++ b/svx/source/sdr/contact/viewcontactofsdrobjcustomshape.cxx
@@ -227,7 +227,7 @@ namespace sdr::contact
const drawinglayer::primitive2d::Primitive2DReference xReference(
new drawinglayer::primitive2d::SdrCustomShapePrimitive2D(
aAttribute,
- xGroup,
+ std::move(xGroup),
aTextBoxMatrix,
bWordWrap,
b3DShape,
diff --git a/svx/source/sdr/contact/viewobjectcontact.cxx b/svx/source/sdr/contact/viewobjectcontact.cxx
index 00674a200bf1..22eb52a99af4 100644
--- a/svx/source/sdr/contact/viewobjectcontact.cxx
+++ b/svx/source/sdr/contact/viewobjectcontact.cxx
@@ -67,6 +67,7 @@ public:
// data access
const drawinglayer::primitive2d::Primitive2DContainer& getPrimitive2DSequence() const { return maPrimitive2DSequence; }
+ drawinglayer::primitive2d::Primitive2DContainer extractPrimitive2DSequence() const { return std::move(maPrimitive2DSequence); }
};
AnimatedExtractingProcessor2D::AnimatedExtractingProcessor2D(
@@ -283,7 +284,7 @@ void ViewObjectContact::checkForPrimitive2DAnimations()
if(!aAnimatedExtractor.getPrimitive2DSequence().empty())
{
// derived primitiveList is animated, setup new PrimitiveAnimation
- mpPrimitiveAnimation.reset( new sdr::animation::PrimitiveAnimation(*this, aAnimatedExtractor.getPrimitive2DSequence()) );
+ mpPrimitiveAnimation.reset( new sdr::animation::PrimitiveAnimation(*this, aAnimatedExtractor.extractPrimitive2DSequence()) );
}
}
}
diff --git a/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx b/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx
index 023d46bfba80..07b133b123af 100644
--- a/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx
+++ b/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx
@@ -262,7 +262,7 @@ drawinglayer::primitive2d::Primitive2DContainer ViewObjectContactOfPageObj::crea
{
const uno::Reference< drawing::XDrawPage > xDrawPage(GetXDrawPageForSdrPage(const_cast< SdrPage*>(pPage)));
const drawinglayer::primitive2d::Primitive2DReference xPagePreview(new drawinglayer::primitive2d::PagePreviewPrimitive2D(
- xDrawPage, aPageObjectTransform, fPageWidth, fPageHeight, xPageContent));
+ xDrawPage, aPageObjectTransform, fPageWidth, fPageHeight, std::move(xPageContent)));
xRetval = drawinglayer::primitive2d::Primitive2DContainer { xPagePreview };
}
}
diff --git a/svx/source/sdr/overlay/overlayprimitive2dsequenceobject.cxx b/svx/source/sdr/overlay/overlayprimitive2dsequenceobject.cxx
index 9b589ed04fba..eabd290f821a 100644
--- a/svx/source/sdr/overlay/overlayprimitive2dsequenceobject.cxx
+++ b/svx/source/sdr/overlay/overlayprimitive2dsequenceobject.cxx
@@ -28,9 +28,9 @@ namespace sdr::overlay
return maSequence;
}
- OverlayPrimitive2DSequenceObject::OverlayPrimitive2DSequenceObject(const drawinglayer::primitive2d::Primitive2DContainer& rSequence)
+ OverlayPrimitive2DSequenceObject::OverlayPrimitive2DSequenceObject(drawinglayer::primitive2d::Primitive2DContainer&& rSequence)
: OverlayObjectWithBasePosition(basegfx::B2DPoint(), COL_BLACK),
- maSequence(rSequence)
+ maSequence(std::move(rSequence))
{
}
diff --git a/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx
index 69e7225f1fb0..507f9ae0f4e3 100644
--- a/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx
@@ -114,7 +114,7 @@ namespace drawinglayer::primitive2d
// add shadow
if(!getSdrLFSTAttribute().getShadow().isDefault())
{
- aRetval = createEmbeddedShadowPrimitive(aRetval, getSdrLFSTAttribute().getShadow());
+ aRetval = createEmbeddedShadowPrimitive(std::move(aRetval), getSdrLFSTAttribute().getShadow());
}
rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
diff --git a/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx
index 60eaa006714a..21d48e9b1eab 100644
--- a/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx
@@ -68,7 +68,7 @@ namespace drawinglayer::primitive2d
if(!getSdrLSTAttribute().getShadow().isDefault())
{
aRetval = createEmbeddedShadowPrimitive(
- aRetval,
+ std::move(aRetval),
getSdrLSTAttribute().getShadow());
}
diff --git a/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
index 50a2061ef9e9..040ed2ccf482 100644
--- a/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
@@ -61,7 +61,7 @@ namespace drawinglayer::primitive2d
if (!aRetval.empty() && !getSdrSTAttribute().getGlow().isDefault())
{
// glow
- aRetval = createEmbeddedGlowPrimitive(aRetval, getSdrSTAttribute().getGlow());
+ aRetval = createEmbeddedGlowPrimitive(std::move(aRetval), getSdrSTAttribute().getGlow());
}
// add shadow
@@ -79,7 +79,7 @@ namespace drawinglayer::primitive2d
// shadow will be correct (using ColorModifierStack), but expensive.
if(!get3DShape())
{
- aRetval = createEmbeddedShadowPrimitive(aRetval, getSdrSTAttribute().getShadow(),
+ aRetval = createEmbeddedShadowPrimitive(std::move(aRetval), getSdrSTAttribute().getShadow(),
maTransform);
}
}
@@ -89,13 +89,13 @@ namespace drawinglayer::primitive2d
SdrCustomShapePrimitive2D::SdrCustomShapePrimitive2D(
const attribute::SdrEffectsTextAttribute& rSdrSTAttribute,
- const Primitive2DContainer& rSubPrimitives,
+ Primitive2DContainer&& rSubPrimitives,
const basegfx::B2DHomMatrix& rTextBox,
bool bWordWrap,
bool b3DShape,
const basegfx::B2DHomMatrix& rTransform)
: maSdrSTAttribute(rSdrSTAttribute),
- maSubPrimitives(rSubPrimitives),
+ maSubPrimitives(std::move(rSubPrimitives)),
maTextBox(rTextBox),
mbWordWrap(bWordWrap),
mb3DShape(b3DShape),
diff --git a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
index 1f74149b0b9a..7c04f1c54e0a 100644
--- a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
+++ b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
@@ -537,117 +537,111 @@ basegfx::B2DRange getTextAnchorRange(const attribute::SdrTextAttribute& rText,
}
Primitive2DContainer createEmbeddedShadowPrimitive(
- const Primitive2DContainer& rContent,
+ Primitive2DContainer&& rContent,
const attribute::SdrShadowAttribute& rShadow,
const basegfx::B2DHomMatrix& rObjectMatrix,
const Primitive2DContainer* pContentForShadow)
{
- if(!rContent.empty())
- {
- basegfx::B2DHomMatrix aShadowOffset;
+ if(rContent.empty())
+ return std::move(rContent);
- {
- if(rShadow.getSize().getX() != 100000)
- {
- basegfx::B2DTuple aScale;
- basegfx::B2DTuple aTranslate;
- double fRotate = 0;
- double fShearX = 0;
- rObjectMatrix.decompose(aScale, aTranslate, fRotate, fShearX);
- // Scale the shadow
- double nTranslateX = aTranslate.getX();
- double nTranslateY = aTranslate.getY();
-
- // The origin for scaling is the top left corner by default. A negative
- // shadow offset changes the origin.
- if (rShadow.getOffset().getX() < 0)
- nTranslateX += aScale.getX();
- if (rShadow.getOffset().getY() < 0)
- nTranslateY += aScale.getY();
-
- aShadowOffset.translate(-nTranslateX, -nTranslateY);
- aShadowOffset.scale(rShadow.getSize().getX() * 0.00001, rShadow.getSize().getY() * 0.00001);
- aShadowOffset.translate(nTranslateX, nTranslateY);
- }
+ basegfx::B2DHomMatrix aShadowOffset;
- aShadowOffset.translate(rShadow.getOffset().getX(), rShadow.getOffset().getY());
- }
+ if(rShadow.getSize().getX() != 100000)
+ {
+ basegfx::B2DTuple aScale;
+ basegfx::B2DTuple aTranslate;
+ double fRotate = 0;
+ double fShearX = 0;
+ rObjectMatrix.decompose(aScale, aTranslate, fRotate, fShearX);
+ // Scale the shadow
+ double nTranslateX = aTranslate.getX();
+ double nTranslateY = aTranslate.getY();
+
+ // The origin for scaling is the top left corner by default. A negative
+ // shadow offset changes the origin.
+ if (rShadow.getOffset().getX() < 0)
+ nTranslateX += aScale.getX();
+ if (rShadow.getOffset().getY() < 0)
+ nTranslateY += aScale.getY();
+
+ aShadowOffset.translate(-nTranslateX, -nTranslateY);
+ aShadowOffset.scale(rShadow.getSize().getX() * 0.00001, rShadow.getSize().getY() * 0.00001);
+ aShadowOffset.translate(nTranslateX, nTranslateY);
+ }
+
+ aShadowOffset.translate(rShadow.getOffset().getX(), rShadow.getOffset().getY());
- // create shadow primitive and add content
- const Primitive2DContainer& rContentForShadow
+ // create shadow primitive and add content
+ const Primitive2DContainer& rContentForShadow
= pContentForShadow ? *pContentForShadow : rContent;
- int nContentWithTransparence = std::count_if(
- rContentForShadow.begin(), rContentForShadow.end(),
- [](const Primitive2DReference& xChild) {
- auto pChild = dynamic_cast<BufferedDecompositionPrimitive2D*>(xChild.get());
- return pChild && pChild->getTransparenceForShadow() != 0;
- });
- if (nContentWithTransparence == 0)
+ int nContentWithTransparence = std::count_if(
+ rContentForShadow.begin(), rContentForShadow.end(),
+ [](const Primitive2DReference& xChild) {
+ auto pChild = dynamic_cast<BufferedDecompositionPrimitive2D*>(xChild.get());
+ return pChild && pChild->getTransparenceForShadow() != 0;
+ });
+ if (nContentWithTransparence == 0)
+ {
+ Primitive2DContainer aRetval(2);
+ aRetval[0] = Primitive2DReference(
+ new ShadowPrimitive2D(
+ aShadowOffset,
+ rShadow.getColor(),
+ rShadow.getBlur(),
+ Primitive2DContainer(pContentForShadow ? *pContentForShadow : rContent)));
+
+ if (0.0 != rShadow.getTransparence())
{
- Primitive2DContainer aRetval(2);
- aRetval[0] = Primitive2DReference(
- new ShadowPrimitive2D(
- aShadowOffset,
- rShadow.getColor(),
- rShadow.getBlur(),
- Primitive2DContainer(pContentForShadow ? *pContentForShadow : rContent)));
-
- if (0.0 != rShadow.getTransparence())
- {
- // create SimpleTransparencePrimitive2D
- Primitive2DContainer aTempContent{ aRetval[0] };
+ // create SimpleTransparencePrimitive2D
+ Primitive2DContainer aTempContent{ aRetval[0] };
- aRetval[0] = Primitive2DReference(
- new UnifiedTransparencePrimitive2D(
- std::move(aTempContent),
- rShadow.getTransparence()));
- }
-
- aRetval[1] = Primitive2DReference(new GroupPrimitive2D(Primitive2DContainer(rContent)));
- return aRetval;
+ aRetval[0] = Primitive2DReference(
+ new UnifiedTransparencePrimitive2D(
+ std::move(aTempContent),
+ rShadow.getTransparence()));
}
- Primitive2DContainer aRetval;
- for (const auto& xChild : rContentForShadow)
+ aRetval[1] = Primitive2DReference(new GroupPrimitive2D(std::move(rContent)));
+ return aRetval;
+ }
+
+ Primitive2DContainer aRetval;
+ for (const auto& xChild : rContentForShadow)
+ {
+ double fChildTransparence = 0.0;
+ auto pChild = dynamic_cast<BufferedDecompositionPrimitive2D*>(xChild.get());
+ if (pChild)
{
- double fChildTransparence = 0.0;
- auto pChild = dynamic_cast<BufferedDecompositionPrimitive2D*>(xChild.get());
- if (pChild)
- {
fChildTransparence = pChild->getTransparenceForShadow();
fChildTransparence /= 100;
- }
- aRetval.push_back(Primitive2DReference(
- new ShadowPrimitive2D(aShadowOffset, rShadow.getColor(), rShadow.getBlur(),
- Primitive2DContainer({ xChild }))));
- if (rShadow.getTransparence() != 0.0 || fChildTransparence != 0.0)
- {
- Primitive2DContainer aTempContent{ aRetval.back() };
+ }
+ aRetval.push_back(Primitive2DReference(
+ new ShadowPrimitive2D(aShadowOffset, rShadow.getColor(), rShadow.getBlur(),
+ Primitive2DContainer({ xChild }))));
+ if (rShadow.getTransparence() != 0.0 || fChildTransparence != 0.0)
+ {
+ Primitive2DContainer aTempContent{ aRetval.back() };
- double fChildAlpha = 1.0 - fChildTransparence;
- double fShadowAlpha = 1.0 - rShadow.getTransparence();
- double fTransparence = 1.0 - fChildAlpha * fShadowAlpha;
- aRetval.back() = Primitive2DReference(new UnifiedTransparencePrimitive2D(
+ double fChildAlpha = 1.0 - fChildTransparence;
+ double fShadowAlpha = 1.0 - rShadow.getTransparence();
+ double fTransparence = 1.0 - fChildAlpha * fShadowAlpha;
+ aRetval.back() = Primitive2DReference(new UnifiedTransparencePrimitive2D(
std::move(aTempContent), fTransparence));
- }
}
-
- aRetval.push_back(
- Primitive2DReference(new GroupPrimitive2D(Primitive2DContainer(rContent))));
- return aRetval;
- }
- else
- {
- return rContent;
}
+
+ aRetval.push_back(
+ Primitive2DReference(new GroupPrimitive2D(std::move(rContent))));
+ return aRetval;
}
Primitive2DContainer createEmbeddedGlowPrimitive(
- const Primitive2DContainer& rContent,
+ Primitive2DContainer&& rContent,
const attribute::SdrGlowAttribute& rGlow)
{
if(rContent.empty())
- return rContent;
+ return std::move(rContent);
Primitive2DContainer aRetval(2);
aRetval[0] = Primitive2DReference(
new GlowPrimitive2D(rGlow.getColor(), rGlow.getRadius(), Primitive2DContainer(rContent)));
diff --git a/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx
index fc0fd748ddee..809aec8569d8 100644
--- a/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx
@@ -101,7 +101,7 @@ namespace drawinglayer::primitive2d
if(!getSdrLFSTAttribute().getShadow().isDefault())
{
aRetval = createEmbeddedShadowPrimitive(
- aRetval,
+ std::move(aRetval),
getSdrLFSTAttribute().getShadow());
}
@@ -215,7 +215,7 @@ namespace drawinglayer::primitive2d
if(!getSdrLFSTAttribute().getShadow().isDefault())
{
aRetval = createEmbeddedShadowPrimitive(
- aRetval,
+ std::move(aRetval),
getSdrLFSTAttribute().getShadow());
}
diff --git a/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
index e996dd977f69..1fc860920638 100644
--- a/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
@@ -110,14 +110,14 @@ void SdrGrafPrimitive2D::create2DDecomposition(
if (!aRetval.empty() && !getSdrLFSTAttribute().getGlow().isDefault())
{
// glow
- aRetval = createEmbeddedGlowPrimitive(aRetval, getSdrLFSTAttribute().getGlow());
+ aRetval = createEmbeddedGlowPrimitive(std::move(aRetval), getSdrLFSTAttribute().getGlow());
}
// add shadow
if (!getSdrLFSTAttribute().getShadow().isDefault())
{
- aRetval = createEmbeddedShadowPrimitive(aRetval, getSdrLFSTAttribute().getShadow(),
- getTransform());
+ aRetval = createEmbeddedShadowPrimitive(std::move(aRetval),
+ getSdrLFSTAttribute().getShadow(), getTransform());
}
rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
diff --git a/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx
index f8b77693795a..aba7bf008fd6 100644
--- a/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx
@@ -425,7 +425,7 @@ namespace drawinglayer::primitive2d
if(!getSdrLSTAttribute().getShadow().isDefault())
{
aRetval = createEmbeddedShadowPrimitive(
- aRetval,
+ std::move(aRetval),
getSdrLSTAttribute().getShadow());
}
diff --git a/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx b/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx
index ee3178fcf8b5..670cbacbe898 100644
--- a/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx
@@ -32,10 +32,10 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
SdrOle2Primitive2D::SdrOle2Primitive2D(
- const Primitive2DContainer& rOLEContent,
+ Primitive2DContainer&& rOLEContent,
const basegfx::B2DHomMatrix& rTransform,
const attribute::SdrLineFillEffectsTextAttribute& rSdrLFSTAttribute)
- : maOLEContent(rOLEContent),
+ : maOLEContent(std::move(rOLEContent)),
maTransform(rTransform),
maSdrLFSTAttribute(rSdrLFSTAttribute)
{
@@ -158,7 +158,7 @@ namespace drawinglayer::primitive2d
if(!getSdrLFSTAttribute().getShadow().isDefault())
{
aRetval = createEmbeddedShadowPrimitive(
- aRetval,
+ std::move(aRetval),
getSdrLFSTAttribute().getShadow());
}
diff --git a/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx
index 9fe99f8ff79a..5df6d9c09e5d 100644
--- a/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx
@@ -111,7 +111,7 @@ namespace drawinglayer::primitive2d
if(!getSdrLFSTAttribute().getShadow().isDefault())
{
aRetval = createEmbeddedShadowPrimitive(
- aRetval,
+ std::move(aRetval),
getSdrLFSTAttribute().getShadow());
}
diff --git a/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx
index c8862f51dee4..a51e231beabb 100644
--- a/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx
@@ -104,7 +104,7 @@ namespace drawinglayer::primitive2d
if(!getSdrLFSTAttribute().getShadow().isDefault())
{
aRetval = createEmbeddedShadowPrimitive(
- aRetval,
+ std::move(aRetval),
getSdrLFSTAttribute().getShadow());
}
diff --git a/svx/source/svdraw/svdcrtv.cxx b/svx/source/svdraw/svdcrtv.cxx
index 9d6dc71b7d4f..2aa9ad42a613 100644
--- a/svx/source/svdraw/svdcrtv.cxx
+++ b/svx/source/svdraw/svdcrtv.cxx
@@ -144,7 +144,7 @@ void ImpSdrCreateViewExtraData::CreateAndShowOverlay(const SdrCreateView& rView,
{
const sdr::contact::ViewContact& rVC = pObject->GetViewContact();
const drawinglayer::primitive2d::Primitive2DContainer& aSequence = rVC.getViewIndependentPrimitive2DContainer();
- std::unique_ptr<sdr::overlay::OverlayObject> pNew(new sdr::overlay::OverlayPrimitive2DSequenceObject(aSequence));
+ std::unique_ptr<sdr::overlay::OverlayObject> pNew(new sdr::overlay::OverlayPrimitive2DSequenceObject(drawinglayer::primitive2d::Primitive2DContainer(aSequence)));
xOverlayManager->add(*pNew);
maObjects.append(std::move(pNew));
diff --git a/svx/source/svdraw/svddrgmt.cxx b/svx/source/svdraw/svddrgmt.cxx
index 5917d1475c44..ef744f881906 100644
--- a/svx/source/svdraw/svddrgmt.cxx
+++ b/svx/source/svdraw/svddrgmt.cxx
@@ -178,8 +178,8 @@ drawinglayer::primitive2d::Primitive2DContainer SdrDragEntrySdrObject::createPri
SdrDragEntryPrimitive2DSequence::SdrDragEntryPrimitive2DSequence(
- const drawinglayer::primitive2d::Primitive2DContainer& rSequence)
-: maPrimitive2DSequence(rSequence)
+ drawinglayer::primitive2d::Primitive2DContainer&& rSequence)
+: maPrimitive2DSequence(std::move(rSequence))
{
// add parts to transparent overlay stuff if necessary
setAddToTransparent(true);
@@ -778,7 +778,7 @@ void SdrDragMethod::CreateOverlayGeometry(
{
std::unique_ptr<sdr::overlay::OverlayObject> pNewOverlayObject(
new sdr::overlay::OverlayPrimitive2DSequenceObject(
- aResult));
+ std::move(aResult)));
insertNewlyCreatedOverlayObjectForSdrDragMethod(
std::move(pNewOverlayObject),
@@ -793,7 +793,7 @@ void SdrDragMethod::CreateOverlayGeometry(
std::unique_ptr<sdr::overlay::OverlayObject> pNewOverlayObject(
new sdr::overlay::OverlayPrimitive2DSequenceObject(
- aResultTransparent));
+ std::move(aResultTransparent)));
insertNewlyCreatedOverlayObjectForSdrDragMethod(
std::move(pNewOverlayObject),
diff --git a/svx/source/svdraw/svdhdl.cxx b/svx/source/svdraw/svdhdl.cxx
index ed0331c24a38..c509a069f715 100644
--- a/svx/source/svdraw/svdhdl.cxx
+++ b/svx/source/svdraw/svdhdl.cxx
@@ -2656,7 +2656,7 @@ void SdrCropViewHdl::CreateB2dIAObject()
const rtl::Reference< sdr::overlay::OverlayManager >& xManager = rPageWindow.GetOverlayManager();
if(xManager.is())
{
- std::unique_ptr<sdr::overlay::OverlayObject> pNew(new sdr::overlay::OverlayPrimitive2DSequenceObject(aSequence));
+ std::unique_ptr<sdr::overlay::OverlayObject> pNew(new sdr::overlay::OverlayPrimitive2DSequenceObject(drawinglayer::primitive2d::Primitive2DContainer(aSequence)));
// only informative object, no hit
pNew->setHittable(false);
diff --git a/svx/source/table/viewcontactoftableobj.cxx b/svx/source/table/viewcontactoftableobj.cxx
index 39762d727089..88b2071b2363 100644
--- a/svx/source/table/viewcontactoftableobj.cxx
+++ b/svx/source/table/viewcontactoftableobj.cxx
@@ -416,13 +416,13 @@ namespace sdr::contact
// with PowerPoint.
basegfx::B2DHomMatrix aMatrix;
aRetval = drawinglayer::primitive2d::createEmbeddedShadowPrimitive(
- aRetval, aNewShadowAttribute, aMatrix, &aRetvalForShadow);
+ std::move(aRetval), aNewShadowAttribute, aMatrix, &aRetvalForShadow);
}
else
{
// Shadow as style: shadow for text, to be backwards-compatible.
aRetval = drawinglayer::primitive2d::createEmbeddedShadowPrimitive(
- aRetval, aNewShadowAttribute);
+ std::move(aRetval), aNewShadowAttribute);
}
}
}
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
index 1ff9e4eda7db..a16051590406 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -226,7 +226,7 @@ class BorderLines
{
drawinglayer::primitive2d::Primitive2DContainer m_Lines;
public:
- void AddBorderLines(const drawinglayer::primitive2d::Primitive2DContainer& rContainer);
+ void AddBorderLines(drawinglayer::primitive2d::Primitive2DContainer&& rContainer);
drawinglayer::primitive2d::Primitive2DContainer GetBorderLines_Clear()
{
drawinglayer::primitive2d::Primitive2DContainer lines;
@@ -504,11 +504,11 @@ SwSavePaintStatics::~SwSavePaintStatics()
gProp.aSScaleY = aSScaleY;
}
-void BorderLines::AddBorderLines(const drawinglayer::primitive2d::Primitive2DContainer& rContainer)
+void BorderLines::AddBorderLines(drawinglayer::primitive2d::Primitive2DContainer&& rContainer)
{
if(!rContainer.empty())
{
- m_Lines.append(rContainer);
+ m_Lines.append(std::move(rContainer));
}
}
@@ -4938,7 +4938,7 @@ void PaintCharacterBorder(
aStyleRight,
aStyleBottom,
aStyleLeft)));
- gProp.pBLines->AddBorderLines(aBorderLineTarget);
+ gProp.pBLines->AddBorderLines(std::move(aBorderLineTarget));
}
/// #i15844#
@@ -5323,7 +5323,7 @@ void SwFrame::PaintSwFrameShadowAndBorder(
aStyleRight,
aStyleBottom,
aStyleLeft)));
- gProp.pBLines->AddBorderLines(aBorderLineTarget);
+ gProp.pBLines->AddBorderLines(std::move(aBorderLineTarget));
}
}