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 /sw/source/uibase/docvw/ShadowOverlayObject.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 'sw/source/uibase/docvw/ShadowOverlayObject.cxx')
-rw-r--r-- | sw/source/uibase/docvw/ShadowOverlayObject.cxx | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/sw/source/uibase/docvw/ShadowOverlayObject.cxx b/sw/source/uibase/docvw/ShadowOverlayObject.cxx index c4700f9baa67..f95efcf22937 100644 --- a/sw/source/uibase/docvw/ShadowOverlayObject.cxx +++ b/sw/source/uibase/docvw/ShadowOverlayObject.cxx @@ -44,7 +44,7 @@ private: ShadowState maShadowState; protected: - virtual drawinglayer::primitive2d::Primitive2DSequence create2DDecomposition( + virtual drawinglayer::primitive2d::Primitive2DContainer create2DDecomposition( const drawinglayer::geometry::ViewInformation2D& rViewInformation) const override; public: @@ -68,11 +68,11 @@ public: DeclPrimitive2DIDBlock() }; -drawinglayer::primitive2d::Primitive2DSequence ShadowPrimitive::create2DDecomposition( +drawinglayer::primitive2d::Primitive2DContainer ShadowPrimitive::create2DDecomposition( const drawinglayer::geometry::ViewInformation2D& /*rViewInformation*/) const { // get logic sizes in object coordinate system - drawinglayer::primitive2d::Primitive2DSequence xRetval; + drawinglayer::primitive2d::Primitive2DContainer xRetval; basegfx::B2DRange aRange(getBasePosition()); switch(maShadowState) @@ -95,7 +95,7 @@ drawinglayer::primitive2d::Primitive2DSequence ShadowPrimitive::create2DDecompos aRange, aFillGradientAttribute)); - xRetval = drawinglayer::primitive2d::Primitive2DSequence(&xReference, 1); + xRetval = drawinglayer::primitive2d::Primitive2DContainer { xReference }; break; } case SS_VIEW: @@ -116,7 +116,7 @@ drawinglayer::primitive2d::Primitive2DSequence ShadowPrimitive::create2DDecompos aRange, aFillGradientAttribute)); - xRetval = drawinglayer::primitive2d::Primitive2DSequence(&xReference, 1); + xRetval = drawinglayer::primitive2d::Primitive2DContainer { xReference }; break; } case SS_EDIT: @@ -137,7 +137,7 @@ drawinglayer::primitive2d::Primitive2DSequence ShadowPrimitive::create2DDecompos aRange, aFillGradientAttribute)); - xRetval = drawinglayer::primitive2d::Primitive2DSequence(&xReference, 1); + xRetval = drawinglayer::primitive2d::Primitive2DContainer { xReference }; break; } default: @@ -216,13 +216,13 @@ ShadowOverlayObject::~ShadowOverlayObject() { } -drawinglayer::primitive2d::Primitive2DSequence ShadowOverlayObject::createOverlayObjectPrimitive2DSequence() +drawinglayer::primitive2d::Primitive2DContainer ShadowOverlayObject::createOverlayObjectPrimitive2DSequence() { const drawinglayer::primitive2d::Primitive2DReference aReference( new ShadowPrimitive( getBasePosition(), GetSecondPosition(), GetShadowState() ) ); - return drawinglayer::primitive2d::Primitive2DSequence(&aReference, 1); + return drawinglayer::primitive2d::Primitive2DContainer { aReference }; } void ShadowOverlayObject::SetShadowState(ShadowState aState) |