summaryrefslogtreecommitdiff
path: root/svgio/source/svgreader/svgtextpathnode.cxx
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 /svgio/source/svgreader/svgtextpathnode.cxx
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 'svgio/source/svgreader/svgtextpathnode.cxx')
-rw-r--r--svgio/source/svgreader/svgtextpathnode.cxx14
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