27 #include <rtl/ustrbuf.hxx>
38 return std::make_unique<sdr::contact::ViewContactOfVirtObj>(*this);
55 rRefObj(rSource.rRefObj)
149 sName.insert(0,
'[');
153 if (!aName.isEmpty())
161 return sName.makeStringAndClear();
167 sName.insert(0,
'[');
169 return sName.makeStringAndClear();
206 tempList.
MoveTo(rHdlList);
219 tempList.
MoveTo(rHdlList);
virtual void Shear(const Point &rRef, Degree100 nAngle, double tn, bool bVShear)
virtual bool BckCreate(SdrDragStat &rStat)
virtual basegfx::B2DPolyPolygon TakeXorPoly() const
The Xor-Polygon is required by the View to drag the object.
virtual std::unique_ptr< SdrObjGeoData > NewGeoData() const
A derived class must override these 3 methods if it has own geometric data that must be saved for Und...
virtual const tools::Rectangle & GetLogicRect() const override
virtual void TakeObjInfo(SdrObjTransformInfoRec &rInfo) const
virtual std::unique_ptr< SdrObjGeoData > GetGeoData() const override
virtual const tools::Rectangle & GetLastBoundRect() const override
virtual Point GetPoint(sal_uInt32 i) const override
SdrObject & ReferencedObj()
virtual const tools::Rectangle & GetCurrentBoundRect() const
virtual bool BegCreate(SdrDragStat &rStat)
Every object must be able to create itself interactively.
tools::Rectangle aSnapRect
virtual void Resize(const Point &rRef, const Fraction &xFact, const Fraction &yFact, bool bUnsetRelative=true)
void SetPos(const Point &rPnt)
void SetPoint(const Point &rPnt, sal_uInt32 i)
virtual OUString getSpecialDragComment(const SdrDragStat &rDrag) const
void DelReference(SdrVirtObj &rVrtObj)
virtual void TakeObjInfo(SdrObjTransformInfoRec &rInfo) const override
virtual basegfx::B2DPolyPolygon TakeXorPoly() const override
The Xor-Polygon is required by the View to drag the object.
virtual bool beginSpecialDrag(SdrDragStat &rDrag) const override
virtual void NbcRotate(const Point &rRef, Degree100 nAngle, double sn, double cs) override
virtual void Shear(const Point &rRef, Degree100 nAngle, double tn, bool bVShear) override
virtual bool IsPolyObj() const
virtual bool HasLimitedRotation() const override
virtual void NbcResize(const Point &rRef, const Fraction &xFact, const Fraction &yFact)
virtual void NbcRotate(const Point &rRef, Degree100 nAngle, double sn, double cs)
virtual std::unique_ptr< sdr::contact::ViewContact > CreateObjectSpecificViewContact() override
virtual void NbcShear(const Point &rRef, Degree100 nAngle, double tn, bool bVShear)
virtual const tools::Rectangle & GetCurrentBoundRect() const override
virtual bool BegCreate(SdrDragStat &rStat) override
Every object must be able to create itself interactively.
virtual void NbcShear(const Point &rRef, Degree100 nAngle, double tn, bool bVShear) override
virtual bool hasSpecialDrag() const
The standard transformations (Move,Resize,Rotate,Mirror,Shear) are taken over by the View (TakeXorPol...
virtual void SetLogicRect(const tools::Rectangle &rRect) override
virtual void NbcMove(const Size &rSiz) override
The methods Move, Resize, Rotate, Mirror, Shear, SetSnapRect and SetLogicRect call the corresponding ...
virtual OUString TakeObjNameSingul() const
tools::Rectangle m_aOutRect
virtual OUString TakeObjNamePlural() const override
const Point & GetPos() const
virtual void AddToHdlList(SdrHdlList &rHdlList) const
virtual sal_uInt32 GetPointCount() const
virtual SdrObjKind GetObjIdentifier() const
virtual sdr::properties::BaseProperties & GetProperties() const
virtual void NbcSetPoint(const Point &rPnt, sal_uInt32 i) override
virtual void Mirror(const Point &rRef1, const Point &rRef2) override
All geometrical data of an arbitrary object for use in undo/redo.
virtual SdrObjList * GetSubList() const
virtual sal_uInt32 GetSnapPointCount() const override
snap to special points of an Object (polygon points, center of circle)
virtual void AddToPlusHdlList(SdrHdlList &rHdlList, SdrHdl &rHdl) const
virtual const tools::Rectangle & GetSnapRect() const
virtual SdrObject * CheckMacroHit(const SdrObjMacroHitRec &rRec) const
virtual void Rotate(const Point &rRef, Degree100 nAngle, double sn, double cs) override
virtual std::unique_ptr< SdrObjGeoData > GetGeoData() const
virtual basegfx::B2DPolyPolygon getSpecialDragPoly(const SdrDragStat &rDrag) const override
virtual void BrkCreate(SdrDragStat &rStat)
virtual bool EndCreate(SdrDragStat &rStat, SdrCreateCmd eCmd)
static Graphic GetObjGraphic(const SdrObject &rSdrObject)
Generate a Graphic for the given draw object.
virtual Point GetSnapPoint(sal_uInt32 i) const
const SdrObject & GetReferencedObj() const
virtual void NbcSetSnapRect(const tools::Rectangle &rRect) override
virtual void Move(const Size &rSiz) override
virtual void RestoreGeoData(const SdrObjGeoData &rGeo) override
virtual bool HasLimitedRotation() const
virtual bool DoMacro(const SdrObjMacroHitRec &rRec) override
virtual SdrVirtObj * CloneSdrObject(SdrModel &rTargetModel) const override
virtual bool MovCreate(SdrDragStat &rStat)
virtual bool HasMacro() const override
void AddReference(SdrVirtObj &rVrtObj)
virtual void RestoreGeoData(const SdrObjGeoData &rGeo)
virtual void AddToHdlList(SdrHdlList &rHdlList) const override
virtual sal_uInt32 GetPointCount() const override
void MoveTo(SdrHdlList &rOther)
virtual void SaveGeoData(SdrObjGeoData &rGeo) const override
virtual void NbcSetAnchorPos(const Point &rAnchorPos) override
virtual void BrkCreate(SdrDragStat &rStat) override
virtual void NbcMirror(const Point &rRef1, const Point &rRef2)
void BroadcastObjectChange() const
virtual void SetGeoData(const SdrObjGeoData &rGeo)
virtual Degree100 GetShearAngle(bool bVertical=false) const
SdrVirtObj(const SdrVirtObj &)=delete
virtual basegfx::B2DPolyPolygon getSpecialDragPoly(const SdrDragStat &rDrag) const
void ActionChanged() const
virtual void SaveGeoData(SdrObjGeoData &rGeo) const
SdrModel & getSdrModelFromSdrObject() const
virtual bool MovCreate(SdrDragStat &rStat) override
SdrObjUserCall * m_pUserCall
void transform(const basegfx::B2DHomMatrix &rMatrix)
virtual bool HasMacro() const
virtual bool EndCreate(SdrDragStat &rStat, SdrCreateCmd eCmd) override
virtual void NbcReformatText() override
virtual bool applySpecialDrag(SdrDragStat &rDrag) override
virtual void SetLogicRect(const tools::Rectangle &rRect)
virtual void PaintMacro(OutputDevice &rOut, const tools::Rectangle &rDirtyRect, const SdrObjMacroHitRec &rRec) const
This class represents an embedded or linked bitmap graphic object.
virtual sal_uInt32 GetHdlCount() const
Via GetHdlCount the number of Handles can be retrieved.
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 OUString TakeObjNameSingul() const override
virtual void Mirror(const Point &rRef1, const Point &rRef2)
virtual SdrInventor GetObjInventor() const override
virtual SdrInventor GetObjInventor() const
virtual SdrObject * CheckMacroHit(const SdrObjMacroHitRec &rRec) const override
virtual Degree100 GetShearAngle(bool bVertical=false) const override
virtual Point GetSnapPoint(sal_uInt32 i) const override
virtual void SetGeoData(const SdrObjGeoData &rGeo) override
virtual const tools::Rectangle & GetLastBoundRect() const
virtual void NbcReformatText()
size_t GetHdlCount() const
SdrHdl * GetHdl(size_t nNum) const
virtual Degree100 GetRotateAngle() const override
sal_Int32 GetDenominator() const
virtual OUString getSpecialDragComment(const SdrDragStat &rDrag) const override
virtual PointerStyle GetMacroPointer(const SdrObjMacroHitRec &rRec) const
virtual void NbcSetSnapRect(const tools::Rectangle &rRect)
virtual void RecalcSnapRect() override
Snap is not done on the BoundRect but if possible on logic coordinates (i.e.
virtual void NbcSetLogicRect(const tools::Rectangle &rRect)
virtual bool supportsFullDrag() const override
virtual bool BckCreate(SdrDragStat &rStat) override
virtual const tools::Rectangle & GetSnapRect() const override
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
FIXME: The virtual object is not yet fully implemented and tested.
sal_Int32 GetNumerator() const
virtual sal_uInt32 GetHdlCount() const override
Via GetHdlCount the number of Handles can be retrieved.
std::unique_ptr< SdrObject, SdrObjectFreeOp > SdrObjectUniquePtr
virtual bool IsPolyObj() const override
virtual bool beginSpecialDrag(SdrDragStat &rDrag) const
virtual basegfx::B2DPolyPolygon TakeCreatePoly(const SdrDragStat &rDrag) const override
Polygon dragged by the user when creating the object.
virtual SdrObjKind GetObjIdentifier() const override
virtual void NbcSetLogicRect(const tools::Rectangle &rRect) override
virtual OUString TakeObjNamePlural() const
virtual sdr::properties::BaseProperties & GetProperties() const override
virtual SdrObjList * GetSubList() const override
virtual void Rotate(const Point &rRef, Degree100 nAngle, double sn, double cs)
virtual void SetRectsDirty(bool bNotMyself=false, bool bRecursive=true)
virtual void SetSnapRect(const tools::Rectangle &rRect)
virtual bool applySpecialDrag(SdrDragStat &rDrag)
virtual Point GetOffset() const
virtual Degree100 GetRotateAngle() const
virtual ~SdrVirtObj() override
virtual const tools::Rectangle & GetLogicRect() const
virtual PointerStyle GetMacroPointer(const SdrObjMacroHitRec &rRec) const override
virtual bool DoMacro(const SdrObjMacroHitRec &rRec)
virtual SdrObjectUniquePtr getFullDragClone() const override
virtual void RecalcBoundRect() override
B2DHomMatrix createTranslateB2DHomMatrix(double fTranslateX, double fTranslateY)
virtual void SetChanged()
virtual Point GetPoint(sal_uInt32 i) const
virtual void NbcMirror(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
Polygon dragged by the user when creating the object.
void SendUserCall(SdrUserCallType eUserCall, const tools::Rectangle &rBoundRect) const
virtual void NbcResize(const Point &rRef, const Fraction &xFact, const Fraction &yFact) override
virtual sal_uInt32 GetSnapPointCount() const
snap to special points of an Object (polygon points, center of circle)
virtual void Resize(const Point &rRef, const Fraction &xFact, const Fraction &yFact, bool bUnsetRelative=true) override
virtual bool hasSpecialDrag() const override
The standard transformations (Move,Resize,Rotate,Mirror,Shear) are taken over by the View (TakeXorPol...
virtual void AddToPlusHdlList(SdrHdlList &rHdlList, SdrHdl &rHdl) const override
virtual void SetSnapRect(const tools::Rectangle &rRect) override