diff options
Diffstat (limited to 'svx/source/svdraw/svdorect.cxx')
-rw-r--r-- | svx/source/svdraw/svdorect.cxx | 58 |
1 files changed, 33 insertions, 25 deletions
diff --git a/svx/source/svdraw/svdorect.cxx b/svx/source/svdraw/svdorect.cxx index 7f85da4b71a8..e68b38ce3205 100644 --- a/svx/source/svdraw/svdorect.cxx +++ b/svx/source/svdraw/svdorect.cxx @@ -62,21 +62,26 @@ sdr::contact::ViewContact* SdrRectObj::CreateObjectSpecificViewContact() } -SdrRectObj::SdrRectObj() -: mpXPoly(nullptr) +SdrRectObj::SdrRectObj(SdrModel& rSdrModel) +: SdrTextObj(rSdrModel), + mpXPoly(nullptr) { bClosedObj=true; } -SdrRectObj::SdrRectObj(const tools::Rectangle& rRect) -: SdrTextObj(rRect), +SdrRectObj::SdrRectObj( + SdrModel& rSdrModel, + const tools::Rectangle& rRect) +: SdrTextObj(rSdrModel, rRect), mpXPoly(nullptr) { bClosedObj=true; } -SdrRectObj::SdrRectObj(SdrObjKind eNewTextKind) -: SdrTextObj(eNewTextKind), +SdrRectObj::SdrRectObj( + SdrModel& rSdrModel, + SdrObjKind eNewTextKind) +: SdrTextObj(rSdrModel, eNewTextKind), mpXPoly(nullptr) { DBG_ASSERT(eTextKind==OBJ_TEXT || eTextKind==OBJ_TEXTEXT || @@ -85,8 +90,11 @@ SdrRectObj::SdrRectObj(SdrObjKind eNewTextKind) bClosedObj=true; } -SdrRectObj::SdrRectObj(SdrObjKind eNewTextKind, const tools::Rectangle& rRect) -: SdrTextObj(eNewTextKind,rRect), +SdrRectObj::SdrRectObj( + SdrModel& rSdrModel, + SdrObjKind eNewTextKind, + const tools::Rectangle& rRect) +: SdrTextObj(rSdrModel, eNewTextKind, rRect), mpXPoly(nullptr) { DBG_ASSERT(eTextKind==OBJ_TEXT || eTextKind==OBJ_TEXTEXT || @@ -99,21 +107,6 @@ SdrRectObj::~SdrRectObj() { } -SdrRectObj& SdrRectObj::operator=(const SdrRectObj& rCopy) -{ - if ( this == &rCopy ) - return *this; - - SdrTextObj::operator=( rCopy ); - - if ( rCopy.mpXPoly ) - mpXPoly.reset( new XPolygon( *rCopy.mpXPoly ) ); - else - mpXPoly.reset(); - - return *this; -} - void SdrRectObj::SetXPolyDirty() { mpXPoly.reset(); @@ -266,9 +259,24 @@ OUString SdrRectObj::TakeObjNamePlural() const return ImpGetResStr(pResId); } -SdrRectObj* SdrRectObj::Clone() const +SdrRectObj* SdrRectObj::Clone(SdrModel* pTargetModel) const { - return CloneHelper< SdrRectObj >(); + return CloneHelper< SdrRectObj >(pTargetModel); +} + +SdrRectObj& SdrRectObj::operator=(const SdrRectObj& rCopy) +{ + if ( this == &rCopy ) + return *this; + + SdrTextObj::operator=( rCopy ); + + if ( rCopy.mpXPoly ) + mpXPoly.reset( new XPolygon( *rCopy.mpXPoly ) ); + else + mpXPoly.reset(); + + return *this; } basegfx::B2DPolyPolygon SdrRectObj::TakeXorPoly() const |