summaryrefslogtreecommitdiff
path: root/include/svx/sdr/overlay
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 /include/svx/sdr/overlay
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 'include/svx/sdr/overlay')
-rw-r--r--include/svx/sdr/overlay/overlayanimatedbitmapex.hxx2
-rw-r--r--include/svx/sdr/overlay/overlaybitmapex.hxx2
-rw-r--r--include/svx/sdr/overlay/overlayobject.hxx16
-rw-r--r--include/svx/sdr/overlay/overlayobjectcell.hxx2
-rw-r--r--include/svx/sdr/overlay/overlaypolypolygon.hxx2
-rw-r--r--include/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx8
-rw-r--r--include/svx/sdr/overlay/overlayselection.hxx6
-rw-r--r--include/svx/sdr/overlay/overlaytriangle.hxx2
8 files changed, 20 insertions, 20 deletions
diff --git a/include/svx/sdr/overlay/overlayanimatedbitmapex.hxx b/include/svx/sdr/overlay/overlayanimatedbitmapex.hxx
index 8594e683ce71..af77c3a4ca40 100644
--- a/include/svx/sdr/overlay/overlayanimatedbitmapex.hxx
+++ b/include/svx/sdr/overlay/overlayanimatedbitmapex.hxx
@@ -54,7 +54,7 @@ namespace sdr
bool mbOverlayState : 1;
// geometry creation for OverlayObject
- virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence() override;
+ virtual drawinglayer::primitive2d::Primitive2DContainer createOverlayObjectPrimitive2DSequence() override;
public:
OverlayAnimatedBitmapEx(
diff --git a/include/svx/sdr/overlay/overlaybitmapex.hxx b/include/svx/sdr/overlay/overlaybitmapex.hxx
index 25913c1633dc..e98bd4953220 100644
--- a/include/svx/sdr/overlay/overlaybitmapex.hxx
+++ b/include/svx/sdr/overlay/overlaybitmapex.hxx
@@ -44,7 +44,7 @@ namespace sdr
double mfShearX;
double mfRotation;
- virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence() override;
+ virtual drawinglayer::primitive2d::Primitive2DContainer createOverlayObjectPrimitive2DSequence() override;
public:
OverlayBitmapEx(
diff --git a/include/svx/sdr/overlay/overlayobject.hxx b/include/svx/sdr/overlay/overlayobject.hxx
index d4ada5a75804..6a4da0b11336 100644
--- a/include/svx/sdr/overlay/overlayobject.hxx
+++ b/include/svx/sdr/overlay/overlayobject.hxx
@@ -64,21 +64,21 @@ namespace sdr
// OverlayManager, do not change Yourself.
OverlayManager* mpOverlayManager;
- // Primitive2DSequence of the OverlayObject
- drawinglayer::primitive2d::Primitive2DSequence maPrimitive2DSequence;
+ // Primitive2DContainer of the OverlayObject
+ drawinglayer::primitive2d::Primitive2DContainer maPrimitive2DSequence;
protected:
// access methods to maPrimitive2DSequence. The usage of this methods may allow
// later thread-safe stuff to be added if needed. Only to be used by getPrimitive2DSequence()
// implementations for buffering the last decomposition.
- const drawinglayer::primitive2d::Primitive2DSequence& getPrimitive2DSequence() const { return maPrimitive2DSequence; }
- void setPrimitive2DSequence(const drawinglayer::primitive2d::Primitive2DSequence& rNew) { maPrimitive2DSequence = rNew; }
+ const drawinglayer::primitive2d::Primitive2DContainer& getPrimitive2DSequence() const { return maPrimitive2DSequence; }
+ void setPrimitive2DSequence(const drawinglayer::primitive2d::Primitive2DContainer& rNew) { maPrimitive2DSequence = rNew; }
- // the creation method for Primitive2DSequence. Called when getPrimitive2DSequence()
+ // the creation method for Primitive2DContainer. Called when getPrimitive2DSequence()
// sees that maPrimitive2DSequence is empty. Needs to be supported by all
// OverlayObject implementations. Default implementation will assert
// a missing implementation
- virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence();
+ virtual drawinglayer::primitive2d::Primitive2DContainer createOverlayObjectPrimitive2DSequence();
// #i53216# check blink time value range (currently 25 < mnBlinkTime < 10000)
static sal_uInt32 impCheckBlinkTimeValueRange(sal_uInt64 nBlinkTime);
@@ -123,10 +123,10 @@ namespace sdr
// get OverlayManager
OverlayManager* getOverlayManager() const { return mpOverlayManager; }
- // the access method for Primitive2DSequence. Will use createPrimitive2DSequence and
+ // the access method for Primitive2DContainer. Will use createPrimitive2DSequence and
// setPrimitive2DSequence if needed. Overriding may be used to allow disposal of last
// created primitives to react on changed circumstances and to re-create primitives
- virtual drawinglayer::primitive2d::Primitive2DSequence getOverlayObjectPrimitive2DSequence() const;
+ virtual drawinglayer::primitive2d::Primitive2DContainer getOverlayObjectPrimitive2DSequence() const;
// access to visibility state
bool isVisible() const { return mbIsVisible; }
diff --git a/include/svx/sdr/overlay/overlayobjectcell.hxx b/include/svx/sdr/overlay/overlayobjectcell.hxx
index 989c7c903e89..08e41ca85343 100644
--- a/include/svx/sdr/overlay/overlayobjectcell.hxx
+++ b/include/svx/sdr/overlay/overlayobjectcell.hxx
@@ -44,7 +44,7 @@ namespace sdr
RangeVector maRectangles;
// geometry creation for OverlayObject
- virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence() override;
+ virtual drawinglayer::primitive2d::Primitive2DContainer createOverlayObjectPrimitive2DSequence() override;
public:
OverlayObjectCell( CellOverlayType eType, const Color& rColor, const RangeVector& rRects);
diff --git a/include/svx/sdr/overlay/overlaypolypolygon.hxx b/include/svx/sdr/overlay/overlaypolypolygon.hxx
index 4e331b0356f1..998b805dcb85 100644
--- a/include/svx/sdr/overlay/overlaypolypolygon.hxx
+++ b/include/svx/sdr/overlay/overlaypolypolygon.hxx
@@ -37,7 +37,7 @@ namespace sdr
basegfx::B2DPolyPolygon maLinePolyPolygon;
// geometry creation for OverlayObject
- virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence() override;
+ virtual drawinglayer::primitive2d::Primitive2DContainer createOverlayObjectPrimitive2DSequence() override;
public:
explicit OverlayPolyPolygonStripedAndFilled(
diff --git a/include/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx b/include/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx
index dcaf3c7ed886..2c63a1f6e77a 100644
--- a/include/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx
+++ b/include/svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx
@@ -34,18 +34,18 @@ namespace sdr
{
protected:
// the sequence of primitives to show
- const drawinglayer::primitive2d::Primitive2DSequence maSequence;
+ const drawinglayer::primitive2d::Primitive2DContainer maSequence;
// geometry creation for OverlayObject
- virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence() override;
+ virtual drawinglayer::primitive2d::Primitive2DContainer createOverlayObjectPrimitive2DSequence() override;
public:
- explicit OverlayPrimitive2DSequenceObject(const drawinglayer::primitive2d::Primitive2DSequence& rSequence);
+ explicit OverlayPrimitive2DSequenceObject(const drawinglayer::primitive2d::Primitive2DContainer& rSequence);
virtual ~OverlayPrimitive2DSequenceObject();
// data read access
- const drawinglayer::primitive2d::Primitive2DSequence& getSequence() const { return maSequence; }
+ const drawinglayer::primitive2d::Primitive2DContainer& getSequence() const { return maSequence; }
};
} // end of namespace overlay
} // end of namespace sdr
diff --git a/include/svx/sdr/overlay/overlayselection.hxx b/include/svx/sdr/overlay/overlayselection.hxx
index 297a1e08a48d..cdd3448e10ed 100644
--- a/include/svx/sdr/overlay/overlayselection.hxx
+++ b/include/svx/sdr/overlay/overlayselection.hxx
@@ -47,7 +47,7 @@ namespace sdr
std::vector< basegfx::B2DRange > maRanges;
// Values of last primitive creation. These are checked in getOverlayObjectPrimitive2DSequence
- // to evtl. get rid of last Primitive2DSequence. This ensures that these values are up-to-date
+ // to evtl. get rid of last Primitive2DContainer. This ensures that these values are up-to-date
// and are usable when creating primitives
OverlayType maLastOverlayType;
sal_uInt16 mnLastTransparence;
@@ -56,7 +56,7 @@ namespace sdr
bool mbBorder : 1;
// geometry creation for OverlayObject, can use local *Last* values
- virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence() override;
+ virtual drawinglayer::primitive2d::Primitive2DContainer createOverlayObjectPrimitive2DSequence() override;
public:
OverlaySelection(
@@ -71,7 +71,7 @@ namespace sdr
bool getBorder() const { return mbBorder; }
/// override to check conditions for last createOverlayObjectPrimitive2DSequence
- virtual drawinglayer::primitive2d::Primitive2DSequence getOverlayObjectPrimitive2DSequence() const override;
+ virtual drawinglayer::primitive2d::Primitive2DContainer getOverlayObjectPrimitive2DSequence() const override;
// data write access
void setRanges(const std::vector< basegfx::B2DRange >& rNew);
diff --git a/include/svx/sdr/overlay/overlaytriangle.hxx b/include/svx/sdr/overlay/overlaytriangle.hxx
index a05d6de6ef30..3dcbc52f1151 100644
--- a/include/svx/sdr/overlay/overlaytriangle.hxx
+++ b/include/svx/sdr/overlay/overlaytriangle.hxx
@@ -34,7 +34,7 @@ namespace sdr
basegfx::B2DPoint maThirdPosition;
// geometry creation for OverlayObject
- virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence() override;
+ virtual drawinglayer::primitive2d::Primitive2DContainer createOverlayObjectPrimitive2DSequence() override;
public:
OverlayTriangle(