summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/svx/svdmrkv.hxx7
-rw-r--r--svx/source/svdraw/svdmrkv.cxx11
-rw-r--r--svx/source/svdraw/svdview.cxx10
3 files changed, 11 insertions, 17 deletions
diff --git a/include/svx/svdmrkv.hxx b/include/svx/svdmrkv.hxx
index cddd924de42c..18d2a83c71a7 100644
--- a/include/svx/svdmrkv.hxx
+++ b/include/svx/svdmrkv.hxx
@@ -56,11 +56,6 @@ namespace o3tl
template<> struct typed_flags<SdrSearchOptions> : is_typed_flags<SdrSearchOptions, 0xbfff> {};
}
-// SDRSEARCHPASS_... is return parameter value at PickObj().
-#define SDRSEARCHPASS_DIRECT 0x0000 /* Object is hit by 'direct hit' */
-#define SDRSEARCHPASS_INACTIVELIST 0x0001 /* Obj is on the page, but not in the AktGroup (at WHOLEPAGE) */
-#define SDRSEARCHPASS_MASTERPAGE 0x0002 /* Object was found on the MasterPage */
-
enum SdrHitKind {SDRHIT_NONE, // No hit
SDRHIT_OBJECT, // Hit
SDRHIT_BOUNDRECT, // Hit at BoundRect
@@ -286,7 +281,7 @@ public:
// SdrSearchOptions::DEEP SdrSearchOptions::ALSOONMASTER SdrSearchOptions::TESTMARKABLE SdrSearchOptions::TESTTEXTEDIT
// SdrSearchOptions::WITHTEXT SdrSearchOptions::TESTTEXTAREA SdrSearchOptions::BACKWARD SdrSearchOptions::MARKED
// SdrSearchOptions::WHOLEPAGE
- bool PickObj(const Point& rPnt, short nTol, SdrObject*& rpObj, SdrPageView*& rpPV, SdrSearchOptions nOptions, SdrObject** ppRootObj, sal_uInt16* pnPassNum=NULL) const;
+ bool PickObj(const Point& rPnt, short nTol, SdrObject*& rpObj, SdrPageView*& rpPV, SdrSearchOptions nOptions, SdrObject** ppRootObj, bool* pbHitPassDirect=NULL) const;
bool PickObj(const Point& rPnt, short nTol, SdrObject*& rpObj, SdrPageView*& rpPV, SdrSearchOptions nOptions=SdrSearchOptions::NONE) const;
bool MarkObj(const Point& rPnt, short nTol=-2, bool bToggle=false, bool bDeep=false);
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index 57c84b25eec5..45a09abb2861 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -1737,11 +1737,11 @@ bool SdrMarkView::PickObj(const Point& rPnt, short nTol, SdrObject*& rpObj, SdrP
return PickObj(rPnt,nTol,rpObj,rpPV,nOptions,NULL,NULL);
}
-bool SdrMarkView::PickObj(const Point& rPnt, short nTol, SdrObject*& rpObj, SdrPageView*& rpPV, SdrSearchOptions nOptions, SdrObject** ppRootObj, sal_uInt16* pnPassNum) const
+bool SdrMarkView::PickObj(const Point& rPnt, short nTol, SdrObject*& rpObj, SdrPageView*& rpPV, SdrSearchOptions nOptions, SdrObject** ppRootObj, bool* pbHitPassDirect) const
{ // TODO: lacks a Pass2,Pass3
SortMarkedObjects();
if (ppRootObj!=NULL) *ppRootObj=NULL;
- if (pnPassNum!=NULL) *pnPassNum=0;
+ if (pbHitPassDirect!=NULL) *pbHitPassDirect=true;
rpObj=NULL;
rpPV=NULL;
bool bWholePage(nOptions & SdrSearchOptions::WHOLEPAGE);
@@ -1797,13 +1797,13 @@ bool SdrMarkView::PickObj(const Point& rPnt, short nTol, SdrObject*& rpObj, SdrP
if (!bBack) nPgNum--;
const SetOfByte* pMVisLay=NULL;
SdrObjList* pObjList=NULL;
- if (pnPassNum!=NULL) *pnPassNum&=~(SDRSEARCHPASS_MASTERPAGE|SDRSEARCHPASS_INACTIVELIST);
+ if (pbHitPassDirect!=NULL) *pbHitPassDirect = true;
if (nPgNum>=nPgAnz-1 || (bExtraPassForWholePage && nPgNum>=nPgAnz-2))
{
pObjList=pPV->GetObjList();
if (bExtraPassForWholePage && nPgNum==nPgAnz-2) {
pObjList=pPage;
- if (pnPassNum!=NULL) *pnPassNum|=SDRSEARCHPASS_INACTIVELIST;
+ if (pbHitPassDirect!=NULL) *pbHitPassDirect = false;
}
}
else
@@ -1813,7 +1813,7 @@ bool SdrMarkView::PickObj(const Point& rPnt, short nTol, SdrObject*& rpObj, SdrP
pMVisLay = &pPage->TRG_GetMasterPageVisibleLayers();
pObjList = &rMasterPage;
- if (pnPassNum!=NULL) *pnPassNum|=SDRSEARCHPASS_MASTERPAGE;
+ if (pbHitPassDirect!=NULL) *pbHitPassDirect = false;
nTmpOptions=nTmpOptions | SdrSearchOptions::IMPISMASTER;
}
pHitObj=CheckSingleSdrObjectHit(aPt,nTol,pObjList,pPV,nTmpOptions,pMVisLay,pObj,&(GetMarkedObjectList()));
@@ -1849,7 +1849,6 @@ bool SdrMarkView::PickObj(const Point& rPnt, short nTol, SdrObject*& rpObj, SdrP
if (pObj!=NULL) {
rpObj=pObj;
rpPV=pPV;
- if (pnPassNum!=NULL) *pnPassNum|=SDRSEARCHPASS_DIRECT;
}
}
return rpObj!=NULL;
diff --git a/svx/source/svdraw/svdview.cxx b/svx/source/svdraw/svdview.cxx
index 1a041fac711d..15654fa7c0e4 100644
--- a/svx/source/svdraw/svdview.cxx
+++ b/svx/source/svdraw/svdview.cxx
@@ -344,7 +344,7 @@ SdrHitKind SdrView::PickAnything(const Point& rLogicPos, SdrViewEvent& rVEvt) co
SdrPageView* pPV=NULL;
SdrObject* pObj=NULL;
SdrObject* pHitObj=NULL;
- sal_uInt16 nHitPassNum=0;
+ bool bHitPassDirect=true;
sal_uInt16 nHlplIdx=0;
sal_uInt16 nGlueId=0;
if (bTextEditHit || bTextEditSel)
@@ -364,7 +364,7 @@ SdrHitKind SdrView::PickAnything(const Point& rLogicPos, SdrViewEvent& rVEvt) co
{
eHit=SDRHIT_GLUEPOINT; // deselected glue point hit
}
- else if (PickObj(aLocalLogicPosition,nHitTolLog,pHitObj,pPV,SdrSearchOptions::DEEP|SdrSearchOptions::MARKED,&pObj,&nHitPassNum))
+ else if (PickObj(aLocalLogicPosition,nHitTolLog,pHitObj,pPV,SdrSearchOptions::DEEP|SdrSearchOptions::MARKED,&pObj,&bHitPassDirect))
{
eHit=SDRHIT_MARKEDOBJECT;
::sdr::table::SdrTableObj* pTableObj = dynamic_cast< ::sdr::table::SdrTableObj* >( pObj );
@@ -384,7 +384,7 @@ SdrHitKind SdrView::PickAnything(const Point& rLogicPos, SdrViewEvent& rVEvt) co
}
}
}
- else if (PickObj(aLocalLogicPosition,nHitTolLog,pHitObj,pPV,SdrSearchOptions::DEEP|SdrSearchOptions::ALSOONMASTER|SdrSearchOptions::WHOLEPAGE,&pObj,&nHitPassNum))
+ else if (PickObj(aLocalLogicPosition,nHitTolLog,pHitObj,pPV,SdrSearchOptions::DEEP|SdrSearchOptions::ALSOONMASTER|SdrSearchOptions::WHOLEPAGE,&pObj,&bHitPassDirect))
{
// MasterPages and WholePage for Macro and URL
eHit=SDRHIT_UNMARKEDOBJECT;
@@ -504,7 +504,7 @@ SdrHitKind SdrView::PickAnything(const Point& rLogicPos, SdrViewEvent& rVEvt) co
}
}
- if (nHitPassNum==SDRSEARCHPASS_DIRECT &&
+ if (bHitPassDirect &&
(eHit==SDRHIT_MARKEDOBJECT || eHit==SDRHIT_UNMARKEDOBJECT) &&
(IsTextTool() || (IsEditMode() && IsQuickTextEditMode())) && pHitObj->HasTextEdit())
{
@@ -552,7 +552,7 @@ SdrHitKind SdrView::PickAnything(const Point& rLogicPos, SdrViewEvent& rVEvt) co
}
}
}
- if (nHitPassNum!=SDRSEARCHPASS_DIRECT && eHit==SDRHIT_UNMARKEDOBJECT) {
+ if (!bHitPassDirect && eHit==SDRHIT_UNMARKEDOBJECT) {
eHit=SDRHIT_NONE;
pObj=NULL;
pPV=NULL;