summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2016-10-25 09:54:25 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2016-11-08 10:40:57 +0000
commitf2beebbfe78bfd5dd26318ea269f49aeee6bd642 (patch)
treeafd9820842752f252409590e323f72cdbd0a4c3c
parentno need to use endsWithAsciiL like this anymore (diff)
downloadcore-f2beebbfe78bfd5dd26318ea269f49aeee6bd642.tar.gz
core-f2beebbfe78bfd5dd26318ea269f49aeee6bd642.zip
reduce copying when decomposing drawinglayer primitives
instead of returning a Primitive2DContainer from each method which we are then going to immediately append to another container, pass down a single container by reference which we can append to Change-Id: I0f28a499d2ec54f7111a7044c30099767aa079e1 Reviewed-on: https://gerrit.libreoffice.org/30258 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--drawinglayer/qa/unit/border.cxx3
-rw-r--r--drawinglayer/source/primitive2d/animatedprimitive2d.cxx18
-rw-r--r--drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx13
-rw-r--r--drawinglayer/source/primitive2d/baseprimitive2d.cxx21
-rw-r--r--drawinglayer/source/primitive2d/borderlineprimitive2d.cxx36
-rw-r--r--drawinglayer/source/primitive2d/controlprimitive2d.cxx8
-rw-r--r--drawinglayer/source/primitive2d/cropprimitive2d.cxx10
-rw-r--r--drawinglayer/source/primitive2d/discretebitmapprimitive2d.cxx8
-rw-r--r--drawinglayer/source/primitive2d/discreteshadowprimitive2d.cxx8
-rw-r--r--drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx6
-rw-r--r--drawinglayer/source/primitive2d/epsprimitive2d.cxx8
-rw-r--r--drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx42
-rw-r--r--drawinglayer/source/primitive2d/fillgraphicprimitive2d.cxx15
-rw-r--r--drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx19
-rw-r--r--drawinglayer/source/primitive2d/graphicprimitive2d.cxx17
-rw-r--r--drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx31
-rw-r--r--drawinglayer/source/primitive2d/gridprimitive2d.cxx20
-rw-r--r--drawinglayer/source/primitive2d/groupprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/helplineprimitive2d.cxx25
-rw-r--r--drawinglayer/source/primitive2d/hiddengeometryprimitive2d.cxx3
-rw-r--r--drawinglayer/source/primitive2d/markerarrayprimitive2d.cxx10
-rw-r--r--drawinglayer/source/primitive2d/mediaprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/metafileprimitive2d.cxx15
-rw-r--r--drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx8
-rw-r--r--drawinglayer/source/primitive2d/patternfillprimitive2d.cxx12
-rw-r--r--drawinglayer/source/primitive2d/polygonprimitive2d.cxx66
-rw-r--r--drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx70
-rw-r--r--drawinglayer/source/primitive2d/primitivetools2d.cxx16
-rw-r--r--drawinglayer/source/primitive2d/sceneprimitive2d.cxx8
-rw-r--r--drawinglayer/source/primitive2d/shadowprimitive2d.cxx9
-rw-r--r--drawinglayer/source/primitive2d/svggradientprimitive2d.cxx63
-rw-r--r--drawinglayer/source/primitive2d/textdecoratedprimitive2d.cxx7
-rw-r--r--drawinglayer/source/primitive2d/texteffectprimitive2d.cxx38
-rw-r--r--drawinglayer/source/primitive2d/textlineprimitive2d.cxx10
-rw-r--r--drawinglayer/source/primitive2d/textprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/textstrikeoutprimitive2d.cxx10
-rw-r--r--drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx8
-rw-r--r--drawinglayer/source/primitive2d/wallpaperprimitive2d.cxx17
-rw-r--r--drawinglayer/source/primitive2d/wrongspellprimitive2d.cxx7
-rw-r--r--drawinglayer/source/processor2d/baseprocessor2d.cxx7
-rw-r--r--drawinglayer/source/processor2d/contourextractor2d.cxx2
-rw-r--r--drawinglayer/source/processor2d/hittestprocessor2d.cxx4
-rw-r--r--drawinglayer/source/processor2d/linegeometryextractor2d.cxx4
-rw-r--r--drawinglayer/source/processor2d/textaspolygonextractor2d.cxx6
-rw-r--r--drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx31
-rw-r--r--drawinglayer/source/processor2d/vclpixelprocessor2d.cxx30
-rw-r--r--drawinglayer/source/processor2d/vclprocessor2d.cxx12
-rw-r--r--include/drawinglayer/primitive2d/animatedprimitive2d.hxx6
-rw-r--r--include/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx4
-rw-r--r--include/drawinglayer/primitive2d/baseprimitive2d.hxx6
-rw-r--r--include/drawinglayer/primitive2d/borderlineprimitive2d.hxx4
-rw-r--r--include/drawinglayer/primitive2d/controlprimitive2d.hxx4
-rw-r--r--include/drawinglayer/primitive2d/cropprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/epsprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/fillgradientprimitive2d.hxx10
-rw-r--r--include/drawinglayer/primitive2d/fillgraphicprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx4
-rw-r--r--include/drawinglayer/primitive2d/graphicprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx3
-rw-r--r--include/drawinglayer/primitive2d/gridprimitive2d.hxx4
-rw-r--r--include/drawinglayer/primitive2d/groupprimitive2d.hxx4
-rw-r--r--include/drawinglayer/primitive2d/helplineprimitive2d.hxx4
-rw-r--r--include/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/markerarrayprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/mediaprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/metafileprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/patternfillprimitive2d.hxx4
-rw-r--r--include/drawinglayer/primitive2d/polygonprimitive2d.hxx10
-rw-r--r--include/drawinglayer/primitive2d/polypolygonprimitive2d.hxx14
-rw-r--r--include/drawinglayer/primitive2d/primitivetools2d.hxx8
-rw-r--r--include/drawinglayer/primitive2d/sceneprimitive2d.hxx4
-rw-r--r--include/drawinglayer/primitive2d/shadowprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/svggradientprimitive2d.hxx13
-rw-r--r--include/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/texteffectprimitive2d.hxx4
-rw-r--r--include/drawinglayer/primitive2d/textlineprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/textprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx4
-rw-r--r--include/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/wallpaperprimitive2d.hxx2
-rw-r--r--include/drawinglayer/primitive2d/wrongspellprimitive2d.hxx2
-rw-r--r--include/drawinglayer/processor2d/baseprocessor2d.hxx3
-rw-r--r--svx/inc/sdr/overlay/overlaytools.hxx12
-rw-r--r--svx/inc/sdr/primitive2d/sdrcaptionprimitive2d.hxx2
-rw-r--r--svx/inc/sdr/primitive2d/sdrconnectorprimitive2d.hxx2
-rw-r--r--svx/inc/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx2
-rw-r--r--svx/inc/sdr/primitive2d/sdrellipseprimitive2d.hxx4
-rw-r--r--svx/inc/sdr/primitive2d/sdrgrafprimitive2d.hxx2
-rw-r--r--svx/inc/sdr/primitive2d/sdrmeasureprimitive2d.hxx2
-rw-r--r--svx/inc/sdr/primitive2d/sdrole2primitive2d.hxx2
-rw-r--r--svx/inc/sdr/primitive2d/sdrolecontentprimitive2d.hxx2
-rw-r--r--svx/inc/sdr/primitive2d/sdrpathprimitive2d.hxx2
-rw-r--r--svx/inc/sdr/primitive2d/sdrrectangleprimitive2d.hxx2
-rw-r--r--svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx16
-rw-r--r--svx/source/sdr/contact/viewcontactofgraphic.cxx4
-rw-r--r--svx/source/sdr/contact/viewobjectcontact.cxx2
-rw-r--r--svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx23
-rw-r--r--svx/source/sdr/overlay/overlaytools.cxx64
-rw-r--r--svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx4
-rw-r--r--svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx4
-rw-r--r--svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx4
-rw-r--r--svx/source/sdr/primitive2d/sdrdecompositiontools.cxx3
-rw-r--r--svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx8
-rw-r--r--svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx4
-rw-r--r--svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx4
-rw-r--r--svx/source/sdr/primitive2d/sdrole2primitive2d.cxx4
-rw-r--r--svx/source/sdr/primitive2d/sdrolecontentprimitive2d.cxx12
-rw-r--r--svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx4
-rw-r--r--svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx4
-rw-r--r--svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx35
-rw-r--r--svx/source/table/viewcontactoftableobj.cxx30
-rw-r--r--sw/source/core/draw/dflyobj.cxx18
-rw-r--r--sw/source/uibase/docvw/AnchorOverlayObject.cxx18
-rw-r--r--sw/source/uibase/docvw/ShadowOverlayObject.cxx21
118 files changed, 513 insertions, 755 deletions
diff --git a/drawinglayer/qa/unit/border.cxx b/drawinglayer/qa/unit/border.cxx
index 7e8791d19faa..60a698927143 100644
--- a/drawinglayer/qa/unit/border.cxx
+++ b/drawinglayer/qa/unit/border.cxx
@@ -62,7 +62,8 @@ void DrawinglayerBorderTest::testDoubleDecompositionSolid()
// Decompose it into polygons.
drawinglayer::geometry::ViewInformation2D aView;
- drawinglayer::primitive2d::Primitive2DContainer aContainer = aBorder->get2DDecomposition(aView);
+ drawinglayer::primitive2d::Primitive2DContainer aContainer;
+ aBorder->get2DDecomposition(aContainer, aView);
// Make sure it results in two borders as it's a double one.
CPPUNIT_ASSERT_EQUAL(static_cast<std::size_t>(2), aContainer.size());
diff --git a/drawinglayer/source/primitive2d/animatedprimitive2d.cxx b/drawinglayer/source/primitive2d/animatedprimitive2d.cxx
index 2ea970a84ea0..713c4bd52bcd 100644
--- a/drawinglayer/source/primitive2d/animatedprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/animatedprimitive2d.cxx
@@ -70,7 +70,7 @@ namespace drawinglayer
return false;
}
- Primitive2DContainer AnimatedSwitchPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void AnimatedSwitchPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
if(!getChildren().empty())
{
@@ -84,10 +84,8 @@ namespace drawinglayer
}
const Primitive2DReference xRef(getChildren()[nIndex], uno::UNO_QUERY_THROW);
- return Primitive2DContainer { xRef };
+ rContainer.push_back(xRef);
}
-
- return Primitive2DContainer();
}
// provide unique ID
@@ -108,7 +106,7 @@ namespace drawinglayer
{
}
- Primitive2DContainer AnimatedBlinkPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void AnimatedBlinkPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
if(!getChildren().empty())
{
@@ -116,11 +114,9 @@ namespace drawinglayer
if(fState < 0.5)
{
- return getChildren();
+ getChildren(rContainer);
}
}
-
- return Primitive2DContainer();
}
// provide unique ID
@@ -151,7 +147,7 @@ namespace drawinglayer
}
}
- Primitive2DContainer AnimatedInterpolatePrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void AnimatedInterpolatePrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
const sal_uInt32 nSize(maMatrixStack.size());
@@ -198,11 +194,11 @@ namespace drawinglayer
// create new transform primitive reference, return new sequence
const Primitive2DReference xRef(new TransformPrimitive2D(aTargetTransform, getChildren()));
- return Primitive2DContainer { xRef };
+ rContainer.push_back(xRef);
}
else
{
- return getChildren();
+ getChildren(rContainer);
}
}
diff --git a/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx b/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx
index 7086a3cec354..20afb0df0de8 100644
--- a/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx
@@ -33,17 +33,12 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer BackgroundColorPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void BackgroundColorPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
if(!rViewInformation.getViewport().isEmpty())
{
const basegfx::B2DPolygon aOutline(basegfx::tools::createPolygonFromRect(rViewInformation.getViewport()));
- const Primitive2DReference xRef(new PolyPolygonColorPrimitive2D(basegfx::B2DPolyPolygon(aOutline), getBColor()));
- return Primitive2DContainer { xRef };
- }
- else
- {
- return Primitive2DContainer();
+ rContainer.push_back(new PolyPolygonColorPrimitive2D(basegfx::B2DPolyPolygon(aOutline), getBColor()));
}
}
@@ -75,7 +70,7 @@ namespace drawinglayer
return rViewInformation.getViewport();
}
- Primitive2DContainer BackgroundColorPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void BackgroundColorPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -92,7 +87,7 @@ namespace drawinglayer
}
// use parent implementation
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/baseprimitive2d.cxx b/drawinglayer/source/primitive2d/baseprimitive2d.cxx
index 84833c36966a..bcc96c731b8e 100644
--- a/drawinglayer/source/primitive2d/baseprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/baseprimitive2d.cxx
@@ -52,18 +52,21 @@ namespace drawinglayer
basegfx::B2DRange BasePrimitive2D::getB2DRange(const geometry::ViewInformation2D& rViewInformation) const
{
- return get2DDecomposition(rViewInformation).getB2DRange(rViewInformation);
+ Primitive2DContainer aContainer;
+ get2DDecomposition(aContainer, rViewInformation);
+ return aContainer.getB2DRange(rViewInformation);
}
- Primitive2DContainer BasePrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void BasePrimitive2D::get2DDecomposition(Primitive2DContainer& /*rContainer*/, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- return Primitive2DContainer();
}
Primitive2DSequence SAL_CALL BasePrimitive2D::getDecomposition( const uno::Sequence< beans::PropertyValue >& rViewParameters ) throw ( uno::RuntimeException, std::exception )
{
const geometry::ViewInformation2D aViewInformation(rViewParameters);
- return comphelper::containerToSequence(get2DDecomposition(aViewInformation));
+ Primitive2DContainer aContainer;
+ get2DDecomposition(aContainer, aViewInformation);
+ return comphelper::containerToSequence(aContainer);
}
css::geometry::RealRectangle2D SAL_CALL BasePrimitive2D::getRange( const uno::Sequence< beans::PropertyValue >& rViewParameters ) throw ( uno::RuntimeException, std::exception )
@@ -85,9 +88,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer BufferedDecompositionPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void BufferedDecompositionPrimitive2D::create2DDecomposition(Primitive2DContainer& /*rContainer*/, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- return Primitive2DContainer();
}
BufferedDecompositionPrimitive2D::BufferedDecompositionPrimitive2D()
@@ -96,17 +98,18 @@ namespace drawinglayer
{
}
- Primitive2DContainer BufferedDecompositionPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void BufferedDecompositionPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
if(getBuffered2DDecomposition().empty())
{
- const Primitive2DContainer aNewSequence(create2DDecomposition(rViewInformation));
+ Primitive2DContainer aNewSequence;
+ create2DDecomposition(aNewSequence, rViewInformation);
const_cast< BufferedDecompositionPrimitive2D* >(this)->setBuffered2DDecomposition(aNewSequence);
}
- return getBuffered2DDecomposition();
+ rContainer.insert(rContainer.end(), getBuffered2DDecomposition().begin(), getBuffered2DDecomposition().end());
}
} // end of namespace primitive2d
} // end of namespace drawinglayer
diff --git a/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx b/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
index 63736d6d2ee1..671143f309fa 100644
--- a/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
@@ -174,15 +174,13 @@ primitive2d::Primitive2DReference makeSolidLinePrimitive(
return basegfx::B2DPolyPolygon( clipPolygon );
}
- Primitive2DContainer BorderLinePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void BorderLinePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
- return createDecomposition(rViewInformation, false);
+ createDecomposition(rContainer, rViewInformation, false);
}
- Primitive2DContainer BorderLinePrimitive2D::createDecomposition(const geometry::ViewInformation2D& rViewInformation, bool bPixelCorrection) const
+ void BorderLinePrimitive2D::createDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation, bool bPixelCorrection) const
{
- Primitive2DContainer xRetval;
-
if(!getStart().equal(getEnd()) && ( isInsideUsed() || isOutsideUsed() ) )
{
// get data and vectors
@@ -199,8 +197,6 @@ primitive2d::Primitive2DReference makeSolidLinePrimitive(
const basegfx::B2DPoint aTmpStart(getStart() - (fExt * aVector));
const basegfx::B2DPoint aTmpEnd(getEnd() + (fExt * aVector));
- xRetval.resize(2);
-
double fLeftWidth = getLeftWidth();
bool bLeftHairline = lcl_UseHairline(fLeftWidth, getStart(), getEnd(), rViewInformation);
if (bLeftHairline)
@@ -214,25 +210,25 @@ primitive2d::Primitive2DReference makeSolidLinePrimitive(
// "inside" line
if (bLeftHairline)
- xRetval[0] = makeHairLinePrimitive(
- getStart(), getEnd(), aVector, getRGBColorLeft(), 0.0);
+ rContainer.push_back(makeHairLinePrimitive(
+ getStart(), getEnd(), aVector, getRGBColorLeft(), 0.0));
else
{
double fWidth = bPixelCorrection ? std::round(fLeftWidth) : fLeftWidth;
- xRetval[0] = makeSolidLinePrimitive(
- aClipRegion, aTmpStart, aTmpEnd, aVector, getRGBColorLeft(), fWidth, -fLeftWidth/2.0);
+ rContainer.push_back(makeSolidLinePrimitive(
+ aClipRegion, aTmpStart, aTmpEnd, aVector, getRGBColorLeft(), fWidth, -fLeftWidth/2.0));
}
// "outside" line
if (bRightHairline)
- xRetval[1] = makeHairLinePrimitive(
- getStart(), getEnd(), aVector, getRGBColorRight(), fLeftWidth+mfDistance);
+ rContainer.push_back(makeHairLinePrimitive(
+ getStart(), getEnd(), aVector, getRGBColorRight(), fLeftWidth+mfDistance));
else
{
double fWidth = bPixelCorrection ? std::round(fRightWidth) : fRightWidth;
- xRetval[1] = makeSolidLinePrimitive(
- aClipRegion, aTmpStart, aTmpEnd, aVector, getRGBColorRight(), fWidth, mfDistance+fRightWidth/2.0);
+ rContainer.push_back(makeSolidLinePrimitive(
+ aClipRegion, aTmpStart, aTmpEnd, aVector, getRGBColorRight(), fWidth, mfDistance+fRightWidth/2.0));
}
}
else
@@ -263,8 +259,7 @@ primitive2d::Primitive2DReference makeSolidLinePrimitive(
aPolygon.append( getStart() );
aPolygon.append( getEnd() );
- xRetval.resize(1);
- xRetval[0] = Primitive2DReference(new PolygonHairlinePrimitive2D(
+ rContainer.push_back(new PolygonHairlinePrimitive2D(
aPolygon,
aColor));
}
@@ -300,7 +295,6 @@ primitive2d::Primitive2DReference makeSolidLinePrimitive(
}
sal_uInt32 n = aDashed.count();
- xRetval.resize(n);
for (sal_uInt32 i = 0; i < n; ++i)
{
basegfx::B2DPolygon aDash = aDashed.getB2DPolygon(i);
@@ -311,20 +305,18 @@ primitive2d::Primitive2DReference makeSolidLinePrimitive(
basegfx::B2DRange aRange = aDash.getB2DRange();
aDash2.append(basegfx::B2DPoint(aRange.getMinX(), aRange.getMinY()));
aDash2.append(basegfx::B2DPoint(aRange.getMaxX(), aRange.getMinY()));
- xRetval[i] = Primitive2DReference(
+ rContainer.push_back(
new PolygonHairlinePrimitive2D(aDash2, aColor));
}
else
{
- xRetval[i] = Primitive2DReference(
+ rContainer.push_back(
new PolyPolygonColorPrimitive2D(basegfx::B2DPolyPolygon(aDash), aColor));
}
}
}
}
}
-
- return xRetval;
}
BorderLinePrimitive2D::BorderLinePrimitive2D(
diff --git a/drawinglayer/source/primitive2d/controlprimitive2d.cxx b/drawinglayer/source/primitive2d/controlprimitive2d.cxx
index 6a62af0ad014..8a06c039a235 100644
--- a/drawinglayer/source/primitive2d/controlprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/controlprimitive2d.cxx
@@ -237,7 +237,7 @@ namespace drawinglayer
return xRetval;
}
- Primitive2DContainer ControlPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void ControlPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
// try to create a bitmap decomposition. If that fails for some reason,
// at least create a replacement decomposition.
@@ -248,7 +248,7 @@ namespace drawinglayer
xReference = createPlaceholderDecomposition(rViewInformation);
}
- return Primitive2DContainer { xReference };
+ rContainer.push_back(xReference);
}
ControlPrimitive2D::ControlPrimitive2D(
@@ -329,7 +329,7 @@ namespace drawinglayer
return aRetval;
}
- Primitive2DContainer ControlPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void ControlPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
// this primitive is view-dependent related to the scaling. If scaling has changed,
// destroy existing decomposition. To detect change, use size of unit size in view coordinates
@@ -352,7 +352,7 @@ namespace drawinglayer
}
// use parent implementation
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/cropprimitive2d.cxx b/drawinglayer/source/primitive2d/cropprimitive2d.cxx
index 65648537dde0..c3644e269fd2 100644
--- a/drawinglayer/source/primitive2d/cropprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/cropprimitive2d.cxx
@@ -66,10 +66,8 @@ namespace drawinglayer
return false;
}
- Primitive2DContainer CropPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void CropPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DContainer xRetval;
-
if(!getChildren().empty())
{
// get original object scale in unit coordinates (no mirroring)
@@ -128,7 +126,7 @@ namespace drawinglayer
{
// the new range is completely inside the old range (unit range),
// so no masking is needed
- xRetval = Primitive2DContainer { xTransformPrimitive };
+ rContainer.push_back(xTransformPrimitive);
}
else
{
@@ -142,13 +140,11 @@ namespace drawinglayer
aMaskPolyPolygon,
Primitive2DContainer { xTransformPrimitive }));
- xRetval = Primitive2DContainer { xMask };
+ rContainer.push_back(xMask);
}
}
}
}
-
- return xRetval;
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/discretebitmapprimitive2d.cxx b/drawinglayer/source/primitive2d/discretebitmapprimitive2d.cxx
index 6f8fc6274401..5d6310d8cb1a 100644
--- a/drawinglayer/source/primitive2d/discretebitmapprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/discretebitmapprimitive2d.cxx
@@ -26,12 +26,11 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer DiscreteBitmapPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void DiscreteBitmapPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
// use getViewTransformation() and getObjectTransformation() from
// ObjectAndViewTransformationDependentPrimitive2D to create a BitmapPrimitive2D
// with the correct mapping
- Primitive2DContainer xRetval;
if(!getBitmapEx().IsEmpty())
{
@@ -65,11 +64,8 @@ namespace drawinglayer
aObjectTransform = aInverseObjectTransformation * aObjectTransform;
// create BitmapPrimitive2D with now object-local coordinate data
- const Primitive2DReference xRef(new BitmapPrimitive2D(getBitmapEx(), aObjectTransform));
- xRetval = Primitive2DContainer { xRef };
+ rContainer.push_back(new BitmapPrimitive2D(getBitmapEx(), aObjectTransform));
}
-
- return xRetval;
}
DiscreteBitmapPrimitive2D::DiscreteBitmapPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/discreteshadowprimitive2d.cxx b/drawinglayer/source/primitive2d/discreteshadowprimitive2d.cxx
index b4cb1f4ee3a9..95acd391f4cf 100644
--- a/drawinglayer/source/primitive2d/discreteshadowprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/discreteshadowprimitive2d.cxx
@@ -161,7 +161,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer DiscreteShadowPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void DiscreteShadowPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
Primitive2DContainer xRetval;
@@ -259,15 +259,11 @@ namespace drawinglayer
fBorderY + fSingleY)));
// put all in object transformation to get to target positions
- const Primitive2DReference xTransformed(
+ rContainer.push_back(
new TransformPrimitive2D(
getTransform(),
xRetval));
-
- xRetval = Primitive2DContainer { xTransformed };
}
-
- return xRetval;
}
DiscreteShadowPrimitive2D::DiscreteShadowPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx b/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx
index 4cca95c15fda..8b557ceb83c3 100644
--- a/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx
@@ -63,15 +63,13 @@ namespace drawinglayer
return !maShadowPrimitives.empty();
}
- Primitive2DContainer Embedded3DPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void Embedded3DPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
// use info to create a yellow 2d rectangle, similar to empty 3d scenes and/or groups
const basegfx::B2DRange aLocal2DRange(getB2DRange(rViewInformation));
const basegfx::B2DPolygon aOutline(basegfx::tools::createPolygonFromRect(aLocal2DRange));
const basegfx::BColor aYellow(1.0, 1.0, 0.0);
- const Primitive2DReference xRef(new PolygonHairlinePrimitive2D(aOutline, aYellow));
-
- return Primitive2DContainer { xRef };
+ rContainer.push_back(new PolygonHairlinePrimitive2D(aOutline, aYellow));
}
Embedded3DPrimitive2D::Embedded3DPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/epsprimitive2d.cxx b/drawinglayer/source/primitive2d/epsprimitive2d.cxx
index 6d29e7a5afbb..197a0b1d9032 100644
--- a/drawinglayer/source/primitive2d/epsprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/epsprimitive2d.cxx
@@ -25,9 +25,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer EpsPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void EpsPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DContainer xRetval;
const GDIMetaFile& rSubstituteContent = getMetaFile();
if( rSubstituteContent.GetActionSize() )
@@ -35,15 +34,12 @@ namespace drawinglayer
// the default decomposition will use the Metafile replacement visualisation.
// To really use the Eps data, a renderer has to know and interpret this primitive
// directly.
- xRetval.resize(1);
- xRetval[0] = Primitive2DReference(
+ rContainer.push_back(
new MetafilePrimitive2D(
getEpsTransform(),
rSubstituteContent));
}
-
- return xRetval;
}
EpsPrimitive2D::EpsPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx b/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx
index 4fba3c8c24b8..1848d0165369 100644
--- a/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx
@@ -148,17 +148,14 @@ namespace drawinglayer
}
}
- Primitive2DContainer FillGradientPrimitive2D::createOverlappingFill(
+ void FillGradientPrimitive2D::createOverlappingFill(
+ Primitive2DContainer& rContainer,
const std::vector< drawinglayer::texture::B2DHomMatrixAndBColor >& rEntries,
const basegfx::BColor& rOuterColor,
const basegfx::B2DPolygon& rUnitPolygon) const
{
- // prepare return value
- Primitive2DContainer aRetval;
- aRetval.resize(rEntries.size() + 1);
-
// create solid fill with outmost color
- aRetval[0] = Primitive2DReference(
+ rContainer.push_back(
new PolyPolygonColorPrimitive2D(
basegfx::B2DPolyPolygon(
basegfx::tools::createPolygonFromRect(getOutputRange())),
@@ -173,24 +170,19 @@ namespace drawinglayer
aNewPoly.transform(rEntries[a].maB2DHomMatrix);
// create solid fill
- aRetval[a + 1] = Primitive2DReference(
+ rContainer.push_back(
new PolyPolygonColorPrimitive2D(
basegfx::B2DPolyPolygon(aNewPoly),
rEntries[a].maBColor));
}
-
- return aRetval;
}
- Primitive2DContainer FillGradientPrimitive2D::createNonOverlappingFill(
+ void FillGradientPrimitive2D::createNonOverlappingFill(
+ Primitive2DContainer& rContainer,
const std::vector< drawinglayer::texture::B2DHomMatrixAndBColor >& rEntries,
const basegfx::BColor& rOuterColor,
const basegfx::B2DPolygon& rUnitPolygon) const
{
- // prepare return value
- Primitive2DContainer aRetval;
- aRetval.resize(rEntries.size() + 1);
-
// get outmost visible range from object
basegfx::B2DRange aOutmostRange(getOutputRange());
basegfx::B2DPolyPolygon aCombinedPolyPoly;
@@ -207,7 +199,7 @@ namespace drawinglayer
// add outmost range to combined polypolygon (in 1st place), create first primitive
aCombinedPolyPoly.insert(0, basegfx::tools::createPolygonFromRect(aOutmostRange));
- aRetval[0] = Primitive2DReference(
+ rContainer.push_back(
new PolyPolygonColorPrimitive2D(
aCombinedPolyPoly,
rOuterColor));
@@ -226,7 +218,7 @@ namespace drawinglayer
aCombinedPolyPoly.append(aNextPoly);
// create primitive with correct color
- aRetval[a + 1] = Primitive2DReference(
+ rContainer.push_back(
new PolyPolygonColorPrimitive2D(
aCombinedPolyPoly,
rEntries[a].maBColor));
@@ -236,16 +228,14 @@ namespace drawinglayer
}
// add last inner polygon with last color
- aRetval[rEntries.size()] = Primitive2DReference(
+ rContainer.push_back(
new PolyPolygonColorPrimitive2D(
aCombinedPolyPoly,
rEntries[rEntries.size() - 1].maBColor));
}
-
- return aRetval;
}
- Primitive2DContainer FillGradientPrimitive2D::createFill(bool bOverlapping) const
+ void FillGradientPrimitive2D::createFill(Primitive2DContainer& rContainer, bool bOverlapping) const
{
// prepare shape of the Unit Polygon
basegfx::B2DPolygon aUnitPolygon;
@@ -274,15 +264,15 @@ namespace drawinglayer
if(bOverlapping)
{
- return createOverlappingFill(aEntries, aOuterColor, aUnitPolygon);
+ createOverlappingFill(rContainer, aEntries, aOuterColor, aUnitPolygon);
}
else
{
- return createNonOverlappingFill(aEntries, aOuterColor, aUnitPolygon);
+ createNonOverlappingFill(rContainer, aEntries, aOuterColor, aUnitPolygon);
}
}
- Primitive2DContainer FillGradientPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void FillGradientPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
// default creates overlapping fill which works with AntiAliasing and without.
// The non-overlapping version does not create single filled polygons, but
@@ -295,11 +285,7 @@ namespace drawinglayer
{
static bool bOverlapping(true); // allow to test non-overlapping in the debugger
- return createFill(bOverlapping);
- }
- else
- {
- return Primitive2DContainer();
+ createFill(rContainer, bOverlapping);
}
}
diff --git a/drawinglayer/source/primitive2d/fillgraphicprimitive2d.cxx b/drawinglayer/source/primitive2d/fillgraphicprimitive2d.cxx
index f90c9239de55..4f658322aab0 100644
--- a/drawinglayer/source/primitive2d/fillgraphicprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/fillgraphicprimitive2d.cxx
@@ -37,9 +37,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer FillGraphicPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void FillGraphicPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DContainer aRetval;
const attribute::FillGraphicAttribute& rAttribute = getFillGraphic();
if(!rAttribute.isDefault())
@@ -64,18 +63,18 @@ namespace drawinglayer
// get matrices and realloc retval
aTiling.appendTransformations(aMatrices);
- aRetval.resize(aMatrices.size());
// prepare content primitive
- const Primitive2DContainer xSeq = create2DDecompositionOfGraphic(
+ Primitive2DContainer xSeq;
+ create2DDecompositionOfGraphic(xSeq,
rGraphic,
basegfx::B2DHomMatrix());
for(size_t a(0); a < aMatrices.size(); a++)
{
- aRetval[a] = new TransformPrimitive2D(
+ rContainer.push_back(new TransformPrimitive2D(
getTransformation() * aMatrices[a],
- xSeq);
+ xSeq));
}
}
else
@@ -86,15 +85,13 @@ namespace drawinglayer
rAttribute.getGraphicRange().getRange(),
rAttribute.getGraphicRange().getMinimum()));
- aRetval = create2DDecompositionOfGraphic(
+ create2DDecompositionOfGraphic(rContainer,
rGraphic,
aObjectTransform);
}
}
}
}
-
- return aRetval;
}
FillGraphicPrimitive2D::FillGraphicPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx b/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx
index 5e4a7cc4ae8c..c5eb9139993a 100644
--- a/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx
@@ -35,10 +35,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer FillHatchPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void FillHatchPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DContainer aRetval;
-
if(!getFillHatch().isDefault())
{
// create hatch
@@ -103,17 +101,15 @@ namespace drawinglayer
// prepare return value
const bool bFillBackground(getFillHatch().isFillBackground());
- aRetval.resize(bFillBackground ? aMatrices.size() + 1L : aMatrices.size());
// evtl. create filled background
if(bFillBackground)
{
// create primitive for background
- const Primitive2DReference xRef(
+ rContainer.push_back(
new PolyPolygonColorPrimitive2D(
basegfx::B2DPolyPolygon(
basegfx::tools::createPolygonFromRect(getOutputRange())), getBColor()));
- aRetval[0] = xRef;
}
// create primitives
@@ -129,12 +125,9 @@ namespace drawinglayer
aNewLine.append(rMatrix * aEnd);
// create hairline
- const Primitive2DReference xRef(new PolygonHairlinePrimitive2D(aNewLine, aHatchColor));
- aRetval[bFillBackground ? (a + 1) : a] = xRef;
+ rContainer.push_back(new PolygonHairlinePrimitive2D(aNewLine, aHatchColor));
}
}
-
- return aRetval;
}
FillHatchPrimitive2D::FillHatchPrimitive2D(
@@ -183,7 +176,7 @@ namespace drawinglayer
return getOutputRange();
}
- Primitive2DContainer FillHatchPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void FillHatchPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
bool bAdaptDistance(0 != getFillHatch().getMinimalDiscreteDistance());
@@ -191,12 +184,12 @@ namespace drawinglayer
if(bAdaptDistance)
{
// behave view-dependent
- return DiscreteMetricDependentPrimitive2D::get2DDecomposition(rViewInformation);
+ DiscreteMetricDependentPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
else
{
// behave view-independent
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
}
diff --git a/drawinglayer/source/primitive2d/graphicprimitive2d.cxx b/drawinglayer/source/primitive2d/graphicprimitive2d.cxx
index 94ae60c058a3..e0b344a32130 100644
--- a/drawinglayer/source/primitive2d/graphicprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/graphicprimitive2d.cxx
@@ -32,15 +32,12 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer GraphicPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D&
- ) const
+ void GraphicPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& ) const
{
- Primitive2DContainer aRetval;
-
if(255L == getGraphicAttr().GetTransparency())
{
// content is invisible, done
- return aRetval;
+ return;
}
// do not apply mirroring from GraphicAttr to the Metafile by calling
@@ -106,14 +103,16 @@ namespace drawinglayer
// create sub-content; helper takes care of correct handling of
// bitmap, svg or metafile content
- aRetval = create2DDecompositionOfGraphic(
+ Primitive2DContainer aRetval;
+ create2DDecompositionOfGraphic(
+ aRetval,
aTransformedGraphic,
aTransform);
if(!aRetval.size())
{
// content is invisible, done
- return aRetval;
+ return;
}
if(isAdjusted || isDrawMode)
@@ -134,7 +133,7 @@ namespace drawinglayer
if(!aRetval.size())
{
// content is invisible, done
- return aRetval;
+ return;
}
}
@@ -182,7 +181,7 @@ namespace drawinglayer
aRetval = Primitive2DContainer { xPrimitive };
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
GraphicPrimitive2D::GraphicPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
index 5c278a553542..4c48cf70b815 100644
--- a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
+++ b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
@@ -323,7 +323,7 @@ namespace drawinglayer
virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
/// override to deliver the correct expected frame dependent of timing
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
};
AnimatedGraphicPrimitive2D::AnimatedGraphicPrimitive2D(
@@ -392,11 +392,11 @@ namespace drawinglayer
&& getGraphic() == pCompare->getGraphic());
}
- Primitive2DContainer AnimatedGraphicPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void AnimatedGraphicPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
if (isValidData())
{
- Primitive2DContainer aRetval(1);
+ Primitive2DReference aRetval;
const double fState(getAnimationEntry().getStateAtTime(rViewInformation.getViewTime()));
const sal_uInt32 nLen(maAnimation.Count());
sal_uInt32 nIndex(basegfx::fround(fState * (double)nLen));
@@ -409,11 +409,12 @@ namespace drawinglayer
}
// check buffering shortcuts, may already be created
- aRetval[0] = tryTogetFromBuffer(nIndex);
+ aRetval = tryTogetFromBuffer(nIndex);
- if (aRetval[0].is())
+ if (aRetval.is())
{
- return aRetval;
+ rContainer.push_back(aRetval);
+ return;
}
// if huge size (and not the buffered 1st frame) simply
@@ -427,20 +428,19 @@ namespace drawinglayer
const_cast<AnimatedGraphicPrimitive2D*>(this)->createFrame(nIndex);
// try to get from buffer again, may have been added from createFrame
- aRetval[0] = tryTogetFromBuffer(nIndex);
+ aRetval = tryTogetFromBuffer(nIndex);
- if (aRetval[0].is())
+ if (aRetval.is())
{
- return aRetval;
+ rContainer.push_back(aRetval);
+ return;
}
// did not work (not buffered and not 1st frame), create from buffer
- aRetval[0] = createFromBuffer();
+ aRetval = createFromBuffer();
- return aRetval;
+ rContainer.push_back(aRetval);
}
-
- return Primitive2DContainer();
}
} // end of namespace primitive2d
@@ -450,7 +450,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer create2DDecompositionOfGraphic(
+ void create2DDecompositionOfGraphic(
+ Primitive2DContainer& rContainer,
const Graphic& rGraphic,
const basegfx::B2DHomMatrix& rTransform)
{
@@ -546,7 +547,7 @@ namespace drawinglayer
}
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
Primitive2DContainer create2DColorModifierEmbeddingsAsNeeded(
diff --git a/drawinglayer/source/primitive2d/gridprimitive2d.cxx b/drawinglayer/source/primitive2d/gridprimitive2d.cxx
index a74735c909d3..49594f455426 100644
--- a/drawinglayer/source/primitive2d/gridprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/gridprimitive2d.cxx
@@ -33,10 +33,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer GridPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void GridPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
- Primitive2DContainer aRetval;
-
if(!rViewInformation.getViewport().isEmpty() && getWidth() > 0.0 && getHeight() > 0.0)
{
// decompose grid matrix to get logic size
@@ -229,15 +227,11 @@ namespace drawinglayer
// prepare return value
const sal_uInt32 nCountPoint(aPositionsPoint.size());
const sal_uInt32 nCountCross(aPositionsCross.size());
- const sal_uInt32 nRetvalCount((nCountPoint ? 1 : 0) + (nCountCross ? 1 : 0));
- sal_uInt32 nInsertCounter(0);
-
- aRetval.resize(nRetvalCount);
// add PointArrayPrimitive2D if point markers were added
if(nCountPoint)
{
- aRetval[nInsertCounter++] = Primitive2DReference(new PointArrayPrimitive2D(aPositionsPoint, getBColor()));
+ rContainer.push_back(new PointArrayPrimitive2D(aPositionsPoint, getBColor()));
}
// add MarkerArrayPrimitive2D if cross markers were added
@@ -247,17 +241,15 @@ namespace drawinglayer
{
// no subdivisions, so fall back to points at grid positions, no need to
// visualize a difference between divisions and sub-divisions
- aRetval[nInsertCounter++] = Primitive2DReference(new PointArrayPrimitive2D(aPositionsCross, getBColor()));
+ rContainer.push_back(new PointArrayPrimitive2D(aPositionsCross, getBColor()));
}
else
{
- aRetval[nInsertCounter++] = Primitive2DReference(new MarkerArrayPrimitive2D(aPositionsCross, getCrossMarker()));
+ rContainer.push_back(new MarkerArrayPrimitive2D(aPositionsCross, getCrossMarker()));
}
}
}
}
-
- return aRetval;
}
GridPrimitive2D::GridPrimitive2D(
@@ -317,7 +309,7 @@ namespace drawinglayer
return aUnitRange;
}
- Primitive2DContainer GridPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void GridPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -338,7 +330,7 @@ namespace drawinglayer
}
// use parent implementation
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/groupprimitive2d.cxx b/drawinglayer/source/primitive2d/groupprimitive2d.cxx
index b5582a0a3e08..fb3f6b9b794c 100644
--- a/drawinglayer/source/primitive2d/groupprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/groupprimitive2d.cxx
@@ -51,9 +51,9 @@ namespace drawinglayer
}
/// default: just return children, so all renderers not supporting group will use its content
- Primitive2DContainer GroupPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void GroupPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- return getChildren();
+ getChildren(rContainer);
}
sal_Int64 SAL_CALL GroupPrimitive2D::estimateUsage()
diff --git a/drawinglayer/source/primitive2d/helplineprimitive2d.cxx b/drawinglayer/source/primitive2d/helplineprimitive2d.cxx
index d51c4db65a52..b8cc0df1eafe 100644
--- a/drawinglayer/source/primitive2d/helplineprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/helplineprimitive2d.cxx
@@ -33,10 +33,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer HelplinePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void HelplinePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
- std::vector< BasePrimitive2D* > aTempPrimitiveTarget;
-
if(!rViewInformation.getViewport().isEmpty() && !getDirection().equalZero())
{
// position to view coordinates, DashLen and DashLen in logic
@@ -57,7 +55,7 @@ namespace drawinglayer
aLineA.append(aEndA);
aLineA.transform(rViewInformation.getInverseObjectToViewTransformation());
PolygonMarkerPrimitive2D* pNewA = new PolygonMarkerPrimitive2D(aLineA, getRGBColA(), getRGBColB(), getDiscreteDashLength());
- aTempPrimitiveTarget.push_back(pNewA);
+ rContainer.push_back(pNewA);
const basegfx::B2DVector aPerpendicularNormalizedDirection(basegfx::getPerpendicular(aNormalizedDirection));
const basegfx::B2DPoint aStartB(aViewPosition - aPerpendicularNormalizedDirection);
@@ -67,7 +65,7 @@ namespace drawinglayer
aLineB.append(aEndB);
aLineB.transform(rViewInformation.getInverseObjectToViewTransformation());
PolygonMarkerPrimitive2D* pNewB = new PolygonMarkerPrimitive2D(aLineB, getRGBColA(), getRGBColB(), getDiscreteDashLength());
- aTempPrimitiveTarget.push_back(pNewB);
+ rContainer.push_back(pNewB);
break;
}
@@ -118,7 +116,7 @@ namespace drawinglayer
basegfx::B2DPolygon aPart(aResult.getB2DPolygon(a));
aPart.transform(rViewInformation.getInverseObjectToViewTransformation());
PolygonMarkerPrimitive2D* pNew = new PolygonMarkerPrimitive2D(aPart, getRGBColA(), getRGBColB(), getDiscreteDashLength());
- aTempPrimitiveTarget.push_back(pNew);
+ rContainer.push_back(pNew);
}
}
@@ -126,17 +124,6 @@ namespace drawinglayer
}
}
}
-
- // prepare return value
- Primitive2DContainer aRetval(aTempPrimitiveTarget.size());
-
- for(size_t a(0); a < aTempPrimitiveTarget.size(); a++)
- {
- const Primitive2DReference xRef(aTempPrimitiveTarget[a]);
- aRetval[a] = xRef;
- }
-
- return aRetval;
}
HelplinePrimitive2D::HelplinePrimitive2D(
@@ -175,7 +162,7 @@ namespace drawinglayer
return false;
}
- Primitive2DContainer HelplinePrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void HelplinePrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -196,7 +183,7 @@ namespace drawinglayer
}
// use parent implementation
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/hiddengeometryprimitive2d.cxx b/drawinglayer/source/primitive2d/hiddengeometryprimitive2d.cxx
index 7fa01510a813..f437a3fa8a0c 100644
--- a/drawinglayer/source/primitive2d/hiddengeometryprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/hiddengeometryprimitive2d.cxx
@@ -39,9 +39,8 @@ namespace drawinglayer
return getChildren().getB2DRange(rViewInformation);
}
- Primitive2DContainer HiddenGeometryPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void HiddenGeometryPrimitive2D::get2DDecomposition(Primitive2DContainer& /*rContainer*/, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- return Primitive2DContainer();
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/markerarrayprimitive2d.cxx b/drawinglayer/source/primitive2d/markerarrayprimitive2d.cxx
index 465ea68a093d..f7d4e619488d 100644
--- a/drawinglayer/source/primitive2d/markerarrayprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/markerarrayprimitive2d.cxx
@@ -34,9 +34,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer MarkerArrayPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void MarkerArrayPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
- Primitive2DContainer xRetval;
const std::vector< basegfx::B2DPoint >& rPositions = getPositions();
const sal_uInt32 nMarkerCount(rPositions.size());
@@ -54,9 +53,6 @@ namespace drawinglayer
// use half size for expand
aLogicHalfSize *= 0.5;
- // number of primitives is known; realloc accordingly
- xRetval.resize(nMarkerCount);
-
for(sal_uInt32 a(0); a < nMarkerCount; a++)
{
const basegfx::B2DPoint& rPosition(rPositions[a]);
@@ -68,12 +64,10 @@ namespace drawinglayer
aTransform.set(0, 2, aRange.getMinX());
aTransform.set(1, 2, aRange.getMinY());
- xRetval[a] = Primitive2DReference(new BitmapPrimitive2D(getMarker(), aTransform));
+ rContainer.push_back(new BitmapPrimitive2D(getMarker(), aTransform));
}
}
}
-
- return xRetval;
}
MarkerArrayPrimitive2D::MarkerArrayPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/mediaprimitive2d.cxx b/drawinglayer/source/primitive2d/mediaprimitive2d.cxx
index 620ecdfe1a11..0578907ab340 100644
--- a/drawinglayer/source/primitive2d/mediaprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/mediaprimitive2d.cxx
@@ -33,7 +33,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer MediaPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void MediaPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
Primitive2DContainer xRetval;
xRetval.resize(1);
@@ -90,7 +90,7 @@ namespace drawinglayer
}
}
- return xRetval;
+ rContainer.insert(rContainer.end(), xRetval.begin(), xRetval.end());
}
MediaPrimitive2D::MediaPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/metafileprimitive2d.cxx b/drawinglayer/source/primitive2d/metafileprimitive2d.cxx
index de1c22bba9b0..00cfdbfe72ea 100644
--- a/drawinglayer/source/primitive2d/metafileprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/metafileprimitive2d.cxx
@@ -528,7 +528,7 @@ namespace drawinglayer
{
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer,
const geometry::ViewInformation2D& rViewInformation) const override;
public:
@@ -541,16 +541,13 @@ namespace drawinglayer
}
};
- Primitive2DContainer NonOverlappingFillGradientPrimitive2D::create2DDecomposition(
+ void NonOverlappingFillGradientPrimitive2D::create2DDecomposition(
+ Primitive2DContainer& rContainer,
const geometry::ViewInformation2D& /*rViewInformation*/) const
{
if(!getFillGradient().isDefault())
{
- return createFill(false);
- }
- else
- {
- return Primitive2DContainer();
+ createFill(rContainer, false);
}
}
} // end of namespace primitive2d
@@ -3165,7 +3162,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer MetafilePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void MetafilePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
// prepare target and porperties; each will have one default entry
TargetHolders aTargetHolders;
@@ -3214,7 +3211,7 @@ namespace drawinglayer
xRetval = Primitive2DContainer { aEmbeddedTransform };
}
- return xRetval;
+ rContainer.insert(rContainer.end(), xRetval.begin(), xRetval.end());
}
MetafilePrimitive2D::MetafilePrimitive2D(
diff --git a/drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx b/drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx
index 5cb7232e9af0..1b8c941537e7 100644
--- a/drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx
@@ -33,9 +33,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer PagePreviewPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void PagePreviewPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
- Primitive2DContainer xRetval;
Primitive2DContainer aContent(getPageContent());
if(!aContent.empty()
@@ -98,12 +97,9 @@ namespace drawinglayer
aPageTrans = aCombined * aPageTrans;
// embed in necessary transformation to map from SdrPage to SdrPageObject
- const Primitive2DReference xReferenceB(new TransformPrimitive2D(aPageTrans, aContent));
- xRetval = Primitive2DContainer { xReferenceB };
+ rContainer.push_back(new TransformPrimitive2D(aPageTrans, aContent));
}
}
-
- return xRetval;
}
PagePreviewPrimitive2D::PagePreviewPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx b/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
index 82d397d2c293..7faa924fb529 100644
--- a/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
@@ -159,7 +159,7 @@ namespace drawinglayer
return aContent;
}
- Primitive2DContainer PatternFillPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void PatternFillPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
Primitive2DContainer aRetval;
@@ -208,19 +208,15 @@ namespace drawinglayer
// embed result in mask
{
- const Primitive2DReference xRef(
+ rContainer.push_back(
new MaskPrimitive2D(
getMask(),
aRetval));
-
- aRetval = Primitive2DContainer { xRef };
}
}
}
}
-
- return aRetval;
}
PatternFillPrimitive2D::PatternFillPrimitive2D(
@@ -255,7 +251,7 @@ namespace drawinglayer
return getMask().getB2DRange();
}
- Primitive2DContainer PatternFillPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void PatternFillPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
// The existing bufferd decomposition uses a buffer in the remembered
// size or none if sizes are zero. Get new needed sizes which depend on
@@ -311,7 +307,7 @@ namespace drawinglayer
}
// call parent
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
sal_Int64 SAL_CALL PatternFillPrimitive2D::estimateUsage()
diff --git a/drawinglayer/source/primitive2d/polygonprimitive2d.cxx b/drawinglayer/source/primitive2d/polygonprimitive2d.cxx
index 76fc498d34d5..2ebd32a4f5e0 100644
--- a/drawinglayer/source/primitive2d/polygonprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/polygonprimitive2d.cxx
@@ -91,7 +91,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer PolygonMarkerPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void PolygonMarkerPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
// calculate logic DashLength
const basegfx::B2DVector aDashVector(rViewInformation.getInverseObjectToViewTransformation() * basegfx::B2DVector(getDiscreteDashLength(), 0.0));
@@ -108,18 +108,12 @@ namespace drawinglayer
aDash.push_back(fLogicDashLength);
basegfx::tools::applyLineDashing(getB2DPolygon(), aDash, &aDashedPolyPolyA, &aDashedPolyPolyB, 2.0 * fLogicDashLength);
- // prepare return value
- Primitive2DContainer aRetval(2);
-
- aRetval[0] = Primitive2DReference(new PolyPolygonHairlinePrimitive2D(aDashedPolyPolyA, getRGBColorA()));
- aRetval[1] = Primitive2DReference(new PolyPolygonHairlinePrimitive2D(aDashedPolyPolyB, getRGBColorB()));
-
- return aRetval;
+ rContainer.push_back(new PolyPolygonHairlinePrimitive2D(aDashedPolyPolyA, getRGBColorA()));
+ rContainer.push_back(new PolyPolygonHairlinePrimitive2D(aDashedPolyPolyB, getRGBColorB()));
}
else
{
- const Primitive2DReference xRef(new PolygonHairlinePrimitive2D(getB2DPolygon(), getRGBColorA()));
- return Primitive2DContainer { xRef };
+ rContainer.push_back(new PolygonHairlinePrimitive2D(getB2DPolygon(), getRGBColorA()));
}
}
@@ -174,7 +168,7 @@ namespace drawinglayer
return aRetval;
}
- Primitive2DContainer PolygonMarkerPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void PolygonMarkerPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
bool bNeedNewDecomposition(false);
@@ -201,7 +195,7 @@ namespace drawinglayer
}
// use parent implementation
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
// provide unique ID
@@ -222,7 +216,7 @@ namespace drawinglayer
namespace primitive2d
{
- Primitive2DContainer PolygonStrokePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void PolygonStrokePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
if(getB2DPolygon().count())
{
@@ -267,9 +261,6 @@ namespace drawinglayer
fMiterMinimumAngle));
}
- // prepare return value
- Primitive2DContainer aRetval(aAreaPolyPolygon.count());
-
// create primitive
for(sal_uInt32 b(0L); b < aAreaPolyPolygon.count(); b++)
{
@@ -281,27 +272,17 @@ namespace drawinglayer
const basegfx::BColor aColor(bTestByUsingRandomColor
? basegfx::BColor(tools::getRandomColorRange(), tools::getRandomColorRange(), tools::getRandomColorRange())
: getLineAttribute().getColor());
- const Primitive2DReference xRef(new PolyPolygonColorPrimitive2D(aNewPolyPolygon, aColor));
- aRetval[b] = xRef;
+ rContainer.push_back(new PolyPolygonColorPrimitive2D(aNewPolyPolygon, aColor));
}
-
- return aRetval;
}
else
{
- // prepare return value
- const Primitive2DReference xRef(
+ rContainer.push_back(
new PolyPolygonHairlinePrimitive2D(
aHairLinePolyPolygon,
getLineAttribute().getColor()));
-
- return Primitive2DContainer { xRef };
}
}
- else
- {
- return Primitive2DContainer();
- }
}
PolygonStrokePrimitive2D::PolygonStrokePrimitive2D(
@@ -410,10 +391,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer PolygonWavePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void PolygonWavePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DContainer aRetval;
-
if(getB2DPolygon().count())
{
const bool bHasWidth(!basegfx::fTools::equalZero(getWaveWidth()));
@@ -423,18 +402,14 @@ namespace drawinglayer
{
// create waveline curve
const basegfx::B2DPolygon aWaveline(basegfx::tools::createWaveline(getB2DPolygon(), getWaveWidth(), getWaveHeight()));
- const Primitive2DReference xRef(new PolygonStrokePrimitive2D(aWaveline, getLineAttribute(), getStrokeAttribute()));
- aRetval = Primitive2DContainer { xRef };
+ rContainer.push_back(new PolygonStrokePrimitive2D(aWaveline, getLineAttribute(), getStrokeAttribute()));
}
else
{
// flat waveline, decompose to simple line primitive
- const Primitive2DReference xRef(new PolygonStrokePrimitive2D(getB2DPolygon(), getLineAttribute(), getStrokeAttribute()));
- aRetval = Primitive2DContainer { xRef };
+ rContainer.push_back(new PolygonStrokePrimitive2D(getB2DPolygon(), getLineAttribute(), getStrokeAttribute()));
}
}
-
- return aRetval;
}
PolygonWavePrimitive2D::PolygonWavePrimitive2D(
@@ -522,7 +497,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer PolygonStrokeArrowPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void PolygonStrokeArrowPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
// copy local polygon, it may be changed
basegfx::B2DPolygon aLocalPolygon(getB2DPolygon());
@@ -569,33 +544,24 @@ namespace drawinglayer
}
}
- // prepare return value
- Primitive2DContainer aRetval(1L + (aArrowA.count() ? 1L : 0L) + (aArrowB.count() ? 1L : 0L));
- sal_uInt32 nInd(0L);
-
// add shaft
- const Primitive2DReference xRefShaft(new
+ rContainer.push_back(new
PolygonStrokePrimitive2D(
aLocalPolygon, getLineAttribute(), getStrokeAttribute()));
- aRetval[nInd++] = xRefShaft;
if(aArrowA.count())
{
- const Primitive2DReference xRefA(
+ rContainer.push_back(
new PolyPolygonColorPrimitive2D(
aArrowA, getLineAttribute().getColor()));
- aRetval[nInd++] = xRefA;
}
if(aArrowB.count())
{
- const Primitive2DReference xRefB(
+ rContainer.push_back(
new PolyPolygonColorPrimitive2D(
aArrowB, getLineAttribute().getColor()));
- aRetval[nInd++] = xRefB;
}
-
- return aRetval;
}
PolygonStrokeArrowPrimitive2D::PolygonStrokeArrowPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx b/drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx
index 921359608e2a..87bdcb4dc2e5 100644
--- a/drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx
@@ -40,25 +40,17 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer PolyPolygonHairlinePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void PolyPolygonHairlinePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
const basegfx::B2DPolyPolygon aPolyPolygon(getB2DPolyPolygon());
const sal_uInt32 nCount(aPolyPolygon.count());
if(nCount)
{
- Primitive2DContainer aRetval(nCount);
-
for(sal_uInt32 a(0L); a < nCount; a++)
{
- aRetval[a] = Primitive2DReference(new PolygonHairlinePrimitive2D(aPolyPolygon.getB2DPolygon(a), getBColor()));
+ rContainer.push_back(new PolygonHairlinePrimitive2D(aPolyPolygon.getB2DPolygon(a), getBColor()));
}
-
- return aRetval;
- }
- else
- {
- return Primitive2DContainer();
}
}
@@ -99,30 +91,22 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer PolyPolygonMarkerPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void PolyPolygonMarkerPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
const basegfx::B2DPolyPolygon aPolyPolygon(getB2DPolyPolygon());
const sal_uInt32 nCount(aPolyPolygon.count());
if(nCount)
{
- Primitive2DContainer aRetval(nCount);
-
for(sal_uInt32 a(0L); a < nCount; a++)
{
- aRetval[a] = Primitive2DReference(
+ rContainer.push_back(
new PolygonMarkerPrimitive2D(
aPolyPolygon.getB2DPolygon(a),
getRGBColorA(),
getRGBColorB(),
getDiscreteDashLength()));
}
-
- return aRetval;
- }
- else
- {
- return Primitive2DContainer();
}
}
@@ -171,27 +155,19 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer PolyPolygonStrokePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void PolyPolygonStrokePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
const basegfx::B2DPolyPolygon aPolyPolygon(getB2DPolyPolygon());
const sal_uInt32 nCount(aPolyPolygon.count());
if(nCount)
{
- Primitive2DContainer aRetval(nCount);
-
for(sal_uInt32 a(0L); a < nCount; a++)
{
- aRetval[a] = Primitive2DReference(
+ rContainer.push_back(
new PolygonStrokePrimitive2D(
aPolyPolygon.getB2DPolygon(a), getLineAttribute(), getStrokeAttribute()));
}
-
- return aRetval;
- }
- else
- {
- return Primitive2DContainer();
}
}
@@ -294,7 +270,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer PolyPolygonGradientPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void PolyPolygonGradientPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
if(!getFillGradient().isDefault())
{
@@ -308,14 +284,7 @@ namespace drawinglayer
const Primitive2DContainer aSubSequence { xSubRef };
// create mask primitive
- MaskPrimitive2D* pNewMask = new MaskPrimitive2D(getB2DPolyPolygon(), aSubSequence);
- const Primitive2DReference xRef(pNewMask);
-
- return Primitive2DContainer { xRef };
- }
- else
- {
- return Primitive2DContainer();
+ rContainer.push_back(new MaskPrimitive2D(getB2DPolyPolygon(), aSubSequence));
}
}
@@ -365,7 +334,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer PolyPolygonHatchPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void PolyPolygonHatchPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
if(!getFillHatch().isDefault())
{
@@ -380,14 +349,7 @@ namespace drawinglayer
const Primitive2DContainer aSubSequence { xSubRef };
// create mask primitive
- MaskPrimitive2D* pNewMask = new MaskPrimitive2D(getB2DPolyPolygon(), aSubSequence);
- const Primitive2DReference xRef(pNewMask);
-
- return Primitive2DContainer { xRef };
- }
- else
- {
- return Primitive2DContainer();
+ rContainer.push_back(new MaskPrimitive2D(getB2DPolyPolygon(), aSubSequence));
}
}
@@ -442,7 +404,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer PolyPolygonGraphicPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void PolyPolygonGraphicPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
if(!getFillGraphic().isDefault())
{
@@ -510,17 +472,13 @@ namespace drawinglayer
}
// embed to mask primitive
- const Primitive2DReference xRef(
+ rContainer.push_back(
new MaskPrimitive2D(
getB2DPolyPolygon(),
Primitive2DContainer { xSubRef }));
-
- return Primitive2DContainer { xRef };
}
}
}
-
- return Primitive2DContainer();
}
PolyPolygonGraphicPrimitive2D::PolyPolygonGraphicPrimitive2D(
@@ -569,7 +527,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer PolyPolygonSelectionPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void PolyPolygonSelectionPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
Primitive2DContainer aRetval;
@@ -611,7 +569,7 @@ namespace drawinglayer
}
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
PolyPolygonSelectionPrimitive2D::PolyPolygonSelectionPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/primitivetools2d.cxx b/drawinglayer/source/primitive2d/primitivetools2d.cxx
index 591e744cffc0..509bff79a83e 100644
--- a/drawinglayer/source/primitive2d/primitivetools2d.cxx
+++ b/drawinglayer/source/primitive2d/primitivetools2d.cxx
@@ -26,7 +26,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer DiscreteMetricDependentPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void DiscreteMetricDependentPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -47,7 +47,7 @@ namespace drawinglayer
}
// call base implementation
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
} // end of namespace primitive2d
} // end of namespace drawinglayer
@@ -57,7 +57,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer ViewportDependentPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void ViewportDependentPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -77,7 +77,7 @@ namespace drawinglayer
}
// call base implementation
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
} // end of namespace primitive2d
} // end of namespace drawinglayer
@@ -87,7 +87,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer ViewTransformationDependentPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void ViewTransformationDependentPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -107,7 +107,7 @@ namespace drawinglayer
}
// call base implementation
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
} // end of namespace primitive2d
} // end of namespace drawinglayer
@@ -117,7 +117,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer ObjectAndViewTransformationDependentPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void ObjectAndViewTransformationDependentPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -147,7 +147,7 @@ namespace drawinglayer
}
// call base implementation
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
} // end of namespace primitive2d
} // end of namespace drawinglayer
diff --git a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
index d863d21eb7a5..63d30349c0d4 100644
--- a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
@@ -221,7 +221,7 @@ namespace drawinglayer
}
}
- Primitive2DContainer ScenePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void ScenePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
Primitive2DContainer aRetval;
@@ -494,7 +494,7 @@ namespace drawinglayer
}
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
Primitive2DContainer ScenePrimitive2D::getGeometry2D() const
@@ -638,7 +638,7 @@ namespace drawinglayer
return aRetval;
}
- Primitive2DContainer ScenePrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void ScenePrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -695,7 +695,7 @@ namespace drawinglayer
}
// use parent implementation
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/shadowprimitive2d.cxx b/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
index d50e9d2f3d37..f1e4b9f03118 100644
--- a/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
@@ -64,10 +64,8 @@ namespace drawinglayer
return aRetval;
}
- Primitive2DContainer ShadowPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void ShadowPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DContainer aRetval;
-
if(!getChildren().empty())
{
// create a modifiedColorPrimitive containing the shadow color and the content
@@ -81,11 +79,8 @@ namespace drawinglayer
const Primitive2DContainer aSequenceB { xRefA };
// build transformed primitiveVector with shadow offset and add to target
- const Primitive2DReference xRefB(new TransformPrimitive2D(getShadowTransform(), aSequenceB));
- aRetval = Primitive2DContainer { xRefB };
+ rContainer.push_back(new TransformPrimitive2D(getShadowTransform(), aSequenceB));
}
-
- return aRetval;
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/svggradientprimitive2d.cxx b/drawinglayer/source/primitive2d/svggradientprimitive2d.cxx
index 4283610901b2..9721e4e06c85 100644
--- a/drawinglayer/source/primitive2d/svggradientprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/svggradientprimitive2d.cxx
@@ -62,11 +62,10 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SvgGradientHelper::createSingleGradientEntryFill() const
+ void SvgGradientHelper::createSingleGradientEntryFill(Primitive2DContainer& rContainer) const
{
const SvgGradientEntryVector& rEntries = getGradientEntries();
const sal_uInt32 nCount(rEntries.size());
- Primitive2DContainer xRetval;
if(nCount)
{
@@ -90,15 +89,13 @@ namespace drawinglayer
1.0 - fOpacity));
}
- xRetval = Primitive2DContainer { xRef };
+ rContainer.push_back(xRef);
}
}
else
{
OSL_ENSURE(false, "Single gradient entry construction without entry (!)");
}
-
- return xRetval;
}
void SvgGradientHelper::checkPreconditions()
@@ -235,13 +232,13 @@ namespace drawinglayer
return fPos;
}
- Primitive2DContainer SvgGradientHelper::createResult(
+ void SvgGradientHelper::createResult(
+ Primitive2DContainer& rContainer,
const Primitive2DContainer& rTargetColor,
const Primitive2DContainer& rTargetOpacity,
const basegfx::B2DHomMatrix& rUnitGradientToObject,
bool bInvert) const
{
- Primitive2DContainer xRetval;
const Primitive2DContainer aTargetColorEntries(rTargetColor.maybeInvert(bInvert));
const Primitive2DContainer aTargetOpacityEntries(rTargetOpacity.maybeInvert(bInvert));
@@ -266,14 +263,10 @@ namespace drawinglayer
aTargetColorEntries);
}
- xRefContent = new MaskPrimitive2D(
+ rContainer.push_back(new MaskPrimitive2D(
getPolyPolygon(),
- Primitive2DContainer { xRefContent });
-
- xRetval = Primitive2DContainer { xRefContent };
+ Primitive2DContainer { xRefContent }));
}
-
- return xRetval;
}
SvgGradientHelper::SvgGradientHelper(
@@ -372,10 +365,8 @@ namespace drawinglayer
}
}
- Primitive2DContainer SvgLinearGradientPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void SvgLinearGradientPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DContainer xRetval;
-
if(!getPreconditionsChecked())
{
const_cast< SvgLinearGradientPrimitive2D* >(this)->checkPreconditions();
@@ -384,7 +375,7 @@ namespace drawinglayer
if(getSingleEntry())
{
// fill with last existing color
- xRetval = createSingleGradientEntryFill();
+ createSingleGradientEntryFill(rContainer);
}
else if(getCreatesContent())
{
@@ -550,10 +541,8 @@ namespace drawinglayer
}
}
- xRetval = createResult(aTargetColor, aTargetOpacity, aUnitGradientToObject);
+ createResult(rContainer, aTargetColor, aTargetOpacity, aUnitGradientToObject);
}
-
- return xRetval;
}
SvgLinearGradientPrimitive2D::SvgLinearGradientPrimitive2D(
@@ -715,10 +704,8 @@ namespace drawinglayer
}
}
- Primitive2DContainer SvgRadialGradientPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void SvgRadialGradientPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DContainer xRetval;
-
if(!getPreconditionsChecked())
{
const_cast< SvgRadialGradientPrimitive2D* >(this)->checkPreconditions();
@@ -727,7 +714,7 @@ namespace drawinglayer
if(getSingleEntry())
{
// fill with last existing color
- xRetval = createSingleGradientEntryFill();
+ createSingleGradientEntryFill(rContainer);
}
else if(getCreatesContent())
{
@@ -837,10 +824,8 @@ namespace drawinglayer
}
}
- xRetval = createResult(aTargetColor, aTargetOpacity, aUnitGradientToObject, true);
+ createResult(rContainer, aTargetColor, aTargetOpacity, aUnitGradientToObject, true);
}
-
- return xRetval;
}
SvgRadialGradientPrimitive2D::SvgRadialGradientPrimitive2D(
@@ -919,9 +904,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SvgLinearAtomPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void SvgLinearAtomPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DContainer xRetval;
const double fDelta(getOffsetB() - getOffsetA());
if(!basegfx::fTools::equalZero(fDelta))
@@ -945,21 +929,16 @@ namespace drawinglayer
double fUnitScale(0.0);
const double fUnitStep(1.0 / nSteps);
- // prepare result set (known size)
- xRetval.resize(nSteps);
-
for(sal_uInt32 a(0); a < nSteps; a++, fUnitScale += fUnitStep)
{
basegfx::B2DPolygon aNew(aPolygon);
aNew.transform(basegfx::tools::createTranslateB2DHomMatrix(fDelta * fUnitScale, 0.0));
- xRetval[a] = new PolyPolygonColorPrimitive2D(
+ rContainer.push_back(new PolyPolygonColorPrimitive2D(
basegfx::B2DPolyPolygon(aNew),
- basegfx::interpolate(getColorA(), getColorB(), fUnitScale));
+ basegfx::interpolate(getColorA(), getColorB(), fUnitScale)));
}
}
-
- return xRetval;
}
SvgLinearAtomPrimitive2D::SvgLinearAtomPrimitive2D(
@@ -1006,9 +985,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SvgRadialAtomPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void SvgRadialAtomPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DContainer xRetval;
const double fDeltaScale(getScaleB() - getScaleA());
if(!basegfx::fTools::equalZero(fDeltaScale))
@@ -1023,9 +1001,6 @@ namespace drawinglayer
double fUnitScale(0.0);
const double fUnitStep(1.0 / nSteps);
- // prepare result set (known size)
- xRetval.resize(nSteps);
-
for(sal_uInt32 a(0); a < nSteps; a++, fUnitScale += fUnitStep)
{
basegfx::B2DHomMatrix aTransform;
@@ -1055,13 +1030,11 @@ namespace drawinglayer
basegfx::B2DPolygon aNew(basegfx::tools::createPolygonFromUnitCircle());
aNew.transform(aTransform);
- xRetval[a] = new PolyPolygonColorPrimitive2D(
+ rContainer.push_back(new PolyPolygonColorPrimitive2D(
basegfx::B2DPolyPolygon(aNew),
- basegfx::interpolate(getColorB(), getColorA(), fUnitScale));
+ basegfx::interpolate(getColorB(), getColorA(), fUnitScale)));
}
}
-
- return xRetval;
}
SvgRadialAtomPrimitive2D::SvgRadialAtomPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/textdecoratedprimitive2d.cxx b/drawinglayer/source/primitive2d/textdecoratedprimitive2d.cxx
index c2222b242372..22efbb16c985 100644
--- a/drawinglayer/source/primitive2d/textdecoratedprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/textdecoratedprimitive2d.cxx
@@ -154,7 +154,7 @@ namespace drawinglayer
// TODO: Handle Font Emphasis Above/Below
}
- Primitive2DContainer TextDecoratedPortionPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void TextDecoratedPortionPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
if(getWordLineMode())
{
@@ -166,7 +166,8 @@ namespace drawinglayer
if(!aBroken.empty())
{
// was indeed split to several words, use as result
- return aBroken;
+ rContainer.insert(rContainer.end(), aBroken.begin(), aBroken.end());
+ return;
}
else
{
@@ -303,7 +304,7 @@ namespace drawinglayer
}
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
TextDecoratedPortionPrimitive2D::TextDecoratedPortionPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx b/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx
index 2e0838d33c0a..c0965a531444 100644
--- a/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx
@@ -31,10 +31,8 @@ namespace drawinglayer
{
static double fDiscreteSize(1.1);
- Primitive2DContainer TextEffectPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void TextEffectPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
- Primitive2DContainer aRetval;
-
// get the distance of one discrete units from target display. Use between 1.0 and sqrt(2) to
// have good results on rotated objects, too
const basegfx::B2DVector aDistance(rViewInformation.getInverseObjectToViewTransformation() *
@@ -65,7 +63,6 @@ namespace drawinglayer
TextEffectStyle2D::ReliefEmbossedDefault == getTextEffectStyle2D()
|| TextEffectStyle2D::ReliefEngravedDefault == getTextEffectStyle2D());
basegfx::B2DHomMatrix aTransform(aBackTransform);
- aRetval.resize(2);
if(bEmbossed)
{
@@ -91,7 +88,7 @@ namespace drawinglayer
getTextContent(),
aBColorModifierToGray));
- aRetval[0] = Primitive2DReference(
+ rContainer.push_back(
new TransformPrimitive2D(
aTransform,
Primitive2DContainer { xModifiedColor }));
@@ -101,7 +98,7 @@ namespace drawinglayer
new basegfx::BColorModifier_replace(
basegfx::BColor(1.0)));
- aRetval[1] = Primitive2DReference(
+ rContainer.push_back(
new ModifiedColorPrimitive2D(
getTextContent(),
aBColorModifierToWhite));
@@ -117,13 +114,13 @@ namespace drawinglayer
getTextContent(),
aBColorModifierToGray));
- aRetval[0] = Primitive2DReference(
+ rContainer.push_back(
new TransformPrimitive2D(
aTransform,
Primitive2DContainer { xModifiedColor }));
// add original, too
- aRetval[1] = Primitive2DReference(new GroupPrimitive2D(getTextContent()));
+ rContainer.push_back(new GroupPrimitive2D(getTextContent()));
}
break;
@@ -132,45 +129,44 @@ namespace drawinglayer
{
// create transform primitives in all directions
basegfx::B2DHomMatrix aTransform;
- aRetval.resize(9);
aTransform.set(0, 2, aDistance.getX());
aTransform.set(1, 2, 0.0);
- aRetval[0] = Primitive2DReference(new TransformPrimitive2D(aTransform, getTextContent()));
+ rContainer.push_back(new TransformPrimitive2D(aTransform, getTextContent()));
aTransform.set(0, 2, aDiagonalDistance.getX());
aTransform.set(1, 2, aDiagonalDistance.getY());
- aRetval[1] = Primitive2DReference(new TransformPrimitive2D(aTransform, getTextContent()));
+ rContainer.push_back(new TransformPrimitive2D(aTransform, getTextContent()));
aTransform.set(0, 2, 0.0);
aTransform.set(1, 2, aDistance.getY());
- aRetval[2] = Primitive2DReference(new TransformPrimitive2D(aTransform, getTextContent()));
+ rContainer.push_back(new TransformPrimitive2D(aTransform, getTextContent()));
aTransform.set(0, 2, -aDiagonalDistance.getX());
aTransform.set(1, 2, aDiagonalDistance.getY());
- aRetval[3] = Primitive2DReference(new TransformPrimitive2D(aTransform, getTextContent()));
+ rContainer.push_back(new TransformPrimitive2D(aTransform, getTextContent()));
aTransform.set(0, 2, -aDistance.getX());
aTransform.set(1, 2, 0.0);
- aRetval[4] = Primitive2DReference(new TransformPrimitive2D(aTransform, getTextContent()));
+ rContainer.push_back(new TransformPrimitive2D(aTransform, getTextContent()));
aTransform.set(0, 2, -aDiagonalDistance.getX());
aTransform.set(1, 2, -aDiagonalDistance.getY());
- aRetval[5] = Primitive2DReference(new TransformPrimitive2D(aTransform, getTextContent()));
+ rContainer.push_back(new TransformPrimitive2D(aTransform, getTextContent()));
aTransform.set(0, 2, 0.0);
aTransform.set(1, 2, -aDistance.getY());
- aRetval[6] = Primitive2DReference(new TransformPrimitive2D(aTransform, getTextContent()));
+ rContainer.push_back(new TransformPrimitive2D(aTransform, getTextContent()));
aTransform.set(0, 2, aDiagonalDistance.getX());
aTransform.set(1, 2, -aDiagonalDistance.getY());
- aRetval[7] = Primitive2DReference(new TransformPrimitive2D(aTransform, getTextContent()));
+ rContainer.push_back(new TransformPrimitive2D(aTransform, getTextContent()));
// at last, place original over it, but force to white
const basegfx::BColorModifierSharedPtr aBColorModifierToWhite(
new basegfx::BColorModifier_replace(
basegfx::BColor(1.0, 1.0, 1.0)));
- aRetval[8] = Primitive2DReference(
+ rContainer.push_back(
new ModifiedColorPrimitive2D(
getTextContent(),
aBColorModifierToWhite));
@@ -178,8 +174,6 @@ namespace drawinglayer
break;
}
}
-
- return aRetval;
}
TextEffectPrimitive2D::TextEffectPrimitive2D(
@@ -223,7 +217,7 @@ namespace drawinglayer
return aRetval;
}
- Primitive2DContainer TextEffectPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void TextEffectPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -243,7 +237,7 @@ namespace drawinglayer
}
// use parent implementation
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/textlineprimitive2d.cxx b/drawinglayer/source/primitive2d/textlineprimitive2d.cxx
index 0beacdb03b3c..dee8af23ac88 100644
--- a/drawinglayer/source/primitive2d/textlineprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/textlineprimitive2d.cxx
@@ -30,10 +30,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer TextLinePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void TextLinePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DContainer xRetval;
-
if(TEXT_LINE_NONE != getTextLine())
{
bool bDoubleLine(false);
@@ -218,7 +216,7 @@ namespace drawinglayer
}
// add primitive
- xRetval.push_back(aNewPrimitive);
+ rContainer.push_back(aNewPrimitive);
if(bDoubleLine)
{
@@ -245,11 +243,9 @@ namespace drawinglayer
// add transform primitive
const Primitive2DContainer aContent { aNewPrimitive };
- xRetval.push_back( Primitive2DReference(new TransformPrimitive2D(aTransform, aContent)));
+ rContainer.push_back( new TransformPrimitive2D(aTransform, aContent) );
}
}
-
- return xRetval;
}
TextLinePrimitive2D::TextLinePrimitive2D(
diff --git a/drawinglayer/source/primitive2d/textprimitive2d.cxx b/drawinglayer/source/primitive2d/textprimitive2d.cxx
index be1c4e70f710..2b3e85c78e52 100644
--- a/drawinglayer/source/primitive2d/textprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/textprimitive2d.cxx
@@ -164,7 +164,7 @@ namespace drawinglayer
}
}
- Primitive2DContainer TextSimplePortionPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void TextSimplePortionPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
Primitive2DContainer aRetval;
@@ -212,7 +212,7 @@ namespace drawinglayer
}
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
TextSimplePortionPrimitive2D::TextSimplePortionPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/textstrikeoutprimitive2d.cxx b/drawinglayer/source/primitive2d/textstrikeoutprimitive2d.cxx
index 300800a5486d..6ff212425852 100644
--- a/drawinglayer/source/primitive2d/textstrikeoutprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/textstrikeoutprimitive2d.cxx
@@ -64,7 +64,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer TextCharacterStrikeoutPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void TextCharacterStrikeoutPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
// strikeout with character
const OUString aSingleCharString(getStrikeoutChar());
@@ -95,7 +95,7 @@ namespace drawinglayer
aDXArray[a] = (a + 1) * fStrikeCharWidth;
}
- Primitive2DReference xReference(
+ rContainer.push_back(
new TextSimplePortionPrimitive2D(
getObjectTransformation(),
aStrikeoutString,
@@ -105,8 +105,6 @@ namespace drawinglayer
getFontAttribute(),
getLocale(),
getFontColor()));
-
- return Primitive2DContainer { xReference };
}
TextCharacterStrikeoutPrimitive2D::TextCharacterStrikeoutPrimitive2D(
@@ -148,7 +146,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer TextGeometryStrikeoutPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void TextGeometryStrikeoutPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
OSL_ENSURE(TEXT_STRIKEOUT_SLASH != getTextStrikeout() && TEXT_STRIKEOUT_X != getTextStrikeout(),
"Wrong TEXT_STRIKEOUT type; a TextCharacterStrikeoutPrimitive2D should be used (!)");
@@ -231,7 +229,7 @@ namespace drawinglayer
xRetval)));
}
- return xRetval;
+ rContainer.insert(rContainer.end(), xRetval.begin(), xRetval.end());
}
TextGeometryStrikeoutPrimitive2D::TextGeometryStrikeoutPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx b/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx
index 02578ac07fb3..cce531f5dac0 100644
--- a/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx
@@ -61,12 +61,12 @@ namespace drawinglayer
return getChildren().getB2DRange( rViewInformation);
}
- Primitive2DContainer UnifiedTransparencePrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void UnifiedTransparencePrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
if(0.0 == getTransparence())
{
// no transparence used, so just use the content
- return getChildren();
+ getChildren(rContainer);
}
else if(getTransparence() > 0.0 && getTransparence() < 1.0)
{
@@ -95,13 +95,11 @@ namespace drawinglayer
aTransparenceContent[1] = Primitive2DReference(new PolygonHairlinePrimitive2D(aPolygon, aGray));
// create sub-transparence group with a gray-colored rectangular fill polygon
- const Primitive2DReference xRefB(new TransparencePrimitive2D(getChildren(), aTransparenceContent));
- return Primitive2DContainer { xRefB };
+ rContainer.push_back(new TransparencePrimitive2D(getChildren(), aTransparenceContent));
}
else
{
// completely transparent or invalid definition, add nothing
- return Primitive2DContainer();
}
}
diff --git a/drawinglayer/source/primitive2d/wallpaperprimitive2d.cxx b/drawinglayer/source/primitive2d/wallpaperprimitive2d.cxx
index 87893b1ba209..b5280ad2f31c 100644
--- a/drawinglayer/source/primitive2d/wallpaperprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/wallpaperprimitive2d.cxx
@@ -32,9 +32,9 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer WallpaperBitmapPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void WallpaperBitmapPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DContainer aRetval;
+ Primitive2DReference aRetval;
if(!getLocalObjectRange().isEmpty() && !getBitmapEx().IsEmpty())
{
@@ -58,7 +58,7 @@ namespace drawinglayer
getBitmapEx(),
aObjectTransform));
- aRetval = Primitive2DContainer { xReference };
+ aRetval = xReference;
}
else
{
@@ -156,7 +156,7 @@ namespace drawinglayer
new BitmapPrimitive2D(
getBitmapEx(),
aObjectTransform));
- aRetval = Primitive2DContainer { xReference };
+ aRetval = xReference;
// clip when not completely inside object range
bNeedsClipping = !getLocalObjectRange().isInside(aTargetRange);
@@ -193,7 +193,7 @@ namespace drawinglayer
new drawinglayer::primitive2d::FillGraphicPrimitive2D(
aObjectTransform,
aFillGraphicAttribute));
- aRetval = Primitive2DContainer { xFillBitmap };
+ aRetval = xFillBitmap;
// always embed tiled fill to clipping
bNeedsClipping = true;
@@ -207,14 +207,15 @@ namespace drawinglayer
const drawinglayer::primitive2d::Primitive2DReference xClippedFill(
new drawinglayer::primitive2d::MaskPrimitive2D(
aPolyPolygon,
- aRetval));
- aRetval = Primitive2DContainer { xClippedFill };
+ { aRetval }));
+ aRetval = xClippedFill;
}
}
}
}
- return aRetval;
+ if (aRetval.is())
+ rContainer.push_back(aRetval);
}
WallpaperBitmapPrimitive2D::WallpaperBitmapPrimitive2D(
diff --git a/drawinglayer/source/primitive2d/wrongspellprimitive2d.cxx b/drawinglayer/source/primitive2d/wrongspellprimitive2d.cxx
index 02ffcd60f950..f0e780264b36 100644
--- a/drawinglayer/source/primitive2d/wrongspellprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/wrongspellprimitive2d.cxx
@@ -28,7 +28,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer WrongSpellPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void WrongSpellPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
// ATM this decompose is view-independent, what the original VCL-Display is not. To mimic
// the old behaviour here if wanted it is necessary to add get2DDecomposition and implement
@@ -66,10 +66,7 @@ namespace drawinglayer
const attribute::LineAttribute aLineAttribute(getColor());
// create the waveline primitive
- Primitive2DReference xPrimitive(new PolygonWavePrimitive2D(aPolygon, aLineAttribute, fWaveWidth, 0.5 * fWaveWidth));
- Primitive2DContainer xRetval { xPrimitive };
-
- return xRetval;
+ rContainer.push_back(new PolygonWavePrimitive2D(aPolygon, aLineAttribute, fWaveWidth, 0.5 * fWaveWidth));
}
WrongSpellPrimitive2D::WrongSpellPrimitive2D(
diff --git a/drawinglayer/source/processor2d/baseprocessor2d.cxx b/drawinglayer/source/processor2d/baseprocessor2d.cxx
index 59324188bbcb..5f5dcf7e02ca 100644
--- a/drawinglayer/source/processor2d/baseprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/baseprocessor2d.cxx
@@ -41,6 +41,13 @@ namespace drawinglayer
{
}
+ void BaseProcessor2D::process(const primitive2d::BasePrimitive2D& rCandidate)
+ {
+ primitive2d::Primitive2DContainer aContainer;
+ rCandidate.get2DDecomposition(aContainer, getViewInformation2D());
+ process(aContainer);
+ }
+
void BaseProcessor2D::process(const primitive2d::Primitive2DContainer& rSource)
{
if(!rSource.empty())
diff --git a/drawinglayer/source/processor2d/contourextractor2d.cxx b/drawinglayer/source/processor2d/contourextractor2d.cxx
index 030444f3f698..16228d263e8f 100644
--- a/drawinglayer/source/processor2d/contourextractor2d.cxx
+++ b/drawinglayer/source/processor2d/contourextractor2d.cxx
@@ -183,7 +183,7 @@ namespace drawinglayer
default :
{
// process recursively
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
break;
}
}
diff --git a/drawinglayer/source/processor2d/hittestprocessor2d.cxx b/drawinglayer/source/processor2d/hittestprocessor2d.cxx
index fc20f0a51f9f..214259cb04b0 100644
--- a/drawinglayer/source/processor2d/hittestprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/hittestprocessor2d.cxx
@@ -293,7 +293,7 @@ namespace drawinglayer
{
// if line is mitered, use decomposition since mitered line
// geometry may use more space than the geometry grown by half line width
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
}
else
{
@@ -535,7 +535,7 @@ namespace drawinglayer
default :
{
// process recursively
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
break;
}
diff --git a/drawinglayer/source/processor2d/linegeometryextractor2d.cxx b/drawinglayer/source/processor2d/linegeometryextractor2d.cxx
index e1951eb6a2dc..d04c5b42cbe3 100644
--- a/drawinglayer/source/processor2d/linegeometryextractor2d.cxx
+++ b/drawinglayer/source/processor2d/linegeometryextractor2d.cxx
@@ -53,7 +53,7 @@ namespace drawinglayer
// enter a line geometry group (with or without LineEnds)
bool bOldState(mbInLineGeometry);
mbInLineGeometry = true;
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
mbInLineGeometry = bOldState;
break;
}
@@ -119,7 +119,7 @@ namespace drawinglayer
default :
{
// process recursively
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
break;
}
}
diff --git a/drawinglayer/source/processor2d/textaspolygonextractor2d.cxx b/drawinglayer/source/processor2d/textaspolygonextractor2d.cxx
index 830a189f3091..de194d520710 100644
--- a/drawinglayer/source/processor2d/textaspolygonextractor2d.cxx
+++ b/drawinglayer/source/processor2d/textaspolygonextractor2d.cxx
@@ -55,7 +55,7 @@ namespace drawinglayer
// encapsulate with flag and use decomposition
mnInText++;
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
mnInText--;
break;
@@ -73,7 +73,7 @@ namespace drawinglayer
// encapsulate with flag and use decomposition
mnInText++;
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
mnInText--;
break;
@@ -211,7 +211,7 @@ namespace drawinglayer
default :
{
// process recursively
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
break;
}
}
diff --git a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
index 19ad8bdb9fb8..885367d3a78f 100644
--- a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
@@ -794,7 +794,7 @@ namespace drawinglayer
}
// process recursively and add MetaFile comment
- process(rGraphicPrimitive.get2DDecomposition(getViewInformation2D()));
+ process(rGraphicPrimitive);
if(bUsingPDFExtOutDevData)
{
@@ -965,7 +965,7 @@ namespace drawinglayer
// process recursively if not done yet to export as decomposition (bitmap)
if(bDoProcessRecursively)
{
- process(rControlPrimitive.get2DDecomposition(getViewInformation2D()));
+ process(rControlPrimitive);
}
}
@@ -1001,7 +1001,8 @@ namespace drawinglayer
}
// process recursively
- const primitive2d::Primitive2DContainer rContent = rFieldPrimitive.get2DDecomposition(getViewInformation2D());
+ primitive2d::Primitive2DContainer rContent;
+ rFieldPrimitive.get2DDecomposition(rContent, getViewInformation2D());
process(rContent);
// for the end comment the type is not relevant yet, they are all the same. Just add.
@@ -1029,7 +1030,7 @@ namespace drawinglayer
const OString aCommentString("XTEXT_EOL");
// process recursively and add MetaFile comment
- process(rLinePrimitive.get2DDecomposition(getViewInformation2D()));
+ process(rLinePrimitive);
mpMetaFile->AddAction(new MetaCommentAction(aCommentString));
break;
@@ -1042,7 +1043,7 @@ namespace drawinglayer
const OString aCommentString("XTEXT_EOC");
// process recursively and add MetaFile comment
- process(rBulletPrimitive.get2DDecomposition(getViewInformation2D()));
+ process(rBulletPrimitive);
mpMetaFile->AddAction(new MetaCommentAction(aCommentString));
break;
@@ -1059,7 +1060,7 @@ namespace drawinglayer
}
// process recursively and add MetaFile comment
- process(rParagraphPrimitive.get2DDecomposition(getViewInformation2D()));
+ process(rParagraphPrimitive);
mpMetaFile->AddAction(new MetaCommentAction(aCommentString));
if(mpPDFExtOutDevData)
@@ -1078,7 +1079,7 @@ namespace drawinglayer
// add MetaFile comment, process recursively and add MetaFile comment
mpMetaFile->AddAction(new MetaCommentAction(aCommentStringA));
- process(rBlockPrimitive.get2DDecomposition(getViewInformation2D()));
+ process(rBlockPrimitive);
mpMetaFile->AddAction(new MetaCommentAction(aCommentStringB));
break;
@@ -1269,7 +1270,7 @@ namespace drawinglayer
}
else
{
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
}
impEndSvtGraphicStroke(pSvtGraphicStroke);
@@ -1335,7 +1336,7 @@ namespace drawinglayer
}
// process sub-line geometry (evtl. filled PolyPolygons)
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
if(bDrawmodeChange)
{
@@ -1434,7 +1435,7 @@ namespace drawinglayer
// Do use decomposition; encapsulate with SvtGraphicFill
impStartSvtGraphicFill(pSvtGraphicFill);
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
impEndSvtGraphicFill(pSvtGraphicFill);
}
@@ -1452,7 +1453,7 @@ namespace drawinglayer
// the range which defines the hatch is different from the range of the
// geometry (used for writer frames). This cannot be done calling vcl, thus use
// decomposition here
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
break;
}
@@ -1577,7 +1578,7 @@ namespace drawinglayer
// transfers. One more reason to *change* these to primitives.
// BTW: One more example how useful the principles of primitives are; the decomposition
// is by definition a simpler, maybe more expensive representation of the same content.
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
break;
}
@@ -1589,7 +1590,7 @@ namespace drawinglayer
// the range which defines the gradient is different from the range of the
// geometry (used for writer frames). This cannot be done calling vcl, thus use
// decomposition here
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
break;
}
@@ -1732,7 +1733,7 @@ namespace drawinglayer
{
// Use new Metafile decomposition.
// TODO EMF+ stuffed into METACOMMENT support required
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
}
else
{
@@ -2139,7 +2140,7 @@ namespace drawinglayer
default :
{
// process recursively
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
break;
}
}
diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
index c77f6365d7a5..b8e979548049 100644
--- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
@@ -634,12 +634,12 @@ namespace drawinglayer
maBColorModifierStack))
{
// fallback to decomposition (MetaFile)
- process(rWrongSpellPrimitive.get2DDecomposition(getViewInformation2D()));
+ process(rWrongSpellPrimitive);
}
}
else
{
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
}
break;
}
@@ -658,7 +658,7 @@ namespace drawinglayer
}
else
{
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
}
// restore DrawMode
@@ -681,7 +681,7 @@ namespace drawinglayer
}
else
{
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
}
// restore DrawMode
@@ -758,7 +758,7 @@ namespace drawinglayer
else
{
// use the primitive decomposition of the metafile
- process(rPolygonCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rPolygonCandidate);
}
}
break;
@@ -838,7 +838,7 @@ namespace drawinglayer
{
// use new Metafile decomposition
// TODO EMF+ stuffed into METACOMMENT support required
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
}
else
{
@@ -1031,7 +1031,7 @@ namespace drawinglayer
// DBG_UNHANDLED_EXCEPTION();
// process recursively and use the decomposition as Bitmap
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
}
break;
@@ -1063,7 +1063,7 @@ namespace drawinglayer
mnPolygonStrokePrimitive2D++;
// with AA there is no need to handle thin lines special
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
// leave PolygonStrokePrimitive2D
mnPolygonStrokePrimitive2D--;
@@ -1090,7 +1090,7 @@ namespace drawinglayer
{
// if AA is used (or ignore smoothing is on), there is no need to smooth
// hatch painting, use decomposition
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
}
else
{
@@ -1202,7 +1202,7 @@ namespace drawinglayer
mpOutputDevice->SetAntialiasing(nAntiAliasing & ~AntialiasingFlags::EnableB2dDraw);
// process content recursively
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
// restore OutDev
mpOutputDevice->Pop();
@@ -1238,9 +1238,13 @@ namespace drawinglayer
if (!tryDrawBorderLinePrimitive2DDirect(rBorder))
{
if (rBorder.getStyle() == table::BorderLineStyle::DOUBLE)
- process(rBorder.createDecomposition(getViewInformation2D(), true));
+ {
+ primitive2d::Primitive2DContainer aContainer;
+ rBorder.createDecomposition(aContainer, getViewInformation2D(), true);
+ process(aContainer);
+ }
else
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
}
mpOutputDevice->SetAntialiasing(nAntiAliasing);
@@ -1250,7 +1254,7 @@ namespace drawinglayer
{
SAL_INFO("drawinglayer", "default case for " << drawinglayer::primitive2d::idToString(rCandidate.getPrimitive2DID()));
// process recursively
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
break;
}
}
diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx b/drawinglayer/source/processor2d/vclprocessor2d.cxx
index 0d5e2a22fca4..8544f4c44d03 100644
--- a/drawinglayer/source/processor2d/vclprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclprocessor2d.cxx
@@ -314,7 +314,7 @@ namespace drawinglayer
if(!bPrimitiveAccepted)
{
// let break down
- process(rTextCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rTextCandidate);
}
}
@@ -589,7 +589,7 @@ namespace drawinglayer
if(!bPrimitiveAccepted)
{
// do not accept, use decomposition
- process(rFillBitmapCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rFillBitmapCandidate);
}
}
@@ -697,7 +697,7 @@ namespace drawinglayer
if(!bDone)
{
// use default decomposition
- process(rPolygonCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rPolygonCandidate);
}
}
@@ -976,7 +976,7 @@ namespace drawinglayer
updateViewInformation(aViewInformation2D);
// process decomposed content
- process(rPagePreviewCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rPagePreviewCandidate);
// restore transformations
updateViewInformation(aLastViewInformation2D);
@@ -1247,7 +1247,7 @@ namespace drawinglayer
mnPolygonStrokePrimitive2D++;
// line width is big enough for standard filled polygon visualisation or zero
- process(rPolygonStrokeCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rPolygonStrokeCandidate);
// leave PolygonStrokePrimitive2D
mnPolygonStrokePrimitive2D--;
@@ -1286,7 +1286,7 @@ namespace drawinglayer
{
// use the decomposition which will correctly handle the
// fallback visualisation using full transformation (e.g. rotation)
- process(rEpsPrimitive2D.get2DDecomposition(getViewInformation2D()));
+ process(rEpsPrimitive2D);
}
}
}
diff --git a/include/drawinglayer/primitive2d/animatedprimitive2d.hxx b/include/drawinglayer/primitive2d/animatedprimitive2d.hxx
index 89782b62c864..580271bac434 100644
--- a/include/drawinglayer/primitive2d/animatedprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/animatedprimitive2d.hxx
@@ -99,7 +99,7 @@ namespace drawinglayer
depends on the point in time, so the default implementation is
not useful here, it needs to be handled locally
*/
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
@@ -125,7 +125,7 @@ namespace drawinglayer
const Primitive2DContainer& rChildren);
/// create local decomposition
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive2DIDBlock()
@@ -160,7 +160,7 @@ namespace drawinglayer
const Primitive2DContainer& rChildren);
/// create local decomposition
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive2DIDBlock()
diff --git a/include/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx b/include/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx
index 868f1a690943..35d0221c3273 100644
--- a/include/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx
@@ -55,7 +55,7 @@ namespace drawinglayer
protected:
/// create local decomposition
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -77,7 +77,7 @@ namespace drawinglayer
DeclPrimitive2DIDBlock()
/// Override standard getDecomposition call to be view-dependent here
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
diff --git a/include/drawinglayer/primitive2d/baseprimitive2d.hxx b/include/drawinglayer/primitive2d/baseprimitive2d.hxx
index b6e3ecd0e1ed..fbfafae783ca 100644
--- a/include/drawinglayer/primitive2d/baseprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/baseprimitive2d.hxx
@@ -189,7 +189,7 @@ namespace drawinglayer
virtual sal_uInt32 getPrimitive2DID() const = 0;
/// The default implementation will return an empty sequence
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const;
// Methods from XPrimitive2D
@@ -266,7 +266,7 @@ namespace drawinglayer
/** method which is to be used to implement the local decomposition of a 2D primitive. The default
implementation will just return an empty decomposition
*/
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const;
public:
// constructor/destructor
@@ -278,7 +278,7 @@ namespace drawinglayer
overridden and the ViewInformation2D for the last decomposition need to be remembered, too, and
be used in the next call to decide if the buffered decomposition may be reused or not.
*/
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
diff --git a/include/drawinglayer/primitive2d/borderlineprimitive2d.hxx b/include/drawinglayer/primitive2d/borderlineprimitive2d.hxx
index 5c73edc6e430..80d3890fe945 100644
--- a/include/drawinglayer/primitive2d/borderlineprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/borderlineprimitive2d.hxx
@@ -94,7 +94,7 @@ namespace drawinglayer
const geometry::ViewInformation2D& rViewInformation) const;
/// create local decomposition
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -132,7 +132,7 @@ namespace drawinglayer
short getStyle () const { return mnStyle; }
double getPatternScale() const { return mfPatternScale; }
/// Same as create2DDecomposition(), but can do pixel correction if requested.
- Primitive2DContainer createDecomposition(const geometry::ViewInformation2D& rViewInformation, bool bPixelCorrection) const;
+ void createDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation, bool bPixelCorrection) const;
/// compare operator
virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
diff --git a/include/drawinglayer/primitive2d/controlprimitive2d.hxx b/include/drawinglayer/primitive2d/controlprimitive2d.hxx
index 54df6b63a6c4..554d92d560bb 100644
--- a/include/drawinglayer/primitive2d/controlprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/controlprimitive2d.hxx
@@ -63,7 +63,7 @@ namespace drawinglayer
protected:
/// local decomposition
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -100,7 +100,7 @@ namespace drawinglayer
DeclPrimitive2DIDBlock()
/// Override standard getDecomposition to be view-dependent here
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
diff --git a/include/drawinglayer/primitive2d/cropprimitive2d.hxx b/include/drawinglayer/primitive2d/cropprimitive2d.hxx
index 51529fead5aa..124d0504f6df 100644
--- a/include/drawinglayer/primitive2d/cropprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/cropprimitive2d.hxx
@@ -86,7 +86,7 @@ namespace drawinglayer
virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
/// local decomposition
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive2DIDBlock()
diff --git a/include/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx b/include/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx
index d4601307184d..9cca4a97a7da 100644
--- a/include/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx
@@ -50,7 +50,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx b/include/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx
index 7d32532290d2..12a06366a4e8 100644
--- a/include/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx
@@ -90,7 +90,7 @@ namespace drawinglayer
protected:
/// create local decomposition
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx b/include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx
index 38d226c7a0e8..42fecfd3421d 100644
--- a/include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx
@@ -82,7 +82,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/epsprimitive2d.hxx b/include/drawinglayer/primitive2d/epsprimitive2d.hxx
index 1b871d5af2bb..42b10d6cf07e 100644
--- a/include/drawinglayer/primitive2d/epsprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/epsprimitive2d.hxx
@@ -46,7 +46,7 @@ namespace drawinglayer
protected:
/// create local decomposition
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/fillgradientprimitive2d.hxx b/include/drawinglayer/primitive2d/fillgradientprimitive2d.hxx
index df0d84fd29ab..65353312b71c 100644
--- a/include/drawinglayer/primitive2d/fillgradientprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/fillgradientprimitive2d.hxx
@@ -69,21 +69,23 @@ namespace drawinglayer
void generateMatricesAndColors(
std::vector< drawinglayer::texture::B2DHomMatrixAndBColor >& rEntries,
basegfx::BColor& rOuterColor) const;
- Primitive2DContainer createOverlappingFill(
+ void createOverlappingFill(
+ Primitive2DContainer& rContainer,
const std::vector< drawinglayer::texture::B2DHomMatrixAndBColor >& rEntries,
const basegfx::BColor& rOuterColor,
const basegfx::B2DPolygon& rUnitPolygon) const;
- Primitive2DContainer createNonOverlappingFill(
+ void createNonOverlappingFill(
+ Primitive2DContainer& rContainer,
const std::vector< drawinglayer::texture::B2DHomMatrixAndBColor >& rEntries,
const basegfx::BColor& rOuterColor,
const basegfx::B2DPolygon& rUnitPolygon) const;
protected:
/// local helper
- Primitive2DContainer createFill(bool bOverlapping) const;
+ void createFill(Primitive2DContainer& rContainer, bool bOverlapping) const;
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructors. The one without definition range will use output range as definition range
diff --git a/include/drawinglayer/primitive2d/fillgraphicprimitive2d.hxx b/include/drawinglayer/primitive2d/fillgraphicprimitive2d.hxx
index 4ae5307a04c8..9008ccc9189b 100644
--- a/include/drawinglayer/primitive2d/fillgraphicprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/fillgraphicprimitive2d.hxx
@@ -56,7 +56,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx b/include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx
index 3f40a5575ac9..e320b3fa5dd8 100644
--- a/include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx
@@ -66,7 +66,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructors. The one without definition range will use output range as definition range
@@ -93,7 +93,7 @@ namespace drawinglayer
virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
/// Override standard getDecomposition to be view-dependent here
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive2DIDBlock()
diff --git a/include/drawinglayer/primitive2d/graphicprimitive2d.hxx b/include/drawinglayer/primitive2d/graphicprimitive2d.hxx
index 0108ae68ec5b..f437fbda1667 100644
--- a/include/drawinglayer/primitive2d/graphicprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/graphicprimitive2d.hxx
@@ -60,7 +60,7 @@ namespace drawinglayer
protected:
/// local decomposition
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor(s)
diff --git a/include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx b/include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx
index 9e5b540b4e61..541168184b88 100644
--- a/include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx
+++ b/include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx
@@ -41,7 +41,8 @@ namespace drawinglayer
Bitmaps (with the sub-categories animated bitmap, and SVG),
and Metafiles.
*/
- Primitive2DContainer create2DDecompositionOfGraphic(
+ void create2DDecompositionOfGraphic(
+ Primitive2DContainer& rContainer,
const Graphic& rGraphic,
const basegfx::B2DHomMatrix& rTransform);
diff --git a/include/drawinglayer/primitive2d/gridprimitive2d.hxx b/include/drawinglayer/primitive2d/gridprimitive2d.hxx
index 7d4a2fac189a..51ef7959e0a2 100644
--- a/include/drawinglayer/primitive2d/gridprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/gridprimitive2d.hxx
@@ -71,7 +71,7 @@ namespace drawinglayer
protected:
/// create local decomposition
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -107,7 +107,7 @@ namespace drawinglayer
DeclPrimitive2DIDBlock()
/// Override standard getDecomposition to be view-dependent here
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
diff --git a/include/drawinglayer/primitive2d/groupprimitive2d.hxx b/include/drawinglayer/primitive2d/groupprimitive2d.hxx
index 5f6387417359..1928be18b0df 100644
--- a/include/drawinglayer/primitive2d/groupprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/groupprimitive2d.hxx
@@ -76,11 +76,13 @@ namespace drawinglayer
/// data read access
const Primitive2DContainer& getChildren() const { return maChildren; }
+ void getChildren(Primitive2DContainer& rContainer) const { rContainer.insert(rContainer.end(), maChildren.begin(), maChildren.end()); }
+
/// compare operator
virtual bool operator==( const BasePrimitive2D& rPrimitive ) const override;
/// local decomposition. Implementation will just return children
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive2DIDBlock()
diff --git a/include/drawinglayer/primitive2d/helplineprimitive2d.hxx b/include/drawinglayer/primitive2d/helplineprimitive2d.hxx
index be3a0569054d..fbc67fe382e8 100644
--- a/include/drawinglayer/primitive2d/helplineprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/helplineprimitive2d.hxx
@@ -75,7 +75,7 @@ namespace drawinglayer
protected:
/// create local decomposition
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -102,7 +102,7 @@ namespace drawinglayer
DeclPrimitive2DIDBlock()
/// Override standard getDecomposition to be view-dependent here
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
diff --git a/include/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx b/include/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx
index bb59e89964ea..788d09d09b18 100644
--- a/include/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx
@@ -48,7 +48,7 @@ namespace drawinglayer
virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
/// local decomposition. Implementation will return empty Primitive2DSequence
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
// provide unique ID
DeclPrimitive2DIDBlock()
diff --git a/include/drawinglayer/primitive2d/markerarrayprimitive2d.hxx b/include/drawinglayer/primitive2d/markerarrayprimitive2d.hxx
index e125eb065d56..2dd43e2ff262 100644
--- a/include/drawinglayer/primitive2d/markerarrayprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/markerarrayprimitive2d.hxx
@@ -57,7 +57,7 @@ namespace drawinglayer
protected:
/// create local decomposition
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/mediaprimitive2d.hxx b/include/drawinglayer/primitive2d/mediaprimitive2d.hxx
index 95b89b687d5c..36d8f599580f 100644
--- a/include/drawinglayer/primitive2d/mediaprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/mediaprimitive2d.hxx
@@ -60,7 +60,7 @@ namespace drawinglayer
protected:
/// local decomposition
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/metafileprimitive2d.hxx b/include/drawinglayer/primitive2d/metafileprimitive2d.hxx
index 632507665e95..0d1503809a81 100644
--- a/include/drawinglayer/primitive2d/metafileprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/metafileprimitive2d.hxx
@@ -64,7 +64,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
MetafilePrimitive2D(
diff --git a/include/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx b/include/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx
index f4fe7c2e1528..c6639998f34d 100644
--- a/include/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx
@@ -60,7 +60,7 @@ namespace drawinglayer
protected:
/// local decomposition. Implementation will just return children
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/patternfillprimitive2d.hxx b/include/drawinglayer/primitive2d/patternfillprimitive2d.hxx
index 8a64fdf3e71f..11d064737c45 100644
--- a/include/drawinglayer/primitive2d/patternfillprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/patternfillprimitive2d.hxx
@@ -62,7 +62,7 @@ namespace drawinglayer
protected:
/// create local decomposition
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -83,7 +83,7 @@ namespace drawinglayer
virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
/// overload to react on evtl. buffered content
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive2DIDBlock()
diff --git a/include/drawinglayer/primitive2d/polygonprimitive2d.hxx b/include/drawinglayer/primitive2d/polygonprimitive2d.hxx
index 8ae8fd818765..2a41ac9d3bf2 100644
--- a/include/drawinglayer/primitive2d/polygonprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/polygonprimitive2d.hxx
@@ -110,7 +110,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -133,7 +133,7 @@ namespace drawinglayer
virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
/// Override standard getDecomposition to be view-dependent here
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive2DIDBlock()
@@ -168,7 +168,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -220,7 +220,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -276,7 +276,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/polypolygonprimitive2d.hxx b/include/drawinglayer/primitive2d/polypolygonprimitive2d.hxx
index 6a954b93e983..2cbc032e775d 100644
--- a/include/drawinglayer/primitive2d/polypolygonprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/polypolygonprimitive2d.hxx
@@ -57,7 +57,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -107,7 +107,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -162,7 +162,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -263,7 +263,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructors. The one without definition range will use output range as definition range
@@ -319,7 +319,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructors. The one without definition range will use output range as definition range
@@ -375,7 +375,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructors. The one without definition range will use output range as definition range
@@ -434,7 +434,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/primitivetools2d.hxx b/include/drawinglayer/primitive2d/primitivetools2d.hxx
index 12e234d8bea7..cd0bacea114b 100644
--- a/include/drawinglayer/primitive2d/primitivetools2d.hxx
+++ b/include/drawinglayer/primitive2d/primitivetools2d.hxx
@@ -65,7 +65,7 @@ namespace drawinglayer
double getDiscreteUnit() const { return mfDiscreteUnit; }
/// Override standard getDecomposition to be view-dependent here
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
@@ -103,7 +103,7 @@ namespace drawinglayer
const basegfx::B2DRange& getViewport() const { return maViewport; }
/// Override standard getDecomposition to be view-dependent here
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
@@ -141,7 +141,7 @@ namespace drawinglayer
const basegfx::B2DHomMatrix& getViewTransformation() const { return maViewTransformation; }
/// Override standard getDecomposition to be view-dependent here
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
@@ -183,7 +183,7 @@ namespace drawinglayer
const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; }
/// Override standard getDecomposition to be view-dependent here
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
diff --git a/include/drawinglayer/primitive2d/sceneprimitive2d.hxx b/include/drawinglayer/primitive2d/sceneprimitive2d.hxx
index 80c0e2a07e96..ba55c31414b7 100644
--- a/include/drawinglayer/primitive2d/sceneprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/sceneprimitive2d.hxx
@@ -98,7 +98,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// public helpers
@@ -145,7 +145,7 @@ namespace drawinglayer
DeclPrimitive2DIDBlock()
/// get local decomposition. Override since this decomposition is view-dependent
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
diff --git a/include/drawinglayer/primitive2d/shadowprimitive2d.hxx b/include/drawinglayer/primitive2d/shadowprimitive2d.hxx
index b3970df97d0e..13461f82478e 100644
--- a/include/drawinglayer/primitive2d/shadowprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/shadowprimitive2d.hxx
@@ -72,7 +72,7 @@ namespace drawinglayer
virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
/// create decomposition
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive2DIDBlock()
diff --git a/include/drawinglayer/primitive2d/svggradientprimitive2d.hxx b/include/drawinglayer/primitive2d/svggradientprimitive2d.hxx
index 9fa2cd4be8b8..1ac5b2f978c5 100644
--- a/include/drawinglayer/primitive2d/svggradientprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/svggradientprimitive2d.hxx
@@ -120,7 +120,7 @@ namespace drawinglayer
protected:
/// local helpers
- Primitive2DContainer createSingleGradientEntryFill() const;
+ void createSingleGradientEntryFill(Primitive2DContainer& rContainer) const;
virtual void createAtom(
Primitive2DContainer& rTargetColor,
Primitive2DContainer& rTargetOpacity,
@@ -135,7 +135,8 @@ namespace drawinglayer
const SvgGradientEntryVector& rEntries,
sal_Int32 nOffset) const;
virtual void checkPreconditions();
- Primitive2DContainer createResult(
+ void createResult(
+ Primitive2DContainer& rContainer,
const Primitive2DContainer& rTargetColor,
const Primitive2DContainer& rTargetOpacity,
const basegfx::B2DHomMatrix& rUnitGradientToObject,
@@ -196,7 +197,7 @@ namespace drawinglayer
virtual void checkPreconditions() override;
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -264,7 +265,7 @@ namespace drawinglayer
virtual void checkPreconditions() override;
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -319,7 +320,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -381,7 +382,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx b/include/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx
index 0ab2a29d2f6e..c1b0a57277a0 100644
--- a/include/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx
@@ -74,7 +74,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/texteffectprimitive2d.hxx b/include/drawinglayer/primitive2d/texteffectprimitive2d.hxx
index 6b16520dcd4c..733234ff6369 100644
--- a/include/drawinglayer/primitive2d/texteffectprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/texteffectprimitive2d.hxx
@@ -64,7 +64,7 @@ namespace drawinglayer
protected:
/// create local decomposition
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -93,7 +93,7 @@ namespace drawinglayer
DeclPrimitive2DIDBlock()
/// Override standard getDecomposition to be view-dependent here
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
diff --git a/include/drawinglayer/primitive2d/textlineprimitive2d.hxx b/include/drawinglayer/primitive2d/textlineprimitive2d.hxx
index 2fb9a4a5ec17..e9f5efe70c82 100644
--- a/include/drawinglayer/primitive2d/textlineprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/textlineprimitive2d.hxx
@@ -47,7 +47,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/textprimitive2d.hxx b/include/drawinglayer/primitive2d/textprimitive2d.hxx
index bed20c5de4b2..c9b250ceea78 100644
--- a/include/drawinglayer/primitive2d/textprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/textprimitive2d.hxx
@@ -135,7 +135,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx b/include/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx
index 5008fe41b307..b3771c56e8c6 100644
--- a/include/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx
@@ -76,7 +76,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
@@ -116,7 +116,7 @@ namespace drawinglayer
protected:
/// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx b/include/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx
index 6341d088f90a..e24f8f3a5474 100644
--- a/include/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx
@@ -60,7 +60,7 @@ namespace drawinglayer
virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
/// create decomposition
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
/// provide unique ID
DeclPrimitive2DIDBlock()
diff --git a/include/drawinglayer/primitive2d/wallpaperprimitive2d.hxx b/include/drawinglayer/primitive2d/wallpaperprimitive2d.hxx
index af3f256f147e..e6927398edad 100644
--- a/include/drawinglayer/primitive2d/wallpaperprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/wallpaperprimitive2d.hxx
@@ -53,7 +53,7 @@ namespace drawinglayer
protected:
/// create local decomposition
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/primitive2d/wrongspellprimitive2d.hxx b/include/drawinglayer/primitive2d/wrongspellprimitive2d.hxx
index 90c2bb2362c4..996d70362288 100644
--- a/include/drawinglayer/primitive2d/wrongspellprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/wrongspellprimitive2d.hxx
@@ -60,7 +60,7 @@ namespace drawinglayer
protected:
/// create local decomposition
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
/// constructor
diff --git a/include/drawinglayer/processor2d/baseprocessor2d.hxx b/include/drawinglayer/processor2d/baseprocessor2d.hxx
index 622828a9a50b..4ace7d8fa8a1 100644
--- a/include/drawinglayer/processor2d/baseprocessor2d.hxx
+++ b/include/drawinglayer/processor2d/baseprocessor2d.hxx
@@ -174,6 +174,9 @@ namespace drawinglayer
*/
virtual void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate);
+ void process(const primitive2d::BasePrimitive2D& rCandidate);
+
+
public:
/// constructor/destructor
explicit BaseProcessor2D(const geometry::ViewInformation2D& rViewInformation);
diff --git a/svx/inc/sdr/overlay/overlaytools.hxx b/svx/inc/sdr/overlay/overlaytools.hxx
index 197cc715106b..f267d444a73c 100644
--- a/svx/inc/sdr/overlay/overlaytools.hxx
+++ b/svx/inc/sdr/overlay/overlaytools.hxx
@@ -41,7 +41,7 @@ private:
double mfRotation;
protected:
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
OverlayStaticRectanglePrimitive(
@@ -87,7 +87,7 @@ namespace drawinglayer
double mfRotation;
protected:
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
OverlayBitmapExPrimitive(
@@ -132,7 +132,7 @@ namespace drawinglayer
double mfDiscreteDashLength;
protected:
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
OverlayCrosshairPrimitive(
@@ -180,7 +180,7 @@ namespace drawinglayer
double mfRotation;
protected:
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
OverlayRectanglePrimitive(
@@ -236,7 +236,7 @@ namespace drawinglayer
double mfDiscreteDashLength;
protected:
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
OverlayHelplineStripedPrimitive(
@@ -281,7 +281,7 @@ namespace drawinglayer
double mfDiscreteDashLength;
protected:
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
OverlayRollingRectanglePrimitive(
diff --git a/svx/inc/sdr/primitive2d/sdrcaptionprimitive2d.hxx b/svx/inc/sdr/primitive2d/sdrcaptionprimitive2d.hxx
index 656e8ea72384..a22cf0a5cc5d 100644
--- a/svx/inc/sdr/primitive2d/sdrcaptionprimitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrcaptionprimitive2d.hxx
@@ -44,7 +44,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrCaptionPrimitive2D(
diff --git a/svx/inc/sdr/primitive2d/sdrconnectorprimitive2d.hxx b/svx/inc/sdr/primitive2d/sdrconnectorprimitive2d.hxx
index fee50356d936..393520139ce9 100644
--- a/svx/inc/sdr/primitive2d/sdrconnectorprimitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrconnectorprimitive2d.hxx
@@ -40,7 +40,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrConnectorPrimitive2D(
diff --git a/svx/inc/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx b/svx/inc/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx
index 8697e1931ba1..1fe8b512bf4a 100644
--- a/svx/inc/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx
@@ -49,7 +49,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrCustomShapePrimitive2D(
diff --git a/svx/inc/sdr/primitive2d/sdrellipseprimitive2d.hxx b/svx/inc/sdr/primitive2d/sdrellipseprimitive2d.hxx
index 942c7026b0c2..b1951b845fc9 100644
--- a/svx/inc/sdr/primitive2d/sdrellipseprimitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrellipseprimitive2d.hxx
@@ -40,7 +40,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrEllipsePrimitive2D(
@@ -76,7 +76,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrEllipseSegmentPrimitive2D(
diff --git a/svx/inc/sdr/primitive2d/sdrgrafprimitive2d.hxx b/svx/inc/sdr/primitive2d/sdrgrafprimitive2d.hxx
index f92736db29a7..f8b09a182884 100644
--- a/svx/inc/sdr/primitive2d/sdrgrafprimitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrgrafprimitive2d.hxx
@@ -43,7 +43,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrGrafPrimitive2D(
diff --git a/svx/inc/sdr/primitive2d/sdrmeasureprimitive2d.hxx b/svx/inc/sdr/primitive2d/sdrmeasureprimitive2d.hxx
index 70d669275202..f155f309cc7d 100644
--- a/svx/inc/sdr/primitive2d/sdrmeasureprimitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrmeasureprimitive2d.hxx
@@ -74,7 +74,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrMeasurePrimitive2D(
diff --git a/svx/inc/sdr/primitive2d/sdrole2primitive2d.hxx b/svx/inc/sdr/primitive2d/sdrole2primitive2d.hxx
index 58579d8b1cf0..0855f028887a 100644
--- a/svx/inc/sdr/primitive2d/sdrole2primitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrole2primitive2d.hxx
@@ -54,7 +54,7 @@ namespace drawinglayer
virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
// local decomposition.
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
// provide unique ID
DeclPrimitive2DIDBlock()
diff --git a/svx/inc/sdr/primitive2d/sdrolecontentprimitive2d.hxx b/svx/inc/sdr/primitive2d/sdrolecontentprimitive2d.hxx
index e5999985017b..393c235af00c 100644
--- a/svx/inc/sdr/primitive2d/sdrolecontentprimitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrolecontentprimitive2d.hxx
@@ -47,7 +47,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrOleContentPrimitive2D(
diff --git a/svx/inc/sdr/primitive2d/sdrpathprimitive2d.hxx b/svx/inc/sdr/primitive2d/sdrpathprimitive2d.hxx
index 035a183f66f5..b60e9b3df565 100644
--- a/svx/inc/sdr/primitive2d/sdrpathprimitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrpathprimitive2d.hxx
@@ -42,7 +42,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrPathPrimitive2D(
diff --git a/svx/inc/sdr/primitive2d/sdrrectangleprimitive2d.hxx b/svx/inc/sdr/primitive2d/sdrrectangleprimitive2d.hxx
index dc2411ca8c88..5b0896daae6d 100644
--- a/svx/inc/sdr/primitive2d/sdrrectangleprimitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrrectangleprimitive2d.hxx
@@ -45,7 +45,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrRectanglePrimitive2D(
diff --git a/svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx b/svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx
index 9346f5d7e02f..523d70f7c0f2 100644
--- a/svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx
@@ -76,7 +76,7 @@ namespace drawinglayer
protected:
// support for XTEXT_PAINTSHAPE_BEGIN/XTEXT_PAINTSHAPE_END Metafile comments
- static Primitive2DContainer encapsulateWithTextHierarchyBlockPrimitive2D(const Primitive2DContainer& rCandidate);
+ static void encapsulateWithTextHierarchyBlockPrimitive2D(Primitive2DContainer& rContainer, const Primitive2DContainer& rCandidate);
public:
SdrTextPrimitive2D(
@@ -92,7 +92,7 @@ namespace drawinglayer
// own get2DDecomposition to take aspect of decomposition with or without spell checker
// into account
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
// transformed clone operator
virtual SdrTextPrimitive2D* createTransformedClone(const basegfx::B2DHomMatrix& rTransform) const = 0;
@@ -116,7 +116,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrContourTextPrimitive2D(
@@ -157,7 +157,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrPathTextPrimitive2D(
@@ -205,7 +205,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrBlockTextPrimitive2D(
@@ -257,7 +257,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrStretchTextPrimitive2D(
@@ -296,7 +296,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrAutoFitTextPrimitive2D(
@@ -333,7 +333,7 @@ namespace drawinglayer
::basegfx::B2DHomMatrix maTextRangeTransform; // text range transformation from unit range ([0.0 .. 1.0]) to text range
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrChainedTextPrimitive2D(
diff --git a/svx/source/sdr/contact/viewcontactofgraphic.cxx b/svx/source/sdr/contact/viewcontactofgraphic.cxx
index c4c336bff959..89b763deb3ef 100644
--- a/svx/source/sdr/contact/viewcontactofgraphic.cxx
+++ b/svx/source/sdr/contact/viewcontactofgraphic.cxx
@@ -283,9 +283,7 @@ namespace sdr
// decompose immediately with neutral ViewInformation. This will
// layout the text to more simple TextPrimitives from drawinglayer
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
-
- drawinglayer::primitive2d::Primitive2DContainer aDecomposition(xBlockTextPrimitive->get2DDecomposition(aViewInformation2D));
- xRetval.insert(xRetval.end(), aDecomposition.begin(), aDecomposition.end());
+ xBlockTextPrimitive->get2DDecomposition(xRetval, aViewInformation2D);
}
}
diff --git a/svx/source/sdr/contact/viewobjectcontact.cxx b/svx/source/sdr/contact/viewobjectcontact.cxx
index af86f2d4079d..d3fe81986103 100644
--- a/svx/source/sdr/contact/viewobjectcontact.cxx
+++ b/svx/source/sdr/contact/viewobjectcontact.cxx
@@ -143,7 +143,7 @@ void AnimatedExtractingProcessor2D::processBasePrimitive2D(const drawinglayer::p
case PRIMITIVE2D_ID_MASKPRIMITIVE2D :
case PRIMITIVE2D_ID_GROUPPRIMITIVE2D :
{
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ process(rCandidate);
break;
}
diff --git a/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx b/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx
index 6e6b0559fc7c..06009352fa80 100644
--- a/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx
+++ b/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx
@@ -779,13 +779,14 @@ namespace sdr { namespace contact {
typedef ::drawinglayer::primitive2d::BufferedDecompositionPrimitive2D BufferedDecompositionPrimitive2D;
protected:
- virtual ::drawinglayer::primitive2d::Primitive2DContainer
+ virtual void
get2DDecomposition(
+ ::drawinglayer::primitive2d::Primitive2DContainer& rContainer,
const ::drawinglayer::geometry::ViewInformation2D& rViewInformation
) const override;
- virtual ::drawinglayer::primitive2d::Primitive2DContainer
- create2DDecomposition(
+ virtual void create2DDecomposition(
+ ::drawinglayer::primitive2d::Primitive2DContainer& rContainer,
const ::drawinglayer::geometry::ViewInformation2D& rViewInformation
) const override;
@@ -1528,7 +1529,7 @@ namespace sdr { namespace contact {
}
- ::drawinglayer::primitive2d::Primitive2DContainer LazyControlCreationPrimitive2D::get2DDecomposition( const ::drawinglayer::geometry::ViewInformation2D& _rViewInformation ) const
+ void LazyControlCreationPrimitive2D::get2DDecomposition( ::drawinglayer::primitive2d::Primitive2DContainer& rContainer, const ::drawinglayer::geometry::ViewInformation2D& _rViewInformation ) const
{
#if OSL_DEBUG_LEVEL > 0
::basegfx::B2DVector aScale, aTranslate;
@@ -1537,11 +1538,11 @@ namespace sdr { namespace contact {
#endif
if ( m_pVOCImpl->hasControl() )
impl_positionAndZoomControl( _rViewInformation );
- return BufferedDecompositionPrimitive2D::get2DDecomposition( _rViewInformation );
+ BufferedDecompositionPrimitive2D::get2DDecomposition( rContainer, _rViewInformation );
}
- ::drawinglayer::primitive2d::Primitive2DContainer LazyControlCreationPrimitive2D::create2DDecomposition( const ::drawinglayer::geometry::ViewInformation2D& _rViewInformation ) const
+ void LazyControlCreationPrimitive2D::create2DDecomposition( ::drawinglayer::primitive2d::Primitive2DContainer& rContainer, const ::drawinglayer::geometry::ViewInformation2D& _rViewInformation ) const
{
#if OSL_DEBUG_LEVEL > 0
::basegfx::B2DVector aScale, aTranslate;
@@ -1568,17 +1569,19 @@ namespace sdr { namespace contact {
// check if we already have an XControl.
if ( !xControlModel.is() || !rControl.is() )
+ {
// use the default mechanism. This will create a ControlPrimitive2D without
// handing over a XControl. If not even a XControlModel exists, it will
// create the SdrObject fallback visualisation
- return rViewContactOfUnoControl.getViewIndependentPrimitive2DSequence();
+ drawinglayer::primitive2d::Primitive2DContainer aTmp = rViewContactOfUnoControl.getViewIndependentPrimitive2DSequence();
+ rContainer.insert(rContainer.end(), aTmp.begin(), aTmp.end());
+ return;
+ }
// create a primitive and hand over the existing xControl. This will
// allow the primitive to not need to create another one on demand.
- const drawinglayer::primitive2d::Primitive2DReference xRetval( new ::drawinglayer::primitive2d::ControlPrimitive2D(
+ rContainer.push_back( new ::drawinglayer::primitive2d::ControlPrimitive2D(
m_aTransformation, xControlModel, rControl.getControl() ) );
-
- return drawinglayer::primitive2d::Primitive2DContainer { xRetval };
}
diff --git a/svx/source/sdr/overlay/overlaytools.cxx b/svx/source/sdr/overlay/overlaytools.cxx
index 75bcee0de02b..c0a5acc66fa5 100644
--- a/svx/source/sdr/overlay/overlaytools.cxx
+++ b/svx/source/sdr/overlay/overlaytools.cxx
@@ -54,7 +54,7 @@ OverlayStaticRectanglePrimitive::OverlayStaticRectanglePrimitive(
, mfRotation(fRotation)
{}
-Primitive2DContainer OverlayStaticRectanglePrimitive::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+void OverlayStaticRectanglePrimitive::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
Primitive2DContainer aPrimitive2DSequence;
const double fHalfWidth = maSize.getX() * getDiscreteUnit() / 2.0;
@@ -99,7 +99,7 @@ Primitive2DContainer OverlayStaticRectanglePrimitive::create2DDecomposition(cons
}
}
- return aPrimitive2DSequence;
+ rContainer.insert(rContainer.end(), aPrimitive2DSequence.begin(), aPrimitive2DSequence.end());
}
bool OverlayStaticRectanglePrimitive::operator==(const BasePrimitive2D& rPrimitive) const
@@ -143,9 +143,8 @@ namespace drawinglayer
mfRotation(fRotation)
{}
- Primitive2DContainer OverlayBitmapExPrimitive::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void OverlayBitmapExPrimitive::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DContainer aRetval;
const Size aBitmapSize(getBitmapEx().GetSizePixel());
if(aBitmapSize.Width() && aBitmapSize.Height() && basegfx::fTools::more(getDiscreteUnit(), 0.0))
@@ -183,11 +182,8 @@ namespace drawinglayer
// add BasePosition
aTransform.translate(getBasePosition().getX(), getBasePosition().getY());
- const Primitive2DReference aPrimitive(new BitmapPrimitive2D(getBitmapEx(), aTransform));
- aRetval = Primitive2DContainer { aPrimitive };
+ rContainer.push_back(new BitmapPrimitive2D(getBitmapEx(), aTransform));
}
-
- return aRetval;
}
bool OverlayBitmapExPrimitive::operator==( const BasePrimitive2D& rPrimitive ) const
@@ -229,20 +225,18 @@ namespace drawinglayer
mfDiscreteDashLength(fDiscreteDashLength)
{}
- Primitive2DContainer OverlayCrosshairPrimitive::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void OverlayCrosshairPrimitive::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
// use the prepared Viewport information accessible using getViewport()
- Primitive2DContainer aRetval;
if(!getViewport().isEmpty())
{
- aRetval.resize(2);
basegfx::B2DPolygon aPolygon;
aPolygon.append(basegfx::B2DPoint(getViewport().getMinX(), getBasePosition().getY()));
aPolygon.append(basegfx::B2DPoint(getViewport().getMaxX(), getBasePosition().getY()));
- aRetval[0] = Primitive2DReference(
+ rContainer.push_back(
new PolygonMarkerPrimitive2D(
aPolygon,
getRGBColorA(),
@@ -253,15 +247,13 @@ namespace drawinglayer
aPolygon.append(basegfx::B2DPoint(getBasePosition().getX(), getViewport().getMinY()));
aPolygon.append(basegfx::B2DPoint(getBasePosition().getX(), getViewport().getMaxY()));
- aRetval[1] = Primitive2DReference(
+ rContainer.push_back(
new PolygonMarkerPrimitive2D(
aPolygon,
getRGBColorA(),
getRGBColorB(),
getDiscreteDashLength()));
}
-
- return aRetval;
}
bool OverlayCrosshairPrimitive::operator==( const BasePrimitive2D& rPrimitive ) const
@@ -305,7 +297,7 @@ namespace drawinglayer
mfRotation(fRotation)
{}
- Primitive2DContainer OverlayRectanglePrimitive::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void OverlayRectanglePrimitive::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
Primitive2DContainer aRetval;
basegfx::B2DRange aInnerRange(getObjectRange());
@@ -392,7 +384,7 @@ namespace drawinglayer
}
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
bool OverlayRectanglePrimitive::operator==( const BasePrimitive2D& rPrimitive ) const
@@ -436,10 +428,9 @@ namespace drawinglayer
mfDiscreteDashLength(fDiscreteDashLength)
{}
- Primitive2DContainer OverlayHelplineStripedPrimitive::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void OverlayHelplineStripedPrimitive::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
// use the prepared Viewport information accessible using getViewport()
- Primitive2DContainer aRetval;
if(!getViewport().isEmpty())
{
@@ -447,13 +438,12 @@ namespace drawinglayer
{
case HELPLINESTYLE_VERTICAL :
{
- aRetval.resize(1);
basegfx::B2DPolygon aLine;
aLine.append(basegfx::B2DPoint(getBasePosition().getX(), getViewport().getMinY()));
aLine.append(basegfx::B2DPoint(getBasePosition().getX(), getViewport().getMaxY()));
- aRetval[0] = Primitive2DReference(
+ rContainer.push_back(
new PolygonMarkerPrimitive2D(
aLine,
getRGBColorA(),
@@ -464,13 +454,12 @@ namespace drawinglayer
case HELPLINESTYLE_HORIZONTAL :
{
- aRetval.resize(1);
basegfx::B2DPolygon aLine;
aLine.append(basegfx::B2DPoint(getViewport().getMinX(), getBasePosition().getY()));
aLine.append(basegfx::B2DPoint(getViewport().getMaxX(), getBasePosition().getY()));
- aRetval[0] = Primitive2DReference(
+ rContainer.push_back(
new PolygonMarkerPrimitive2D(
aLine,
getRGBColorA(),
@@ -482,13 +471,12 @@ namespace drawinglayer
default: // case HELPLINESTYLE_POINT :
{
const double fDiscreteUnit((rViewInformation.getInverseObjectToViewTransformation() * basegfx::B2DVector(1.0, 0.0)).getLength());
- aRetval.resize(2);
basegfx::B2DPolygon aLineA, aLineB;
aLineA.append(basegfx::B2DPoint(getBasePosition().getX(), getBasePosition().getY() - fDiscreteUnit));
aLineA.append(basegfx::B2DPoint(getBasePosition().getX(), getBasePosition().getY() + fDiscreteUnit));
- aRetval[0] = Primitive2DReference(
+ rContainer.push_back(
new PolygonMarkerPrimitive2D(
aLineA,
getRGBColorA(),
@@ -498,7 +486,7 @@ namespace drawinglayer
aLineB.append(basegfx::B2DPoint(getBasePosition().getX() - fDiscreteUnit, getBasePosition().getY()));
aLineB.append(basegfx::B2DPoint(getBasePosition().getX() + fDiscreteUnit, getBasePosition().getY()));
- aRetval[1] = Primitive2DReference(
+ rContainer.push_back(
new PolygonMarkerPrimitive2D(
aLineB,
getRGBColorA(),
@@ -509,8 +497,6 @@ namespace drawinglayer
}
}
}
-
- return aRetval;
}
bool OverlayHelplineStripedPrimitive::operator==( const BasePrimitive2D& rPrimitive ) const
@@ -551,61 +537,57 @@ namespace drawinglayer
mfDiscreteDashLength(fDiscreteDashLength)
{}
- Primitive2DContainer OverlayRollingRectanglePrimitive::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void OverlayRollingRectanglePrimitive::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
// use the prepared Viewport information accessible using getViewport()
- Primitive2DContainer aRetval;
if(!getViewport().isEmpty())
{
basegfx::B2DPolygon aLine;
- aRetval.resize(8);
// Left lines
aLine.append(basegfx::B2DPoint(getViewport().getMinX(), getRollingRectangle().getMinY()));
aLine.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getRollingRectangle().getMinY()));
- aRetval[0] = Primitive2DReference(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
+ rContainer.push_back(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
aLine.clear();
aLine.append(basegfx::B2DPoint(getViewport().getMinX(), getRollingRectangle().getMaxY()));
aLine.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getRollingRectangle().getMaxY()));
- aRetval[1] = Primitive2DReference(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
+ rContainer.push_back(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
// Right lines
aLine.clear();
aLine.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getRollingRectangle().getMinY()));
aLine.append(basegfx::B2DPoint(getViewport().getMaxX(), getRollingRectangle().getMinY()));
- aRetval[2] = Primitive2DReference(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
+ rContainer.push_back(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
aLine.clear();
aLine.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getRollingRectangle().getMaxY()));
aLine.append(basegfx::B2DPoint(getViewport().getMaxX(), getRollingRectangle().getMaxY()));
- aRetval[3] = Primitive2DReference(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
+ rContainer.push_back(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
// Top lines
aLine.clear();
aLine.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getViewport().getMinY()));
aLine.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getRollingRectangle().getMinY()));
- aRetval[4] = Primitive2DReference(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
+ rContainer.push_back(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
aLine.clear();
aLine.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getViewport().getMinY()));
aLine.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getRollingRectangle().getMinY()));
- aRetval[5] = Primitive2DReference(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
+ rContainer.push_back(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
// Bottom lines
aLine.clear();
aLine.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getRollingRectangle().getMaxY()));
aLine.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getViewport().getMaxY()));
- aRetval[6] = Primitive2DReference(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
+ rContainer.push_back(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
aLine.clear();
aLine.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getRollingRectangle().getMaxY()));
aLine.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getViewport().getMaxY()));
- aRetval[7] = Primitive2DReference(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
+ rContainer.push_back(new PolygonMarkerPrimitive2D(aLine, getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
}
-
- return aRetval;
}
bool OverlayRollingRectanglePrimitive::operator==( const BasePrimitive2D& rPrimitive ) const
diff --git a/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx
index 434290324386..62c4133bce57 100644
--- a/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx
@@ -32,7 +32,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SdrCaptionPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*aViewInformation*/) const
+ void SdrCaptionPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*aViewInformation*/) const
{
Primitive2DContainer aRetval;
@@ -120,7 +120,7 @@ namespace drawinglayer
aRetval = createEmbeddedShadowPrimitive(aRetval, getSdrLFSTAttribute().getShadow());
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
SdrCaptionPrimitive2D::SdrCaptionPrimitive2D(
diff --git a/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx
index 784aabb76165..b40dda55e69c 100644
--- a/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx
@@ -33,7 +33,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SdrConnectorPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*aViewInformation*/) const
+ void SdrConnectorPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*aViewInformation*/) const
{
Primitive2DContainer aRetval;
@@ -76,7 +76,7 @@ namespace drawinglayer
getSdrLSTAttribute().getShadow());
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
SdrConnectorPrimitive2D::SdrConnectorPrimitive2D(
diff --git a/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
index df9b6e7a9937..5677fb20f86d 100644
--- a/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
@@ -33,7 +33,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SdrCustomShapePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*aViewInformation*/) const
+ void SdrCustomShapePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*aViewInformation*/) const
{
Primitive2DContainer aRetval(getSubPrimitives());
@@ -72,7 +72,7 @@ namespace drawinglayer
}
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
SdrCustomShapePrimitive2D::SdrCustomShapePrimitive2D(
diff --git a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
index 93755067adc3..fd8a34330ef4 100644
--- a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
+++ b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
@@ -438,7 +438,8 @@ namespace drawinglayer
// use the decomposition to force to simple text primitives, those will no longer
// need the outliner for formatting (alternatively it is also possible to just add
// pNew to aNewPrimitiveSequence)
- Primitive2DContainer aAnimSequence(pNew->get2DDecomposition(aViewInformation2D));
+ Primitive2DContainer aAnimSequence;
+ pNew->get2DDecomposition(aAnimSequence, aViewInformation2D);
delete pNew;
// create a new animatedInterpolatePrimitive and add it
diff --git a/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx
index 6fbcb8a168ee..f9a02ff47031 100644
--- a/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx
@@ -35,7 +35,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SdrEllipsePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*aViewInformation*/) const
+ void SdrEllipsePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*aViewInformation*/) const
{
Primitive2DContainer aRetval;
@@ -109,7 +109,7 @@ namespace drawinglayer
getSdrLFSTAttribute().getShadow());
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
SdrEllipsePrimitive2D::SdrEllipsePrimitive2D(
@@ -145,7 +145,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SdrEllipseSegmentPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*aViewInformation*/) const
+ void SdrEllipseSegmentPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*aViewInformation*/) const
{
Primitive2DContainer aRetval;
@@ -228,7 +228,7 @@ namespace drawinglayer
getSdrLFSTAttribute().getShadow());
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
SdrEllipseSegmentPrimitive2D::SdrEllipseSegmentPrimitive2D(
diff --git a/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
index 9c37d4a84f3a..8c7814de0f9d 100644
--- a/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
@@ -32,7 +32,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SdrGrafPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*aViewInformation*/) const
+ void SdrGrafPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*aViewInformation*/) const
{
Primitive2DContainer aRetval;
@@ -126,7 +126,7 @@ namespace drawinglayer
getSdrLFSTAttribute().getShadow());
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
SdrGrafPrimitive2D::SdrGrafPrimitive2D(
diff --git a/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx
index ecedcea23397..29eb158b776b 100644
--- a/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx
@@ -82,7 +82,7 @@ namespace drawinglayer
aLineStartEnd);
}
- Primitive2DContainer SdrMeasurePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const
+ void SdrMeasurePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const
{
Primitive2DContainer aRetval;
rtl::Reference<SdrBlockTextPrimitive2D> xBlockText;
@@ -434,7 +434,7 @@ namespace drawinglayer
getSdrLSTAttribute().getShadow());
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
SdrMeasurePrimitive2D::SdrMeasurePrimitive2D(
diff --git a/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx b/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx
index ce032ab4454e..7fe161f3b14d 100644
--- a/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx
@@ -66,7 +66,7 @@ namespace drawinglayer
return false;
}
- Primitive2DContainer SdrOle2Primitive2D::get2DDecomposition(const geometry::ViewInformation2D& /*aViewInformation*/) const
+ void SdrOle2Primitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*aViewInformation*/) const
{
// to take care of getSdrLFSTAttribute() later, the same as in SdrGrafPrimitive2D::create2DDecomposition
// should happen. For the moment we only need the OLE itself
@@ -170,7 +170,7 @@ namespace drawinglayer
getSdrLFSTAttribute().getShadow());
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
// provide unique ID
diff --git a/svx/source/sdr/primitive2d/sdrolecontentprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrolecontentprimitive2d.cxx
index 83ced58e54a8..27bdb899a3ab 100644
--- a/svx/source/sdr/primitive2d/sdrolecontentprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrolecontentprimitive2d.cxx
@@ -33,9 +33,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SdrOleContentPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*aViewInformation*/) const
+ void SdrOleContentPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*aViewInformation*/) const
{
- Primitive2DContainer aRetval;
const SdrOle2Obj* pSource = (mpSdrOle2Obj.is() ? static_cast< SdrOle2Obj* >(mpSdrOle2Obj.get()) : nullptr);
bool bScaleContent(false);
Graphic aGraphic;
@@ -98,7 +97,7 @@ namespace drawinglayer
aInnerObjectMatrix,
aGraphicObject,
aGraphicAttr));
- aRetval.push_back(aGraphicPrimitive);
+ rContainer.push_back(aGraphicPrimitive);
}
}
else
@@ -109,7 +108,7 @@ namespace drawinglayer
getObjectTransform(),
aGraphicObject,
aGraphicAttr));
- aRetval.push_back(aGraphicPrimitive);
+ rContainer.push_back(aGraphicPrimitive);
}
// a standard gray outline is created for scaled content
@@ -125,13 +124,10 @@ namespace drawinglayer
aOutline.transform(getObjectTransform());
const drawinglayer::primitive2d::Primitive2DReference xOutline(
new drawinglayer::primitive2d::PolygonHairlinePrimitive2D(aOutline, aVclColor.getBColor()));
- aRetval.push_back(xOutline);
+ rContainer.push_back(xOutline);
}
}
}
-
- // get graphic and check scale content state
- return aRetval;
}
SdrOleContentPrimitive2D::SdrOleContentPrimitive2D(
diff --git a/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx
index 8abcd06555b2..9f7e1bcdc1f9 100644
--- a/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx
@@ -32,7 +32,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SdrPathPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*aViewInformation*/) const
+ void SdrPathPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*aViewInformation*/) const
{
Primitive2DContainer aRetval;
@@ -102,7 +102,7 @@ namespace drawinglayer
getSdrLFSTAttribute().getShadow());
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
SdrPathPrimitive2D::SdrPathPrimitive2D(
diff --git a/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx
index 22b3a061a410..466292606557 100644
--- a/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx
@@ -33,7 +33,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SdrRectanglePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*aViewInformation*/) const
+ void SdrRectanglePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*aViewInformation*/) const
{
Primitive2DContainer aRetval;
@@ -111,7 +111,7 @@ namespace drawinglayer
getSdrLFSTAttribute().getShadow());
}
- return aRetval;
+ rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
SdrRectanglePrimitive2D::SdrRectanglePrimitive2D(
diff --git a/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
index 0e1606697598..ab8ca841a889 100644
--- a/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
@@ -90,12 +90,9 @@ namespace drawinglayer
// support for XTEXT_PAINTSHAPE_BEGIN/XTEXT_PAINTSHAPE_END Metafile comments
// for slideshow. This uses TextHierarchyBlockPrimitive2D to mark a text block.
// ATM there is only one text block per SdrObject, this may get more in the future
- Primitive2DContainer SdrTextPrimitive2D::encapsulateWithTextHierarchyBlockPrimitive2D(const Primitive2DContainer& rCandidate)
+ void SdrTextPrimitive2D::encapsulateWithTextHierarchyBlockPrimitive2D(Primitive2DContainer& rContainer, const Primitive2DContainer& rCandidate)
{
- Primitive2DReference xReference(new TextHierarchyBlockPrimitive2D(rCandidate));
- Primitive2DContainer xRetval { xReference };
-
- return xRetval;
+ rContainer.push_back(new TextHierarchyBlockPrimitive2D(rCandidate));
}
SdrTextPrimitive2D::SdrTextPrimitive2D(
@@ -140,7 +137,7 @@ namespace drawinglayer
return false;
}
- Primitive2DContainer SdrTextPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void SdrTextPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
uno::Reference< drawing::XDrawPage > xCurrentlyVisualizingPage;
bool bCurrentlyVisualizingPageIsSet(false);
@@ -237,7 +234,7 @@ namespace drawinglayer
}
// call parent
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
} // end of namespace primitive2d
} // end of namespace drawinglayer
@@ -247,12 +244,12 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SdrContourTextPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const
+ void SdrContourTextPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const
{
Primitive2DContainer aRetval;
getSdrText()->GetObject().impDecomposeContourTextPrimitive(aRetval, *this, aViewInformation);
- return encapsulateWithTextHierarchyBlockPrimitive2D(aRetval);
+ encapsulateWithTextHierarchyBlockPrimitive2D(rContainer, aRetval);
}
SdrContourTextPrimitive2D::SdrContourTextPrimitive2D(
@@ -299,12 +296,12 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SdrPathTextPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const
+ void SdrPathTextPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const
{
Primitive2DContainer aRetval;
getSdrText()->GetObject().impDecomposePathTextPrimitive(aRetval, *this, aViewInformation);
- return encapsulateWithTextHierarchyBlockPrimitive2D(aRetval);
+ encapsulateWithTextHierarchyBlockPrimitive2D(rContainer, aRetval);
}
SdrPathTextPrimitive2D::SdrPathTextPrimitive2D(
@@ -354,12 +351,12 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SdrBlockTextPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const
+ void SdrBlockTextPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const
{
Primitive2DContainer aRetval;
getSdrText()->GetObject().impDecomposeBlockTextPrimitive(aRetval, *this, aViewInformation);
- return encapsulateWithTextHierarchyBlockPrimitive2D(aRetval);
+ encapsulateWithTextHierarchyBlockPrimitive2D(rContainer, aRetval);
}
SdrBlockTextPrimitive2D::SdrBlockTextPrimitive2D(
@@ -430,12 +427,12 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SdrAutoFitTextPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const
+ void SdrAutoFitTextPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const
{
Primitive2DContainer aRetval;
getSdrText()->GetObject().impDecomposeAutoFitTextPrimitive(aRetval, *this, aViewInformation);
- return encapsulateWithTextHierarchyBlockPrimitive2D(aRetval);
+ encapsulateWithTextHierarchyBlockPrimitive2D(rContainer, aRetval);
}
SdrAutoFitTextPrimitive2D::SdrAutoFitTextPrimitive2D(
@@ -486,12 +483,12 @@ namespace drawinglayer
maTextRangeTransform(rTextRangeTransform)
{ }
- Primitive2DContainer SdrChainedTextPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const
+ void SdrChainedTextPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const
{
Primitive2DContainer aRetval;
getSdrText()->GetObject().impDecomposeChainedTextPrimitive(aRetval, *this, aViewInformation);
- return encapsulateWithTextHierarchyBlockPrimitive2D(aRetval);
+ encapsulateWithTextHierarchyBlockPrimitive2D(rContainer, aRetval);
}
bool SdrChainedTextPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
@@ -521,12 +518,12 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SdrStretchTextPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const
+ void SdrStretchTextPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const
{
Primitive2DContainer aRetval;
getSdrText()->GetObject().impDecomposeStretchTextPrimitive(aRetval, *this, aViewInformation);
- return encapsulateWithTextHierarchyBlockPrimitive2D(aRetval);
+ encapsulateWithTextHierarchyBlockPrimitive2D(rContainer, aRetval);
}
SdrStretchTextPrimitive2D::SdrStretchTextPrimitive2D(
diff --git a/svx/source/table/viewcontactoftableobj.cxx b/svx/source/table/viewcontactoftableobj.cxx
index 6c19f3dab40e..24fc6655b86e 100644
--- a/svx/source/table/viewcontactoftableobj.cxx
+++ b/svx/source/table/viewcontactoftableobj.cxx
@@ -58,7 +58,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrCellPrimitive2D(
@@ -81,10 +81,9 @@ namespace drawinglayer
DeclPrimitive2DIDBlock()
};
- Primitive2DContainer SdrCellPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*aViewInformation*/) const
+ void SdrCellPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*aViewInformation*/) const
{
// prepare unit polygon
- Primitive2DContainer aRetval;
const basegfx::B2DPolyPolygon aUnitPolyPolygon(basegfx::tools::createUnitPolygon());
// add fill
@@ -93,7 +92,7 @@ namespace drawinglayer
basegfx::B2DPolyPolygon aTransformed(aUnitPolyPolygon);
aTransformed.transform(getTransform());
- aRetval.push_back(
+ rContainer.push_back(
createPolyPolygonFillPrimitive(
aTransformed,
getSdrFTAttribute().getFill(),
@@ -102,7 +101,7 @@ namespace drawinglayer
else
{
// if no fill create one for HitTest and BoundRect fallback
- aRetval.push_back(
+ rContainer.push_back(
createHiddenGeometryPrimitives2D(
true,
aUnitPolyPolygon,
@@ -112,7 +111,7 @@ namespace drawinglayer
// add text
if(!getSdrFTAttribute().getText().isDefault())
{
- aRetval.push_back(
+ rContainer.push_back(
createTextPrimitive(
aUnitPolyPolygon,
getTransform(),
@@ -122,8 +121,6 @@ namespace drawinglayer
false,
false));
}
-
- return aRetval;
}
bool SdrCellPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
@@ -176,7 +173,7 @@ namespace drawinglayer
protected:
// local decomposition.
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& aViewInformation) const override;
public:
SdrBorderlinePrimitive2D(
@@ -279,10 +276,8 @@ namespace drawinglayer
return (double)nValue;
}
- Primitive2DContainer SdrBorderlinePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*aViewInformation*/) const
+ void SdrBorderlinePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*aViewInformation*/) const
{
- Primitive2DContainer xRetval(4);
- sal_uInt32 nInsert(0);
const double fTwipsToMM(127.0 / 72.0);
if(!getLeftLine().isEmpty())
@@ -303,7 +298,7 @@ namespace drawinglayer
const double fExtendOS(getExtend(maTopFromLLine, getTopLine()));
const double fExtendOE(getExtend(maBottomFromLLine, getBottomLine()));
- xRetval[nInsert++] = Primitive2DReference(new BorderLinePrimitive2D(
+ rContainer.push_back(new BorderLinePrimitive2D(
aStart,
aEnd,
getChangedValue(getLeftLine().GetOutWidth(), true/*InTwips*/),
@@ -334,7 +329,7 @@ namespace drawinglayer
const double fExtendOS(getExtend(maLeftFromBLine, getLeftLine()));
const double fExtendOE(getExtend(maRightFromBLine, getRightLine()));
- xRetval[nInsert++] = Primitive2DReference(new BorderLinePrimitive2D(
+ rContainer.push_back(new BorderLinePrimitive2D(
aStart,
aEnd,
getChangedValue(getBottomLine().GetOutWidth(), true/*InTwips*/),
@@ -365,7 +360,7 @@ namespace drawinglayer
const double fExtendOS(getExtend(maTopFromRLine, getTopLine()));
const double fExtendOE(getExtend(maBottomFromRLine, getBottomLine()));
- xRetval[nInsert++] = Primitive2DReference(new BorderLinePrimitive2D(
+ rContainer.push_back(new BorderLinePrimitive2D(
aStart,
aEnd,
getChangedValue(getRightLine().GetOutWidth(), true/*InTwips*/),
@@ -401,7 +396,7 @@ namespace drawinglayer
const double fExtendOS(getExtend(maLeftFromTLine, getLeftLine()));
const double fExtendOE(getExtend(maRightFromTLine, getRightLine()));
- xRetval[nInsert++] = Primitive2DReference(new BorderLinePrimitive2D(
+ rContainer.push_back(new BorderLinePrimitive2D(
aStart,
aEnd,
getChangedValue(getTopLine().GetOutWidth(), true/*InTwips*/),
@@ -418,9 +413,6 @@ namespace drawinglayer
getTopLine().GetBorderLineStyle()));
}
}
-
- xRetval.resize(nInsert);
- return xRetval;
}
bool SdrBorderlinePrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
diff --git a/sw/source/core/draw/dflyobj.cxx b/sw/source/core/draw/dflyobj.cxx
index 18e24fd286d2..fd85ace26495 100644
--- a/sw/source/core/draw/dflyobj.cxx
+++ b/sw/source/core/draw/dflyobj.cxx
@@ -154,7 +154,7 @@ namespace drawinglayer
protected:
/// method which is to be used to implement the local decomposition of a 2D primitive
- virtual Primitive2DContainer create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
public:
SwVirtFlyDrawObjPrimitive(
@@ -171,7 +171,7 @@ namespace drawinglayer
virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
// override to allow callbacks to wrap_DoPaintObject
- virtual Primitive2DContainer get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
// data read access
const SwVirtFlyDrawObj& getSwVirtFlyDrawObj() const { return mrSwVirtFlyDrawObj; }
@@ -187,10 +187,8 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DContainer SwVirtFlyDrawObjPrimitive::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void SwVirtFlyDrawObjPrimitive::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DContainer aRetval;
-
if(!getOuterRange().isEmpty())
{
// currently this SW object has no primitive representation. As long as this is the case,
@@ -199,15 +197,11 @@ namespace drawinglayer
// the old SwVirtFlyDrawObj::CheckHit implementation are handled now in SwDrawView::PickObj;
// this removed the 'hack' to get a view from inside model data or to react on null-tolerance
// as it was done in the old implementation
- const Primitive2DReference aHitTestReference(
+ rContainer.push_back(
createHiddenGeometryPrimitives2D(
true,
getOuterRange()));
-
- aRetval = Primitive2DContainer { aHitTestReference };
}
-
- return aRetval;
}
bool SwVirtFlyDrawObjPrimitive::operator==(const BasePrimitive2D& rPrimitive) const
@@ -228,7 +222,7 @@ namespace drawinglayer
return getOuterRange();
}
- Primitive2DContainer SwVirtFlyDrawObjPrimitive::get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
+ void SwVirtFlyDrawObjPrimitive::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
{
// This is the callback to keep the FlyFrame painting in SW alive as long as it
// is not changed to primitives. This is the method which will be called by the processors
@@ -238,7 +232,7 @@ namespace drawinglayer
getSwVirtFlyDrawObj().wrap_DoPaintObject(rViewInformation);
// call parent
- return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
}
// provide unique ID
diff --git a/sw/source/uibase/docvw/AnchorOverlayObject.cxx b/sw/source/uibase/docvw/AnchorOverlayObject.cxx
index c3a6ea8a863d..b92574c3036c 100644
--- a/sw/source/uibase/docvw/AnchorOverlayObject.cxx
+++ b/sw/source/uibase/docvw/AnchorOverlayObject.cxx
@@ -50,7 +50,8 @@ private:
bool mbLineSolid : 1;
protected:
- virtual drawinglayer::primitive2d::Primitive2DContainer create2DDecomposition(
+ virtual void create2DDecomposition(
+ drawinglayer::primitive2d::Primitive2DContainer& rContainer,
const drawinglayer::geometry::ViewInformation2D& rViewInformation) const override;
public:
@@ -81,11 +82,10 @@ public:
DeclPrimitive2DIDBlock()
};
-drawinglayer::primitive2d::Primitive2DContainer AnchorPrimitive::create2DDecomposition(
+void AnchorPrimitive::create2DDecomposition(
+ drawinglayer::primitive2d::Primitive2DContainer& rContainer,
const drawinglayer::geometry::ViewInformation2D& /*rViewInformation*/) const
{
- drawinglayer::primitive2d::Primitive2DContainer aRetval;
-
if ( AS_TRI == maAnchorState ||
AS_ALL == maAnchorState ||
AS_START == maAnchorState )
@@ -96,7 +96,7 @@ drawinglayer::primitive2d::Primitive2DContainer AnchorPrimitive::create2DDecompo
basegfx::B2DPolyPolygon(maTriangle),
getColor()));
- aRetval.push_back(aTriangle);
+ rContainer.push_back(aTriangle);
}
// prepare view-independent LineWidth and color
@@ -115,7 +115,7 @@ drawinglayer::primitive2d::Primitive2DContainer AnchorPrimitive::create2DDecompo
getLine(),
aLineAttribute));
- aRetval.push_back(aSolidLine);
+ rContainer.push_back(aSolidLine);
}
else
{
@@ -136,7 +136,7 @@ drawinglayer::primitive2d::Primitive2DContainer AnchorPrimitive::create2DDecompo
aLineAttribute,
aStrokeAttribute));
- aRetval.push_back(aStrokedLine);
+ rContainer.push_back(aStrokedLine);
}
}
@@ -150,10 +150,8 @@ drawinglayer::primitive2d::Primitive2DContainer AnchorPrimitive::create2DDecompo
maLineTop,
aLineAttribute));
- aRetval.push_back(aLineTop);
+ rContainer.push_back(aLineTop);
}
-
- return aRetval;
}
bool AnchorPrimitive::operator==( const drawinglayer::primitive2d::BasePrimitive2D& rPrimitive ) const
diff --git a/sw/source/uibase/docvw/ShadowOverlayObject.cxx b/sw/source/uibase/docvw/ShadowOverlayObject.cxx
index 7bf63c5ca7b0..526a6162aad9 100644
--- a/sw/source/uibase/docvw/ShadowOverlayObject.cxx
+++ b/sw/source/uibase/docvw/ShadowOverlayObject.cxx
@@ -44,7 +44,8 @@ private:
ShadowState maShadowState;
protected:
- virtual drawinglayer::primitive2d::Primitive2DContainer create2DDecomposition(
+ virtual void create2DDecomposition(
+ drawinglayer::primitive2d::Primitive2DContainer& rContainer,
const drawinglayer::geometry::ViewInformation2D& rViewInformation) const override;
public:
@@ -66,11 +67,11 @@ public:
DeclPrimitive2DIDBlock()
};
-drawinglayer::primitive2d::Primitive2DContainer ShadowPrimitive::create2DDecomposition(
+void ShadowPrimitive::create2DDecomposition(
+ drawinglayer::primitive2d::Primitive2DContainer& rContainer,
const drawinglayer::geometry::ViewInformation2D& /*rViewInformation*/) const
{
// get logic sizes in object coordinate system
- drawinglayer::primitive2d::Primitive2DContainer xRetval;
basegfx::B2DRange aRange(maBasePosition);
switch(maShadowState)
@@ -88,12 +89,10 @@ drawinglayer::primitive2d::Primitive2DContainer ShadowPrimitive::create2DDecompo
basegfx::BColor(180.0/255.0,180.0/255.0,180.0/255.0),
2);
- const drawinglayer::primitive2d::Primitive2DReference xReference(
+ rContainer.push_back(
new drawinglayer::primitive2d::FillGradientPrimitive2D(
aRange,
aFillGradientAttribute));
-
- xRetval = drawinglayer::primitive2d::Primitive2DContainer { xReference };
break;
}
case SS_VIEW:
@@ -109,12 +108,10 @@ drawinglayer::primitive2d::Primitive2DContainer ShadowPrimitive::create2DDecompo
basegfx::BColor(180.0/255.0,180.0/255.0,180.0/255.0),
4);
- const drawinglayer::primitive2d::Primitive2DReference xReference(
+ rContainer.push_back(
new drawinglayer::primitive2d::FillGradientPrimitive2D(
aRange,
aFillGradientAttribute));
-
- xRetval = drawinglayer::primitive2d::Primitive2DContainer { xReference };
break;
}
case SS_EDIT:
@@ -130,12 +127,10 @@ drawinglayer::primitive2d::Primitive2DContainer ShadowPrimitive::create2DDecompo
basegfx::BColor(83.0/255.0,83.0/255.0,83.0/255.0),
4);
- const drawinglayer::primitive2d::Primitive2DReference xReference(
+ rContainer.push_back(
new drawinglayer::primitive2d::FillGradientPrimitive2D(
aRange,
aFillGradientAttribute));
-
- xRetval = drawinglayer::primitive2d::Primitive2DContainer { xReference };
break;
}
default:
@@ -143,8 +138,6 @@ drawinglayer::primitive2d::Primitive2DContainer ShadowPrimitive::create2DDecompo
break;
}
}
-
- return xRetval;
}
bool ShadowPrimitive::operator==( const drawinglayer::primitive2d::BasePrimitive2D& rPrimitive ) const