summaryrefslogtreecommitdiff
path: root/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-12-19 16:30:34 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-12-20 10:56:01 +0100
commit1b7bcaa714f0af45c6a9660d1f0940cb7931ba0f (patch)
tree8623a38ea87f23b549599ba4a1195bb8eaf17a36 /svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
parent146f98e7100ae57ced080c7d9fa028f01df99ca8 (diff)
use unique_ptr in svx
Change-Id: Ib0dd1edf05470783da41f08767020a9009f356ad Reviewed-on: https://gerrit.libreoffice.org/65444 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx/source/sdr/primitive2d/sdrdecompositiontools.cxx')
-rw-r--r--svx/source/sdr/primitive2d/sdrdecompositiontools.cxx45
1 files changed, 22 insertions, 23 deletions
diff --git a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
index a1acce939be0..6787e0d5a322 100644
--- a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
+++ b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
@@ -195,7 +195,7 @@ namespace drawinglayer
bool bWordWrap)
{
basegfx::B2DHomMatrix aAnchorTransform(rObjectTransform);
- SdrTextPrimitive2D* pNew = nullptr;
+ std::unique_ptr<SdrTextPrimitive2D> pNew;
if(rText.isContour())
{
@@ -223,20 +223,20 @@ namespace drawinglayer
0.0 != aScale.getY() ? 1.0 / aScale.getY() : 1.0));
// create with unit polygon
- pNew = new SdrContourTextPrimitive2D(
+ pNew.reset(new SdrContourTextPrimitive2D(
&rText.getSdrText(),
rText.getOutlinerParaObject(),
aScaledUnitPolyPolygon,
- rObjectTransform);
+ rObjectTransform));
}
else
{
// create with unit polygon
- pNew = new SdrContourTextPrimitive2D(
+ pNew.reset(new SdrContourTextPrimitive2D(
&rText.getSdrText(),
rText.getOutlinerParaObject(),
rUnitPolyPolygon,
- rObjectTransform);
+ rObjectTransform));
}
}
else if(!rText.getSdrFormTextAttribute().isDefault())
@@ -244,11 +244,11 @@ namespace drawinglayer
// text on path, use scaled polygon
basegfx::B2DPolyPolygon aScaledPolyPolygon(rUnitPolyPolygon);
aScaledPolyPolygon.transform(rObjectTransform);
- pNew = new SdrPathTextPrimitive2D(
+ pNew.reset(new SdrPathTextPrimitive2D(
&rText.getSdrText(),
rText.getOutlinerParaObject(),
aScaledPolyPolygon,
- rText.getSdrFormTextAttribute());
+ rText.getSdrFormTextAttribute()));
}
else
{
@@ -298,32 +298,32 @@ namespace drawinglayer
if(rText.isFitToSize())
{
// stretched text in range
- pNew = new SdrStretchTextPrimitive2D(
+ pNew.reset(new SdrStretchTextPrimitive2D(
&rText.getSdrText(),
rText.getOutlinerParaObject(),
aAnchorTransform,
- rText.isFixedCellHeight());
+ rText.isFixedCellHeight()));
}
else if(rText.isAutoFit())
{
// isotropically scaled text in range
- pNew = new SdrAutoFitTextPrimitive2D(
+ pNew.reset(new SdrAutoFitTextPrimitive2D(
&rText.getSdrText(),
rText.getOutlinerParaObject(),
aAnchorTransform,
- bWordWrap);
+ bWordWrap));
}
else if( rText.isChainable() && !rText.isInEditMode() )
{
- pNew = new SdrChainedTextPrimitive2D(
+ pNew.reset(new SdrChainedTextPrimitive2D(
&rText.getSdrText(),
rText.getOutlinerParaObject(),
- aAnchorTransform );
+ aAnchorTransform ));
}
else // text in range
{
// build new primitive
- pNew = new SdrBlockTextPrimitive2D(
+ pNew.reset(new SdrBlockTextPrimitive2D(
&rText.getSdrText(),
rText.getOutlinerParaObject(),
aAnchorTransform,
@@ -333,7 +333,7 @@ namespace drawinglayer
rText.isScroll(),
bCellText,
bWordWrap,
- false/*bClipOnBounds*/);
+ false/*bClipOnBounds*/));
}
}
@@ -348,7 +348,7 @@ namespace drawinglayer
if(0.0 != aAnimationList.getDuration())
{
// create content sequence
- const Primitive2DReference xRefA(pNew);
+ const Primitive2DReference xRefA(pNew.release());
const Primitive2DContainer aContent { xRefA };
// create and add animated switch primitive
@@ -357,7 +357,7 @@ namespace drawinglayer
else
{
// add to decomposition
- return Primitive2DReference(pNew);
+ return Primitive2DReference(pNew.release());
}
}
@@ -384,8 +384,7 @@ namespace drawinglayer
// bring the primitive back to scaled only and get scaled range, create new clone for this
std::unique_ptr<SdrTextPrimitive2D> pNew2 = pNew->createTransformedClone(aISRT);
OSL_ENSURE(pNew2, "createTextPrimitive: Could not create transformed clone of text primitive (!)");
- delete pNew;
- pNew = pNew2.release();
+ pNew = std::move(pNew2);
// create neutral geometry::ViewInformation2D for local range and decompose calls. This is okay
// since the decompose is view-independent
@@ -439,7 +438,7 @@ namespace drawinglayer
// pNew to aNewPrimitiveSequence)
Primitive2DContainer aAnimSequence;
pNew->get2DDecomposition(aAnimSequence, aViewInformation2D);
- delete pNew;
+ pNew.reset();
// create a new animatedInterpolatePrimitive and add it
std::vector< basegfx::B2DHomMatrix > aMatrixStack;
@@ -457,7 +456,7 @@ namespace drawinglayer
else
{
// add to decomposition
- return Primitive2DReference(pNew);
+ return Primitive2DReference(pNew.release());
}
}
}
@@ -467,7 +466,7 @@ namespace drawinglayer
// #i97628#
// encapsulate with TextHierarchyEditPrimitive2D to allow renderers
// to suppress actively edited content if needed
- const Primitive2DReference xRefA(pNew);
+ const Primitive2DReference xRefA(pNew.release());
const Primitive2DContainer aContent { xRefA };
// create and add TextHierarchyEditPrimitive2D primitive
@@ -476,7 +475,7 @@ namespace drawinglayer
else
{
// add to decomposition
- return Primitive2DReference(pNew);
+ return Primitive2DReference(pNew.release());
}
}