diff options
Diffstat (limited to 'sw/source/core/inc/dflyobj.hxx')
-rw-r--r-- | sw/source/core/inc/dflyobj.hxx | 20 |
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 |