diff options
author | Christian Lippka ORACLE <christian.lippka@oracle.com> | 2011-03-09 18:32:29 +0100 |
---|---|---|
committer | Christian Lippka ORACLE <christian.lippka@oracle.com> | 2011-03-09 18:32:29 +0100 |
commit | 7bd8816087332807a2320b9e7711fdda751bf204 (patch) | |
tree | 073a535f05d4a5e025e3130b06f91665dd810ec9 /svx | |
parent | 7e78dded94afc6f3c6cadab1a10e2bca857c5baa (diff) |
impress210: #i41995# fixed import of path animation from sxi files
Diffstat (limited to 'svx')
-rw-r--r-- | svx/inc/svx/svdobj.hxx | 3 | ||||
-rw-r--r-- | svx/inc/svx/svdogrp.hxx | 3 | ||||
-rw-r--r-- | svx/inc/svx/svdovirt.hxx | 2 | ||||
-rw-r--r-- | svx/source/svdraw/svdobj.cxx | 6 | ||||
-rw-r--r-- | svx/source/svdraw/svdogrp.cxx | 11 | ||||
-rw-r--r-- | svx/source/svdraw/svdovirt.cxx | 2 |
6 files changed, 21 insertions, 6 deletions
diff --git a/svx/inc/svx/svdobj.hxx b/svx/inc/svx/svdobj.hxx index 86d6f0717bb7..ef915a43ae30 100644 --- a/svx/inc/svx/svdobj.hxx +++ b/svx/inc/svx/svdobj.hxx @@ -673,7 +673,8 @@ public: // a new method for accessing the last BoundRect. virtual const Rectangle& GetLastBoundRect() const; - virtual void RecalcBoundRect(); + // If bForced is true, the boundrect is also calculated when the model is locked + virtual void RecalcBoundRect(bool bForced = false); void BroadcastObjectChange() const; diff --git a/svx/inc/svx/svdogrp.hxx b/svx/inc/svx/svdogrp.hxx index 9cf0ad056047..bae18a85a261 100644 --- a/svx/inc/svx/svdogrp.hxx +++ b/svx/inc/svx/svdogrp.hxx @@ -79,6 +79,9 @@ public: virtual const Rectangle& GetCurrentBoundRect() const; virtual const Rectangle& GetSnapRect() const; + // If bForced is true, the boundrect is also calculated when the model is locked + virtual void RecalcBoundRect(bool bForced = false); + virtual void operator=(const SdrObject& rObj); virtual void TakeObjNameSingul(String& rName) const; diff --git a/svx/inc/svx/svdovirt.hxx b/svx/inc/svx/svdovirt.hxx index dba62f84730e..b169e9e03958 100644 --- a/svx/inc/svx/svdovirt.hxx +++ b/svx/inc/svx/svdovirt.hxx @@ -76,7 +76,7 @@ public: virtual const Rectangle& GetCurrentBoundRect() const; virtual const Rectangle& GetLastBoundRect() const; - virtual void RecalcBoundRect(); + virtual void RecalcBoundRect(bool bForced = false); virtual void SetChanged(); virtual SdrObject* Clone() const; virtual void operator=(const SdrObject& rObj); diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx index 81ff5005d0f6..4cf78b1cebb5 100644 --- a/svx/source/svdraw/svdobj.cxx +++ b/svx/source/svdraw/svdobj.cxx @@ -926,14 +926,14 @@ const Rectangle& SdrObject::GetLastBoundRect() const return aOutRect; } -void SdrObject::RecalcBoundRect() +void SdrObject::RecalcBoundRect(bool bForced) { // #i101680# suppress BoundRect calculations on import(s) - if(pModel && pModel->isLocked() ) + if(pModel && pModel->isLocked() && !bForced ) return; // central new method which will calculate the BoundRect using primitive geometry - if(aOutRect.IsEmpty()) + if(aOutRect.IsEmpty() || bForced) { const drawinglayer::primitive2d::Primitive2DSequence xPrimitives(GetViewContact().getViewIndependentPrimitive2DSequence()); diff --git a/svx/source/svdraw/svdogrp.cxx b/svx/source/svdraw/svdogrp.cxx index ede6b35178f9..c62732ed044b 100644 --- a/svx/source/svdraw/svdogrp.cxx +++ b/svx/source/svdraw/svdogrp.cxx @@ -282,6 +282,17 @@ const Rectangle& SdrObjGroup::GetCurrentBoundRect() const // <-- } +void SdrObjGroup::RecalcBoundRect(bool bForced) +{ + if( bForced ) + { + sal_uIntPtr nAnz=pSub->GetObjCount(); + for( sal_uIntPtr i=0; i<nAnz; i++) + pSub->GetObj(i)->RecalcBoundRect(true); + } + + SdrObject::RecalcBoundRect(bForced); +} const Rectangle& SdrObjGroup::GetSnapRect() const { diff --git a/svx/source/svdraw/svdovirt.cxx b/svx/source/svdraw/svdovirt.cxx index c6703f2305df..53d81b54d27e 100644 --- a/svx/source/svdraw/svdovirt.cxx +++ b/svx/source/svdraw/svdovirt.cxx @@ -148,7 +148,7 @@ const Rectangle& SdrVirtObj::GetLastBoundRect() const return aOutRect; } -void SdrVirtObj::RecalcBoundRect() +void SdrVirtObj::RecalcBoundRect(bool bForced) { aOutRect=rRefObj.GetCurrentBoundRect(); aOutRect+=aAnchor; |