summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFaisal M. Al-Otaibi <fmalotaibi@kacst.edu.sa>2013-05-15 08:51:26 +0300
committerAhmad Harthi <aalharthi@kacst.edu.sa>2013-05-21 09:29:55 +0000
commit3661c3eb0124d6f4799fe7c4393d4576e1613bfb (patch)
tree5a6ef780ba0fc7f97cbc097d2045921267087c38
parentada91eb7ea22015138185227c7831dd30968a173 (diff)
fdo#64011 fix the position and the drawing from left to right in RTL sheet
this will fix the start position for drawing and you can draw shapes from left to right when the Sheet are RTL Change-Id: I5cc8eabf474918968bea026dba9c5add2bb4f28e Reviewed-on: https://gerrit.libreoffice.org/3912 Reviewed-by: Ahmad Harthi <aalharthi@kacst.edu.sa> Tested-by: Ahmad Harthi <aalharthi@kacst.edu.sa>
-rw-r--r--sc/source/ui/drawfunc/fuconstr.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/sc/source/ui/drawfunc/fuconstr.cxx b/sc/source/ui/drawfunc/fuconstr.cxx
index 5d8f2706e714..381aeb4882a7 100644
--- a/sc/source/ui/drawfunc/fuconstr.cxx
+++ b/sc/source/ui/drawfunc/fuconstr.cxx
@@ -83,6 +83,7 @@ Point FuConstruct::CurrentGridSyncOffsetAndPos( Point& rInOutPos )
// involved. Lets calculate where aPos would be at 100% zoom
// that's the actual correct position for the object ( when you
// restore the zoom.
+ sal_Bool bNegative = pDoc->IsNegativePage(pView->GetTab());
Rectangle aObjRect( rInOutPos, rInOutPos );
ScRange aRange = pDoc->GetRange( pView->GetTab(), aObjRect );
ScAddress aOldStt = aRange.aStart;
@@ -98,6 +99,12 @@ Point FuConstruct::CurrentGridSyncOffsetAndPos( Point& rInOutPos )
Point aOff = ( rInOutPos - aCurPosHmm );
rInOutPos = aOldPos + aOff;
aRetGridOff = aCurPosHmm - aOldPos;
+ // fdo#64011 fix the X position when the sheet are RTL
+ if ( bNegative )
+ {
+ aRetGridOff.setX( aCurPosHmm.getX() + aOldPos.getX() );
+ rInOutPos.setX( aOff.getX() - aOldPos.getX() );
+ }
}
return aRetGridOff;
}