diff options
author | Christian Lippka ORACLE <christian.lippka@oracle.com> | 2011-12-06 02:48:42 +0100 |
---|---|---|
committer | Thorsten Behrens <tbehrens@suse.com> | 2011-12-06 09:39:12 +0100 |
commit | f0a1b95f99bed6d184e3020b5c7e30bc6c1597f6 (patch) | |
tree | e30279438605a800855f9e2ce65accbdc6b88d91 /svx | |
parent | 15aeab6cbd0b50b1d78646f03588237b8473285c (diff) |
impress210: #i41995# fixed import of path animation from sxi files
# HG changeset patch
# User Christian Lippka ORACLE <christian.lippka@oracle.com>
# Date 1299691949 -3600
# Node ID 8edc33ef50a3b6ebbc4e88d574b6b1ba57b1dbaa
# Parent 0b9b11216b0d3401f8824542dd5f2794eb141035
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 1bac35e49232..2b69930c28bf 100644 --- a/svx/inc/svx/svdobj.hxx +++ b/svx/inc/svx/svdobj.hxx @@ -660,7 +660,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 7e48ec372ae7..5b96c38ddacb 100644 --- a/svx/inc/svx/svdogrp.hxx +++ b/svx/inc/svx/svdogrp.hxx @@ -80,6 +80,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 SdrObjGroup* Clone() const; SdrObjGroup& operator=(const SdrObjGroup& rObj); diff --git a/svx/inc/svx/svdovirt.hxx b/svx/inc/svx/svdovirt.hxx index 95536ef3bc40..5d05a68b43cf 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 SdrVirtObj* Clone() const; SdrVirtObj& operator=(const SdrVirtObj& rObj); diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx index 5a11ca6fc1cd..d5a2fe3fab0b 100644 --- a/svx/source/svdraw/svdobj.cxx +++ b/svx/source/svdraw/svdobj.cxx @@ -828,14 +828,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 1e5206298c16..ff5fec569796 100644 --- a/svx/source/svdraw/svdogrp.cxx +++ b/svx/source/svdraw/svdogrp.cxx @@ -267,6 +267,17 @@ const Rectangle& SdrObjGroup::GetCurrentBoundRect() const return aOutRect; } +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 2aa7d0e0351e..b8155eac4787 100644 --- a/svx/source/svdraw/svdovirt.cxx +++ b/svx/source/svdraw/svdovirt.cxx @@ -137,7 +137,7 @@ const Rectangle& SdrVirtObj::GetLastBoundRect() const return aOutRect; } -void SdrVirtObj::RecalcBoundRect() +void SdrVirtObj::RecalcBoundRect(bool bForced) { aOutRect=rRefObj.GetCurrentBoundRect(); aOutRect+=aAnchor; |