35 for (
size_t nMarkNum=0; nMarkNum<nMarkCount && !bRet; ++nMarkNum) {
52 for (
size_t nMarkNum=0; nMarkNum<nMarkCount; ++nMarkNum) {
71 for (
size_t nMarkNum=0; nMarkNum<nMarkCount && !bRet; ++nMarkNum) {
106 if (nMarkNum==SAL_MAX_SIZE)
114 rPts.
insert(static_cast<sal_uInt16>(nHdlNum));
119 if (it != rPts.end())
173 if (nMarkNum!=SAL_MAX_SIZE) {
195 for (
size_t nHdlNum=nHdlCnt; nHdlNum>0;) {
201 if (pObj!=pObj0 || pPV!=pPV0 || pM==
nullptr) {
203 if (nMarkNum!=SAL_MAX_SIZE) {
210 OSL_FAIL(
"SdrMarkView::MarkPoints(const Rectangle* pRect): Selected object not found.");
217 if (pM!=
nullptr && (pRect==
nullptr || pRect->
IsInside(aPos))) {
261 for (
size_t nHdlNum=0; nHdlNum<nHdlCnt; ++nHdlNum) {
270 if (aPt.X()<rR.Left ()) rR.SetLeft(aPt.X() );
271 if (aPt.X()>rR.Right ()) rR.SetRight(aPt.X() );
272 if (aPt.Y()<rR.Top ()) rR.SetTop(aPt.Y() );
273 if (aPt.Y()>rR.Bottom()) rR.SetBottom(aPt.Y() );
290 for (
size_t nMarkNum=0; nMarkNum<nMarkCount; ++nMarkNum) {
302 if( it != rPts.
end() )
310 OSL_FAIL(
"SdrMarkView::UndirtyMrkPnt(): Selected points on an object that is not a PolyObj!");
356 for (
size_t nMarkNum=0; nMarkNum<nMarkCount && !bRet; ++nMarkNum) {
364 for(sal_uInt16
a(0); !bRet &&
a < pGPL->
GetCount();
a++)
366 if((*pGPL)[
a].IsUserDefined())
382 for (
size_t nMarkNum=0; nMarkNum<nMarkCount && !bRet; ++nMarkNum) {
385 bRet = !rPts.
empty();
397 for (
size_t nMarkNum=0; nMarkNum<nMarkCount; ++nMarkNum) {
402 if (bUnmark && pRect==
nullptr) {
409 sal_uInt16 nGluePointCnt=pGPL->
GetCount();
410 for (sal_uInt16 nGPNum=0; nGPNum<nGluePointCnt; nGPNum++) {
417 if (pRect==
nullptr || pRect->
IsInside(aPos)) {
418 bool bContains = rPts.
find( rGP.
GetId() ) != rPts.
end();
419 if (!bUnmark && !bContains) {
423 if (bUnmark && bContains) {
442 rpObj=
nullptr; rpPV=
nullptr; rnId=0;
446 if (pOut==
nullptr)
return false;
449 size_t nMarkNum=nMarkCount;
457 sal_uInt16 nNum=pGPL->
HitTest(rPnt,*pOut,pObj);
466 rnId=(*pGPL)[nNum].GetId();
483 if (nMarkPos!=SAL_MAX_SIZE) {
486 bool bContains = rPts.
find( nId ) != rPts.
end();
487 if (!bUnmark && !bContains) {
491 if (bUnmark && bContains) {
511 if (nPos!=SAL_MAX_SIZE) {
514 bRet = rPts.
find( nId ) != rPts.
end();
523 for (
size_t nHdlNum=0; nHdlNum<nHdlCnt; ++nHdlNum) {
525 if (pHdl->
GetObj()==pObj &&
std::unique_ptr< SdrHdl > RemoveHdl(size_t nNum)
const SdrUShortCont & GetMarkedGluePoints() const
const_iterator lower_bound(const Value &x) const
tools::Rectangle maMarkedGluePointsRect
virtual sal_Int32 GetMarkablePointCount() const
virtual void SetMarkHandles(SfxViewShell *pOtherShell)
SVX_DLLPRIVATE void ImpSetPointsRects() const
void SortMarkedObjects() const
void UndirtyMrkPnt() const
const SdrUShortCont & GetMarkedPoints() const
virtual bool IsPolyObj() const
bool ImpIsFrameHandles() const
void SetSelected(bool bJa=true)
const tools::Rectangle & GetMarkedGluePointsRect() const
const_iterator find(const Value &x) const
SdrObject * GetObj() const
const Point & GetPos() const
bool HasMarkedGluePoints() const
bool HasMarkableGluePoints() const
size_t TryToFindMarkedObject(const SdrObject *pObj) const
virtual sal_uInt32 GetPointCount() const
sal_uInt16 GetCount() const
bool MarkGluePoints(const tools::Rectangle *pRect, bool bUnmark)
virtual void AddToPlusHdlList(SdrHdlList &rHdlList, SdrHdl &rHdl) const
virtual void MarkListHasChanged()
bool MarkGluePoint(const SdrObject *pObj, sal_uInt16 nId, bool bUnmark)
sal_uInt16 HitTest(const Point &rPnt, const OutputDevice &rOut, const SdrObject *pObj) const
void SetPlusHandlesAlwaysVisible(bool bOn)
void ForceUndirtyMrkPnt() const
OutputDevice * GetFirstOutputDevice() const
virtual bool HasMarkedPoints() const
SdrObject * GetMarkedSdrObj() const
Everything a View needs to know about a selected object.
virtual const SdrGluePointList * GetGluePointList() const
void SetObj(SdrObject *pNewObj)
#define SDRGLUEPOINT_NOTFOUND
void MoveTo(SdrHdlList &rOther)
size_t GetMarkedObjectCount() const
bool MarkPointHelper(SdrHdl *pHdl, SdrMark *pMark, bool bUnmark)
should only be used from outside svx for special ui elements
SdrPageView * GetPageView() const
bool IsGluePointEditMode() const
bool ImpMarkPoint(SdrHdl *pHdl, SdrMark *pMark, bool bUnmark)
SdrPageView * GetPageView() const
static constexpr sal_uInt16 mnFrameHandlesLimit
const_iterator end() const
bool PickGluePoint(const Point &rPnt, SdrObject *&rpObj, sal_uInt16 &rnId, SdrPageView *&rpPV) const
Point GetAbsolutePos(const SdrObject &rObj) const
sal_uInt16 FindGluePoint(sal_uInt16 nId) const
const_iterator begin() const
size_t GetHdlCount() const
SdrHdl * GetHdl(size_t nNum) const
bool mbMarkedPointsRectsDirty
sal_uInt32 GetObjHdlNum() const
void SetPageView(SdrPageView *pNewPV)
void AdjustMarkHdl(SfxViewShell *pOtherShell=nullptr)
SdrHdl * GetGluePointHdl(const SdrObject *pObj, sal_uInt16 nId) const
virtual bool MarkPoints(const tools::Rectangle *pRect, bool bUnmark)
tools::Rectangle maMarkedPointsRect
void SetPlusHdl(bool bOn)
const tools::Rectangle & GetMarkedPointsRect() const
bool IsGluePointMarked(const SdrObject *pObj, sal_uInt16 nId) const
OutputDevice * get() const
bool IsUserDefined() const
SdrMark * GetSdrMarkByIndex(size_t nNum) const
bool IsPointMarkable(const SdrHdl &rHdl) const
virtual bool MarkPoint(SdrHdl &rHdl, bool bUnmark=false)
std::pair< const_iterator, bool > insert(Value &&x)
sal_uInt32 GetSourceHdlNum() const
VclPtr< OutputDevice > mpActualOutDev
std::vector< sal_uInt16 >::const_iterator const_iterator
SdrHdlKind GetKind() const
size_type erase(const Value &x)
virtual bool HasMarkablePoints() const