summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2012-08-14 10:41:24 +0200
committerMichael Stahl <mstahl@redhat.com>2012-08-16 15:14:56 +0200
commit0aafccd61ee557ab35c3b0ead22f90a633ef80b8 (patch)
tree841ce60c1970ff5d898027740422e1a00d7fa2aa /svx
parent19990a9c5c5761687f757456015cb26d46d4830b (diff)
Convert aPnts field in SdrDragStat class from Container to std::vector
Change-Id: Ia9f5f902c9ebeee6d123dc5c8ee6641bef2239e9
Diffstat (limited to 'svx')
-rw-r--r--svx/inc/svx/svddrag.hxx11
-rw-r--r--svx/source/svdraw/svddrag.cxx19
2 files changed, 14 insertions, 16 deletions
diff --git a/svx/inc/svx/svddrag.hxx b/svx/inc/svx/svddrag.hxx
index abce2ab627de..682785ceb4bb 100644
--- a/svx/inc/svx/svddrag.hxx
+++ b/svx/inc/svx/svddrag.hxx
@@ -30,7 +30,6 @@
#define _SVDDRAG_HXX
-#include <tools/contnr.hxx>
#include <tools/gen.hxx>
#include <tools/fract.hxx>
#include "svx/svxdllapi.h"
@@ -54,7 +53,7 @@ protected:
SdrHdl* pHdl; // Der Handle an dem der User zottelt
SdrView* pView;
SdrPageView* pPageView;
- Container aPnts; // Alle bisherigen Punkte: [0]=Start, [Count()-2]=Prev
+ std::vector<Point*> aPnts; // Alle bisherigen Punkte: [0]=Start, [Count()-2]=Prev
Point aRef1; // Referenzpunkt: Resize-Fixpunkt, (Drehachse,
Point aRef2; // Spiegelachse, ...)
Point aPos0; // Position beim letzten Event
@@ -99,19 +98,19 @@ protected:
protected:
void Clear(bool bLeaveOne);
- Point& Pnt(sal_uIntPtr nNum) { return *((Point*)aPnts.GetObject(nNum)); }
+ Point& Pnt(sal_uIntPtr nNum) { return *aPnts[nNum]; }
//public:
SdrDragStatUserData* pUser; // Userdata
public:
- SdrDragStat(): aPnts(1024,16,16) { pUser=NULL; Reset(); }
+ SdrDragStat(): aPnts() { pUser=NULL; Reset(); }
~SdrDragStat() { Clear(sal_False); }
void Reset();
SdrView* GetView() const { return pView; }
void SetView(SdrView* pV) { pView=pV; }
SdrPageView* GetPageView() const { return pPageView; }
void SetPageView(SdrPageView* pPV) { pPageView=pPV; }
- const Point& GetPoint(sal_uIntPtr nNum) const { return *((Point*)aPnts.GetObject(nNum)); }
- sal_uIntPtr GetPointAnz() const { return aPnts.Count(); }
+ const Point& GetPoint(sal_uIntPtr nNum) const { return *aPnts[nNum]; }
+ sal_uIntPtr GetPointAnz() const { return aPnts.size(); }
const Point& GetStart() const { return GetPoint(0); }
Point& Start() { return Pnt(0); }
const Point& GetPrev() const { return GetPoint(GetPointAnz()-(GetPointAnz()>=2 ? 2:1)); }
diff --git a/svx/source/svdraw/svddrag.cxx b/svx/source/svdraw/svddrag.cxx
index 478e8c39acaf..6fb2bb1ff5df 100644
--- a/svx/source/svdraw/svddrag.cxx
+++ b/svx/source/svdraw/svddrag.cxx
@@ -31,16 +31,15 @@
void SdrDragStat::Clear(bool bLeaveOne)
{
- void* pP=aPnts.First();
- while (pP!=NULL) {
- delete (Point*)pP;
- pP=aPnts.Next();
+ while (!aPnts.empty()) {
+ delete aPnts.back();
+ aPnts.pop_back();
}
if (pUser!=NULL) delete pUser;
pUser=NULL;
- aPnts.Clear();
+ aPnts.clear();
if (bLeaveOne) {
- aPnts.Insert(new Point,CONTAINER_APPEND);
+ aPnts.push_back(new Point);
}
}
@@ -87,15 +86,15 @@ void SdrDragStat::NextPoint(bool bSaveReal)
{
Point aPnt(GetNow());
if (bSaveReal) aPnt=aRealNow;
- aPnts.Insert(new Point(KorregPos(GetRealNow(),aPnt)),CONTAINER_APPEND);
+ aPnts.push_back(new Point(KorregPos(GetRealNow(),aPnt)));
Prev()=aPnt;
}
void SdrDragStat::PrevPoint()
{
- if (aPnts.Count()>=2) { // one has to remain at all times
- Point* pPnt=(Point*)(aPnts.GetObject(aPnts.Count()-2));
- aPnts.Remove(aPnts.Count()-2);
+ if (aPnts.size()>=2) { // one has to remain at all times
+ Point* pPnt=aPnts[aPnts.size()-2];
+ aPnts.erase(aPnts.begin()+aPnts.size()-2);
delete pPnt;
Now()=KorregPos(GetRealNow(),GetPrev());
}