diff options
author | Noel Grandin <noel@peralex.com> | 2012-08-14 10:41:24 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-08-16 15:14:56 +0200 |
commit | 0aafccd61ee557ab35c3b0ead22f90a633ef80b8 (patch) | |
tree | 841ce60c1970ff5d898027740422e1a00d7fa2aa /svx | |
parent | 19990a9c5c5761687f757456015cb26d46d4830b (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.hxx | 11 | ||||
-rw-r--r-- | svx/source/svdraw/svddrag.cxx | 19 |
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()); } |