summaryrefslogtreecommitdiff
path: root/sw/source/core/inc/dflyobj.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/core/inc/dflyobj.hxx')
-rw-r--r--sw/source/core/inc/dflyobj.hxx20
1 files changed, 14 insertions, 6 deletions
diff --git a/sw/source/core/inc/dflyobj.hxx b/sw/source/core/inc/dflyobj.hxx
index 55d87f674c81..ee50d1e596d5 100644
--- a/sw/source/core/inc/dflyobj.hxx
+++ b/sw/source/core/inc/dflyobj.hxx
@@ -23,19 +23,20 @@
#include <svx/svdovirt.hxx>
#include <svx/svdobj.hxx>
+#include <swdllapi.h>
+
namespace drawinglayer::geometry { class ViewInformation2D; }
class SwFlyFrame;
class SwFrameFormat;
// DrawObjects for Flys
-class SwFlyDrawObj : public SdrObject
+class SwFlyDrawObj final : public SdrObject
{
private:
virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;
bool mbIsTextBox;
-protected:
// #i95264# SwFlyDrawObj needs an own VC since createViewIndependentPrimitive2DSequence()
// is called when RecalcBoundRect() is used
virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
@@ -46,17 +47,23 @@ protected:
public:
SwFlyDrawObj(SdrModel& rSdrModel);
- // for instantiation of this class while loading (via factory)
+ // for instantiation of this class while loading (via factory
+ virtual rtl::Reference<SdrObject> CloneSdrObject(SdrModel& rTargetModel) const override;
+
virtual SdrInventor GetObjInventor() const override;
virtual SdrObjKind GetObjIdentifier() const override;
virtual bool IsTextBox() const override { return mbIsTextBox; }
void SetTextBox(bool bIsTextBox) { mbIsTextBox = bIsTextBox; }
+
+ virtual void NbcRotate(const Point& rRef, Degree100 nAngle, double sinAngle, double cosAngle) override;
};
// virtual objects for Flys
// Flys will always be shown with virtual objects. By doing that, they can be
// shown multiple times if needed (header/footer).
-class SwVirtFlyDrawObj : public SdrVirtObj
+// For example, if an SwFlyFrameFormat is anchored in a header, then all pages will have a separate
+// SwVirtFlyDrawObj in their headers.
+class SAL_DLLPUBLIC_RTTI SwVirtFlyDrawObj final : public SdrVirtObj
{
private:
SwFlyFrame *m_pFlyFrame;
@@ -65,7 +72,6 @@ private:
// of a GraphicFrame
Degree10 getPossibleRotationFromFraphicFrame(Size& rSize) const;
-protected:
// AW: Need own sdr::contact::ViewContact since AnchorPos from parent is
// not used but something own (top left of new SnapRect minus top left
// of original SnapRect)
@@ -118,8 +124,9 @@ public:
virtual void addCropHandles(SdrHdlList& rTarget) const override;
virtual void Rotate(const Point& rRef, Degree100 nAngle, double sn, double cs) override;
+
// FullDrag support
- virtual SdrObjectUniquePtr getFullDragClone() const override;
+ virtual rtl::Reference<SdrObject> getFullDragClone() const override;
const SwFrameFormat *GetFormat() const;
SwFrameFormat *GetFormat();
@@ -139,6 +146,7 @@ public:
virtual bool HasLimitedRotation() const override;
virtual bool IsTextBox() const override;
+ void dumpAsXml(xmlTextWriterPtr pWriter) const override;
};
#endif