37 return std::make_unique<sdr::contact::ViewContactOfVirtObj>(*
this);
54 mxRefObj(rSource.mxRefObj)
106 return mxRefObj->GetObjIdentifier();
116 return mxRefObj->SetName(rStr, bSetChanged);
136 return mxRefObj->SetDescription(rStr);
146 return mxRefObj->SetDecorative(isDecorative);
156 auto aRectangle =
mxRefObj->GetCurrentBoundRect();
164 auto aRectangle =
mxRefObj->GetLastBoundRect();
193 if (!
aName.isEmpty())
201 return "[" +
mxRefObj->TakeObjNamePlural() +
"]";
207 return mxRefObj->HasLimitedRotation();
238 tempList.
MoveTo(rHdlList);
244 mxRefObj->AddToPlusHdlList(tempList, rHdl);
251 tempList.
MoveTo(rHdlList);
275 return mxRefObj->beginSpecialDrag(rDrag);
280 return mxRefObj->applySpecialDrag(rDrag);
285 return mxRefObj->getSpecialDragPoly(rDrag);
291 return mxRefObj->getSpecialDragComment(rDrag);
307 return mxRefObj->EndCreate(rStat,eCmd);
322 return mxRefObj->TakeCreatePoly(rDrag);
473 return mxRefObj->GetShearAngle(bVertical);
479 return mxRefObj->GetSnapPointCount();
556 return mxRefObj->CheckMacroHit(rRec);
561 return mxRefObj->GetMacroPointer(rRec);
566 mxRefObj->PaintMacro(rOut,rDirtyRect,rRec);
sal_Int32 GetNumerator() const
sal_Int32 GetDenominator() const
constexpr tools::Long Y() const
void Move(tools::Long nHorzMove, tools::Long nVertMove)
constexpr tools::Long X() const
static Graphic GetObjGraphic(const SdrObject &rSdrObject, bool bSVG=false)
Generate a Graphic for the given draw object.
This class represents an embedded or linked bitmap graphic object.
void MoveTo(SdrHdlList &rOther)
size_t GetHdlCount() const
SdrHdl * GetHdl(size_t nNum) const
void SetPos(const Point &rPnt)
const Point & GetPos() const
All geometrical data of an arbitrary object for use in undo/redo.
void setOutRectangleConst(tools::Rectangle const &rRectangle) const
void ActionChanged() const
const tools::Rectangle & getOutRectangle() const
void BroadcastObjectChange() const
SdrModel & getSdrModelFromSdrObject() const
SdrObjUserCall * m_pUserCall
void SendUserCall(SdrUserCallType eUserCall, const tools::Rectangle &rBoundRect) const
virtual void SetChanged()
void setOutRectangle(tools::Rectangle const &rRectangle)
virtual void SetBoundAndSnapRectsDirty(bool bNotMyself=false, bool bRecursive=true)
FIXME: The virtual object is not yet fully implemented and tested.
virtual std::unique_ptr< SdrObjGeoData > NewGeoData() const override
A derived class must override these 3 methods if it has own geometric data that must be saved for Und...
virtual void Move(const Size &rSiz) override
virtual bool applySpecialDrag(SdrDragStat &rDrag) override
virtual bool MovCreate(SdrDragStat &rStat) override
virtual bool HasLimitedRotation() const override
virtual OUString getSpecialDragComment(const SdrDragStat &rDrag) const override
virtual SdrObjKind GetObjIdentifier() const override
virtual void NbcMove(const Size &rSiz) override
The methods Move, Resize, Rotate, Mirror, Shear, SetSnapRect and SetLogicRect call the corresponding ...
const SdrObject & GetReferencedObj() const
virtual bool BegCreate(SdrDragStat &rStat) override
Every object must be able to create itself interactively.
virtual rtl::Reference< SdrObject > CloneSdrObject(SdrModel &rTargetModel) const override
rtl::Reference< SdrObject > mxRefObj
virtual PointerStyle GetMacroPointer(const SdrObjMacroHitRec &rRec) const override
virtual void Shear(const Point &rRef, Degree100 nAngle, double tn, bool bVShear) override
virtual void NbcShear(const Point &rRef, Degree100 nAngle, double tn, bool bVShear) override
virtual SdrObjList * GetSubList() const override
virtual bool BckCreate(SdrDragStat &rStat) override
virtual std::unique_ptr< sdr::contact::ViewContact > CreateObjectSpecificViewContact() override
virtual void SetGeoData(const SdrObjGeoData &rGeo) override
virtual Point GetOffset() const
virtual bool EndCreate(SdrDragStat &rStat, SdrCreateCmd eCmd) override
tools::Rectangle aSnapRect
virtual const tools::Rectangle & GetCurrentBoundRect() const override
virtual void Rotate(const Point &rRef, Degree100 nAngle, double sn, double cs) override
virtual OUString TakeObjNamePlural() const override
virtual void SetDecorative(bool isDecorative) override
virtual void RecalcSnapRect() override
Snap is not done on the BoundRect but if possible on logic coordinates (i.e.
virtual void TakeObjInfo(SdrObjTransformInfoRec &rInfo) const override
virtual void SetDescription(const OUString &rStr) override
virtual OUString TakeObjNameSingul() const override
virtual void SetTitle(const OUString &rStr) override
virtual void NbcSetSnapRect(const tools::Rectangle &rRect) override
virtual void NbcReformatText() override
virtual void SetSnapRect(const tools::Rectangle &rRect) override
virtual bool IsPolyObj() const override
virtual bool IsDecorative() const override
virtual Point GetSnapPoint(sal_uInt32 i) const override
virtual sal_uInt32 GetSnapPointCount() const override
snap to special points of an Object (polygon points, center of circle)
virtual void NbcSetAnchorPos(const Point &rAnchorPos) override
virtual rtl::Reference< SdrObject > getFullDragClone() const override
virtual void SetLogicRect(const tools::Rectangle &rRect) override
virtual OUString GetTitle() const override
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
virtual sal_uInt32 GetHdlCount() const override
Via GetHdlCount the number of Handles can be retrieved.
SdrObject & ReferencedObj()
virtual const tools::Rectangle & GetLogicRect() const override
virtual void SetName(const OUString &rStr, const bool bSetChanged=true) override
virtual bool beginSpecialDrag(SdrDragStat &rDrag) const override
virtual void NbcRotate(const Point &rRef, Degree100 nAngle, double sn, double cs) override
virtual void RecalcBoundRect() override
virtual OUString GetDescription() const override
virtual basegfx::B2DPolyPolygon TakeXorPoly() const override
The Xor-Polygon is required by the View to drag the object.
virtual bool hasSpecialDrag() const override
The standard transformations (Move,Resize,Rotate,Mirror,Shear) are taken over by the View (TakeXorPol...
virtual void NbcSetLogicRect(const tools::Rectangle &rRect) override
virtual void BrkCreate(SdrDragStat &rStat) override
virtual void RestoreGeoData(const SdrObjGeoData &rGeo) override
virtual void AddToPlusHdlList(SdrHdlList &rHdlList, SdrHdl &rHdl) const override
virtual Degree100 GetRotateAngle() const override
virtual void NbcMirror(const Point &rRef1, const Point &rRef2) override
virtual basegfx::B2DPolyPolygon getSpecialDragPoly(const SdrDragStat &rDrag) const override
virtual sal_uInt32 GetPointCount() const override
virtual sdr::properties::BaseProperties & GetProperties() const override
virtual void NbcSetPoint(const Point &rPnt, sal_uInt32 i) override
virtual bool HasMacro() const override
virtual void NbcResize(const Point &rRef, const Fraction &xFact, const Fraction &yFact) override
virtual void SaveGeoData(SdrObjGeoData &rGeo) const override
virtual ~SdrVirtObj() override
virtual std::unique_ptr< SdrObjGeoData > GetGeoData() const override
virtual Degree100 GetShearAngle(bool bVertical=false) const override
virtual void Mirror(const Point &rRef1, const Point &rRef2) override
virtual void PaintMacro(OutputDevice &rOut, const tools::Rectangle &rDirtyRect, const SdrObjMacroHitRec &rRec) const override
virtual basegfx::B2DPolyPolygon TakeCreatePoly(const SdrDragStat &rDrag) const override
Polygon dragged by the user when creating the object.
virtual const tools::Rectangle & GetSnapRect() const override
virtual SdrObject * CheckMacroHit(const SdrObjMacroHitRec &rRec) const override
virtual Point GetPoint(sal_uInt32 i) const override
virtual void AddToHdlList(SdrHdlList &rHdlList) const override
virtual const OUString & GetName() const override
virtual const tools::Rectangle & GetLastBoundRect() const override
virtual SdrInventor GetObjInventor() const override
virtual void Resize(const Point &rRef, const Fraction &xFact, const Fraction &yFact, bool bUnsetRelative=true) override
virtual bool supportsFullDrag() const override
virtual bool DoMacro(const SdrObjMacroHitRec &rRec) override
void transform(const basegfx::B2DHomMatrix &rMatrix)
B2DHomMatrix createTranslateB2DHomMatrix(double fTranslateX, double fTranslateY)