21#include <osl/diagnose.h>
30#include <svx/strings.hrc>
48 , mpInsPointUndo(nullptr)
50 , mnDragThresholdPixels(6)
52 , mbMarkedHitMovesAlways(false)
55 , mbDragStripes(false)
57 , mbResizeAtCenter(false)
58 , mbCrookAtCenter(false)
59 , mbDragWithCopy(false)
60 , mbInsGluePoint(false)
61 , mbInsObjPointMode(false)
62 , mbInsGluePointMode(false)
63 , mbNoDragXorPolys(false)
155 Point aPt(pCaptionObj->GetTailPos());
189 std::unique_ptr<SdrDragMethod> pForcedMeth(_pForcedMeth);
204 (pHdl==
nullptr || pHdl->
GetObj()==
nullptr)) {
258 else if(!bNotDraggable)
270 bool b3DObjSelected =
false;
275 b3DObjSelected =
true;
418 bool bSingleTextObjMark =
false;
425 bSingleTextObjMark =
true;
427 if ( bSingleTextObjMark )
439 if(bCustomShapeSelected)
448 if(bConnectorSelected)
539 sal_Int32 nSavedHdlCount=0;
657 bool bClosed0 = pMarkedPath->IsClosedObj();
659 const sal_uInt32 nInsPointNum { bIdxZwang
660 ? pMarkedPath->NbcInsPoint(aPt, bNewObj)
661 : pMarkedPath->NbcInsPointOld(aPt, bNewObj)
664 if(bClosed0 != pMarkedPath->IsClosedObj())
668 pMarkedPath->SetChanged();
669 pMarkedPath->BroadcastObjectChange();
721 if (
dynamic_cast<const SdrEdgeObj *
>(pObj) ==
nullptr)
754 sal_uInt16 nGlueId=rGP.
GetId();
780 OSL_FAIL(
"BegInsGluePoint(): GluePoint handle not found.");
807 if(
nullptr != pPageView)
819 if(xOverlayManager.is())
826 xOverlayManager->flush();
constexpr tools::Long Y() const
void setX(tools::Long nX)
void setY(tools::Long nY)
tools::Long AdjustY(tools::Long nVertMove)
tools::Long AdjustX(tools::Long nHorzMove)
constexpr tools::Long X() const
void SetView(SdrView *pV)
void SetDragMethod(SdrDragMethod *pMth)
void SetPageView(SdrPageView *pPV)
const Point & GetNow() const
const tools::Rectangle & GetActionRect() const
const Point & GetPrev() const
void SetMinMove(sal_uInt16 nDist)
bool EndDragObj(bool bCopy=false)
SdrDragView(SdrModel &rSdrModel, OutputDevice *pOut)
virtual void EndAction() override
void SetDragStripes(bool bOn)
OUString maInsPointUndoStr
void SetNoDragXorPolys(bool bOn)
virtual bool BegDragObj(const Point &rPnt, OutputDevice *pOut, SdrHdl *pHdl, short nMinMov=-3, SdrDragMethod *pForcedMeth=nullptr)
SdrUndoGeoObj * mpInsPointUndo
bool IsOrthoDesired() const
bool IsSolidDragging() const
bool IsNoDragXorPolys() const
bool IsInsGluePointMode() const
bool BegInsGluePoint(const Point &rPnt)
bool IsInsObjPointPossible() const
virtual void MovAction(const Point &rPnt) override
void SetDragWithCopy(bool bOn)
virtual void BckAction() override
bool TakeDragObjAnchorPos(Point &rPos, bool bTopRight) const
bool IsInsertGluePoint() const
bool IsDraggingGluePoints() const
tools::Rectangle maDragLimit
virtual bool IsAction() const override
virtual void BrkAction() override
virtual void TakeActionRect(tools::Rectangle &rRect) const override
bool IsInsObjPoint() const
void SetSolidDragging(bool bOn)
bool IsInsGluePointPossible() const
virtual bool TakeDragLimit(SdrDragMode eMode, tools::Rectangle &rRect) const
virtual void SetMarkHandles(SfxViewShell *pOtherShell) override
void MovDragObj(const Point &rPnt)
bool ImpBegInsObjPoint(bool bIdxZwang, const Point &rPnt, bool bNewObj, OutputDevice *pOut)
bool IsMarkedHitMovesAlways() const
bool EndInsObjPoint(SdrCreateCmd eCmd)
void SetInsertGluePoint(bool bOn)
bool IsDraggingPoints() const
std::unique_ptr< SdrDragMethod > mpCurrentSdrDragMethod
virtual ~SdrDragView() override
Utility class SdrEdgeObj.
bool IsResizeAllowed(bool bProp=false) const
bool IsUndoEnabled() const
bool IsMoveAllowed() const
bool IsTransparenceAllowed() const
void AddUndo(std::unique_ptr< SdrUndoAction > pUndo)
bool IsDistortAllowed(bool bNoContortion=false) const
bool IsCrookAllowed(bool bNoContortion=false) const
bool IsGradientAllowed() const
bool IsCropAllowed() const
friend class SdrDragDistort
bool IsShearAllowed() const
bool m_bOrthoDesiredOnMarked
bool IsRotateAllowed(bool b90Deg=false) const
bool IsMirrorAllowed(bool b45Deg=false, bool b90Deg=false) const
friend class SdrDragCrook
bool ImpLimitToWorkArea(Point &rPt) const
sal_uInt16 Insert(const SdrGluePoint &rGP)
void SetAbsolutePos(const Point &rNewPos, const SdrObject &rObj)
SdrHdl * GetHdl(size_t nNum) const
SdrHdlKind GetKind() const
sal_uInt32 GetObjHdlNum() const
SdrObject * GetObj() const
const Point & GetPos() const
virtual sal_Int32 GetMarkablePointCount() const
virtual void SetMarkHandles(SfxViewShell *pOtherShell)
bool ImpIsFrameHandles() const
bool AreObjectsMarked() const
SdrObject * GetMarkedObjectByIndex(size_t nNum) const
size_t GetMarkedObjectCount() const
SdrHdl * GetGluePointHdl(const SdrObject *pObj, sal_uInt16 nId) const
bool getPossibleGridOffsetForPosition(basegfx::B2DVector &rOffset, const basegfx::B2DPoint &rPoint, const SdrPageView *pPV) const
bool getPossibleGridOffsetForSdrObject(basegfx::B2DVector &rOffset, const SdrObject *pObj, const SdrPageView *pPV) const
bool UnmarkAllGluePoints()
void AdjustMarkHdl(SfxViewShell *pOtherShell=nullptr)
bool PickMarkedObj(const Point &rPnt, SdrObject *&rpObj, SdrPageView *&rpPV, SdrSearchOptions nOptions) const
bool MarkGluePoint(const SdrObject *pObj, sal_uInt16 nId, bool bUnmark)
SdrUndoFactory & GetSdrUndoFactory() const
returns the models undo factory.
virtual void BrkAction() override
virtual void MovAction(const Point &rPnt) override
virtual bool IsAction() const override
virtual void EndAction() override
virtual void TakeActionRect(tools::Rectangle &rRect) const override
virtual void BckAction() override
virtual SdrGluePointList * ForceGluePointList()
virtual bool IsPolyObj() const
virtual OUString TakeObjNameSingul() const
virtual bool hasSpecialDrag() const
The standard transformations (Move,Resize,Rotate,Mirror,Shear) are taken over by the View (TakeXorPol...
bool HasMarkedObjPageView() const
sal_uInt32 PageWindowCount() const
SdrPageWindow * GetPageWindow(sal_uInt32 nIndex) const
SdrPaintWindow & GetPaintWindow() const
const sdr::contact::ObjectContact & GetObjectContact() const
sal_uInt16 ImpGetMinMovLogic(short nMinMov, const OutputDevice *pOut) const
SdrPageView * GetSdrPageView() const
VclPtr< OutputDevice > mpDragWin
SdrModel & GetModel() const
rtl::Reference< sdr::overlay::OverlayManager > const & GetOverlayManager() const
bool OutputToWindow() const
bool bEliminatePolyPoints
Point GetSnapPos(const Point &rPnt, const SdrPageView *pPV) const
virtual std::unique_ptr< SdrUndoAction > CreateUndoGeoObject(SdrObject &rObject)
Changing the geometry of an object.
virtual void Undo() override
#define DBG_ASSERT(sCon, aError)
OUString SvxResId(TranslateId aId)
B2IRange fround(const B2DRange &rRange)
E3dObject * DynCastE3dObject(SdrObject *pObj)
SdrTextObj * DynCastSdrTextObj(SdrObject *pObj)