25 #include <svx/strings.hrc>
45 for (
size_t nm=0; nm<nMarkCount; ++nm) {
63 for(sal_uInt16 nPtId : rPts)
69 (*pDoFunc)(rGP,pObj,p1,p2,p3,p4);
89 bool bOn = bool(nEsc & *static_cast<SdrEscapeDirection const *>(pnThisEsc));
90 bool& bFirst=*
const_cast<bool *
>(
static_cast<bool const *
>(pbFirst));
111 if (*static_cast<bool const *>(pbOn))
132 bool& bFirst=*
const_cast<bool *
>(
static_cast<bool const *
>(pbFirst));
154 rGP.
SetPercent(*static_cast<bool const *>(pbOn));
170 bool& bDontCare=*
const_cast<bool *
>(
static_cast<bool const *
>(pbDontCare));
171 bool bVert=*
static_cast<bool const *
>(pbVert);
181 bool& bFirst=*
const_cast<bool *
>(
static_cast<bool const *
>(pbFirst));
182 if (bFirst) { nRet=nAlg; bFirst=
false; }
183 else if (nRet!=nAlg) {
197 bool bDontCare=
false;
206 if (*static_cast<bool const *>(pbVert)) {
207 rGP.
SetVertAlign(*static_cast<SdrAlign const *>(pnAlign));
209 rGP.
SetHorzAlign(*static_cast<SdrAlign const *>(pnAlign));
231 for (
size_t nm=0; nm<nMarkCount; ++nm)
244 for(sal_uInt16 nPtId : rPts)
273 for (
size_t nm=0; nm<nMarkCount; ++nm)
279 if (!rPts.
empty() && pGPL!=
nullptr)
286 for(sal_uInt16 nPtId : rPts)
292 sal_uInt16 nNewIdx=pGPL->
Insert(aNewGP);
293 sal_uInt16 nNewId=(*pGPL)[nNewIdx].GetId();
294 aIdsToErase.
insert(nPtId);
295 aIdsToInsert.
insert(nNewId);
298 for(
const auto& rId : aIdsToErase)
300 rPts.insert(aIdsToInsert);
314 for (
size_t nm=0; nm<nMarkCount; ++nm) {
325 for(sal_uInt16 nPtId : rPts)
331 (*pTrFunc)(aPos,p1,p2,p3,p4);
344 static void ImpMove(Point& rPt,
const void* p1,
const void* ,
const void* ,
const void* )
346 rPt.AdjustX(static_cast<const Size*>(p1)->
Width() );
347 rPt.AdjustY(static_cast<const Size*>(p1)->
Height() );
354 if (bCopy) aStr +=
SvxResId(STR_EditWithCopy);
363 static void ImpResize(Point& rPt,
const void* p1,
const void* p2,
const void* p3,
const void* )
365 ResizePoint(rPt,*static_cast<const Point*>(p1),*static_cast<const Fraction*>(p2),*static_cast<const Fraction*>(p3));
372 if (bCopy) aStr+=
SvxResId(STR_EditWithCopy);
381 static void ImpRotate(Point& rPt,
const void* p1,
const void* ,
const void* p3,
const void* p4)
383 RotatePoint(rPt,*static_cast<const Point*>(p1),*static_cast<const double*>(p3),*static_cast<const double*>(p4));
390 if (bCopy) aStr+=
SvxResId(STR_EditWithCopy);
static void ImpGetPercent(SdrGluePoint &rGP, const SdrObject *, const void *pbFirst, const void *pnRet, const void *, const void *)
const SdrUShortCont & GetMarkedGluePoints() const
static void ImpSetEscDir(SdrGluePoint &rGP, const SdrObject *, const void *pnThisEsc, const void *pbOn, const void *, const void *)
bool UnmarkAllGluePoints()
SdrAlign GetVertAlign() const
void ResizePoint(Point &rPnt, const Point &rRef, const Fraction &xFract, const Fraction &yFract)
TriState IsMarkedGluePointsEscDir(SdrEscapeDirection nThisEsc) const
bool IsUndoEnabled() const
void SetHorzAlign(SdrAlign nAlg)
void ImpCopyMarkedGluePoints()
OUString const & GetDescriptionOfMarkedGluePoints() const
virtual void BrkAction() override
virtual ~SdrGlueEditView() override
TriState IsMarkedGluePointsPercent() const
OUString SvxResId(const char *pId)
void ForceUndirtyMrkPnt() const
SdrAlign GetHorzAlign() const
virtual void SetChanged(bool bFlg=true)
SdrEscapeDirection GetEscDir() const
SdrObject * GetMarkedSdrObj() const
Everything a View needs to know about a selected object.
static void ImpSetPercent(SdrGluePoint &rGP, const SdrObject *pObj, const void *pbOn, const void *, const void *, const void *)
void AddUndo(std::unique_ptr< SdrUndoAction > pUndo)
void ResizeMarkedGluePoints(const Point &rRef, const Fraction &xFact, const Fraction &yFact, bool bCopy)
UNDERLYING_TYPE get() const
virtual const SdrGluePointList * GetGluePointList() const
static void ImpRotate(Point &rPt, const void *p1, const void *, const void *p3, const void *p4)
void ImpDoMarkedGluePoints(PGlueDoFunc pDoFunc, bool bConst, const void *p1, const void *p2=nullptr, const void *p3=nullptr, const void *p4=nullptr)
#define SDRGLUEPOINT_NOTFOUND
size_t GetMarkedObjectCount() const
void BroadcastObjectChange() const
void SetVertAlign(SdrAlign nAlg)
void SetPercent(bool bOn)
void SetAbsolutePos(const Point &rNewPos, const SdrObject &rObj)
void DeleteMarkedGluePoints()
static void ImpResize(Point &rPt, const void *p1, const void *p2, const void *p3, const void *)
static void ImpGetAlign(SdrGluePoint &rGP, const SdrObject *, const void *pbFirst, const void *pbDontCare, const void *pbVert, const void *pnRet)
void SetMarkedGluePointsPercent(bool bOn)
Point GetAbsolutePos(const SdrObject &rObj) const
static void ImpMove(Point &rPt, const void *p1, const void *, const void *, const void *)
sal_uInt16 FindGluePoint(sal_uInt16 nId) const
sal_uInt16 Insert(const SdrGluePoint &rGP)
void SetMarkedGluePointsAlign(bool bVert, SdrAlign nAlign)
void SetMarkedGluePointsEscDir(SdrEscapeDirection nThisEsc, bool bOn)
void RotatePoint(Point &rPnt, const Point &rRef, double sn, double cs)
void Delete(sal_uInt16 nPos)
virtual SdrGluePointList * ForceGluePointList()
static void ImpGetEscDir(SdrGluePoint &rGP, const SdrObject *, const void *pbFirst, const void *pnThisEsc, const void *pnRet, const void *)
SdrGlueEditView(SdrModel &rSdrModel, OutputDevice *pOut)
void AdjustMarkHdl(SfxViewShell *pOtherShell=nullptr)
void ImpTransformMarkedGluePoints(PGlueTrFunc pTrFunc, const void *p1, const void *p2=nullptr, const void *p3=nullptr, const void *p4=nullptr)
SdrAlign GetMarkedGluePointsAlign(bool bVert) const
static void ImpSetAlign(SdrGluePoint &rGP, const SdrObject *pObj, const void *pbVert, const void *pnAlign, const void *, const void *)
SdrMark * GetSdrMarkByIndex(size_t nNum) const
void RotateMarkedGluePoints(const Point &rRef, Degree100 nAngle, bool bCopy)
std::pair< const_iterator, bool > insert(Value &&x)
virtual void SetChanged()
SdrModel * GetModel() const
void SetEscDir(SdrEscapeDirection nNewEsc)
void MoveMarkedGluePoints(const Size &rSiz, bool bCopy)