summaryrefslogtreecommitdiff
path: root/drawinglayer/source/primitive2d/shadowprimitive2d.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 /drawinglayer/source/primitive2d/shadowprimitive2d.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 'drawinglayer/source/primitive2d/shadowprimitive2d.cxx')
-rw-r--r--drawinglayer/source/primitive2d/shadowprimitive2d.cxx14
1 files changed, 7 insertions, 7 deletions
diff --git a/drawinglayer/source/primitive2d/shadowprimitive2d.cxx b/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
index abdce86fcbcb..3467d95b295c 100644
--- a/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
@@ -39,7 +39,7 @@ namespace drawinglayer
ShadowPrimitive2D::ShadowPrimitive2D(
const basegfx::B2DHomMatrix& rShadowTransform,
const basegfx::BColor& rShadowColor,
- const Primitive2DSequence& rChildren)
+ const Primitive2DContainer& rChildren)
: GroupPrimitive2D(rChildren),
maShadowTransform(rShadowTransform),
maShadowColor(rShadowColor)
@@ -61,16 +61,16 @@ namespace drawinglayer
basegfx::B2DRange ShadowPrimitive2D::getB2DRange(const geometry::ViewInformation2D& rViewInformation) const
{
- basegfx::B2DRange aRetval(getB2DRangeFromPrimitive2DSequence(getChildren(), rViewInformation));
+ basegfx::B2DRange aRetval(getChildren().getB2DRange(rViewInformation));
aRetval.transform(getShadowTransform());
return aRetval;
}
- Primitive2DSequence ShadowPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ Primitive2DContainer ShadowPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- Primitive2DSequence aRetval;
+ Primitive2DContainer aRetval;
- if(getChildren().hasElements())
+ if(!getChildren().empty())
{
// create a modifiedColorPrimitive containing the shadow color and the content
const basegfx::BColorModifierSharedPtr aBColorModifier(
@@ -80,11 +80,11 @@ namespace drawinglayer
new ModifiedColorPrimitive2D(
getChildren(),
aBColorModifier));
- const Primitive2DSequence aSequenceB(&xRefA, 1L);
+ const Primitive2DContainer aSequenceB { xRefA };
// build transformed primitiveVector with shadow offset and add to target
const Primitive2DReference xRefB(new TransformPrimitive2D(getShadowTransform(), aSequenceB));
- aRetval = Primitive2DSequence(&xRefB, 1L);
+ aRetval = Primitive2DContainer { xRefB };
}
return aRetval;