diff options
author | Faisal M. Al-Otaibi <fmalotaibi@kacst.edu.sa> | 2013-05-15 08:51:26 +0300 |
---|---|---|
committer | Ahmad Harthi <aalharthi@kacst.edu.sa> | 2013-05-21 09:29:55 +0000 |
commit | 3661c3eb0124d6f4799fe7c4393d4576e1613bfb (patch) | |
tree | 5a6ef780ba0fc7f97cbc097d2045921267087c38 /sc | |
parent | ada91eb7ea22015138185227c7831dd30968a173 (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>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/ui/drawfunc/fuconstr.cxx | 7 |
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; } |