LibreOffice Module svx (master)  1
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
SdrPathObj Class Referencefinal

#include <svdopath.hxx>

Inheritance diagram for SdrPathObj:
Collaboration diagram for SdrPathObj:

Public Member Functions

 SdrPathObj (SdrModel &rSdrModel, SdrObjKind eNewKind)
 SdrPathObj (SdrModel &rSdrModel, SdrPathObj const &rSource)
 SdrPathObj (SdrModel &rSdrModel, SdrObjKind eNewKind, const basegfx::B2DPolyPolygon &rPathPoly)
virtual void TakeObjInfo (SdrObjTransformInfoRec &rInfo) const override
virtual SdrObjKind GetObjIdentifier () const override
virtual void TakeUnrotatedSnapRect (tools::Rectangle &rRect) const override
virtual SdrPathObjCloneSdrObject (SdrModel &rTargetModel) const override
virtual OUString TakeObjNameSingul () const override
virtual OUString TakeObjNamePlural () const override
virtual basegfx::B2DPolyPolygon TakeXorPoly () const override
 The Xor-Polygon is required by the View to drag the object. 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 sal_uInt32 GetHdlCount () const override
 Via GetHdlCount the number of Handles can be retrieved. More...
virtual void AddToHdlList (SdrHdlList &rHdlList) const override
virtual void AddToPlusHdlList (SdrHdlList &rHdlList, SdrHdl &rHdl) const override
virtual const tools::RectangleGetLogicRect () 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 OUString getSpecialDragComment (const SdrDragStat &rDrag) const override
virtual basegfx::B2DPolyPolygon getSpecialDragPoly (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...
PointerStyle GetCreatePointer () const override
 get the cursor/pointer that signals creating this object More...
basegfx::B2DPolyPolygon getObjectPolyPolygon (const SdrDragStat &rDrag) const
basegfx::B2DPolyPolygon getDragPolyPolygon (const SdrDragStat &rDrag) const
virtual void NbcMove (const Size &aSize) 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 &rRefPnt, const Fraction &aXFact, const Fraction &aYFact) override
virtual void NbcRotate (const Point &rRefPnt, Degree100 nAngle, double fSin, double fCos) override
virtual void NbcMirror (const Point &rRefPnt1, const Point &rRefPnt2) override
virtual void NbcShear (const Point &rRefPnt, Degree100 nAngle, double fTan, bool bVShear) 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 bool IsPolyObj () const override
virtual sal_uInt32 GetPointCount () const override
virtual Point GetPoint (sal_uInt32 nHdlNum) const override
virtual void NbcSetPoint (const Point &rPnt, sal_uInt32 nHdlNum) override
sal_uInt32 NbcInsPointOld (const Point &rPos, bool bNewObj)
sal_uInt32 NbcInsPoint (const Point &rPos, bool bNewObj)
SdrObjectRipPoint (sal_uInt32 nHdlNum, sal_uInt32 &rNewPt0Index)
virtual SdrObjectUniquePtr DoConvertToPolyObj (bool bBezier, bool bAddText) const override
const basegfx::B2DPolyPolygonGetPathPoly () const
void SetPathPoly (const basegfx::B2DPolyPolygon &rPathPoly)
void NbcSetPathPoly (const basegfx::B2DPolyPolygon &rPathPoly)
bool IsClosed () const
bool IsLine () const
bool IsBezier () const
bool IsSpline () const
void ToggleClosed ()
virtual bool TRGetBaseGeometry (basegfx::B2DHomMatrix &rMatrix, basegfx::B2DPolyPolygon &rPolyPolygon) const override
virtual void TRSetBaseGeometry (const basegfx::B2DHomMatrix &rMatrix, const basegfx::B2DPolyPolygon &rPolyPolygon) override
void SetHandleScale (bool bHandleScale)
 Scaling is ignored from the transform matrix by default, to not break compatibility. More...
- 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 basegfx::B2DPolyPolygon TakeContour () const override
 contour for TextToContour More...
virtual void NbcSetLogicRect (const tools::Rectangle &rRect) override
virtual Degree100 GetRotateAngle () const override
virtual Degree100 GetShearAngle (bool bVertical=false) const 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
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...
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
const SdrObjectgetFillGeometryDefiningShape () const
 SdrObject (SdrModel &rSdrModel)
 SdrObject (SdrModel &rSdrModel, SdrObject const &rSource)
SdrPagegetSdrPageFromSdrObject () const
SdrModelgetSdrModelFromSdrObject () const
virtual SdrObjListgetChildrenOfSdrObject () const
SdrObjListgetParentSdrObjListFromSdrObject () const
SdrObjectgetParentSdrObjectFromSdrObject () const
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 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
SdrObjectoperator= (const SdrObject &rObj)=delete
SdrObjectoperator= (SdrObject &&rObj)=delete
virtual void addCropHandles (SdrHdlList &rTarget) const
virtual bool supportsFullDrag () const
virtual void NbcCrop (const basegfx::B2DPoint &rRef, double fxFact, double fyFact)
void NbcRotate (const Point &rRef, Degree100 nAngle)
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 SetSnapRect (const tools::Rectangle &rRect)
virtual void SetLogicRect (const tools::Rectangle &rRect)
virtual void AdjustToMaxRect (const tools::Rectangle &rMaxRect, bool bShrinkOnly=false)
void SetPoint (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
void SetOutlinerParaObject (std::optional< OutlinerParaObject > pTextObject)
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)
SdrObjectUniquePtr ConvertToPolyObj (bool bBezier, bool bLineToArea) const
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
bool IsInDestruction () const
bool HasFillStyle () const
bool HasLineStyle () const
const tools::RectangleGetBLIPSizeRectangle () const
void SetBLIPSizeRectangle (const tools::Rectangle &aRect)
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
void RemoveBroadcaster_Impl (SfxBroadcaster &rBC)
- Public Member Functions inherited from tools::WeakBase
 WeakBase ()
virtual ~WeakBase ()
void clearWeak ()

Private Member Functions

virtual std::unique_ptr< sdr::contact::ViewContactCreateObjectSpecificViewContact () override
void ImpSetClosed (bool bClose)
void ImpForceKind ()
void ImpForceLineAngle ()
ImpPathForDragAndCreateimpGetDAC () const
virtual ~SdrPathObj () 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

Private Attributes

basegfx::B2DPolyPolygon maPathPolygon
SdrObjKind meKind
bool mbHandleScale = false
std::unique_ptr< ImpPathForDragAndCreatempDAC


class ImpPathForDragAndCreate

Additional Inherited Members

- 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 ()
static void Free (SdrObject *&_rpObject)
static SdrObjectgetSdrObjectFromXShape (const css::uno::Reference< css::uno::XInterface > &xInt)
- Protected Member Functions inherited from SdrTextObj
virtual std::unique_ptr< sdr::properties::BasePropertiesCreateObjectSpecificProperties () override
virtual SdrObjectUniquePtr getFullDragClone () const override
SdrOutlinerImpGetDrawOutliner () const
bool ImpCanConvTextToCurve () const
SdrPathObjUniquePtr ImpConvertMakeObj (const basegfx::B2DPolyPolygon &rPolyPolygon, bool bClosed, bool bBezier) const
SdrObjectUniquePtr ImpConvertAddText (SdrObjectUniquePtr 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
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
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
virtual ~SdrObject () override
tools::Rectangle ImpDragCalcRect (const SdrDragStat &rDrag) const
OUString ImpGetDescriptionStr (TranslateId pStrCacheID) const
void ImpForcePlusData ()
OUString GetMetrStr (tools::Long nVal) const
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 svx::ITextProvider
 ~ITextProvider ()
- 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)
- Protected Attributes inherited from SdrTextObj
tools::Rectangle maRect
GeoStat maGeo
std::unique_ptr< SdrTextmpText
Size maTextSize
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
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

Detailed Description

Definition at line 42 of file svdopath.hxx.

Constructor & Destructor Documentation

SdrPathObj::~SdrPathObj ( )
SdrPathObj::SdrPathObj ( SdrModel rSdrModel,
SdrObjKind  eNewKind 

Definition at line 1620 of file svdopath.cxx.

References IsClosed(), and SdrObject::m_bClosedObj.

Referenced by CloneSdrObject().

SdrPathObj::SdrPathObj ( SdrModel rSdrModel,
SdrPathObj const &  rSource 

Definition at line 1629 of file svdopath.cxx.

References GetPathPoly(), IsClosed(), SdrObject::m_bClosedObj, and maPathPolygon.

SdrPathObj::SdrPathObj ( SdrModel rSdrModel,
SdrObjKind  eNewKind,
const basegfx::B2DPolyPolygon rPathPoly 

Definition at line 1637 of file svdopath.cxx.

References ImpForceKind(), IsClosed(), and SdrObject::m_bClosedObj.

Member Function Documentation

void SdrPathObj::AddToHdlList ( SdrHdlList rHdlList) const
void SdrPathObj::AddToPlusHdlList ( SdrHdlList rHdlList,
SdrHdl rHdl 
) const
bool SdrPathObj::applySpecialDrag ( SdrDragStat rDrag)
bool SdrPathObj::BckCreate ( SdrDragStat rStat)

Reimplemented from SdrTextObj.

Definition at line 2214 of file svdopath.cxx.

References ImpPathForDragAndCreate::BckCreate(), and impGetDAC().

bool SdrPathObj::BegCreate ( SdrDragStat rStat)

Every object must be able to create itself interactively.

On MouseDown first an object is created, and its BegCreate() method is called. On every MouseMove, MovCreate() is called. BrkCreate() is called if the user cancels the interactive object creation. EndCreate() is called on the MouseUp event. If EndCreate() returns true, the creation is finished; the object is inserted into the corresponding list. Otherwise it is assumed that further points are necessary to create the object (Polygon, ...). The parameter eCmd contains the number of mouse clicks (if the application provides it). BckCreate() will undo the previous EndCreate(), e.g. to delete the last point of the Polygon. If BckCreate() returns false, creation is cancelled.

Reimplemented from SdrTextObj.

Definition at line 2155 of file svdopath.cxx.

References ImpPathForDragAndCreate::BegCreate(), impGetDAC(), and mpDAC.

bool SdrPathObj::beginSpecialDrag ( SdrDragStat rDrag) const

Reimplemented from SdrObject.

Definition at line 2081 of file svdopath.cxx.

References ImpPathForDragAndCreate::beginPathDrag().

void SdrPathObj::BrkCreate ( SdrDragStat rStat)

Reimplemented from SdrTextObj.

Definition at line 2219 of file svdopath.cxx.

References ImpPathForDragAndCreate::BrkCreate(), impGetDAC(), and mpDAC.

SdrPathObj * SdrPathObj::CloneSdrObject ( SdrModel rTargetModel) const

Reimplemented from SdrTextObj.

Definition at line 1827 of file svdopath.cxx.

References SdrPathObj().

Referenced by RipPoint().

std::unique_ptr< sdr::contact::ViewContact > SdrPathObj::CreateObjectSpecificViewContact ( )

Reimplemented from SdrTextObj.

Definition at line 1614 of file svdopath.cxx.

SdrObjectUniquePtr SdrPathObj::DoConvertToPolyObj ( bool  bBezier,
bool  bAddText 
) const
bool SdrPathObj::EndCreate ( SdrDragStat rStat,
SdrCreateCmd  eCmd 
PointerStyle SdrPathObj::GetCreatePointer ( ) const

get the cursor/pointer that signals creating this object

Reimplemented from SdrTextObj.

Definition at line 2265 of file svdopath.cxx.

References ImpPathForDragAndCreate::GetCreatePointer(), and impGetDAC().

basegfx::B2DPolyPolygon SdrPathObj::getDragPolyPolygon ( const SdrDragStat rDrag) const

Definition at line 2253 of file svdopath.cxx.

References mpDAC, and ImpPathForDragAndCreate::TakeDragPolyPolygon().

sal_uInt32 SdrPathObj::GetHdlCount ( ) const

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 1957 of file svdopath.cxx.

References GetPathPoly().

Referenced by GetSnapPointCount(), NbcInsPoint(), and SdrPolyEditView::RipUpAtMarkedPoints().

const tools::Rectangle & SdrPathObj::GetLogicRect ( ) const

Reimplemented from SdrTextObj.

Definition at line 2069 of file svdopath.cxx.

References SdrAttrObj::GetSnapRect().

basegfx::B2DPolyPolygon SdrPathObj::getObjectPolyPolygon ( const SdrDragStat rDrag) const

Definition at line 2241 of file svdopath.cxx.

References mpDAC.

SdrObjKind SdrPathObj::GetObjIdentifier ( ) const

Reimplemented from SdrTextObj.

Definition at line 1822 of file svdopath.cxx.

References meKind.

Referenced by SdrEditView::ImpDismantleOneObject().

const basegfx::B2DPolyPolygon& SdrPathObj::GetPathPoly ( ) const
Point SdrPathObj::GetPoint ( sal_uInt32  nHdlNum) const

Reimplemented from SdrObject.

Definition at line 2445 of file svdopath.cxx.

References FRound(), basegfx::B2DPolygon::getB2DPoint(), GetPathPoly(), and Point.

sal_uInt32 SdrPathObj::GetPointCount ( ) const

Reimplemented from SdrObject.

Definition at line 2433 of file svdopath.cxx.

References GetPathPoly().

Point SdrPathObj::GetSnapPoint ( sal_uInt32  i) const

Reimplemented from SdrTextObj.

Definition at line 2416 of file svdopath.cxx.

References FRound(), GetPathPoly(), Tuple2D< double >::getX(), Tuple2D< double >::getY(), Point, and SAL_WARN.

sal_uInt32 SdrPathObj::GetSnapPointCount ( ) const

snap to special points of an Object (polygon points, center of circle)

Reimplemented from SdrTextObj.

Definition at line 2411 of file svdopath.cxx.

References GetHdlCount().

OUString SdrPathObj::getSpecialDragComment ( const SdrDragStat rDrag) const
basegfx::B2DPolyPolygon SdrPathObj::getSpecialDragPoly ( const SdrDragStat rDrag) const
bool SdrPathObj::hasSpecialDrag ( ) const

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 2076 of file svdopath.cxx.

void SdrPathObj::ImpForceKind ( )
void SdrPathObj::ImpForceLineAngle ( )
ImpPathForDragAndCreate & SdrPathObj::impGetDAC ( ) const

Definition at line 2770 of file svdopath.cxx.

References mpDAC.

Referenced by BckCreate(), BegCreate(), BrkCreate(), EndCreate(), GetCreatePointer(), and MovCreate().

void SdrPathObj::ImpSetClosed ( bool  bClose)
bool SdrPathObj::IsBezier ( ) const

Definition at line 148 of file svdopath.hxx.

References PathFill, and PathLine.

Referenced by TakeObjInfo().

bool SdrPathObj::IsClosed ( ) const
bool SdrPathObj::IsLine ( ) const
bool SdrPathObj::IsPolyObj ( ) const

Reimplemented from SdrObject.

Definition at line 2428 of file svdopath.cxx.

bool SdrPathObj::IsSpline ( ) const

Definition at line 149 of file svdopath.hxx.

References SplineFill, and SplineLine.

Referenced by TakeObjInfo().

bool SdrPathObj::MovCreate ( SdrDragStat rStat)

Reimplemented from SdrTextObj.

Definition at line 2162 of file svdopath.cxx.

References impGetDAC(), and ImpPathForDragAndCreate::MovCreate().

sal_uInt32 SdrPathObj::NbcInsPoint ( const Point rPos,
bool  bNewObj 
sal_uInt32 SdrPathObj::NbcInsPointOld ( const Point rPos,
bool  bNewObj 
void SdrPathObj::NbcMirror ( const Point rRefPnt1,
const Point rRefPnt2 
void SdrPathObj::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.

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

Reimplemented from SdrTextObj.

Definition at line 2270 of file svdopath.cxx.

References basegfx::utils::createTranslateB2DHomMatrix(), Size::Height(), maPathPolygon, SdrTextObj::NbcMove(), basegfx::B2DPolyPolygon::transform(), and Size::Width().

Referenced by NbcSetSnapRect().

void SdrPathObj::NbcResize ( const Point rRefPnt,
const Fraction aXFact,
const Fraction aYFact 
void SdrPathObj::NbcRotate ( const Point rRefPnt,
Degree100  nAngle,
double  fSin,
double  fCos 
void SdrPathObj::NbcSetPathPoly ( const basegfx::B2DPolyPolygon rPathPoly)
void SdrPathObj::NbcSetPoint ( const Point rPnt,
sal_uInt32  nHdlNum 
void SdrPathObj::NbcSetSnapRect ( const tools::Rectangle rRect)
void SdrPathObj::NbcShear ( const Point rRefPnt,
Degree100  nAngle,
double  fTan,
bool  bVShear 
std::unique_ptr< SdrObjGeoData > SdrPathObj::NewGeoData ( ) const

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 2713 of file svdopath.cxx.

void SdrPathObj::RecalcSnapRect ( )

Snap is not done on the BoundRect but if possible on logic coordinates (i.e.

without considering stroke width, ...) SetSnapRect() tries to size the Object so that it fits into the passed Rect (without stroke width, ...)

Reimplemented from SdrTextObj.

Definition at line 2372 of file svdopath.cxx.

References count, GetPathPoly(), lcl_ImpGetBoundRect(), and SdrAttrObj::maSnapRect.

void SdrPathObj::RestoreGeoData ( const SdrObjGeoData rGeo)
SdrObject * SdrPathObj::RipPoint ( sal_uInt32  nHdlNum,
sal_uInt32 &  rNewPt0Index 
void SdrPathObj::SaveGeoData ( SdrObjGeoData rGeo) const
void SdrPathObj::SetHandleScale ( bool  bHandleScale)

Scaling is ignored from the transform matrix by default, to not break compatibility.

One can opt in to handle scaling if matching ODF behavior is more important.

Definition at line 2887 of file svdopath.cxx.

References mbHandleScale.

Referenced by SvxShape::_setPropertyValue().

void SdrPathObj::SetPathPoly ( const basegfx::B2DPolyPolygon rPathPoly)
basegfx::B2DPolyPolygon SdrPathObj::TakeCreatePoly ( const SdrDragStat rDrag) const

Polygon dragged by the user when creating the object.

Reimplemented from SdrTextObj.

Definition at line 2227 of file svdopath.cxx.

References basegfx::B2DPolyPolygon::append(), mpDAC, and ImpPathForDragAndCreate::TakeDragPolyPolygon().

void SdrPathObj::TakeObjInfo ( SdrObjTransformInfoRec rInfo) const
OUString SdrPathObj::TakeObjNamePlural ( ) const

Reimplemented from SdrTextObj.

Definition at line 1933 of file svdopath.cxx.

References FreehandFill, FreehandLine, Line, meKind, PathFill, PathLine, Polygon, PolyLine, sName, SplineFill, SplineLine, and SvxResId().

OUString SdrPathObj::TakeObjNameSingul ( ) const
void SdrPathObj::TakeUnrotatedSnapRect ( tools::Rectangle rRect) const
basegfx::B2DPolyPolygon SdrPathObj::TakeXorPoly ( ) const

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 1952 of file svdopath.cxx.

References GetPathPoly().

void SdrPathObj::ToggleClosed ( )
bool SdrPathObj::TRGetBaseGeometry ( basegfx::B2DHomMatrix rMatrix,
basegfx::B2DPolyPolygon rPolyPolygon 
) const
void SdrPathObj::TRSetBaseGeometry ( const basegfx::B2DHomMatrix rMatrix,
const basegfx::B2DPolyPolygon rPolyPolygon 

Friends And Related Function Documentation

friend class ImpPathForDragAndCreate

Definition at line 45 of file svdopath.hxx.

Member Data Documentation

basegfx::B2DPolyPolygon SdrPathObj::maPathPolygon
bool SdrPathObj::mbHandleScale = false

Definition at line 51 of file svdopath.hxx.

Referenced by SetHandleScale(), and TRSetBaseGeometry().

SdrObjKind SdrPathObj::meKind
std::unique_ptr<ImpPathForDragAndCreate> SdrPathObj::mpDAC

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