summaryrefslogtreecommitdiff
path: root/sw/source/core/draw/dflyobj.cxx
diff options
context:
space:
mode:
authorMathias Bauer <mba@openoffice.org>2011-02-25 09:07:02 +0100
committerMathias Bauer <mba@openoffice.org>2011-02-25 09:07:02 +0100
commit3351d657b12c0c93459e0fbff4414c074f4b6718 (patch)
tree13388120accbe25d7a94e51803b897b2501c8c0e /sw/source/core/draw/dflyobj.cxx
parent67245de3e046449e78b98654909dd48f1ebb31bb (diff)
parent20529755b301c7af2c5ab461329b2d979b2cdbff (diff)
CWS swlayoutrefactoring: resync to m101
Diffstat (limited to 'sw/source/core/draw/dflyobj.cxx')
-rw-r--r--sw/source/core/draw/dflyobj.cxx29
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 ) );
}