LibreOffice Module svx (master) 1
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Attributes | Friends | List of all members
SdrObjCustomShape Class Reference

#include <svdoashp.hxx>

Inheritance diagram for SdrObjCustomShape:
[legend]
Collaboration diagram for SdrObjCustomShape:
[legend]

Public Types

enum class  DefaultType {
  Path ,
  Viewbox ,
  Segments ,
  Gluepoints ,
  StretchX ,
  StretchY ,
  Equations ,
  TextFrames
}
 

Public Member Functions

virtual std::unique_ptr< sdr::properties::BasePropertiesCreateObjectSpecificProperties () override
 
css::uno::Reference< css::drawing::XCustomShapeEngine > const & GetCustomShapeEngine () const
 
std::vector< SdrCustomShapeInteractionGetInteractionHandles () const
 
SVX_DLLPRIVATE void DragCreateObject (SdrDragStat &rDrag)
 
SVX_DLLPRIVATE void DragResizeCustomShape (const tools::Rectangle &rNewRect)
 
void DragMoveCustomShapeHdl (const Point &rDestination, const sal_uInt16 nCustomShapeHdlNum, bool bMoveCalloutRectangle)
 
void InvalidateRenderGeometry ()
 
void ImpCheckCustomGluePointsAreAdded ()
 
tools::Rectangle ImpCalculateTextFrame (const bool bHgt, const bool bWdt)
 
const SdrObjectGetSdrObjectFromCustomShape () const
 
const SdrObjectGetSdrObjectShadowFromCustomShape () const
 
bool GetTextBounds (tools::Rectangle &rTextBound) const
 
bool IsTextPath () const
 
basegfx::B2DPolyPolygon GetLineGeometry (const bool bBezierAllowed) const
 
bool UseNoFillStyle () const
 
bool IsMirroredX () const
 
bool IsMirroredY () const
 
void SetMirroredX (const bool bMirroredX)
 
void SetMirroredY (const bool bMirroredY)
 
double GetObjectRotation () const
 
double GetExtraTextRotation (const bool bPreRotation=false) const
 
 SdrObjCustomShape (SdrModel &rSdrModel)
 
 SdrObjCustomShape (SdrModel &rSdrModel, SdrObjCustomShape const &rSource)
 
virtual ~SdrObjCustomShape () override
 
void MergeDefaultAttributes (const OUString *pType=nullptr)
 
bool IsDefaultGeometry (const DefaultType eDefaultType) const
 
virtual SdrObjKind GetObjIdentifier () const override
 
virtual void TakeObjInfo (SdrObjTransformInfoRec &rInfo) const override
 
virtual void Move (const Size &rSiz) override
 
virtual void Shear (const Point &rRef, Degree100 nAngle, double tn, bool bVShear) override
 
virtual void SetSnapRect (const tools::Rectangle &rRect) override
 
virtual void SetLogicRect (const tools::Rectangle &rRect) override
 
virtual void AdjustToMaxRect (const tools::Rectangle &rMaxRect, bool bShrinkOnly=false) override
 
virtual void NbcMove (const Size &rSiz) override
 The methods Move, Resize, Rotate, Mirror, Shear, SetSnapRect and SetLogicRect call the corresponding Nbc-methods, send a Repaint broadcast and set the Modified state on the Model. More...
 
virtual void NbcResize (const Point &rRef, const Fraction &xFact, const Fraction &yFact) override
 
virtual void NbcRotate (const Point &rRef, Degree100 nAngle, double sn, double cs) override
 
virtual void NbcMirror (const Point &rRef1, const Point &rRef2) override
 
virtual void NbcShear (const Point &rRef, Degree100 nAngle, double tn, bool bVShear) override
 
virtual void NbcSetSnapRect (const tools::Rectangle &rRect) override
 
virtual void NbcSetLogicRect (const tools::Rectangle &rRect) override
 
virtual SdrGluePoint GetVertexGluePoint (sal_uInt16 nNum) const override
 
virtual bool hasSpecialDrag () const override
 The standard transformations (Move,Resize,Rotate,Mirror,Shear) are taken over by the View (TakeXorPoly(),...). More...
 
virtual bool beginSpecialDrag (SdrDragStat &rDrag) const override
 
virtual bool applySpecialDrag (SdrDragStat &rDrag) override
 
virtual bool MovCreate (SdrDragStat &rStat) override
 
virtual bool EndCreate (SdrDragStat &rStat, SdrCreateCmd eCmd) override
 
void SuggestTextFrameSize (Size aSuggestedTextFrameSize)
 Allows suggesting the text frame size: in case the application has its own text associated to the shape, instead of using the shape's editeng text. More...
 
virtual bool AdjustTextFrameWidthAndHeight (tools::Rectangle &rR, bool bHgt=true, bool bWdt=true) const override
 
virtual bool NbcAdjustTextFrameWidthAndHeight (bool bHgt=true, bool bWdt=true) override
 
virtual bool AdjustTextFrameWidthAndHeight () override
 
virtual bool IsAutoGrowHeight () const override
 
virtual bool IsAutoGrowWidth () const override
 
virtual void SetVerticalWriting (bool bVertical) override
 
virtual void TakeTextEditArea (Size *pPaperMin, Size *pPaperMax, tools::Rectangle *pViewInit, tools::Rectangle *pViewMin) const override
 
virtual void EndTextEdit (SdrOutliner &rOutl) override
 
virtual void TakeTextAnchorRect (tools::Rectangle &rAnchorRect) const override
 
virtual void TakeTextRect (SdrOutliner &rOutliner, tools::Rectangle &rTextRect, bool bNoEditText, tools::Rectangle *pAnchorRect, bool bLineWidth=true) const override
 
virtual rtl::Reference< SdrObjectCloneSdrObject (SdrModel &rTargetModel) const override
 
virtual OUString TakeObjNameSingul () const override
 
virtual OUString TakeObjNamePlural () const override
 
virtual basegfx::B2DPolyPolygon TakeCreatePoly (const SdrDragStat &rDrag) const override
 Polygon dragged by the user when creating the object. More...
 
virtual basegfx::B2DPolyPolygon TakeXorPoly () const override
 The Xor-Polygon is required by the View to drag the object. More...
 
virtual basegfx::B2DPolyPolygon TakeContour () const override
 contour for TextToContour More...
 
virtual void NbcSetOutlinerParaObject (std::optional< OutlinerParaObject > pTextObject) override
 
virtual rtl::Reference< SdrObjectDoConvertToPolyObj (bool bBezier, bool bAddText) const override
 
virtual void handlePageChange (SdrPage *pOldPage, SdrPage *pNewPage) override
 
virtual std::unique_ptr< SdrObjGeoDataNewGeoData () const override
 A derived class must override these 3 methods if it has own geometric data that must be saved for Undo. More...
 
virtual void SaveGeoData (SdrObjGeoData &rGeo) const override
 
virtual void RestoreGeoData (const SdrObjGeoData &rGeo) override
 
virtual bool TRGetBaseGeometry (basegfx::B2DHomMatrix &rMatrix, basegfx::B2DPolyPolygon &rPolyPolygon) const override
 
virtual void TRSetBaseGeometry (const basegfx::B2DHomMatrix &rMatrix, const basegfx::B2DPolyPolygon &rPolyPolygon) override
 
virtual const SdrGluePointListGetGluePointList () const override
 
virtual SdrGluePointListForceGluePointList () override
 
virtual sal_uInt32 GetHdlCount () const override
 Via GetHdlCount the number of Handles can be retrieved. More...
 
virtual void AddToHdlList (SdrHdlList &rHdlList) const override
 
OUString GetCustomShapeName () const
 
virtual void NbcSetOutlinerParaObject (std::optional< OutlinerParaObject > pTextObject) override
 
- Public Member Functions inherited from SdrTextObj
const PointGetTextEditOffset () const
 
void SetTextEditOffset (const Point &rNew)
 
bool IsInEditMode () const
 
void SetTextLink (const OUString &rFileName, const OUString &rFilterName)
 
void ReleaseTextLink ()
 
bool IsLinkedText () const
 
bool ReloadLinkedText (bool bForceLoad)
 
bool LoadText (const OUString &rFileName, rtl_TextEncoding eCharSet)
 
virtual bool AdjustTextFrameWidthAndHeight (tools::Rectangle &rR, bool bHgt=true, bool bWdt=true) const
 
virtual bool NbcAdjustTextFrameWidthAndHeight (bool bHgt=true, bool bWdt=true)
 
virtual bool AdjustTextFrameWidthAndHeight ()
 
bool IsTextFrame () const
 
bool IsOutlText () const
 
bool IsAutoFit () const
 returns true if the PPT autofit of text into shape bounds is enabled. implies IsFitToSize()==false! More...
 
bool IsFitToSize () const
 returns true if the old feature for fitting shape content should into shape is enabled. implies IsAutoFit()==false! More...
 
SdrTextObjGetNextLinkInChain () const
 
void SetNextLinkInChain (SdrTextObj *)
 
SdrTextObjGetPrevLinkInChain () const
 
bool IsChainable () const
 
bool GetPreventChainable () const
 
TextChainGetTextChain () const
 
SdrObjKind GetTextKind () const
 
virtual bool HasText () const override
 
bool IsTextEditActive () const
 
virtual SdrTextgetActiveText () const
 returns the currently active text. More...
 
virtual SdrTextgetText (sal_Int32 nIndex) const override
 returns the nth available text. More...
 
virtual sal_Int32 getTextCount () const override
 returns the number of texts available for this object. More...
 
virtual bool IsReallyEdited () const
 returns true only if we are in edit mode and the user actually changed anything More...
 
virtual void setActiveText (sal_Int32 nIndex)
 changes the current active text More...
 
virtual sal_Int32 CheckTextHit (const Point &rPnt) const
 returns the index of the text that contains the given point or -1 More...
 
void SetDisableAutoWidthOnDragging (bool bOn)
 
void NbcSetText (const OUString &rStr)
 
void SetText (const OUString &rStr)
 
void NbcSetText (SvStream &rInput, const OUString &rBaseURL, EETextFormat eFormat)
 
void SetText (SvStream &rInput, const OUString &rBaseURL, EETextFormat eFormat)
 
virtual const SizeGetTextSize () const
 
void FitFrameToTextSize ()
 
sal_uInt16 GetFontScaleY () const
 
virtual void TakeTextRect (SdrOutliner &rOutliner, tools::Rectangle &rTextRect, bool bNoEditText, tools::Rectangle *pAnchorRect, bool bLineWidth=true) const
 
void AdjustRectToTextDistance (tools::Rectangle &rAnchorRect) const
 
virtual void TakeTextAnchorRect (::tools::Rectangle &rAnchorRect) const
 
const GeoStatGetGeoStat () const
 
tools::Long GetEckenradius () const
 
virtual bool IsAutoGrowHeight () const
 
tools::Long GetMinTextFrameHeight () const
 
tools::Long GetMaxTextFrameHeight () const
 
virtual bool IsAutoGrowWidth () const
 
tools::Long GetMinTextFrameWidth () const
 
tools::Long GetMaxTextFrameWidth () const
 
css::drawing::TextFitToSizeType GetFitToSize () const
 
const tools::RectangleGetGeoRect () const
 
virtual bool IsFontwork () const
 
bool IsHideContour () const
 
bool IsContourTextFrame () const
 
SdrTextHorzAdjust GetTextHorizontalAdjust (const SfxItemSet &rSet) const
 
SdrTextHorzAdjust GetTextHorizontalAdjust () const
 
SdrTextVertAdjust GetTextVerticalAdjust (const SfxItemSet &rSet) const
 
SdrTextVertAdjust GetTextVerticalAdjust () const
 
tools::Long GetTextLeftDistance () const
 Left inner spacing to borders
More...
 
tools::Long GetTextRightDistance () const
 Right inner spacing to borders
More...
 
tools::Long GetTextUpperDistance () const
 Top inner spacing to borders. More...
 
tools::Long GetTextLowerDistance () const
 Bottom inner spacing to borders. More...
 
SdrTextAniKind GetTextAniKind () const
 
SdrTextAniDirection GetTextAniDirection () const
 
bool HasTextColumnsNumber () const
 
sal_Int16 GetTextColumnsNumber () const
 
void SetTextColumnsNumber (sal_Int16 nColumns)
 
bool HasTextColumnsSpacing () const
 
sal_Int32 GetTextColumnsSpacing () const
 
void SetTextColumnsSpacing (sal_Int32 nSpacing)
 
virtual void handlePageChange (SdrPage *pOldPage, SdrPage *pNewPage) override
 
virtual void TakeObjInfo (SdrObjTransformInfoRec &rInfo) const override
 
virtual SdrObjKind GetObjIdentifier () const override
 
virtual void TakeUnrotatedSnapRect (tools::Rectangle &rRect) const
 
virtual OUString TakeObjNameSingul () const override
 
virtual OUString TakeObjNamePlural () const override
 
virtual rtl::Reference< SdrObjectCloneSdrObject (SdrModel &rTargetModel) const override
 
virtual basegfx::B2DPolyPolygon TakeXorPoly () const override
 The Xor-Polygon is required by the View to drag the object. More...
 
virtual basegfx::B2DPolyPolygon TakeContour () const override
 contour for TextToContour More...
 
virtual void RecalcSnapRect () override
 Snap is not done on the BoundRect but if possible on logic coordinates (i.e. More...
 
virtual void NbcSetSnapRect (const tools::Rectangle &rRect) override
 
virtual void NbcSetLogicRect (const tools::Rectangle &rRect) override
 
virtual const tools::RectangleGetLogicRect () const override
 
virtual Degree100 GetRotateAngle () const override
 
virtual Degree100 GetShearAngle (bool bVertical=false) const override
 
virtual sal_uInt32 GetSnapPointCount () const override
 snap to special points of an Object (polygon points, center of circle) More...
 
virtual Point GetSnapPoint (sal_uInt32 i) const override
 
virtual sal_uInt32 GetHdlCount () const override
 Via GetHdlCount the number of Handles can be retrieved. More...
 
virtual void AddToHdlList (SdrHdlList &rHdlList) const override
 
virtual bool hasSpecialDrag () const override
 The standard transformations (Move,Resize,Rotate,Mirror,Shear) are taken over by the View (TakeXorPoly(),...). More...
 
virtual bool applySpecialDrag (SdrDragStat &rDrag) override
 
virtual OUString getSpecialDragComment (const SdrDragStat &rDrag) const override
 
virtual bool BegCreate (SdrDragStat &rStat) override
 Every object must be able to create itself interactively. More...
 
virtual bool MovCreate (SdrDragStat &rStat) override
 
virtual bool EndCreate (SdrDragStat &rStat, SdrCreateCmd eCmd) override
 
virtual bool BckCreate (SdrDragStat &rStat) override
 
virtual void BrkCreate (SdrDragStat &rStat) override
 
virtual basegfx::B2DPolyPolygon TakeCreatePoly (const SdrDragStat &rDrag) const override
 Polygon dragged by the user when creating the object. More...
 
virtual PointerStyle GetCreatePointer () const override
 get the cursor/pointer that signals creating this object More...
 
virtual void NbcMove (const Size &rSiz) override
 The methods Move, Resize, Rotate, Mirror, Shear, SetSnapRect and SetLogicRect call the corresponding Nbc-methods, send a Repaint broadcast and set the Modified state on the Model. More...
 
virtual void NbcResize (const Point &rRef, const Fraction &xFact, const Fraction &yFact) override
 
virtual void NbcRotate (const Point &rRef, Degree100 nAngle, double sn, double cs) override
 
virtual void NbcMirror (const Point &rRef1, const Point &rRef2) override
 
virtual void NbcShear (const Point &rRef, Degree100 nAngle, double tn, bool bVShear) override
 
virtual bool HasTextEdit () const override
 
virtual bool BegTextEdit (SdrOutliner &rOutl)
 
virtual void TakeTextEditArea (Size *pPaperMin, Size *pPaperMax, tools::Rectangle *pViewInit, tools::Rectangle *pViewMin) const
 
virtual void EndTextEdit (SdrOutliner &rOutl)
 
virtual EEAnchorMode GetOutlinerViewAnchorMode () const
 
virtual void NbcSetOutlinerParaObject (std::optional< OutlinerParaObject > pTextObject) override
 
void NbcSetOutlinerParaObjectForText (std::optional< OutlinerParaObject > pTextObject, SdrText *pText)
 
virtual OutlinerParaObjectGetOutlinerParaObject () const override
 
bool CanCreateEditOutlinerParaObject () const
 
std::optional< OutlinerParaObjectCreateEditOutlinerParaObject () const
 
virtual void NbcReformatText () override
 
virtual bool CalcFieldValue (const SvxFieldItem &rField, sal_Int32 nPara, sal_uInt16 nPos, bool bEdit, std::optional< Color > &rpTxtColor, std::optional< Color > &rpFldColor, OUString &rRet) const
 
virtual rtl::Reference< SdrObjectDoConvertToPolyObj (bool bBezier, bool bAddText) const override
 
void SetTextEditOutliner (SdrOutliner *pOutl)
 
void SetupOutlinerFormatting (SdrOutliner &rOutl, tools::Rectangle &rPaintRect) const
 Setup given Outliner equivalently to SdrTextObj::Paint() More...
 
void UpdateOutlinerFormatting (SdrOutliner &rOutl, tools::Rectangle &rPaintRect) const
 Update given Outliner equivalently to SdrTextObj::Paint() More...
 
void ForceOutlinerParaObject ()
 
virtual bool IsVerticalWriting () const
 
virtual void SetVerticalWriting (bool bVertical)
 
bool IsTopToBottom () const
 
virtual void onEditOutlinerStatusEvent (EditStatus *pEditStatus)
 called from the SdrObjEditView during text edit when the status of the edit outliner changes More...
 
void onChainingEvent ()
 called from the SdrObjEditView during text edit when a chain of boxes is to be updated More...
 
virtual bool TRGetBaseGeometry (basegfx::B2DHomMatrix &rMatrix, basegfx::B2DPolyPolygon &rPolyPolygon) const override
 
virtual void TRSetBaseGeometry (const basegfx::B2DHomMatrix &rMatrix, const basegfx::B2DPolyPolygon &rPolyPolygon) override
 
void RemoveOutlinerCharacterAttribs (const std::vector< sal_uInt16 > &rCharWhichIds)
 iterates over the paragraphs of a given SdrObject and removes all hard set character attributes with the which ids contained in the given vector More...
 
GDIMetaFileGetTextScrollMetaFileAndRectangle (tools::Rectangle &rScrollRectangle, tools::Rectangle &rPaintRectangle)
 
void SetTextAnimationAllowed (bool bNew)
 
void SetObjectItemNoBroadcast (const SfxPoolItem &rItem)
 
double GetCameraZRotation () const
 
void impDecomposeContourTextPrimitive (drawinglayer::primitive2d::Primitive2DContainer &rTarget, const drawinglayer::primitive2d::SdrContourTextPrimitive2D &rSdrContourTextPrimitive, const drawinglayer::geometry::ViewInformation2D &aViewInformation) const
 
void impDecomposePathTextPrimitive (drawinglayer::primitive2d::Primitive2DContainer &rTarget, const drawinglayer::primitive2d::SdrPathTextPrimitive2D &rSdrPathTextPrimitive, const drawinglayer::geometry::ViewInformation2D &aViewInformation) const
 
void impDecomposeBlockTextPrimitive (drawinglayer::primitive2d::Primitive2DContainer &rTarget, const drawinglayer::primitive2d::SdrBlockTextPrimitive2D &rSdrBlockTextPrimitive, const drawinglayer::geometry::ViewInformation2D &aViewInformation) const
 
void impDecomposeAutoFitTextPrimitive (drawinglayer::primitive2d::Primitive2DContainer &rTarget, const drawinglayer::primitive2d::SdrAutoFitTextPrimitive2D &rSdrAutofitTextPrimitive, const drawinglayer::geometry::ViewInformation2D &aViewInformation) const
 
void impDecomposeStretchTextPrimitive (drawinglayer::primitive2d::Primitive2DContainer &rTarget, const drawinglayer::primitive2d::SdrStretchTextPrimitive2D &rSdrStretchTextPrimitive, const drawinglayer::geometry::ViewInformation2D &aViewInformation) const
 
void impDecomposeChainedTextPrimitive (drawinglayer::primitive2d::Primitive2DContainer &rTarget, const drawinglayer::primitive2d::SdrChainedTextPrimitive2D &rSdrChainedTextPrimitive, const drawinglayer::geometry::ViewInformation2D &aViewInformation) const
 
void impHandleChainingEventsDuringDecomposition (SdrOutliner &rOutliner) const
 
void impGetBlinkTextTiming (drawinglayer::animation::AnimationEntryList &rAnimList) const
 
void impGetScrollTextTiming (drawinglayer::animation::AnimationEntryList &rAnimList, double fFrameLength, double fTextLength) const
 
- Public Member Functions inherited from SdrAttrObj
bool HasFill () const
 
bool HasLine () const
 
virtual const tools::RectangleGetSnapRect () const override
 
- Public Member Functions inherited from SdrObject
virtual const std::shared_ptr< svx::diagram::IDiagramHelper > & getDiagramHelper () const
 
bool isDiagram () const
 
const SdrObjectgetFillGeometryDefiningShape () const
 
 SdrObject (SdrModel &rSdrModel)
 
 SdrObject (SdrModel &rSdrModel, SdrObject const &rSource)
 
virtual void SAL_CALL acquire () noexcept override final
 
virtual void SAL_CALL release () noexcept override final
 
SdrPagegetSdrPageFromSdrObject () const
 
SdrModelgetSdrModelFromSdrObject () const
 
virtual SdrObjListgetChildrenOfSdrObject () const
 
SdrObjListgetParentSdrObjListFromSdrObject () const
 
SdrObjectgetParentSdrObjectFromSdrObject () const
 
virtual void handlePageChange (SdrPage *pOldPage, SdrPage *pNewPage)
 
void AddObjectUser (sdr::ObjectUser &rNewUser)
 
void RemoveObjectUser (sdr::ObjectUser &rOldUser)
 
sdr::contact::ViewContactGetViewContact () const
 
virtual sdr::properties::BasePropertiesGetProperties () const
 
void ActionChanged () const
 
void SetRelativeWidth (double nValue)
 
void SetRelativeWidthRelation (sal_Int16 eValue)
 
void SetRelativeHeight (double nValue)
 
void SetRelativeHeightRelation (sal_Int16 eValue)
 
const double * GetRelativeWidth () const
 
sal_Int16 GetRelativeWidthRelation () const
 
const double * GetRelativeHeight () const
 
sal_Int16 GetRelativeHeightRelation () const
 
virtual void SetBoundAndSnapRectsDirty (bool bNotMyself=false, bool bRecursive=true)
 
virtual void SetBoundRectDirty ()
 
SfxItemPoolGetObjectItemPool () const
 
void AddListener (SfxListener &rListener)
 
void RemoveListener (SfxListener &rListener)
 
void AddReference (SdrVirtObj &rVrtObj)
 
void DelReference (SdrVirtObj &rVrtObj)
 
virtual SdrInventor GetObjInventor () const
 
virtual SdrObjKind GetObjIdentifier () const
 
virtual void TakeObjInfo (SdrObjTransformInfoRec &rInfo) const
 
virtual SdrLayerID GetLayer () const
 
virtual void NbcSetLayer (SdrLayerID nLayer)
 
virtual void SetLayer (SdrLayerID nLayer)
 
void getMergedHierarchySdrLayerIDSet (SdrLayerIDSet &rSet) const
 
void SendUserCall (SdrUserCallType eUserCall, const tools::Rectangle &rBoundRect) const
 
void SetName (const OUString &rStr, const bool bSetChanged=true)
 
const OUString & GetName () const
 
void MakeNameUnique ()
 
void MakeNameUnique (std::unordered_set< OUString > &rNameSet)
 
void SetTitle (const OUString &rStr)
 
OUString GetTitle () const
 
void SetDescription (const OUString &rStr)
 
OUString GetDescription () const
 
bool IsGroupObject () const
 
virtual SdrObjListGetSubList () const
 
sal_uInt32 GetOrdNum () const
 The order number (aka ZOrder, aka z-index) determines whether a SdrObject is located above or below another. More...
 
void SetOrdNum (sal_uInt32 nNum)
 
void GetGrabBagItem (css::uno::Any &rVal) const
 
virtual void SetGrabBagItem (const css::uno::Any &rVal)
 
sal_uInt32 GetNavigationPosition () const
 
virtual const tools::RectangleGetCurrentBoundRect () const
 
virtual const tools::RectangleGetLastBoundRect () const
 
virtual void RecalcBoundRect ()
 
void BroadcastObjectChange () const
 
const SfxBroadcasterGetBroadcaster () const
 
virtual void SetChanged ()
 
void SingleObjectPainter (OutputDevice &rOut) const
 
bool LineGeometryUsageIsNecessary () const
 
virtual bool HasLimitedRotation () const
 
virtual rtl::Reference< SdrObjectCloneSdrObject (SdrModel &rTargetModel) const
 
SdrObjectoperator= (const SdrObject &rObj)=delete
 
SdrObjectoperator= (SdrObject &&rObj)=delete
 
virtual OUString TakeObjNameSingul () const
 
virtual OUString TakeObjNamePlural () const
 
virtual basegfx::B2DPolyPolygon TakeXorPoly () const
 The Xor-Polygon is required by the View to drag the object. More...
 
virtual basegfx::B2DPolyPolygon TakeContour () const
 contour for TextToContour More...
 
virtual sal_uInt32 GetHdlCount () const
 Via GetHdlCount the number of Handles can be retrieved. More...
 
virtual void AddToPlusHdlList (SdrHdlList &rHdlList, SdrHdl &rHdl) const
 
virtual void AddToHdlList (SdrHdlList &rHdlList) const
 
virtual void addCropHandles (SdrHdlList &rTarget) const
 
virtual bool hasSpecialDrag () const
 The standard transformations (Move,Resize,Rotate,Mirror,Shear) are taken over by the View (TakeXorPoly(),...). More...
 
virtual bool beginSpecialDrag (SdrDragStat &rDrag) const
 
virtual bool applySpecialDrag (SdrDragStat &rDrag)
 
virtual OUString getSpecialDragComment (const SdrDragStat &rDrag) const
 
virtual basegfx::B2DPolyPolygon getSpecialDragPoly (const SdrDragStat &rDrag) const
 
virtual bool supportsFullDrag () const
 
virtual rtl::Reference< SdrObjectgetFullDragClone () const
 
virtual bool BegCreate (SdrDragStat &rStat)
 Every object must be able to create itself interactively. More...
 
virtual bool MovCreate (SdrDragStat &rStat)
 
virtual bool EndCreate (SdrDragStat &rStat, SdrCreateCmd eCmd)
 
virtual bool BckCreate (SdrDragStat &rStat)
 
virtual void BrkCreate (SdrDragStat &rStat)
 
virtual PointerStyle GetCreatePointer () const
 get the cursor/pointer that signals creating this object More...
 
virtual basegfx::B2DPolyPolygon TakeCreatePoly (const SdrDragStat &rDrag) const
 Polygon dragged by the user when creating the object. More...
 
virtual void NbcMove (const Size &rSiz)
 The methods Move, Resize, Rotate, Mirror, Shear, SetSnapRect and SetLogicRect call the corresponding Nbc-methods, send a Repaint broadcast and set the Modified state on the Model. More...
 
virtual void NbcResize (const Point &rRef, const Fraction &xFact, const Fraction &yFact)
 
virtual void NbcCrop (const basegfx::B2DPoint &rRef, double fxFact, double fyFact)
 
virtual void NbcRotate (const Point &rRef, Degree100 nAngle, double sn, double cs)
 
void NbcRotate (const Point &rRef, Degree100 nAngle)
 
virtual void NbcMirror (const Point &rRef1, const Point &rRef2)
 
virtual void NbcShear (const Point &rRef, Degree100 nAngle, double tn, bool bVShear)
 
virtual void Move (const Size &rSiz)
 
virtual void Resize (const Point &rRef, const Fraction &xFact, const Fraction &yFact, bool bUnsetRelative=true)
 
virtual void Crop (const basegfx::B2DPoint &rRef, double fxFact, double fyFact)
 
virtual void Rotate (const Point &rRef, Degree100 nAngle, double sn, double cs)
 
virtual void Mirror (const Point &rRef1, const Point &rRef2)
 
virtual void Shear (const Point &rRef, Degree100 nAngle, double tn, bool bVShear)
 
virtual void NbcSetRelativePos (const Point &rPnt)
 The relative position of a SdrObject is the distance of the upper left corner of the logic bounding rectangle (SnapRect) to the anchor. More...
 
virtual void SetRelativePos (const Point &rPnt)
 
virtual Point GetRelativePos () const
 
void ImpSetAnchorPos (const Point &rPnt)
 
virtual void NbcSetAnchorPos (const Point &rPnt)
 
virtual void SetAnchorPos (const Point &rPnt)
 
virtual void RecalcSnapRect ()
 Snap is not done on the BoundRect but if possible on logic coordinates (i.e. More...
 
virtual const tools::RectangleGetSnapRect () const
 
virtual void SetSnapRect (const tools::Rectangle &rRect)
 
virtual void NbcSetSnapRect (const tools::Rectangle &rRect)
 
virtual const tools::RectangleGetLogicRect () const
 
virtual void SetLogicRect (const tools::Rectangle &rRect)
 
virtual void NbcSetLogicRect (const tools::Rectangle &rRect)
 
virtual void AdjustToMaxRect (const tools::Rectangle &rMaxRect, bool bShrinkOnly=false)
 
virtual Degree100 GetRotateAngle () const
 
virtual Degree100 GetShearAngle (bool bVertical=false) const
 
virtual sal_uInt32 GetSnapPointCount () const
 snap to special points of an Object (polygon points, center of circle) More...
 
virtual Point GetSnapPoint (sal_uInt32 i) const
 
virtual bool IsPolyObj () const
 
virtual sal_uInt32 GetPointCount () const
 
virtual Point GetPoint (sal_uInt32 i) const
 
void SetPoint (const Point &rPnt, sal_uInt32 i)
 
virtual void NbcSetPoint (const Point &rPnt, sal_uInt32 i)
 
virtual std::unique_ptr< SdrObjGeoDataGetGeoData () const
 
virtual void SetGeoData (const SdrObjGeoData &rGeo)
 
const SfxItemSetGetMergedItemSet () const
 
void SetMergedItem (const SfxPoolItem &rItem)
 
void ClearMergedItem (const sal_uInt16 nWhich=0)
 
void SetMergedItemSet (const SfxItemSet &rSet, bool bClearAllItems=false)
 
const SfxPoolItemGetMergedItem (const sal_uInt16 nWhich) const
 
template<class T >
const T & GetMergedItem (TypedWhichId< T > nWhich) const
 
void SetMergedItemSetAndBroadcast (const SfxItemSet &rSet, bool bClearAllItems=false)
 
void TakeNotPersistAttr (SfxItemSet &rAttr) const
 
void ApplyNotPersistAttr (const SfxItemSet &rAttr)
 
void NbcApplyNotPersistAttr (const SfxItemSet &rAttr)
 
void SetStyleSheet (SfxStyleSheet *pNewStyleSheet, bool bDontRemoveHardAttr)
 
void NbcSetStyleSheet (SfxStyleSheet *pNewStyleSheet, bool bDontRemoveHardAttr)
 
SfxStyleSheetGetStyleSheet () const
 
virtual bool HasTextEdit () const
 
void SetOutlinerParaObject (std::optional< OutlinerParaObject > pTextObject)
 
virtual void NbcSetOutlinerParaObject (std::optional< OutlinerParaObject > pTextObject)
 
virtual OutlinerParaObjectGetOutlinerParaObject () const
 
virtual void NbcReformatText ()
 
void BurnInStyleSheetAttributes ()
 
virtual bool HasMacro () const
 
virtual SdrObjectCheckMacroHit (const SdrObjMacroHitRec &rRec) const
 
virtual PointerStyle GetMacroPointer (const SdrObjMacroHitRec &rRec) const
 
virtual void PaintMacro (OutputDevice &rOut, const tools::Rectangle &rDirtyRect, const SdrObjMacroHitRec &rRec) const
 
virtual bool DoMacro (const SdrObjMacroHitRec &rRec)
 
bool IsMacroHit (const SdrObjMacroHitRec &rRec) const
 
virtual SdrGluePoint GetVertexGluePoint (sal_uInt16 nNum) const
 
virtual SdrGluePoint GetCornerGluePoint (sal_uInt16 nNum) const
 
virtual const SdrGluePointListGetGluePointList () const
 
virtual SdrGluePointListForceGluePointList ()
 
void SetGlueReallyAbsolute (bool bOn)
 
void NbcRotateGluePoints (const Point &rRef, Degree100 nAngle, double sn, double cs)
 
void NbcMirrorGluePoints (const Point &rRef1, const Point &rRef2)
 
void NbcShearGluePoints (const Point &rRef, double tn, bool bVShear)
 
virtual void ConnectToNode (bool bTail1, SdrObject *pObj)
 
virtual void DisconnectFromNode (bool bTail1)
 
virtual SdrObjectGetConnectedNode (bool bTail1) const
 
virtual void SetContextWritingMode (const sal_Int16 _nContextWritingMode)
 
virtual rtl::Reference< SdrObjectDoConvertToPolyObj (bool bBezier, bool bAddText) const
 
rtl::Reference< SdrObjectConvertToPolyObj (bool bBezier, bool bLineToArea) const
 
rtl::Reference< SdrObjectConvertToContourObj (SdrObject *pRet, bool bForceLineDash=false) const
 
bool IsVirtualObj () const
 
bool IsClosedObj () const
 
void InsertedStateChange ()
 
bool IsInserted () const
 
bool IsEdgeObj () const
 
bool Is3DObj () const
 
bool IsUnoObj () const
 
void SetMoveProtect (bool bProt)
 
bool IsMoveProtect () const
 
void SetResizeProtect (bool bProt)
 
bool IsResizeProtect () const
 
void SetPrintable (bool bPrn)
 
bool IsPrintable () const
 
void SetVisible (bool bVisible)
 
bool IsVisible () const
 
void SetMarkProtect (bool bProt)
 
bool IsMarkProtect () const
 
virtual bool shouldKeepAspectRatio () const
 Whether the aspect ratio should be kept by default when resizing. More...
 
sal_uInt16 GetUserDataCount () const
 
SdrObjUserDataGetUserData (sal_uInt16 nNum) const
 
void AppendUserData (std::unique_ptr< SdrObjUserData > pData)
 
void DeleteUserData (sal_uInt16 nNum)
 
virtual css::uno::Reference< css::drawing::XShape > getUnoShape ()
 
svx::PropertyChangeNotifiergetShapePropertyChangeNotifier ()
 
void notifyShapePropertyChange (const svx::ShapePropertyProviderId _eProperty) const
 
virtual bool TRGetBaseGeometry (basegfx::B2DHomMatrix &rMatrix, basegfx::B2DPolyPolygon &rPolyPolygon) const
 
virtual void TRSetBaseGeometry (const basegfx::B2DHomMatrix &rMatrix, const basegfx::B2DPolyPolygon &rPolyPolygon)
 
bool IsInDestruction () const
 
bool HasFillStyle () const
 
bool HasLineStyle () const
 
const tools::RectangleGetBLIPSizeRectangle () const
 
void SetBLIPSizeRectangle (const tools::Rectangle &aRect)
 
virtual bool HasText () const
 
bool Equals (const SdrObject &) const
 
virtual void dumpAsXml (xmlTextWriterPtr pWriter) const
 
virtual bool IsTextBox () const
 Is this a textbox of a drawinglayer shape? More...
 
void SetEmptyPresObj (bool bEpt)
 
bool IsEmptyPresObj () const
 
void SetNotVisibleAsMaster (bool bFlg)
 
bool IsNotVisibleAsMaster () const
 
void SetUserCall (SdrObjUserCall *pUser)
 
SdrObjUserCallGetUserCall () const
 
void SetDoNotInsertIntoPageAutomatically (bool bSet)
 
bool IsDoNotInsertIntoPageAutomatically () const
 
sal_uInt32 GetOrdNumDirect () const
 
bool DoesSupportTextIndentingOnLineWidthChange () const
 
const PointGetAnchorPos () const
 
bool LineIsOutsideGeometry () const
 
void SetNavigationPosition (const sal_uInt32 nPosition)
 
virtual void setUnoShape (const css::uno::Reference< css::drawing::XShape > &_rxUnoShape)
 Sets a new UNO representation of the shape. More...
 
const css::uno::WeakReference< css::drawing::XShape > & getWeakUnoShape () const
 
void setSuitableOutlinerBg (Outliner &rOutliner) const
 
const GraphicgetFillGraphic () const
 
const OUString & getHyperlink () const
 
void setHyperlink (const OUString &sHyperlink)
 
void ForceMetricToItemPoolMetric (basegfx::B2DPolyPolygon &rPolyPolygon) const noexcept
 
- Public Member Functions inherited from SfxListener
 SfxListener ()
 
 SfxListener (const SfxListener &rCopy)
 
virtual ~SfxListener () COVERITY_NOEXCEPT_FALSE
 
void StartListening (SfxBroadcaster &rBroadcaster, DuplicateHandling eDuplicateHanding=DuplicateHandling::Unexpected)
 
void EndListening (SfxBroadcaster &rBroadcaster, bool bRemoveAllDuplicates=false)
 
void EndListeningAll ()
 
bool IsListening (SfxBroadcaster &rBroadcaster) const
 
sal_uInt16 GetBroadcasterCount () const
 
SfxBroadcasterGetBroadcasterJOE (sal_uInt16 nNo) const
 
virtual void Notify (SfxBroadcaster &rBC, const SfxHint &rHint)
 
void RemoveBroadcaster_Impl (SfxBroadcaster &rBC)
 
virtual bool IsSdrView () const
 
- Public Member Functions inherited from cppu::OWeakObject
 OWeakObject ()
 
 OWeakObject (const OWeakObject &)
 
OWeakObject &SAL_CALL operator= (const OWeakObject &)
 
virtual css::uno::Any SAL_CALL queryInterface (const css::uno::Type &rType) SAL_OVERRIDE
 
virtual void SAL_CALL acquire () SAL_NOEXCEPT SAL_OVERRIDE
 
virtual void SAL_CALL release () SAL_NOEXCEPT SAL_OVERRIDE
 
virtual css::uno::Reference< css::uno::XAdapter > SAL_CALL queryAdapter () SAL_OVERRIDE
 
SAL_CALL operator css::uno::Reference< css::uno::XInterface > ()
 
virtual sal_Int32 getTextCount () const =0
 Return the number of texts available for this object. More...
 
virtual SdrTextgetText (sal_Int32 nIndex) const =0
 Return the nth available text. More...
 

Static Public Member Functions

static bool doConstructOrthogonal (std::u16string_view rName)
 
- Static Public Member Functions inherited from SdrTextObj
static void impDecomposeBlockTextPrimitiveDirect (drawinglayer::primitive2d::Primitive2DContainer &rTarget, SdrOutliner &rOutliner, const basegfx::B2DHomMatrix &rNewTransformA, const basegfx::B2DHomMatrix &rNewTransformB, const basegfx::B2DRange &rClipRange)
 
static bool HasTextImpl (SdrOutliner const *pOutliner)
 returns false if the given pointer is NULL or if the given SdrOutliner contains no text. More...
 
- Static Public Member Functions inherited from SdrObject
static SdrItemPoolGetGlobalDrawObjectItemPool ()
 
template<class T >
static rtl::Reference< T > Clone (T const &rObj, SdrModel &rTargetModel)
 
static SdrObjectgetSdrObjectFromXShape (const css::uno::Reference< css::uno::XInterface > &xInt)
 

Public Attributes

css::uno::Reference< css::drawing::XShape > mXRenderedCustomShape
 
css::uno::Reference< css::drawing::XCustomShapeEngine > mxCustomShapeEngine
 
rtl::Reference< SdrObjectmpLastShadowGeometry
 

Protected Member Functions

virtual std::unique_ptr< sdr::contact::ViewContactCreateObjectSpecificViewContact () override
 
virtual void setUnoShape (const css::uno::Reference< css::drawing::XShape > &rxUnoShape) override
 Sets a new UNO representation of the shape. More...
 
virtual void AdaptTextMinSize () override
 
virtual void InternalSetStyleSheet (SfxStyleSheet *pNewStyleSheet, bool bDontRemoveHardAttr, bool bBroadcast) override
 
- Protected Member Functions inherited from SdrTextObj
virtual std::unique_ptr< sdr::properties::BasePropertiesCreateObjectSpecificProperties () override
 
virtual std::unique_ptr< sdr::contact::ViewContactCreateObjectSpecificViewContact () override
 
virtual rtl::Reference< SdrObjectgetFullDragClone () const override
 
SdrOutlinerImpGetDrawOutliner () const
 
bool ImpCanConvTextToCurve () const
 
rtl::Reference< SdrPathObjImpConvertMakeObj (const basegfx::B2DPolyPolygon &rPolyPolygon, bool bClosed, bool bBezier) const
 
rtl::Reference< SdrObjectImpConvertAddText (rtl::Reference< SdrObject > pObj, bool bBezier) const
 
void ImpSetTextStyleSheetListeners ()
 
void ImpCheckShear ()
 
tools::Rectangle ImpDragCalcRect (const SdrDragStat &rDrag) const
 
void ImpSetTextEditParams () const
 
void SetTextSizeDirty ()
 
void ImpSetContourPolygon (SdrOutliner &rOutliner, tools::Rectangle const &rAnchorRect, bool bLineWidth) const
 
virtual std::unique_ptr< SdrObjGeoDataNewGeoData () const override
 A derived class must override these 3 methods if it has own geometric data that must be saved for Undo. More...
 
virtual void SaveGeoData (SdrObjGeoData &rGeo) const override
 
virtual void RestoreGeoData (const SdrObjGeoData &rGeo) override
 
void NbcSetEckenradius (tools::Long nRad)
 
virtual void AdaptTextMinSize ()
 
 SdrTextObj (SdrModel &rSdrModel)
 
 SdrTextObj (SdrModel &rSdrModel, const tools::Rectangle &rNewRect)
 
 SdrTextObj (SdrModel &rSdrModel, SdrObjKind eNewTextKind)
 
 SdrTextObj (SdrModel &rSdrModel, SdrObjKind eNewTextKind, const tools::Rectangle &rNewRect)
 
 SdrTextObj (SdrModel &rSdrModel, SdrTextObj const &rSource)
 
virtual ~SdrTextObj () override
 
- Protected Member Functions inherited from SdrAttrObj
virtual std::unique_ptr< sdr::properties::BasePropertiesCreateObjectSpecificProperties () override
 
sal_Int32 ImpGetLineWdt () const
 Detects the width of the line. No line ->0. More...
 
virtual void Notify (SfxBroadcaster &rBC, const SfxHint &rHint) override
 Detects when a stylesheet is changed. More...
 
 SdrAttrObj (SdrModel &rSdrModel)
 
 SdrAttrObj (SdrModel &rSdrModel, SdrAttrObj const &)
 
virtual ~SdrAttrObj () override
 
- Protected Member Functions inherited from SdrObject
const tools::RectanglegetOutRectangle () const
 
void setOutRectangleConst (tools::Rectangle const &rRectangle) const
 
void setOutRectangle (tools::Rectangle const &rRectangle)
 
void resetOutRectangle ()
 
void moveOutRectangle (sal_Int32 nXDelta, sal_Int32 nYDelta)
 
virtual ~SdrObject () override
 
virtual std::unique_ptr< sdr::properties::BasePropertiesCreateObjectSpecificProperties ()
 
virtual std::unique_ptr< sdr::contact::ViewContactCreateObjectSpecificViewContact ()
 
tools::Rectangle ImpDragCalcRect (const SdrDragStat &rDrag) const
 
OUString ImpGetDescriptionStr (TranslateId pStrCacheID) const
 
void ImpForcePlusData ()
 
OUString GetMetrStr (tools::Long nVal) const
 
virtual std::unique_ptr< SdrObjGeoDataNewGeoData () const
 A derived class must override these 3 methods if it has own geometric data that must be saved for Undo. More...
 
virtual void SaveGeoData (SdrObjGeoData &rGeo) const
 
virtual void RestoreGeoData (const SdrObjGeoData &rGeo)
 
const SfxItemSetGetObjectItemSet () const
 
void SetObjectItem (const SfxPoolItem &rItem)
 
void SetObjectItemSet (const SfxItemSet &rSet)
 
const SfxPoolItemGetObjectItem (const sal_uInt16 nWhich) const
 
template<class T >
const T & GetObjectItem (TypedWhichId< T > nWhich) const
 
const SfxItemSetgetBackgroundFillSet () const
 
virtual void InternalSetStyleSheet (SfxStyleSheet *pNewStyleSheet, bool bDontRemoveHardAttr, bool bBroadcast)
 
- Protected Member Functions inherited from cppu::OWeakObject
virtual ~OWeakObject () COVERITY_NOEXCEPT_FALSE
 
void disposeWeakConnectionPoint ()
 
- Protected Member Functions inherited from svx::ITextProvider
 ~ITextProvider ()
 

Protected Attributes

Size m_aSuggestedTextFrameSize
 
- Protected Attributes inherited from SdrTextObj
tools::Rectangle maRect
 
GeoStat maGeo
 
rtl::Reference< SdrTextmxText
 
Size maTextSize
 
SdrOutlinermpEditingOutliner
 
SdrObjKind meTextKind
 
Point maTextEditOffset
 
bool mbIsUnchainableClone = false
 
SdrTextObjmpNextInChain = nullptr
 
SdrTextObjmpPrevInChain = nullptr
 
bool mbTextFrame: 1
 
bool mbNoShear: 1
 
bool mbTextSizeDirty: 1
 
bool mbInEditMode: 1
 
bool mbDisableAutoWidthOnDragging: 1
 
bool mbTextAnimationAllowed: 1
 
bool mbInDownScale: 1
 
- Protected Attributes inherited from SdrAttrObj
tools::Rectangle maSnapRect
 
- Protected Attributes inherited from SdrObject
tools::Rectangle m_aOutRect
 
Point m_aAnchor
 
SdrObjUserCallm_pUserCall
 
std::unique_ptr< SdrObjPlusDatam_pPlusData
 
bool m_bVirtObj: 1
 
bool m_bSnapRectDirty: 1
 
bool m_bMovProt: 1
 
bool m_bSizProt: 1
 
bool m_bEmptyPresObj: 1
 
bool m_bNotVisibleAsMaster: 1
 
bool m_bClosedObj: 1
 
bool m_bIsEdge: 1
 
bool m_bIs3DObj: 1
 
bool m_bIsUnoObj: 1
 
bool mbLineIsOutsideGeometry: 1
 
bool mbSupportTextIndentingOnLineWidthChange: 1
 
- Protected Attributes inherited from cppu::OWeakObject
oslInterlockedCount m_refCount
 

Private Attributes

double fObjectRotation
 
bool mbAdjustingTextFrameWidthAndHeight
 

Friends

class sdr::properties::CustomShapeProperties
 

Additional Inherited Members

- Static Protected Member Functions inherited from SdrTextObj
static void ImpSetCharStretching (SdrOutliner &rOutliner, const Size &rTextSize, const Size &rShapeSize, Fraction &rFitXCorrection)
 
static void ImpJustifyRect (tools::Rectangle &rRect)
 

Detailed Description

Definition at line 74 of file svdoashp.hxx.

Member Enumeration Documentation

◆ DefaultType

enum class SdrObjCustomShape::DefaultType
strong
Enumerator
Path 
Viewbox 
Segments 
Gluepoints 
StretchX 
StretchY 
Equations 
TextFrames 

Definition at line 154 of file svdoashp.hxx.

Constructor & Destructor Documentation

◆ SdrObjCustomShape() [1/2]

SdrObjCustomShape::SdrObjCustomShape ( SdrModel rSdrModel)

Definition at line 809 of file svdoashp.cxx.

References SdrObject::m_bClosedObj, and SdrTextObj::mbTextFrame.

◆ SdrObjCustomShape() [2/2]

SdrObjCustomShape::SdrObjCustomShape ( SdrModel rSdrModel,
SdrObjCustomShape const &  rSource 
)

◆ ~SdrObjCustomShape()

SdrObjCustomShape::~SdrObjCustomShape ( )
overridevirtual

Definition at line 832 of file svdoashp.cxx.

References InvalidateRenderGeometry().

Member Function Documentation

◆ AdaptTextMinSize()

void SdrObjCustomShape::AdaptTextMinSize ( )
overrideprotectedvirtual

◆ AddToHdlList()

void SdrObjCustomShape::AddToHdlList ( SdrHdlList rHdlList) const
overridevirtual

Reimplemented from SdrTextObj.

Definition at line 1870 of file svdoashp.cxx.

References SdrHdlList::AddHdl(), SdrTextObj::AddToHdlList(), CustomShape1, GetInteractionHandles(), and Point.

◆ AdjustTextFrameWidthAndHeight() [1/2]

bool SdrObjCustomShape::AdjustTextFrameWidthAndHeight ( )
overridevirtual

◆ AdjustTextFrameWidthAndHeight() [2/2]

bool SdrObjCustomShape::AdjustTextFrameWidthAndHeight ( tools::Rectangle rR,
bool  bHgt = true,
bool  bWdt = true 
) const
overridevirtual

Reimplemented from SdrTextObj.

Definition at line 2273 of file svdoashp.cxx.

References tools::Rectangle::AdjustBottom(), Size::AdjustHeight(), tools::Rectangle::AdjustLeft(), tools::Rectangle::AdjustRight(), tools::Rectangle::AdjustTop(), Size::AdjustWidth(), tools::Rectangle::Bottom(), Outliner::CalcTextSize(), Outliner::Clear(), SdrTextObj::GetMaxTextFrameHeight(), SdrTextObj::GetMaxTextFrameWidth(), SdrObject::GetMergedItem(), SdrTextObj::GetMinTextFrameHeight(), SdrTextObj::GetMinTextFrameWidth(), tools::Rectangle::getOpenHeight(), SdrTextObj::GetOutlinerParaObject(), SdrObject::getSdrModelFromSdrObject(), tools::Rectangle::GetSize(), Outliner::GetTextHeight(), SdrTextObj::GetTextHorizontalAdjust(), SdrTextObj::GetTextLeftDistance(), SdrTextObj::GetTextLowerDistance(), SdrTextObj::GetTextRightDistance(), SdrTextObj::GetTextUpperDistance(), SdrTextObj::GetTextVerticalAdjust(), GetValue, SdrTextObj::HasText(), Size::Height(), SdrTextObj::ImpGetDrawOutliner(), IsAutoGrowHeight(), IsAutoGrowWidth(), tools::Rectangle::IsEmpty(), Size::IsEmpty(), tools::Rectangle::Left(), m_aSuggestedTextFrameSize, SdrTextObj::maGeo, GeoStat::mfCosRotationAngle, GeoStat::mfSinRotationAngle, tools::Rectangle::Move(), SdrTextObj::mpEditingOutliner, GeoStat::nRotationAngle, Point, tools::Rectangle::Right(), RotatePoint(), SDRATTR_TEXT_USEFIXEDCELLHEIGHT(), SDRATTR_TEXTCOLUMNS_NUMBER(), SDRTEXTHORZADJUST_LEFT, SDRTEXTHORZADJUST_RIGHT, SDRTEXTVERTADJUST_BOTTOM, SDRTEXTVERTADJUST_TOP, tools::Rectangle::SetBottom(), Outliner::SetFixedCellHeight(), Size::setHeight(), Outliner::SetMaxAutoPaperSize(), Outliner::SetPaperSize(), tools::Rectangle::SetRight(), Outliner::SetText(), Outliner::SetUpdateLayout(), Size::setWidth(), tools::Rectangle::Top(), tools::Rectangle::TopLeft(), and Size::Width().

◆ AdjustToMaxRect()

void SdrObjCustomShape::AdjustToMaxRect ( const tools::Rectangle rMaxRect,
bool  bShrinkOnly = false 
)
overridevirtual

◆ applySpecialDrag()

bool SdrObjCustomShape::applySpecialDrag ( SdrDragStat rDrag)
overridevirtual

◆ beginSpecialDrag()

bool SdrObjCustomShape::beginSpecialDrag ( SdrDragStat rDrag) const
overridevirtual

◆ CloneSdrObject()

rtl::Reference< SdrObject > SdrObjCustomShape::CloneSdrObject ( SdrModel rTargetModel) const
overridevirtual

Reimplemented from SdrTextObj.

Definition at line 2798 of file svdoashp.cxx.

References SdrTextObj::SdrObjCustomShape.

◆ CreateObjectSpecificProperties()

std::unique_ptr< sdr::properties::BaseProperties > SdrObjCustomShape::CreateObjectSpecificProperties ( )
overridevirtual

Reimplemented from SdrTextObj.

Definition at line 804 of file svdoashp.cxx.

◆ CreateObjectSpecificViewContact()

std::unique_ptr< sdr::contact::ViewContact > SdrObjCustomShape::CreateObjectSpecificViewContact ( )
overrideprotectedvirtual

Reimplemented from SdrTextObj.

Definition at line 3193 of file svdoashp.cxx.

◆ doConstructOrthogonal()

bool SdrObjCustomShape::doConstructOrthogonal ( std::u16string_view  rName)
static

Definition at line 3199 of file svdoashp.cxx.

References o3tl::equalsIgnoreAsciiCase(), and u.

◆ DoConvertToPolyObj()

rtl::Reference< SdrObject > SdrObjCustomShape::DoConvertToPolyObj ( bool  bBezier,
bool  bAddText 
) const
overridevirtual

◆ DragCreateObject()

void SdrObjCustomShape::DragCreateObject ( SdrDragStat rDrag)

◆ DragMoveCustomShapeHdl()

void SdrObjCustomShape::DragMoveCustomShapeHdl ( const Point rDestination,
const sal_uInt16  nCustomShapeHdlNum,
bool  bMoveCalloutRectangle 
)

◆ DragResizeCustomShape()

void SdrObjCustomShape::DragResizeCustomShape ( const tools::Rectangle rNewRect)

◆ EndCreate()

bool SdrObjCustomShape::EndCreate ( SdrDragStat rStat,
SdrCreateCmd  eCmd 
)
overridevirtual

◆ EndTextEdit()

void SdrObjCustomShape::EndTextEdit ( SdrOutliner rOutl)
overridevirtual

Reimplemented from SdrTextObj.

Definition at line 2630 of file svdoashp.cxx.

References SdrTextObj::EndTextEdit(), and InvalidateRenderGeometry().

◆ ForceGluePointList()

SdrGluePointList * SdrObjCustomShape::ForceGluePointList ( )
overridevirtual

Reimplemented from SdrObject.

Definition at line 1850 of file svdoashp.cxx.

References SdrObject::ForceGluePointList(), and ImpCheckCustomGluePointsAreAdded().

◆ GetCustomShapeEngine()

uno::Reference< drawing::XCustomShapeEngine > const & SdrObjCustomShape::GetCustomShapeEngine ( ) const

◆ GetCustomShapeName()

OUString SdrObjCustomShape::GetCustomShapeName ( ) const

◆ GetExtraTextRotation()

double SdrObjCustomShape::GetExtraTextRotation ( const bool  bPreRotation = false) const

◆ GetGluePointList()

const SdrGluePointList * SdrObjCustomShape::GetGluePointList ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 1843 of file svdoashp.cxx.

References SdrObject::GetGluePointList(), and ImpCheckCustomGluePointsAreAdded().

◆ GetHdlCount()

sal_uInt32 SdrObjCustomShape::GetHdlCount ( ) const
overridevirtual

Via GetHdlCount the number of Handles can be retrieved.

Normally 8, if it's a line 2. For Polygon objects (Polygon/Spline/Bezier) the number may be much larger. Polygon objects are also allowed to select a point of a selected object. The handle of that point will then be replaced by a new set of handles (PlusHdl). For a Polygon this would be a simple selection Handle, for a Bezier curve this may be up to 3 Handles (including Weights). GetHdl() and GetPlusHdl() must create Handle instances with new! An object that returns true from HasSpacialDrag() must provide these methods (incl. FillHdlList()).

Reimplemented from SdrTextObj.

Definition at line 1864 of file svdoashp.cxx.

References SdrTextObj::GetHdlCount(), GetInteractionHandles(), and size.

◆ GetInteractionHandles()

std::vector< SdrCustomShapeInteraction > SdrObjCustomShape::GetInteractionHandles ( ) const

◆ GetLineGeometry()

basegfx::B2DPolyPolygon SdrObjCustomShape::GetLineGeometry ( const bool  bBezierAllowed) const

◆ GetObjectRotation()

double SdrObjCustomShape::GetObjectRotation ( ) const
inline

◆ GetObjIdentifier()

SdrObjKind SdrObjCustomShape::GetObjIdentifier ( ) const
overridevirtual

Reimplemented from SdrTextObj.

Definition at line 1386 of file svdoashp.cxx.

References CustomShape.

◆ GetSdrObjectFromCustomShape()

const SdrObject * SdrObjCustomShape::GetSdrObjectFromCustomShape ( ) const

◆ GetSdrObjectShadowFromCustomShape()

const SdrObject * SdrObjCustomShape::GetSdrObjectShadowFromCustomShape ( ) const

◆ GetTextBounds()

bool SdrObjCustomShape::GetTextBounds ( tools::Rectangle rTextBound) const

◆ GetVertexGluePoint()

SdrGluePoint SdrObjCustomShape::GetVertexGluePoint ( sal_uInt16  nNum) const
overridevirtual

◆ handlePageChange()

void SdrObjCustomShape::handlePageChange ( SdrPage pOldPage,
SdrPage pNewPage 
)
overridevirtual

Reimplemented from SdrTextObj.

Definition at line 2880 of file svdoashp.cxx.

References SdrTextObj::handlePageChange(), SdrTextObj::maRect, and NbcSetSnapRect().

◆ hasSpecialDrag()

bool SdrObjCustomShape::hasSpecialDrag ( ) const
overridevirtual

The standard transformations (Move,Resize,Rotate,Mirror,Shear) are taken over by the View (TakeXorPoly(),...).

Object type specific dragging like corner radius of Rectangle, control points of Splines, weights of Bezier curves, pointer of Label objects must be handled by the object itself. To keep the Model free of state, the state is kept in the View and then passed to the object. EndDrag usually returns true for success, false may be returned if the dragging did not modify the object, where the View already handles the case that the pointer was not moved at all.

Reimplemented from SdrTextObj.

Definition at line 1895 of file svdoashp.cxx.

◆ ImpCalculateTextFrame()

tools::Rectangle SdrObjCustomShape::ImpCalculateTextFrame ( const bool  bHgt,
const bool  bWdt 
)

◆ ImpCheckCustomGluePointsAreAdded()

void SdrObjCustomShape::ImpCheckCustomGluePointsAreAdded ( )

◆ InternalSetStyleSheet()

void SdrObjCustomShape::InternalSetStyleSheet ( SfxStyleSheet pNewStyleSheet,
bool  bDontRemoveHardAttr,
bool  bBroadcast 
)
overrideprotectedvirtual

Reimplemented from SdrObject.

Definition at line 2873 of file svdoashp.cxx.

References SdrObject::InternalSetStyleSheet(), and InvalidateRenderGeometry().

◆ InvalidateRenderGeometry()

void SdrObjCustomShape::InvalidateRenderGeometry ( )

◆ IsAutoGrowHeight()

bool SdrObjCustomShape::IsAutoGrowHeight ( ) const
overridevirtual

◆ IsAutoGrowWidth()

bool SdrObjCustomShape::IsAutoGrowWidth ( ) const
overridevirtual

◆ IsDefaultGeometry()

bool SdrObjCustomShape::IsDefaultGeometry ( const DefaultType  eDefaultType) const

◆ IsMirroredX()

bool SdrObjCustomShape::IsMirroredX ( ) const

◆ IsMirroredY()

bool SdrObjCustomShape::IsMirroredY ( ) const

◆ IsTextPath()

bool SdrObjCustomShape::IsTextPath ( ) const

◆ MergeDefaultAttributes()

void SdrObjCustomShape::MergeDefaultAttributes ( const OUString *  pType = nullptr)

◆ MovCreate()

bool SdrObjCustomShape::MovCreate ( SdrDragStat rStat)
overridevirtual

◆ Move()

void SdrObjCustomShape::Move ( const Size rSiz)
overridevirtual

◆ NbcAdjustTextFrameWidthAndHeight()

bool SdrObjCustomShape::NbcAdjustTextFrameWidthAndHeight ( bool  bHgt = true,
bool  bWdt = true 
)
overridevirtual

◆ NbcMirror()

void SdrObjCustomShape::NbcMirror ( const Point rRef1,
const Point rRef2 
)
overridevirtual

◆ NbcMove()

void SdrObjCustomShape::NbcMove ( const Size rSiz)
overridevirtual

The methods Move, Resize, Rotate, Mirror, Shear, SetSnapRect and SetLogicRect call the corresponding Nbc-methods, send a Repaint broadcast and set the Modified state on the Model.

Derived classes should usually only override the Nbc methods. Nbc means "no broadcast".

Reimplemented from SdrTextObj.

Definition at line 1493 of file svdoashp.cxx.

References SdrObject::ActionChanged(), SdrObject::getSdrObjectFromXShape(), mpLastShadowGeometry, mXRenderedCustomShape, SdrObject::NbcMove(), and SdrTextObj::NbcMove().

Referenced by Move().

◆ NbcResize()

void SdrObjCustomShape::NbcResize ( const Point rRef,
const Fraction xFact,
const Fraction yFact 
)
overridevirtual

◆ NbcRotate()

void SdrObjCustomShape::NbcRotate ( const Point rRef,
Degree100  nAngle,
double  sn,
double  cs 
)
overridevirtual

◆ NbcSetLogicRect()

void SdrObjCustomShape::NbcSetLogicRect ( const tools::Rectangle rRect)
overridevirtual

◆ NbcSetOutlinerParaObject() [1/2]

void SdrObjCustomShape::NbcSetOutlinerParaObject ( std::optional< OutlinerParaObject pTextObject)
overridevirtual

◆ NbcSetOutlinerParaObject() [2/2]

void SdrTextObj::NbcSetOutlinerParaObject ( std::optional< OutlinerParaObject pTextObject)
overridevirtual

Reimplemented from SdrTextObj.

Definition at line 489 of file svdotext.cxx.

References SdrTextObj::ImpRegisterLink().

◆ NbcSetSnapRect()

void SdrObjCustomShape::NbcSetSnapRect ( const tools::Rectangle rRect)
overridevirtual

◆ NbcShear()

void SdrObjCustomShape::NbcShear ( const Point rRef,
Degree100  nAngle,
double  tn,
bool  bVShear 
)
overridevirtual

◆ NewGeoData()

std::unique_ptr< SdrObjGeoData > SdrObjCustomShape::NewGeoData ( ) const
overridevirtual

A derived class must override these 3 methods if it has own geometric data that must be saved for Undo.

NewGeoData() creates an empty instance of a class derived from SdrObjGeoData.

Reimplemented from SdrTextObj.

Definition at line 2895 of file svdoashp.cxx.

◆ RestoreGeoData()

void SdrObjCustomShape::RestoreGeoData ( const SdrObjGeoData rGeo)
overridevirtual

◆ SaveGeoData()

void SdrObjCustomShape::SaveGeoData ( SdrObjGeoData rGeo) const
overridevirtual

◆ SetLogicRect()

void SdrObjCustomShape::SetLogicRect ( const tools::Rectangle rRect)
overridevirtual

◆ SetMirroredX()

void SdrObjCustomShape::SetMirroredX ( const bool  bMirroredX)

◆ SetMirroredY()

void SdrObjCustomShape::SetMirroredY ( const bool  bMirroredY)

◆ SetSnapRect()

void SdrObjCustomShape::SetSnapRect ( const tools::Rectangle rRect)
overridevirtual

◆ setUnoShape()

void SdrObjCustomShape::setUnoShape ( const css::uno::Reference< css::drawing::XShape > &  _rxUnoShape)
overrideprotectedvirtual

Sets a new UNO representation of the shape.

Calling this function is only allowed for the UNO representation itself!

The default implementation of this function sets the new UNO shape. Derived classes should override the function to handle any other actions that are needed when the shape is being changed.

The implementation must call the same method of its parent class (preferably as the first step)!

Reimplemented from SdrObject.

Definition at line 3234 of file svdoashp.cxx.

References mxCustomShapeEngine, and SdrObject::setUnoShape().

◆ SetVerticalWriting()

void SdrObjCustomShape::SetVerticalWriting ( bool  bVertical)
overridevirtual

◆ Shear()

void SdrObjCustomShape::Shear ( const Point rRef,
Degree100  nAngle,
double  tn,
bool  bVShear 
)
overridevirtual

Reimplemented from SdrObject.

Definition at line 1679 of file svdoashp.cxx.

References InvalidateRenderGeometry(), and SdrObject::Shear().

Referenced by TRSetBaseGeometry().

◆ SuggestTextFrameSize()

void SdrObjCustomShape::SuggestTextFrameSize ( Size  aSuggestedTextFrameSize)

Allows suggesting the text frame size: in case the application has its own text associated to the shape, instead of using the shape's editeng text.

Definition at line 2268 of file svdoashp.cxx.

References m_aSuggestedTextFrameSize.

◆ TakeContour()

basegfx::B2DPolyPolygon SdrObjCustomShape::TakeContour ( ) const
overridevirtual

contour for TextToContour

Reimplemented from SdrTextObj.

Definition at line 2822 of file svdoashp.cxx.

References GetSdrObjectFromCustomShape(), and SdrObject::TakeContour().

◆ TakeCreatePoly()

basegfx::B2DPolyPolygon SdrObjCustomShape::TakeCreatePoly ( const SdrDragStat rDrag) const
overridevirtual

Polygon dragged by the user when creating the object.

Reimplemented from SdrTextObj.

Definition at line 2183 of file svdoashp.cxx.

References GetLineGeometry().

◆ TakeObjInfo()

void SdrObjCustomShape::TakeObjInfo ( SdrObjTransformInfoRec rInfo) const
overridevirtual

◆ TakeObjNamePlural()

OUString SdrObjCustomShape::TakeObjNamePlural ( ) const
overridevirtual

Reimplemented from SdrTextObj.

Definition at line 2812 of file svdoashp.cxx.

References SvxResId().

◆ TakeObjNameSingul()

OUString SdrObjCustomShape::TakeObjNameSingul ( ) const
overridevirtual

Reimplemented from SdrTextObj.

Definition at line 2803 of file svdoashp.cxx.

References SdrObject::GetName(), sName, and SvxResId().

◆ TakeTextAnchorRect()

void SdrObjCustomShape::TakeTextAnchorRect ( tools::Rectangle rAnchorRect) const
overridevirtual

◆ TakeTextEditArea()

void SdrObjCustomShape::TakeTextEditArea ( Size pPaperMin,
Size pPaperMax,
tools::Rectangle pViewInit,
tools::Rectangle pViewMin 
) const
overridevirtual

◆ TakeTextRect()

void SdrObjCustomShape::TakeTextRect ( SdrOutliner rOutliner,
tools::Rectangle rTextRect,
bool  bNoEditText,
tools::Rectangle pAnchorRect,
bool  bLineWidth = true 
) const
overridevirtual

◆ TakeXorPoly()

basegfx::B2DPolyPolygon SdrObjCustomShape::TakeXorPoly ( ) const
overridevirtual

The Xor-Polygon is required by the View to drag the object.

All polygons within the PolyPolygon are interpreted as PolyLine. To get a closed Polygon, close it explicitly.

Reimplemented from SdrTextObj.

Definition at line 2817 of file svdoashp.cxx.

References GetLineGeometry().

◆ TRGetBaseGeometry()

bool SdrObjCustomShape::TRGetBaseGeometry ( basegfx::B2DHomMatrix rMatrix,
basegfx::B2DPolyPolygon rPolyPolygon 
) const
overridevirtual

◆ TRSetBaseGeometry()

void SdrObjCustomShape::TRSetBaseGeometry ( const basegfx::B2DHomMatrix rMatrix,
const basegfx::B2DPolyPolygon rPolyPolygon 
)
overridevirtual

◆ UseNoFillStyle()

bool SdrObjCustomShape::UseNoFillStyle ( ) const

Friends And Related Function Documentation

◆ sdr::properties::CustomShapeProperties

Definition at line 89 of file svdoashp.hxx.

Member Data Documentation

◆ fObjectRotation

double SdrObjCustomShape::fObjectRotation
private

◆ m_aSuggestedTextFrameSize

Size SdrObjCustomShape::m_aSuggestedTextFrameSize
protected

Definition at line 129 of file svdoashp.hxx.

Referenced by AdjustTextFrameWidthAndHeight(), and SuggestTextFrameSize().

◆ mbAdjustingTextFrameWidthAndHeight

bool SdrObjCustomShape::mbAdjustingTextFrameWidthAndHeight
private

Definition at line 79 of file svdoashp.hxx.

Referenced by NbcAdjustTextFrameWidthAndHeight(), and SdrObjCustomShape().

◆ mpLastShadowGeometry

rtl::Reference<SdrObject> SdrObjCustomShape::mpLastShadowGeometry

◆ mxCustomShapeEngine

css::uno::Reference< css::drawing::XCustomShapeEngine > SdrObjCustomShape::mxCustomShapeEngine
mutable

◆ mXRenderedCustomShape

css::uno::Reference< css::drawing::XShape > SdrObjCustomShape::mXRenderedCustomShape

The documentation for this class was generated from the following files: