[Libreoffice-commits] core.git: 3 commits - include/svx sc/source sd/source svx/source
Matteo Casalin
matteo.casalin at yahoo.com
Fri Dec 8 15:21:31 UTC 2017
include/svx/svddrgv.hxx | 16 +++++++++-------
include/svx/svdmrkv.hxx | 4 ++--
sc/source/ui/drawfunc/fudraw.cxx | 2 +-
sd/source/ui/func/fudraw.cxx | 2 +-
svx/source/svdraw/svddrgv.cxx | 18 ++++++------------
svx/source/svdraw/svdmrkv.cxx | 26 ++++++++++++--------------
6 files changed, 31 insertions(+), 37 deletions(-)
New commits:
commit 8f4c5a34b9e8704035c6ec770fc2947eb9964502
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date: Sun Nov 26 21:51:26 2017 +0100
GetMarkableObjCount() is only compared against 1
Change-Id: I390b260fe481c7db73a065dd271c78a5df188ccc
diff --git a/include/svx/svdmrkv.hxx b/include/svx/svdmrkv.hxx
index 21b6df1583ab..3fba52b0453e 100644
--- a/include/svx/svdmrkv.hxx
+++ b/include/svx/svdmrkv.hxx
@@ -199,7 +199,8 @@ public:
void SetFrameHandles(bool bOn);
bool IsFrameHandles() const { return mbForceFrameHandles; }
- sal_uIntPtr GetMarkableObjCount() const;
+ // returns true if number of markable objects is greater than 1
+ bool HasMultipleMarkableObjects() const;
void SetEditMode(SdrViewEditMode eMode);
SdrViewEditMode GetEditMode() const { return meEditMode; }
diff --git a/sc/source/ui/drawfunc/fudraw.cxx b/sc/source/ui/drawfunc/fudraw.cxx
index 5fbd8d9ab608..630d3abc4818 100644
--- a/sc/source/ui/drawfunc/fudraw.cxx
+++ b/sc/source/ui/drawfunc/fudraw.cxx
@@ -271,7 +271,7 @@ bool FuDraw::KeyInput(const KeyEvent& rKEvt)
if(!pView->MarkNextObj( !aCode.IsShift() ))
{
//If there is only one object, don't do the UnmarkAllObj() & MarkNextObj().
- if ( pView->GetMarkableObjCount() > 1 && pView->HasMarkableObj() )
+ if ( pView->HasMultipleMarkableObjects() && pView->HasMarkableObj() )
{
// No next object: go over open end and
// get first from the other side
diff --git a/sd/source/ui/func/fudraw.cxx b/sd/source/ui/func/fudraw.cxx
index bf1d2ba36699..008321e0b0ee 100644
--- a/sd/source/ui/func/fudraw.cxx
+++ b/sd/source/ui/func/fudraw.cxx
@@ -372,7 +372,7 @@ bool FuDraw::KeyInput(const KeyEvent& rKEvt)
if(!mpView->MarkNextObj( !aCode.IsShift() ))
{
//If there is only one object, don't do the UnmarkAllObj() & MarkNextObj().
- if ( mpView->GetMarkableObjCount() > 1 && mpView->AreObjectsMarked() )
+ if ( mpView->HasMultipleMarkableObjects() && mpView->AreObjectsMarked() )
{
// No next object: go over open end and get first from
// the other side
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index 9fc9f3a0bf0c..d02758a6eee8 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -522,23 +522,22 @@ void SdrMarkView::BrkMarkGluePoints()
}
}
-sal_uIntPtr SdrMarkView::GetMarkableObjCount() const
+bool SdrMarkView::HasMultipleMarkableObjects() const
{
- sal_uIntPtr nCount=0;
SdrPageView* pPV = GetSdrPageView();
+ if (!pPV)
+ return false;
- if(pPV)
- {
- SdrObjList* pOL=pPV->GetObjList();
- const size_t nObjCount = pOL->GetObjCount();
- for (size_t nObjNum=0; nObjNum<nObjCount; ++nObjNum) {
- SdrObject* pObj=pOL->GetObj(nObjNum);
- if (IsObjMarkable(pObj,pPV)) {
- nCount++;
- }
- }
+ int nCount=0;
+ SdrObjList* pOL=pPV->GetObjList();
+ const size_t nObjCount = pOL->GetObjCount();
+ for (size_t nObjNum=0; nObjNum<nObjCount; ++nObjNum) {
+ SdrObject* pObj=pOL->GetObj(nObjNum);
+ if (IsObjMarkable(pObj,pPV) && ++nCount>1)
+ return true;
}
- return nCount;
+
+ return false;
}
bool SdrMarkView::HasMarkableObj() const
commit d67eaa235db15853b3b454f2ef45c9a72529a3dc
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date: Sun Nov 26 17:02:32 2017 +0100
Remove unneeded data member
Change-Id: I9d007f67e5f6024b1eaea10669a915ffd33d7c29
diff --git a/include/svx/svdmrkv.hxx b/include/svx/svdmrkv.hxx
index acea4c514145..21b6df1583ab 100644
--- a/include/svx/svdmrkv.hxx
+++ b/include/svx/svdmrkv.hxx
@@ -114,7 +114,6 @@ protected:
tools::Rectangle maMarkedGluePointsRect;
sal_uInt16 mnFrameHandlesLimit;
- sal_uIntPtr mnInsPointNum; // Number of the InsPoint
SdrDragMode meDragMode; // Persistent
SdrViewEditMode meEditMode; // Persistent
diff --git a/svx/source/svdraw/svddrgv.cxx b/svx/source/svdraw/svddrgv.cxx
index 2716bf42ea49..252dfd456b9b 100644
--- a/svx/source/svdraw/svddrgv.cxx
+++ b/svx/source/svdraw/svddrgv.cxx
@@ -642,14 +642,10 @@ bool SdrDragView::ImpBegInsObjPoint(bool bIdxZwang, const Point& rPnt, bool bNew
bool bClosed0 = pMarkedPath->IsClosedObj();
- if(bIdxZwang)
- {
- mnInsPointNum = pMarkedPath->NbcInsPoint(aPt, bNewObj);
- }
- else
- {
- mnInsPointNum = pMarkedPath->NbcInsPointOld(aPt, bNewObj);
- }
+ const sal_uInt32 nInsPointNum { bIdxZwang
+ ? pMarkedPath->NbcInsPoint(aPt, bNewObj)
+ : pMarkedPath->NbcInsPointOld(aPt, bNewObj)
+ };
if(bClosed0 != pMarkedPath->IsClosedObj())
{
@@ -659,13 +655,13 @@ bool SdrDragView::ImpBegInsObjPoint(bool bIdxZwang, const Point& rPnt, bool bNew
pMarkedPath->BroadcastObjectChange();
}
- if(0xffffffff != mnInsPointNum)
+ if (nInsPointNum != SAL_MAX_UINT32)
{
mbInsPolyPoint = true;
UnmarkAllPoints();
AdjustMarkHdl();
- bRet = BegDragObj(rPnt, pOut, maHdlList.GetHdl(mnInsPointNum), 0);
+ bRet = BegDragObj(rPnt, pOut, maHdlList.GetHdl(nInsPointNum), 0);
if (bRet)
{
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index 23e5cfdf8822..9fc9f3a0bf0c 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -133,7 +133,6 @@ void SdrMarkView::ImpClearVars()
mbPlusHdlAlways=false;
mnFrameHandlesLimit=50;
mbInsPolyPoint=false;
- mnInsPointNum = 0;
mbMarkedObjRectDirty=false;
mbMarkedPointsRectsDirty=false;
mbMarkHandlesHidden = false;
commit 985f95215785a7eecd37e2b8eeb7fd232de850df
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date: Sun Nov 26 11:21:08 2017 +0100
Data members to enums
After 1d852b32d7ad89b2317c04958060f366f8922ca4 these data members
were initialized only in constructor and never changed afterwards,
behaving de-facto as constants.
Convert them to an enum and take the chance to change their type
from sal_uIntPtr to size_t.
Change-Id: Ief33b7d3cfd3e181837f77c5b8a51812e314121d
diff --git a/include/svx/svddrgv.hxx b/include/svx/svddrgv.hxx
index e3b0e153e641..067b954b7d73 100644
--- a/include/svx/svddrgv.hxx
+++ b/include/svx/svddrgv.hxx
@@ -30,6 +30,12 @@ class SVX_DLLPUBLIC SdrDragView: public SdrExchangeView
friend class SdrPageView;
friend class SdrDragMethod;
+ // See GetDragXorPolyLimit/GetDragXorPointLimit
+ enum : size_t {
+ eDragXorPolyLimit = 100,
+ eDragXorPointLimit = 500
+ };
+
protected:
SdrHdl* mpDragHdl;
SdrDragMethod* mpCurrentSdrDragMethod;
@@ -38,9 +44,6 @@ protected:
OUString maInsPointUndoStr;
SdrHdlKind meDragHdl;
- sal_uIntPtr mnDragXorPolyLimit;
- sal_uIntPtr mnDragXorPointLimit;
-
bool mbFramDrag : 1; // currently frame dragging
bool mbMarkedHitMovesAlways : 1; // Persistent
bool mbDragLimit : 1; // Limit on SnapRect instead of BoundRect
@@ -150,14 +153,13 @@ public:
// If the number of selected objects exceeds the value set here,
// NoDragPolys is (temporarily) activated implicitly.
// PolyPolygons etc. are regarded as multiple objects respectively.
- // Default=100
- sal_uIntPtr GetDragXorPolyLimit() const { return mnDragXorPolyLimit; }
+ size_t GetDragXorPolyLimit() const { return eDragXorPolyLimit; }
// Like DragXorPolyLimit, but in respect to the total number of
- // all polygons. Default=500.
+ // all polygons.
// NoDragPolys is (temporarily) activated, if one of the limits
// is exceeded.
- sal_uIntPtr GetDragXorPointLimit() const { return mnDragXorPointLimit; }
+ size_t GetDragXorPointLimit() const { return eDragXorPointLimit; }
void SetSolidDragging(bool bOn);
bool IsSolidDragging() const;
diff --git a/svx/source/svdraw/svddrgv.cxx b/svx/source/svdraw/svddrgv.cxx
index d5734123d5f9..2716bf42ea49 100644
--- a/svx/source/svdraw/svddrgv.cxx
+++ b/svx/source/svdraw/svddrgv.cxx
@@ -63,8 +63,6 @@ void SdrDragView::ImpClearVars()
mbInsGluePoint=false;
mbInsObjPointMode=false;
mbInsGluePointMode=false;
- mnDragXorPolyLimit=100;
- mnDragXorPointLimit=500;
mbNoDragXorPolys=false;
mbResizeAtCenter=false;
mbCrookAtCenter=false;
More information about the Libreoffice-commits
mailing list