summaryrefslogtreecommitdiff
path: root/sfx2
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 /sfx2
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 'sfx2')
-rw-r--r--sfx2/source/control/recentdocsviewitem.cxx2
-rw-r--r--sfx2/source/control/templateabstractview.cxx2
-rw-r--r--sfx2/source/control/templatecontaineritem.cxx2
-rw-r--r--sfx2/source/control/templateviewitem.cxx2
-rw-r--r--sfx2/source/control/thumbnailview.cxx2
-rw-r--r--sfx2/source/control/thumbnailviewitem.cxx8
-rw-r--r--sfx2/source/dialog/infobar.cxx4
7 files changed, 11 insertions, 11 deletions
diff --git a/sfx2/source/control/recentdocsviewitem.cxx b/sfx2/source/control/recentdocsviewitem.cxx
index abf4325021f0..982579ed1905 100644
--- a/sfx2/source/control/recentdocsviewitem.cxx
+++ b/sfx2/source/control/recentdocsviewitem.cxx
@@ -152,7 +152,7 @@ void RecentDocsViewItem::Paint(drawinglayer::processor2d::BaseProcessor2D *pProc
// paint the remove icon when highlighted
if (isHighlighted())
{
- drawinglayer::primitive2d::Primitive2DSequence aSeq(1);
+ drawinglayer::primitive2d::Primitive2DContainer aSeq(1);
Point aIconPos(getRemoveIconArea().TopLeft());
diff --git a/sfx2/source/control/templateabstractview.cxx b/sfx2/source/control/templateabstractview.cxx
index 38c0609624b1..4a2a9138c1f2 100644
--- a/sfx2/source/control/templateabstractview.cxx
+++ b/sfx2/source/control/templateabstractview.cxx
@@ -304,7 +304,7 @@ void TemplateAbstractView::Paint(vcl::RenderContext& rRenderContext, const Recta
Point(rRect.BottomRight().X(),
mnHeaderHeight));
- drawinglayer::primitive2d::Primitive2DSequence aSeq(1);
+ drawinglayer::primitive2d::Primitive2DContainer aSeq(1);
aSeq[0] = drawinglayer::primitive2d::Primitive2DReference(
new PolyPolygonColorPrimitive2D(B2DPolyPolygon(::tools::Polygon(aRect).getB2DPolygon()),
maFillColor.getBColor()));
diff --git a/sfx2/source/control/templatecontaineritem.cxx b/sfx2/source/control/templatecontaineritem.cxx
index 5690a2e4f337..afeac9534121 100644
--- a/sfx2/source/control/templatecontaineritem.cxx
+++ b/sfx2/source/control/templatecontaineritem.cxx
@@ -66,7 +66,7 @@ void TemplateContainerItem::Paint (drawinglayer::processor2d::BaseProcessor2D *p
nSeqSize += 3;
BColor aFillColor = pAttrs->aFillColor;
- drawinglayer::primitive2d::Primitive2DSequence aSeq(nSeqSize);
+ drawinglayer::primitive2d::Primitive2DContainer aSeq(nSeqSize);
double fTransparence = 0.0;
// Draw background
diff --git a/sfx2/source/control/templateviewitem.cxx b/sfx2/source/control/templateviewitem.cxx
index 950c32612895..dbcafece5208 100644
--- a/sfx2/source/control/templateviewitem.cxx
+++ b/sfx2/source/control/templateviewitem.cxx
@@ -69,7 +69,7 @@ void TemplateViewItem::Paint(drawinglayer::processor2d::BaseProcessor2D *pProces
BColor aFillColor = pAttrs->aFillColor;
int nCount = maSubTitle.isEmpty() ? 5 : 6;
- drawinglayer::primitive2d::Primitive2DSequence aSeq(nCount);
+ drawinglayer::primitive2d::Primitive2DContainer aSeq(nCount);
double fTransparence = 0.0;
// Draw background
diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index 6e5321d4aeea..dd6f1bfaf76e 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -837,7 +837,7 @@ void ThumbnailView::Paint(vcl::RenderContext& rRenderContext, const Rectangle& r
size_t nItemCount = mItemList.size();
// Draw background
- drawinglayer::primitive2d::Primitive2DSequence aSeq(1);
+ drawinglayer::primitive2d::Primitive2DContainer aSeq(1);
aSeq[0] = drawinglayer::primitive2d::Primitive2DReference(
new PolyPolygonColorPrimitive2D(
B2DPolyPolygon( ::tools::Polygon(Rectangle(Point(), GetOutputSizePixel()), 0, 0).getB2DPolygon()),
diff --git a/sfx2/source/control/thumbnailviewitem.cxx b/sfx2/source/control/thumbnailviewitem.cxx
index a866b0d0a619..0d2e8f383fe8 100644
--- a/sfx2/source/control/thumbnailviewitem.cxx
+++ b/sfx2/source/control/thumbnailviewitem.cxx
@@ -262,7 +262,7 @@ void ThumbnailViewItem::Paint (drawinglayer::processor2d::BaseProcessor2D *pProc
const ThumbnailItemAttributes *pAttrs)
{
BColor aFillColor = pAttrs->aFillColor;
- drawinglayer::primitive2d::Primitive2DSequence aSeq(4);
+ drawinglayer::primitive2d::Primitive2DContainer aSeq(4);
double fTransparence = 0.0;
// Draw background
@@ -314,7 +314,7 @@ void ThumbnailViewItem::Paint (drawinglayer::processor2d::BaseProcessor2D *pProc
pProcessor->process(aSeq);
}
-void ThumbnailViewItem::addTextPrimitives (const OUString& rText, const ThumbnailItemAttributes *pAttrs, Point aPos, drawinglayer::primitive2d::Primitive2DSequence& rSeq)
+void ThumbnailViewItem::addTextPrimitives (const OUString& rText, const ThumbnailItemAttributes *pAttrs, Point aPos, drawinglayer::primitive2d::Primitive2DContainer& rSeq)
{
drawinglayer::primitive2d::TextLayouterDevice aTextDev;
@@ -326,8 +326,8 @@ void ThumbnailViewItem::addTextPrimitives (const OUString& rText, const Thumbnai
aTextEngine.SetMaxTextWidth(maDrawArea.getWidth());
aTextEngine.SetText(rText);
- sal_Int32 nPrimitives = rSeq.getLength();
- rSeq.realloc(nPrimitives + aTextEngine.GetLineCount(0));
+ sal_Int32 nPrimitives = rSeq.size();
+ rSeq.resize(nPrimitives + aTextEngine.GetLineCount(0));
// Create the text primitives
sal_uInt16 nLineStart = 0;
diff --git a/sfx2/source/dialog/infobar.cxx b/sfx2/source/dialog/infobar.cxx
index fbf1e4f21740..a3c7f54de736 100644
--- a/sfx2/source/dialog/infobar.cxx
+++ b/sfx2/source/dialog/infobar.cxx
@@ -71,7 +71,7 @@ void SfxCloseButton::Paint(vcl::RenderContext& rRenderContext, const Rectangle&)
const Rectangle aRect(Point(0, 0), PixelToLogic(GetSizePixel()));
- drawinglayer::primitive2d::Primitive2DSequence aSeq(2);
+ drawinglayer::primitive2d::Primitive2DContainer aSeq(2);
BColor aLightColor;
BColor aDarkColor;
@@ -168,7 +168,7 @@ void SfxInfoBarWindow::Paint(vcl::RenderContext& rRenderContext, const Rectangle
const Rectangle aRect(Point(0, 0), PixelToLogic(GetSizePixel()));
- drawinglayer::primitive2d::Primitive2DSequence aSeq(2);
+ drawinglayer::primitive2d::Primitive2DContainer aSeq(2);
BColor aLightColor;
BColor aDarkColor;