[Libreoffice-commits] core.git: sc/source

Faisal M. Al-Otaibi fmalotaibi at kacst.edu.sa
Tue May 21 02:30:14 PDT 2013


 sc/source/ui/drawfunc/fuconstr.cxx |    7 +++++++
 1 file changed, 7 insertions(+)

New commits:
commit 3661c3eb0124d6f4799fe7c4393d4576e1613bfb
Author: Faisal M. Al-Otaibi <fmalotaibi at kacst.edu.sa>
Date:   Wed May 15 08:51:26 2013 +0300

    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 at kacst.edu.sa>
    Tested-by: Ahmad Harthi <aalharthi at kacst.edu.sa>

diff --git a/sc/source/ui/drawfunc/fuconstr.cxx b/sc/source/ui/drawfunc/fuconstr.cxx
index 5d8f270..381aeb4 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;
 }


More information about the Libreoffice-commits mailing list