summaryrefslogtreecommitdiff
path: root/sc
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 /sc
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>
Diffstat (limited to 'sc')
-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;
}