20 #ifndef INCLUDED_SVX_SVDOASHP_HXX
21 #define INCLUDED_SVX_SVDOASHP_HXX
27 #include <com/sun/star/uno/Reference.h>
28 #include <com/sun/star/drawing/XCustomShapeEngine.hpp>
29 #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
37 class CustomShapeProperties;
48 css::uno::Sequence< css::drawing::EnhancedCustomShapeAdjustmentValue >
aAdjustmentSeq;
70 css::uno::Reference< css::drawing::XCustomShapeHandle >
xInteraction;
84 virtual void impl_setUnoShape(
const css::uno::Reference<css::uno::XInterface>& rxUnoShape)
override;
99 css::uno::Reference< css::drawing::XCustomShapeEngine >
const & GetCustomShapeEngine()
const;
101 std::vector< SdrCustomShapeInteraction > GetInteractionHandles()
const;
104 void DragMoveCustomShapeHdl(
const Point& rDestination,
105 const sal_uInt16 nCustomShapeHdlNum,
bool bMoveCalloutRectangle );
108 void InvalidateRenderGeometry();
111 void ImpCheckCustomGluePointsAreAdded();
118 const SdrObject* GetSdrObjectFromCustomShape()
const;
119 const SdrObject* GetSdrObjectShadowFromCustomShape()
const;
121 bool IsTextPath()
const;
136 bool UseNoFillStyle()
const;
138 bool IsMirroredX()
const;
139 bool IsMirroredY()
const;
140 void SetMirroredX(
const bool bMirroredX );
141 void SetMirroredY(
const bool bMirroredY );
144 double GetExtraTextRotation(
const bool bPreRotation =
false )
const;
151 void MergeDefaultAttributes(
const OUString* pType =
nullptr );
165 bool IsDefaultGeometry(
const DefaultType eDefaultType )
const;
170 virtual void Move(
const Size& rSiz)
override;
171 virtual void Shear(
const Point& rRef,
Degree100 nAngle,
double tn,
bool bVShear)
override;
178 virtual void NbcRotate(
const Point& rRef,
Degree100 nAngle,
double sn,
double cs)
override;
179 virtual void NbcMirror(
const Point& rRef1,
const Point& rRef2)
override;
180 virtual void NbcShear(
const Point& rRef,
Degree100 nAngle,
double tn,
bool bVShear)
override;
201 void SuggestTextFrameSize(
Size aSuggestedTextFrameSize);
247 static bool doConstructOrthogonal(
const OUString& rName);
251 OUString GetCustomShapeName()
const;
254 #endif // INCLUDED_SVX_SVDOASHP_HXX
virtual void Shear(const Point &rRef, Degree100 nAngle, double tn, bool bVShear)
virtual bool IsAutoGrowHeight() const
virtual void NbcResize(const Point &rRef, const Fraction &xFact, const Fraction &yFact) override
virtual bool NbcAdjustTextFrameWidthAndHeight(bool bHgt=true, bool bWdt=true)
virtual SdrObjKind GetObjIdentifier() const override
virtual void TakeTextEditArea(Size *pPaperMin, Size *pPaperMax, tools::Rectangle *pViewInit, tools::Rectangle *pViewMin) const
virtual sal_uInt32 GetHdlCount() const override
Via GetHdlCount the number of Handles can be retrieved.
virtual OUString TakeObjNameSingul() const override
virtual bool hasSpecialDrag() const override
The standard transformations (Move,Resize,Rotate,Mirror,Shear) are taken over by the View (TakeXorPol...
virtual void TRSetBaseGeometry(const basegfx::B2DHomMatrix &rMatrix, const basegfx::B2DPolyPolygon &rPolyPolygon) override
All geometrical data of an arbitrary object for use in undo/redo.
virtual void EndTextEdit(SdrOutliner &rOutl)
virtual void NbcMirror(const Point &rRef1, const Point &rRef2) override
virtual 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 SdrGluePoint GetVertexGluePoint(sal_uInt16 nNum) const
virtual void SaveGeoData(SdrObjGeoData &rGeo) const override
virtual std::unique_ptr< sdr::properties::BaseProperties > CreateObjectSpecificProperties() override
virtual void NbcShear(const Point &rRef, Degree100 nAngle, double tn, bool bVShear) override
virtual bool IsAutoGrowWidth() const
css::awt::Point aPosition
virtual void TakeObjInfo(SdrObjTransformInfoRec &rInfo) const override
virtual SdrTextObj * CloneSdrObject(SdrModel &rTargetModel) const override
virtual void handlePageChange(SdrPage *pOldPage, SdrPage *pNewPage) override
virtual bool applySpecialDrag(SdrDragStat &rDrag) override
virtual const SdrGluePointList * GetGluePointList() const
virtual void AdjustToMaxRect(const tools::Rectangle &rMaxRect, bool bShrinkOnly=false)
SdrTextObj & operator=(const SdrTextObj &rObj)
virtual void impl_setUnoShape(const css::uno::Reference< css::uno::XInterface > &_rxUnoShape)
Sets a new UNO shape.
virtual void TakeTextAnchorRect(::tools::Rectangle &rAnchorRect) const
virtual void SetLogicRect(const tools::Rectangle &rRect)
virtual void Move(const Size &rSiz)
virtual void NbcMove(const Size &rSiz) override
The methods Move, Resize, Rotate, Mirror, Shear, SetSnapRect and SetLogicRect call the corresponding ...
virtual void NbcRotate(const Point &rRef, Degree100 nAngle, double sn, double cs) override
virtual void AdaptTextMinSize()
css::uno::Reference< css::drawing::XCustomShapeHandle > xInteraction
virtual basegfx::B2DPolyPolygon TakeContour() const override
contour for TextToContour
friend class SdrObjCustomShape
SdrObject * mpLastShadowGeometry
CustomShapeHandleModes nMode
css::uno::Reference< css::drawing::XShape > mXRenderedCustomShape
virtual basegfx::B2DPolyPolygon TakeCreatePoly(const SdrDragStat &rDrag) const override
Polygon dragged by the user when creating the object.
virtual void NbcSetOutlinerParaObject(std::unique_ptr< OutlinerParaObject > pTextObject) override
virtual void RestGeoData(const SdrObjGeoData &rGeo) override
virtual void TakeTextRect(SdrOutliner &rOutliner, tools::Rectangle &rTextRect, bool bNoEditText, tools::Rectangle *pAnchorRect, bool bLineWidth=true) const
virtual SdrGluePointList * ForceGluePointList()
virtual bool AdjustTextFrameWidthAndHeight()
double GetObjectRotation() const
#define SVXCORE_DLLPUBLIC
Size m_aSuggestedTextFrameSize
css::uno::Sequence< css::drawing::EnhancedCustomShapeAdjustmentValue > aAdjustmentSeq
std::unique_ptr< SdrObject, SdrObjectFreeOp > SdrObjectUniquePtr
virtual bool beginSpecialDrag(SdrDragStat &rDrag) const
virtual void SetSnapRect(const tools::Rectangle &rRect)
virtual bool EndCreate(SdrDragStat &rStat, SdrCreateCmd eCmd) override
virtual bool TRGetBaseGeometry(basegfx::B2DHomMatrix &rMatrix, basegfx::B2DPolyPolygon &rPolyPolygon) const override
css::uno::Reference< css::drawing::XCustomShapeEngine > mxCustomShapeEngine
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
virtual void NbcSetStyleSheet(SfxStyleSheet *pNewStyleSheet, bool bDontRemoveHardAttr)
virtual void NbcSetLogicRect(const tools::Rectangle &rRect) override
virtual std::unique_ptr< sdr::contact::ViewContact > CreateObjectSpecificViewContact() override
virtual bool MovCreate(SdrDragStat &rStat) override
virtual basegfx::B2DPolyPolygon TakeXorPoly() const override
The Xor-Polygon is required by the View to drag the object.
virtual SdrObjectUniquePtr DoConvertToPolyObj(bool bBezier, bool bAddText) const override
bool mbAdjustingTextFrameWidthAndHeight
virtual void AddToHdlList(SdrHdlList &rHdlList) const override
virtual void SetVerticalWriting(bool bVertical)
virtual void NbcSetSnapRect(const tools::Rectangle &rRect) override
virtual OUString TakeObjNamePlural() const override