diff options
author | Noel Grandin <noel@peralex.com> | 2015-12-10 12:27:50 +0200 |
---|---|---|
committer | Noel Grandin <noel@peralex.com> | 2015-12-11 10:11:23 +0200 |
commit | 58d8d8ac67aa9b907f1304a48efa0f7a473d9de4 (patch) | |
tree | a0d88f3c8a57ce9d08d97c803ea0ec83a3dd8b62 /svgio/source/svgreader/svgtextpathnode.cxx | |
parent | 44ad6aca0dee29841ec7cd15c6d0ad9b3dcaedbe (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 'svgio/source/svgreader/svgtextpathnode.cxx')
-rw-r--r-- | svgio/source/svgreader/svgtextpathnode.cxx | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/svgio/source/svgreader/svgtextpathnode.cxx b/svgio/source/svgreader/svgtextpathnode.cxx index fc2a0a2fc9bf..96eacd082ca5 100644 --- a/svgio/source/svgreader/svgtextpathnode.cxx +++ b/svgio/source/svgreader/svgtextpathnode.cxx @@ -377,11 +377,11 @@ namespace svgio } void SvgTextPathNode::decomposePathNode( - const drawinglayer::primitive2d::Primitive2DSequence& rPathContent, - drawinglayer::primitive2d::Primitive2DSequence& rTarget, + const drawinglayer::primitive2d::Primitive2DContainer& rPathContent, + drawinglayer::primitive2d::Primitive2DContainer& rTarget, const basegfx::B2DPoint& rTextStart) const { - if(rPathContent.hasElements()) + if(!rPathContent.empty()) { const SvgPathNode* pSvgPathNode = dynamic_cast< const SvgPathNode* >(getDocument().findSvgNodeById(maXLink)); @@ -431,7 +431,7 @@ namespace svgio if(fPosition >= 0.0) { - const sal_Int32 nLength(rPathContent.getLength()); + const sal_Int32 nLength(rPathContent.size()); sal_Int32 nCurrent(0); while(fPosition < fBasegfxPathLength && nCurrent < nLength) @@ -453,12 +453,12 @@ namespace svgio fPosition, rTextStart); - const drawinglayer::primitive2d::Primitive2DSequence aResult( + const drawinglayer::primitive2d::Primitive2DContainer aResult( aPathTextBreakupHelper.getResult()); - if(aResult.hasElements()) + if(!aResult.empty()) { - drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(rTarget, aResult); + rTarget.append(aResult); } // advance position to consumed |