summaryrefslogtreecommitdiff
path: root/svx/source/svdraw
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-12-10 12:27:50 +0200
committerNoel Grandin <noel@peralex.com>2015-12-11 10:11:23 +0200
commit58d8d8ac67aa9b907f1304a48efa0f7a473d9de4 (patch)
treea0d88f3c8a57ce9d08d97c803ea0ec83a3dd8b62 /svx/source/svdraw
parent44ad6aca0dee29841ec7cd15c6d0ad9b3dcaedbe (diff)
tdf#69977: uno::Sequence is expensive
when used as a mutable data-structure. Plain std::vector halves the time taken to display the chart dialog Create a class to represent the std::vector we are going to be passing around, and move some of the utility methods into it to make the code prettier. Also create an optimised append(&&) method for the common case of appending small temporaries. Change-Id: I7f5b43fb4a8a84e40e6a52fcb7e9f974091b4485
Diffstat (limited to 'svx/source/svdraw')
-rw-r--r--svx/source/svdraw/charthelper.cxx12
-rw-r--r--svx/source/svdraw/sdrhittesthelper.cxx4
-rw-r--r--svx/source/svdraw/svdcrtv.cxx2
-rw-r--r--svx/source/svdraw/svddrgmt.cxx59
-rw-r--r--svx/source/svdraw/svdedxv.cxx2
-rw-r--r--svx/source/svdraw/svdhdl.cxx6
-rw-r--r--svx/source/svdraw/svdobj.cxx18
-rw-r--r--svx/source/svdraw/svdograf.cxx4
-rw-r--r--svx/source/svdraw/svdotextdecomposition.cxx30
-rw-r--r--svx/source/svdraw/svdotextpathdecomposition.cxx30
-rw-r--r--svx/source/svdraw/svdotxtr.cxx4
-rw-r--r--svx/source/svdraw/svdpage.cxx4
-rw-r--r--svx/source/svdraw/svdpntv.cxx2
-rw-r--r--svx/source/svdraw/svdxcgv.cxx7
14 files changed, 89 insertions, 95 deletions
diff --git a/svx/source/svdraw/charthelper.cxx b/svx/source/svdraw/charthelper.cxx
index 643a2be5cf1e..bba7151c2ffe 100644
--- a/svx/source/svdraw/charthelper.cxx
+++ b/svx/source/svdraw/charthelper.cxx
@@ -92,11 +92,11 @@ void ChartHelper::updateChart( const uno::Reference< ::frame::XModel >& rXModel,
}
}
-drawinglayer::primitive2d::Primitive2DSequence ChartHelper::tryToGetChartContentAsPrimitive2DSequence(
+drawinglayer::primitive2d::Primitive2DContainer ChartHelper::tryToGetChartContentAsPrimitive2DSequence(
const uno::Reference< ::frame::XModel >& rXModel,
basegfx::B2DRange& rRange)
{
- drawinglayer::primitive2d::Primitive2DSequence aRetval;
+ drawinglayer::primitive2d::Primitive2DContainer aRetval;
if (!rXModel.is())
return aRetval;
@@ -129,9 +129,7 @@ drawinglayer::primitive2d::Primitive2DSequence ChartHelper::tryToGetChartContent
xShape,
aParams));
- drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(
- aRetval,
- aNew);
+ aRetval.append(aNew);
}
}
}
@@ -141,11 +139,11 @@ drawinglayer::primitive2d::Primitive2DSequence ChartHelper::tryToGetChartContent
OSL_ENSURE(false, "Unexpected exception!");
}
- if(aRetval.hasElements())
+ if(!aRetval.empty())
{
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
- rRange = drawinglayer::primitive2d::getB2DRangeFromPrimitive2DSequence(aRetval, aViewInformation2D);
+ rRange = aRetval.getB2DRange(aViewInformation2D);
}
return aRetval;
diff --git a/svx/source/svdraw/sdrhittesthelper.cxx b/svx/source/svdraw/sdrhittesthelper.cxx
index 4ea659954b60..9a01cb62c181 100644
--- a/svx/source/svdraw/sdrhittesthelper.cxx
+++ b/svx/source/svdraw/sdrhittesthelper.cxx
@@ -137,9 +137,9 @@ bool ViewObjectContactPrimitiveHit(
{
// get primitive sequence
sdr::contact::DisplayInfo aDisplayInfo;
- const drawinglayer::primitive2d::Primitive2DSequence& rSequence(rVOC.getPrimitive2DSequence(aDisplayInfo));
+ const drawinglayer::primitive2d::Primitive2DContainer& rSequence(rVOC.getPrimitive2DSequence(aDisplayInfo));
- if(rSequence.hasElements())
+ if(!rSequence.empty())
{
// create a HitTest processor
const drawinglayer::geometry::ViewInformation2D& rViewInformation2D = rVOC.GetObjectContact().getViewInformation2D();
diff --git a/svx/source/svdraw/svdcrtv.cxx b/svx/source/svdraw/svdcrtv.cxx
index 89f7c3fb3772..d9140bf7a8b6 100644
--- a/svx/source/svdraw/svdcrtv.cxx
+++ b/svx/source/svdraw/svdcrtv.cxx
@@ -153,7 +153,7 @@ void ImpSdrCreateViewExtraData::CreateAndShowOverlay(const SdrCreateView& rView,
if(pObject)
{
const sdr::contact::ViewContact& rVC = pObject->GetViewContact();
- const drawinglayer::primitive2d::Primitive2DSequence aSequence = rVC.getViewIndependentPrimitive2DSequence();
+ const drawinglayer::primitive2d::Primitive2DContainer aSequence = rVC.getViewIndependentPrimitive2DSequence();
sdr::overlay::OverlayObject* pNew = new sdr::overlay::OverlayPrimitive2DSequenceObject(aSequence);
xOverlayManager->add(*pNew);
diff --git a/svx/source/svdraw/svddrgmt.cxx b/svx/source/svdraw/svddrgmt.cxx
index bff9a6c0aead..182a708bdc1e 100644
--- a/svx/source/svdraw/svddrgmt.cxx
+++ b/svx/source/svdraw/svddrgmt.cxx
@@ -96,9 +96,9 @@ SdrDragEntryPolyPolygon::~SdrDragEntryPolyPolygon()
{
}
-drawinglayer::primitive2d::Primitive2DSequence SdrDragEntryPolyPolygon::createPrimitive2DSequenceInCurrentState(SdrDragMethod& rDragMethod)
+drawinglayer::primitive2d::Primitive2DContainer SdrDragEntryPolyPolygon::createPrimitive2DSequenceInCurrentState(SdrDragMethod& rDragMethod)
{
- drawinglayer::primitive2d::Primitive2DSequence aRetval;
+ drawinglayer::primitive2d::Primitive2DContainer aRetval;
if(maOriginalPolyPolygon.count())
{
@@ -116,7 +116,7 @@ drawinglayer::primitive2d::Primitive2DSequence SdrDragEntryPolyPolygon::createPr
aColB.invert();
}
- aRetval.realloc(2);
+ aRetval.resize(2);
aRetval[0] = new drawinglayer::primitive2d::PolyPolygonMarkerPrimitive2D(
aCopy,
aColA,
@@ -182,7 +182,7 @@ void SdrDragEntrySdrObject::prepareCurrentState(SdrDragMethod& rDragMethod)
}
}
-drawinglayer::primitive2d::Primitive2DSequence SdrDragEntrySdrObject::createPrimitive2DSequenceInCurrentState(SdrDragMethod&)
+drawinglayer::primitive2d::Primitive2DContainer SdrDragEntrySdrObject::createPrimitive2DSequenceInCurrentState(SdrDragMethod&)
{
const SdrObject* pSource = &maOriginal;
@@ -192,7 +192,7 @@ drawinglayer::primitive2d::Primitive2DSequence SdrDragEntrySdrObject::createPrim
pSource = mpClone;
}
- // get VOC and Primitive2DSequence
+ // get VOC and Primitive2DContainer
sdr::contact::ViewContact& rVC = pSource->GetViewContact();
sdr::contact::ViewObjectContact& rVOC = rVC.GetViewObjectContact(mrObjectContact);
sdr::contact::DisplayInfo aDisplayInfo;
@@ -207,7 +207,7 @@ drawinglayer::primitive2d::Primitive2DSequence SdrDragEntrySdrObject::createPrim
SdrDragEntryPrimitive2DSequence::SdrDragEntryPrimitive2DSequence(
- const drawinglayer::primitive2d::Primitive2DSequence& rSequence,
+ const drawinglayer::primitive2d::Primitive2DContainer& rSequence,
bool bAddToTransparent)
: SdrDragEntry(),
maPrimitive2DSequence(rSequence)
@@ -220,14 +220,14 @@ SdrDragEntryPrimitive2DSequence::~SdrDragEntryPrimitive2DSequence()
{
}
-drawinglayer::primitive2d::Primitive2DSequence SdrDragEntryPrimitive2DSequence::createPrimitive2DSequenceInCurrentState(SdrDragMethod& rDragMethod)
+drawinglayer::primitive2d::Primitive2DContainer SdrDragEntryPrimitive2DSequence::createPrimitive2DSequenceInCurrentState(SdrDragMethod& rDragMethod)
{
drawinglayer::primitive2d::Primitive2DReference aTransformPrimitive2D(
new drawinglayer::primitive2d::TransformPrimitive2D(
rDragMethod.getCurrentTransformation(),
maPrimitive2DSequence));
- return drawinglayer::primitive2d::Primitive2DSequence(&aTransformPrimitive2D, 1);
+ return drawinglayer::primitive2d::Primitive2DContainer { aTransformPrimitive2D };
}
@@ -244,9 +244,9 @@ SdrDragEntryPointGlueDrag::~SdrDragEntryPointGlueDrag()
{
}
-drawinglayer::primitive2d::Primitive2DSequence SdrDragEntryPointGlueDrag::createPrimitive2DSequenceInCurrentState(SdrDragMethod& rDragMethod)
+drawinglayer::primitive2d::Primitive2DContainer SdrDragEntryPointGlueDrag::createPrimitive2DSequenceInCurrentState(SdrDragMethod& rDragMethod)
{
- drawinglayer::primitive2d::Primitive2DSequence aRetval;
+ drawinglayer::primitive2d::Primitive2DContainer aRetval;
if(!maPositions.empty())
{
@@ -286,14 +286,14 @@ drawinglayer::primitive2d::Primitive2DSequence SdrDragEntryPointGlueDrag::create
new drawinglayer::primitive2d::MarkerArrayPrimitive2D(aTransformedPositions,
drawinglayer::primitive2d::createDefaultCross_3x3(aColor)));
- aRetval = drawinglayer::primitive2d::Primitive2DSequence(&aMarkerArrayPrimitive2D, 1);
+ aRetval = drawinglayer::primitive2d::Primitive2DContainer { aMarkerArrayPrimitive2D };
}
else
{
drawinglayer::primitive2d::Primitive2DReference aMarkerArrayPrimitive2D(
new drawinglayer::primitive2d::MarkerArrayPrimitive2D(aTransformedPositions,
SdrHdl::createGluePointBitmap()));
- aRetval = drawinglayer::primitive2d::Primitive2DSequence(&aMarkerArrayPrimitive2D, 1);
+ aRetval = drawinglayer::primitive2d::Primitive2DContainer { aMarkerArrayPrimitive2D };
}
}
@@ -764,8 +764,8 @@ void SdrDragMethod::CreateOverlayGeometry(sdr::overlay::OverlayManager& rOverlay
}
// collect primitives for visualisation
- drawinglayer::primitive2d::Primitive2DSequence aResult;
- drawinglayer::primitive2d::Primitive2DSequence aResultTransparent;
+ drawinglayer::primitive2d::Primitive2DContainer aResult;
+ drawinglayer::primitive2d::Primitive2DContainer aResultTransparent;
for(a = 0; a < maSdrDragEntries.size(); a++)
{
@@ -773,17 +773,17 @@ void SdrDragMethod::CreateOverlayGeometry(sdr::overlay::OverlayManager& rOverlay
if(pCandidate)
{
- const drawinglayer::primitive2d::Primitive2DSequence aCandidateResult(pCandidate->createPrimitive2DSequenceInCurrentState(*this));
+ const drawinglayer::primitive2d::Primitive2DContainer aCandidateResult(pCandidate->createPrimitive2DSequenceInCurrentState(*this));
- if(aCandidateResult.hasElements())
+ if(!aCandidateResult.empty())
{
if(pCandidate->getAddToTransparent())
{
- drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(aResultTransparent, aCandidateResult);
+ aResultTransparent.append(aCandidateResult);
}
else
{
- drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(aResult, aCandidateResult);
+ aResult.append(aCandidateResult);
}
}
}
@@ -791,26 +791,26 @@ void SdrDragMethod::CreateOverlayGeometry(sdr::overlay::OverlayManager& rOverlay
if(DoAddConnectorOverlays())
{
- const drawinglayer::primitive2d::Primitive2DSequence aConnectorOverlays(AddConnectorOverlays());
+ const drawinglayer::primitive2d::Primitive2DContainer aConnectorOverlays(AddConnectorOverlays());
- if(aConnectorOverlays.hasElements())
+ if(!aConnectorOverlays.empty())
{
// add connector overlays to transparent part
- drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(aResultTransparent, aConnectorOverlays);
+ aResultTransparent.append(aConnectorOverlays);
}
}
- if(aResult.hasElements())
+ if(!aResult.empty())
{
sdr::overlay::OverlayObject* pNewOverlayObject = new sdr::overlay::OverlayPrimitive2DSequenceObject(aResult);
rOverlayManager.add(*pNewOverlayObject);
addToOverlayObjectList(*pNewOverlayObject);
}
- if(aResultTransparent.hasElements())
+ if(!aResultTransparent.empty())
{
drawinglayer::primitive2d::Primitive2DReference aUnifiedTransparencePrimitive2D(new drawinglayer::primitive2d::UnifiedTransparencePrimitive2D(aResultTransparent, 0.5));
- aResultTransparent = drawinglayer::primitive2d::Primitive2DSequence(&aUnifiedTransparencePrimitive2D, 1);
+ aResultTransparent = drawinglayer::primitive2d::Primitive2DContainer { aUnifiedTransparencePrimitive2D };
sdr::overlay::OverlayObject* pNewOverlayObject = new sdr::overlay::OverlayPrimitive2DSequenceObject(aResultTransparent);
rOverlayManager.add(*pNewOverlayObject);
@@ -882,9 +882,9 @@ bool SdrDragMethod::DoAddConnectorOverlays()
return true;
}
-drawinglayer::primitive2d::Primitive2DSequence SdrDragMethod::AddConnectorOverlays()
+drawinglayer::primitive2d::Primitive2DContainer SdrDragMethod::AddConnectorOverlays()
{
- drawinglayer::primitive2d::Primitive2DSequence aRetval;
+ drawinglayer::primitive2d::Primitive2DContainer aRetval;
const bool bDetail(getSdrDragView().IsDetailedEdgeDragging() && getMoveOnly());
const SdrMarkList& rMarkedNodes = getSdrDragView().GetEdgesOfMarkedNodes();
@@ -929,8 +929,7 @@ drawinglayer::primitive2d::Primitive2DSequence SdrDragMethod::AddConnectorOverla
rItemSet,
aLine.getWidth()));
- drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence(
- aRetval, drawinglayer::primitive2d::createPolygonLinePrimitive(
+ aRetval.push_back(drawinglayer::primitive2d::createPolygonLinePrimitive(
aEdgePolygon,
aLine,
aLineStartEnd));
@@ -952,7 +951,7 @@ drawinglayer::primitive2d::Primitive2DSequence SdrDragMethod::AddConnectorOverla
drawinglayer::primitive2d::Primitive2DReference aPolyPolygonMarkerPrimitive2D(
new drawinglayer::primitive2d::PolygonMarkerPrimitive2D(
aEdgePolygon, aColA, aColB, fStripeLength));
- drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, aPolyPolygonMarkerPrimitive2D);
+ aRetval.push_back(aPolyPolygonMarkerPrimitive2D);
}
}
}
@@ -1488,7 +1487,7 @@ Pointer SdrDragObjOwn::GetSdrDragPointer() const
void SdrDragMove::createSdrDragEntryForSdrObject(const SdrObject& rOriginal, sdr::contact::ObjectContact& rObjectContact, bool /*bModify*/)
{
- // for SdrDragMove, use current Primitive2DSequence of SdrObject visualization
+ // for SdrDragMove, use current Primitive2DContainer of SdrObject visualization
// in given ObjectContact directly
sdr::contact::ViewContact& rVC = rOriginal.GetViewContact();
sdr::contact::ViewObjectContact& rVOC = rVC.GetViewObjectContact(rObjectContact);
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index 492906d1e4f7..af307c4577d6 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -377,7 +377,7 @@ void SdrObjEditView::ImpPaintOutlinerView(OutlinerView& rOutlView, const Rectang
std::max(6, nPixSiz - 2), // grow
0.0, // shrink
0.0));
- const drawinglayer::primitive2d::Primitive2DSequence aSequence(&xReference, 1);
+ const drawinglayer::primitive2d::Primitive2DContainer aSequence { xReference };
rTargetDevice.EnableMapMode(false);
xProcessor->process(aSequence);
diff --git a/svx/source/svdraw/svdhdl.cxx b/svx/source/svdraw/svdhdl.cxx
index af2be461da15..12815c00f023 100644
--- a/svx/source/svdraw/svdhdl.cxx
+++ b/svx/source/svdraw/svdhdl.cxx
@@ -2545,7 +2545,7 @@ void SdrCropViewHdl::CreateB2dIAObject()
aHilightColor));
// combine these
- drawinglayer::primitive2d::Primitive2DSequence aCombination(2);
+ drawinglayer::primitive2d::Primitive2DContainer aCombination(2);
aCombination[0] = aGraphic;
aCombination[1] = aGraphicOutline;
@@ -2558,10 +2558,10 @@ void SdrCropViewHdl::CreateB2dIAObject()
// embed to UnifiedTransparencePrimitive2D
const drawinglayer::primitive2d::Primitive2DReference aTransparenceMaskedGraphic(
new drawinglayer::primitive2d::UnifiedTransparencePrimitive2D(
- drawinglayer::primitive2d::Primitive2DSequence(&aMaskedGraphic, 1),
+ drawinglayer::primitive2d::Primitive2DContainer { aMaskedGraphic },
0.8));
- const drawinglayer::primitive2d::Primitive2DSequence aSequence(&aTransparenceMaskedGraphic, 1);
+ const drawinglayer::primitive2d::Primitive2DContainer aSequence { aTransparenceMaskedGraphic };
for(sal_uInt32 b(0L); b < pPageView->PageWindowCount(); b++)
{
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index 5cbef0802e3e..872fef07cda9 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -873,13 +873,13 @@ void SdrObject::RecalcBoundRect()
// central new method which will calculate the BoundRect using primitive geometry
if(aOutRect.IsEmpty())
{
- const drawinglayer::primitive2d::Primitive2DSequence xPrimitives(GetViewContact().getViewIndependentPrimitive2DSequence());
+ const drawinglayer::primitive2d::Primitive2DContainer xPrimitives(GetViewContact().getViewIndependentPrimitive2DSequence());
- if(xPrimitives.hasElements())
+ if(!xPrimitives.empty())
{
// use neutral ViewInformation and get the range of the primitives
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
- const basegfx::B2DRange aRange(drawinglayer::primitive2d::getB2DRangeFromPrimitive2DSequence(xPrimitives, aViewInformation2D));
+ const basegfx::B2DRange aRange(xPrimitives.getB2DRange(aViewInformation2D));
if(!aRange.isEmpty())
{
@@ -1143,9 +1143,9 @@ basegfx::B2DPolyPolygon SdrObject::TakeContour() const
// get sequence from clone
const sdr::contact::ViewContact& rVC(pClone->GetViewContact());
- const drawinglayer::primitive2d::Primitive2DSequence xSequence(rVC.getViewIndependentPrimitive2DSequence());
+ const drawinglayer::primitive2d::Primitive2DContainer xSequence(rVC.getViewIndependentPrimitive2DSequence());
- if(xSequence.hasElements())
+ if(!xSequence.empty())
{
// use neutral ViewInformation
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
@@ -2375,14 +2375,14 @@ SdrObject* SdrObject::GetConnectedNode(bool /*bTail1*/) const
void extractLineContourFromPrimitive2DSequence(
- const drawinglayer::primitive2d::Primitive2DSequence& rxSequence,
+ const drawinglayer::primitive2d::Primitive2DContainer& rxSequence,
basegfx::B2DPolygonVector& rExtractedHairlines,
basegfx::B2DPolyPolygonVector& rExtractedLineFills)
{
rExtractedHairlines.clear();
rExtractedLineFills.clear();
- if(rxSequence.hasElements())
+ if(!rxSequence.empty())
{
// use neutral ViewInformation
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
@@ -2409,9 +2409,9 @@ SdrObject* SdrObject::ImpConvertToContourObj(SdrObject* pRet, bool bForceLineDas
{
basegfx::B2DPolyPolygon aMergedLineFillPolyPolygon;
basegfx::B2DPolyPolygon aMergedHairlinePolyPolygon;
- const drawinglayer::primitive2d::Primitive2DSequence xSequence(pRet->GetViewContact().getViewIndependentPrimitive2DSequence());
+ const drawinglayer::primitive2d::Primitive2DContainer xSequence(pRet->GetViewContact().getViewIndependentPrimitive2DSequence());
- if(xSequence.hasElements())
+ if(!xSequence.empty())
{
basegfx::B2DPolygonVector aExtractedHairlines;
basegfx::B2DPolyPolygonVector aExtractedLineFills;
diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx
index 9c37084504fa..e54cb52223f6 100644
--- a/svx/source/svdraw/svdograf.cxx
+++ b/svx/source/svdraw/svdograf.cxx
@@ -295,9 +295,9 @@ void SdrGrafObj::onGraphicChanged()
if (!rSvgDataPtr.get())
return;
- const drawinglayer::primitive2d::Primitive2DSequence aSequence(rSvgDataPtr->getPrimitive2DSequence());
+ const drawinglayer::primitive2d::Primitive2DContainer aSequence(rSvgDataPtr->getPrimitive2DSequence());
- if (!aSequence.hasElements())
+ if (aSequence.empty())
return;
drawinglayer::geometry::ViewInformation2D aViewInformation2D;
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index 4630658bf8f1..0218d04cec2a 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -61,10 +61,10 @@ using namespace com::sun::star;
namespace
{
- drawinglayer::primitive2d::Primitive2DSequence impConvertVectorToPrimitive2DSequence(const std::vector< drawinglayer::primitive2d::BasePrimitive2D* >& rPrimitiveVector)
+ drawinglayer::primitive2d::Primitive2DContainer impConvertVectorToPrimitive2DSequence(const std::vector< drawinglayer::primitive2d::BasePrimitive2D* >& rPrimitiveVector)
{
const sal_Int32 nCount(rPrimitiveVector.size());
- drawinglayer::primitive2d::Primitive2DSequence aRetval(nCount);
+ drawinglayer::primitive2d::Primitive2DContainer aRetval(nCount);
for(sal_Int32 a(0L); a < nCount; a++)
{
@@ -161,7 +161,7 @@ namespace
mrOutliner.SetDrawBulletHdl(Link<DrawBulletInfo*,void>());
}
- drawinglayer::primitive2d::Primitive2DSequence getPrimitive2DSequence();
+ drawinglayer::primitive2d::Primitive2DContainer getPrimitive2DSequence();
};
bool impTextBreakupHandler::impIsUnderlineAbove(const vcl::Font& rFont)
@@ -382,7 +382,7 @@ namespace
{
// embed in TextHierarchyBulletPrimitive2D
const drawinglayer::primitive2d::Primitive2DReference aNewReference(pNewPrimitive);
- const drawinglayer::primitive2d::Primitive2DSequence aNewSequence(&aNewReference, 1);
+ const drawinglayer::primitive2d::Primitive2DContainer aNewSequence { aNewReference } ;
pNewPrimitive = new drawinglayer::primitive2d::TextHierarchyBulletPrimitive2D(aNewSequence);
}
@@ -467,11 +467,11 @@ namespace
const SvxPageField* pPageField = dynamic_cast< const SvxPageField* >(rInfo.mpFieldData);
// embed current primitive to a sequence
- drawinglayer::primitive2d::Primitive2DSequence aSequence;
+ drawinglayer::primitive2d::Primitive2DContainer aSequence;
if(pPrimitive)
{
- aSequence.realloc(1);
+ aSequence.resize(1);
aSequence[0] = drawinglayer::primitive2d::Primitive2DReference(pPrimitive);
}
@@ -498,7 +498,7 @@ namespace
// empty line primitives (contrary to paragraphs, see below).
if(!maTextPortionPrimitives.empty())
{
- drawinglayer::primitive2d::Primitive2DSequence aLineSequence(impConvertVectorToPrimitive2DSequence(maTextPortionPrimitives));
+ drawinglayer::primitive2d::Primitive2DContainer aLineSequence(impConvertVectorToPrimitive2DSequence(maTextPortionPrimitives));
maTextPortionPrimitives.clear();
maLinePrimitives.push_back(new drawinglayer::primitive2d::TextHierarchyLinePrimitive2D(aLineSequence));
}
@@ -509,7 +509,7 @@ namespace
// ALWAYS create a paragraph primitive, even when no content was added. This is done to
// have the correct paragraph count even with empty paragraphs. Those paragraphs will
// have an empty sub-PrimitiveSequence.
- drawinglayer::primitive2d::Primitive2DSequence aParagraphSequence(impConvertVectorToPrimitive2DSequence(maLinePrimitives));
+ drawinglayer::primitive2d::Primitive2DContainer aParagraphSequence(impConvertVectorToPrimitive2DSequence(maLinePrimitives));
maLinePrimitives.clear();
maParagraphPrimitives.push_back(new drawinglayer::primitive2d::TextHierarchyParagraphPrimitive2D(aParagraphSequence));
}
@@ -555,7 +555,7 @@ namespace
aGraphicAttr));
// embed in TextHierarchyBulletPrimitive2D
- const drawinglayer::primitive2d::Primitive2DSequence aNewSequence(&aNewReference, 1);
+ const drawinglayer::primitive2d::Primitive2DContainer aNewSequence { aNewReference };
drawinglayer::primitive2d::BasePrimitive2D* pNewPrimitive = new drawinglayer::primitive2d::TextHierarchyBulletPrimitive2D(aNewSequence);
// add to output
@@ -649,7 +649,7 @@ namespace
}
}
- drawinglayer::primitive2d::Primitive2DSequence impTextBreakupHandler::getPrimitive2DSequence()
+ drawinglayer::primitive2d::Primitive2DContainer impTextBreakupHandler::getPrimitive2DSequence()
{
if(!maTextPortionPrimitives.empty())
{
@@ -671,7 +671,7 @@ namespace
// primitive decompositions
void SdrTextObj::impDecomposeContourTextPrimitive(
- drawinglayer::primitive2d::Primitive2DSequence& rTarget,
+ drawinglayer::primitive2d::Primitive2DContainer& rTarget,
const drawinglayer::primitive2d::SdrContourTextPrimitive2D& rSdrContourTextPrimitive,
const drawinglayer::geometry::ViewInformation2D& aViewInformation) const
{
@@ -721,7 +721,7 @@ void SdrTextObj::impDecomposeContourTextPrimitive(
}
void SdrTextObj::impDecomposeAutoFitTextPrimitive(
- drawinglayer::primitive2d::Primitive2DSequence& rTarget,
+ drawinglayer::primitive2d::Primitive2DContainer& rTarget,
const drawinglayer::primitive2d::SdrAutoFitTextPrimitive2D& rSdrAutofitTextPrimitive,
const drawinglayer::geometry::ViewInformation2D& aViewInformation) const
{
@@ -855,7 +855,7 @@ void SdrTextObj::impDecomposeAutoFitTextPrimitive(
}
void SdrTextObj::impDecomposeBlockTextPrimitive(
- drawinglayer::primitive2d::Primitive2DSequence& rTarget,
+ drawinglayer::primitive2d::Primitive2DContainer& rTarget,
const drawinglayer::primitive2d::SdrBlockTextPrimitive2D& rSdrBlockTextPrimitive,
const drawinglayer::geometry::ViewInformation2D& aViewInformation) const
{
@@ -1097,7 +1097,7 @@ void SdrTextObj::impDecomposeBlockTextPrimitive(
}
void SdrTextObj::impDecomposeStretchTextPrimitive(
- drawinglayer::primitive2d::Primitive2DSequence& rTarget,
+ drawinglayer::primitive2d::Primitive2DContainer& rTarget,
const drawinglayer::primitive2d::SdrStretchTextPrimitive2D& rSdrStretchTextPrimitive,
const drawinglayer::geometry::ViewInformation2D& aViewInformation) const
{
@@ -1455,7 +1455,7 @@ void SdrTextObj::impHandleChainingEventsDuringDecomposition(SdrOutliner &rOutlin
}
void SdrTextObj::impDecomposeChainedTextPrimitive(
- drawinglayer::primitive2d::Primitive2DSequence& rTarget,
+ drawinglayer::primitive2d::Primitive2DContainer& rTarget,
const drawinglayer::primitive2d::SdrChainedTextPrimitive2D& rSdrChainedTextPrimitive,
const drawinglayer::geometry::ViewInformation2D& aViewInformation) const
{
diff --git a/svx/source/svdraw/svdotextpathdecomposition.cxx b/svx/source/svdraw/svdotextpathdecomposition.cxx
index 78fc7e796708..bb9d04fefba0 100644
--- a/svx/source/svdraw/svdotextpathdecomposition.cxx
+++ b/svx/source/svdraw/svdotextpathdecomposition.cxx
@@ -588,7 +588,7 @@ namespace
}
}
- drawinglayer::primitive2d::Primitive2DSequence impAddPathTextOutlines(
+ drawinglayer::primitive2d::Primitive2DContainer impAddPathTextOutlines(
const std::vector< drawinglayer::primitive2d::BasePrimitive2D* >& rSource,
const drawinglayer::attribute::SdrFormTextOutlineAttribute& rOutlineAttribute)
{
@@ -623,7 +623,7 @@ namespace
if(rOutlineAttribute.getTransparence())
{
// create UnifiedTransparencePrimitive2D
- drawinglayer::primitive2d::Primitive2DSequence aStrokePrimitiveSequence(nStrokeCount);
+ drawinglayer::primitive2d::Primitive2DContainer aStrokePrimitiveSequence(nStrokeCount);
for(sal_uInt32 b(0L); b < nStrokeCount; b++)
{
@@ -650,7 +650,7 @@ namespace
if(nNewCount)
{
- drawinglayer::primitive2d::Primitive2DSequence aRetval(nNewCount);
+ drawinglayer::primitive2d::Primitive2DContainer aRetval(nNewCount);
for(sal_uInt32 a(0L); a < nNewCount; a++)
{
@@ -661,7 +661,7 @@ namespace
}
else
{
- return drawinglayer::primitive2d::Primitive2DSequence();
+ return drawinglayer::primitive2d::Primitive2DContainer();
}
}
} // end of anonymous namespace
@@ -670,12 +670,12 @@ namespace
// primitive decomposition
void SdrTextObj::impDecomposePathTextPrimitive(
- drawinglayer::primitive2d::Primitive2DSequence& rTarget,
+ drawinglayer::primitive2d::Primitive2DContainer& rTarget,
const drawinglayer::primitive2d::SdrPathTextPrimitive2D& rSdrPathTextPrimitive,
const drawinglayer::geometry::ViewInformation2D& aViewInformation) const
{
- drawinglayer::primitive2d::Primitive2DSequence aRetvalA;
- drawinglayer::primitive2d::Primitive2DSequence aRetvalB;
+ drawinglayer::primitive2d::Primitive2DContainer aRetvalA;
+ drawinglayer::primitive2d::Primitive2DContainer aRetvalB;
// prepare outliner
SdrOutliner& rOutliner = ImpGetDrawOutliner();
@@ -744,7 +744,7 @@ void SdrTextObj::impDecomposePathTextPrimitive(
if(nShadowCount)
{
// add shadow primitives to decomposition
- aRetvalA.realloc(nShadowCount);
+ aRetvalA.resize(nShadowCount);
for(a = 0L; a < nShadowCount; a++)
{
@@ -755,19 +755,19 @@ void SdrTextObj::impDecomposePathTextPrimitive(
if(rFormTextAttribute.getFormTextOutline()
&& !rFormTextAttribute.getShadowOutline().isDefault())
{
- const drawinglayer::primitive2d::Primitive2DSequence aOutlines(
+ const drawinglayer::primitive2d::Primitive2DContainer aOutlines(
impAddPathTextOutlines(
aShadowDecomposition,
rFormTextAttribute.getShadowOutline()));
- drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(aRetvalA, aOutlines);
+ aRetvalA.append(aOutlines);
}
}
if(nRegularCount)
{
// add normal primitives to decomposition
- aRetvalB.realloc(nRegularCount);
+ aRetvalB.resize(nRegularCount);
for(a = 0L; a < nRegularCount; a++)
{
@@ -778,12 +778,12 @@ void SdrTextObj::impDecomposePathTextPrimitive(
if(rFormTextAttribute.getFormTextOutline()
&& !rFormTextAttribute.getOutline().isDefault())
{
- const drawinglayer::primitive2d::Primitive2DSequence aOutlines(
+ const drawinglayer::primitive2d::Primitive2DContainer aOutlines(
impAddPathTextOutlines(
aRegularDecomposition,
rFormTextAttribute.getOutline()));
- drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(aRetvalB, aOutlines);
+ aRetvalB.append(aOutlines);
}
}
}
@@ -795,8 +795,8 @@ void SdrTextObj::impDecomposePathTextPrimitive(
rOutliner.setVisualizedPage(nullptr);
// concatenate all results
- drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(rTarget, aRetvalA);
- drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(rTarget, aRetvalB);
+ rTarget.append(aRetvalA);
+ rTarget.append(aRetvalB);
}
diff --git a/svx/source/svdraw/svdotxtr.cxx b/svx/source/svdraw/svdotxtr.cxx
index 79dfcf938fe9..b48855ead024 100644
--- a/svx/source/svdraw/svdotxtr.cxx
+++ b/svx/source/svdraw/svdotxtr.cxx
@@ -296,9 +296,9 @@ SdrObject* SdrTextObj::ImpConvertContainedTextToSdrPathObjs(bool bToPoly) const
}
// get primitives
- const drawinglayer::primitive2d::Primitive2DSequence xSequence(GetViewContact().getViewIndependentPrimitive2DSequence());
+ const drawinglayer::primitive2d::Primitive2DContainer xSequence(GetViewContact().getViewIndependentPrimitive2DSequence());
- if(xSequence.hasElements())
+ if(!xSequence.empty())
{
// create an extractor with neutral ViewInformation
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
diff --git a/svx/source/svdraw/svdpage.cxx b/svx/source/svdraw/svdpage.cxx
index 432648dc6a59..a5828e270360 100644
--- a/svx/source/svdraw/svdpage.cxx
+++ b/svx/source/svdraw/svdpage.cxx
@@ -1808,7 +1808,7 @@ StandardCheckVisisbilityRedirector::~StandardCheckVisisbilityRedirector()
{
}
-drawinglayer::primitive2d::Primitive2DSequence StandardCheckVisisbilityRedirector::createRedirectedPrimitive2DSequence(
+drawinglayer::primitive2d::Primitive2DContainer StandardCheckVisisbilityRedirector::createRedirectedPrimitive2DSequence(
const sdr::contact::ViewObjectContact& rOriginal,
const sdr::contact::DisplayInfo& rDisplayInfo)
{
@@ -1824,7 +1824,7 @@ drawinglayer::primitive2d::Primitive2DSequence StandardCheckVisisbilityRedirecto
}
}
- return drawinglayer::primitive2d::Primitive2DSequence();
+ return drawinglayer::primitive2d::Primitive2DContainer();
}
else
{
diff --git a/svx/source/svdraw/svdpntv.cxx b/svx/source/svdraw/svdpntv.cxx
index 35f12113ad9f..27eba2b9d5a0 100644
--- a/svx/source/svdraw/svdpntv.cxx
+++ b/svx/source/svdraw/svdpntv.cxx
@@ -145,7 +145,7 @@ BitmapEx convertMetafileToBitmapEx(
rTargetRange.getMinimum()),
rMtf));
aBitmapEx = convertPrimitive2DSequenceToBitmapEx(
- drawinglayer::primitive2d::Primitive2DSequence(&aMtf, 1),
+ drawinglayer::primitive2d::Primitive2DContainer { aMtf },
rTargetRange,
nMaximumQuadraticPixels);
}
diff --git a/svx/source/svdraw/svdxcgv.cxx b/svx/source/svdraw/svdxcgv.cxx
index ab6c8a4c8d2b..0eeedc95436f 100644
--- a/svx/source/svdraw/svdxcgv.cxx
+++ b/svx/source/svdraw/svdxcgv.cxx
@@ -485,7 +485,7 @@ BitmapEx SdrExchangeView::GetMarkedObjBitmapEx(bool bNoVDevIfOneBmpMarked) const
{
// collect sub-primitives as group objects, thus no expensive append
// to existing sequence is needed
- drawinglayer::primitive2d::Primitive2DSequence xPrimitives(nCount);
+ drawinglayer::primitive2d::Primitive2DContainer xPrimitives(nCount);
for(sal_uInt32 a(0); a < nCount; a++)
{
@@ -504,10 +504,7 @@ BitmapEx SdrExchangeView::GetMarkedObjBitmapEx(bool bNoVDevIfOneBmpMarked) const
// get logic range
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
- const basegfx::B2DRange aRange(
- drawinglayer::primitive2d::getB2DRangeFromPrimitive2DSequence(
- xPrimitives,
- aViewInformation2D));
+ const basegfx::B2DRange aRange(xPrimitives.getB2DRange(aViewInformation2D));
if(!aRange.isEmpty())
{