diff options
author | Mathias Bauer <mba@openoffice.org> | 2011-02-25 09:07:02 +0100 |
---|---|---|
committer | Mathias Bauer <mba@openoffice.org> | 2011-02-25 09:07:02 +0100 |
commit | 3351d657b12c0c93459e0fbff4414c074f4b6718 (patch) | |
tree | 13388120accbe25d7a94e51803b897b2501c8c0e /sw/source/core/draw/dflyobj.cxx | |
parent | 67245de3e046449e78b98654909dd48f1ebb31bb (diff) | |
parent | 20529755b301c7af2c5ab461329b2d979b2cdbff (diff) |
CWS swlayoutrefactoring: resync to m101
Diffstat (limited to 'sw/source/core/draw/dflyobj.cxx')
-rw-r--r-- | sw/source/core/draw/dflyobj.cxx | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/sw/source/core/draw/dflyobj.cxx b/sw/source/core/draw/dflyobj.cxx index 6f3301eedfb2..73616b18fc36 100644 --- a/sw/source/core/draw/dflyobj.cxx +++ b/sw/source/core/draw/dflyobj.cxx @@ -680,8 +680,19 @@ void __EXPORT SwVirtFlyDrawObj::NbcMove(const Size& rSiz) long lYDiff = aNewPos.Y() - aOldPos.Y(); if( GetFlyFrm()->GetAnchorFrm()->IsVertical() ) { - lXDiff -= rVert.GetPos(); - lYDiff += rHori.GetPos(); + //lXDiff -= rVert.GetPos(); + //lYDiff += rHori.GetPos(); + //Badaa: 2008-04-18 * Support for Classical Mongolian Script (SCMS) joint with Jiayanmin + if ( GetFlyFrm()->GetAnchorFrm()->IsVertLR() ) + { + lXDiff += rVert.GetPos(); + lXDiff = -lXDiff; + } + else + { + lXDiff -= rVert.GetPos(); + lYDiff += rHori.GetPos(); + } } else { @@ -792,7 +803,9 @@ void __EXPORT SwVirtFlyDrawObj::NbcResize(const Point& rRef, const sal_Bool bRTL = pTmpFrm->IsRightToLeft(); - const Point aNewPos( bVertX || bRTL ? + //Badaa: 2008-04-18 * Support for Classical Mongolian Script (SCMS) joint with Jiayanmin + const bool bVertL2RX = pTmpFrm->IsVertLR(); + const Point aNewPos( ( bVertX && !bVertL2RX ) || bRTL ? aOutRect.Right() + 1 : aOutRect.Left(), aOutRect.Top() ); @@ -857,10 +870,9 @@ void __EXPORT SwVirtFlyDrawObj::NbcResize(const Point& rRef, } //Position kann auch veraendert sein! - const Point aOldPos( bVertX || bRTL ? + const Point aOldPos( ( bVertX && !bVertL2RX ) || bRTL ? GetFlyFrm()->Frm().TopRight() : GetFlyFrm()->Frm().Pos() ); - if ( aNewPos != aOldPos ) { //Kann sich durch das ChgSize veraendert haben! @@ -868,7 +880,12 @@ void __EXPORT SwVirtFlyDrawObj::NbcResize(const Point& rRef, { if( aOutRect.TopRight() != aNewPos ) { - SwTwips nDeltaX = aNewPos.X() - aOutRect.Right(); + //Badaa: 2008-04-18 * Support for Classical Mongolian Script (SCMS) joint with Jiayanmin + SwTwips nDeltaX; + if ( bVertL2RX ) + nDeltaX = aNewPos.X() - aOutRect.Left(); + else + nDeltaX = aNewPos.X() - aOutRect.Right(); SwTwips nDeltaY = aNewPos.Y() - aOutRect.Top(); MoveRect( aOutRect, Size( nDeltaX, nDeltaY ) ); } |