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

Matúš Kukan matus.kukan at collabora.com
Wed May 28 04:58:55 PDT 2014


 svx/source/table/tablelayouter.cxx         |   10 ++++------
 svx/source/table/tablelayouter.hxx         |    5 ++---
 svx/source/table/viewcontactoftableobj.cxx |    2 +-
 3 files changed, 7 insertions(+), 10 deletions(-)

New commits:
commit 7b9b57b41936eea673eb678407ed817856ba0912
Author: Matúš Kukan <matus.kukan at collabora.com>
Date:   Wed May 28 11:55:02 2014 +0200

    Pass also const CellRef& to save a lot of getCellByPosition() calls.
    
    Change-Id: I86c89a05d263cada38ff54eaccf9ba39458db52e

diff --git a/svx/source/table/tablelayouter.cxx b/svx/source/table/tablelayouter.cxx
index 687fa27..7f4651d 100644
--- a/svx/source/table/tablelayouter.cxx
+++ b/svx/source/table/tablelayouter.cxx
@@ -72,14 +72,13 @@ TableLayouter::~TableLayouter()
 
 
 
-basegfx::B2ITuple TableLayouter::getCellSize( const CellPos& rPos  ) const
+basegfx::B2ITuple TableLayouter::getCellSize( const CellRef& xCell, const CellPos& rPos  ) const
 {
     sal_Int32 width = 0;
     sal_Int32 height = 0;
 
     try
     {
-        CellRef xCell( getCell( rPos ) );
         if( xCell.is() && !xCell->isMerged() )
         {
             CellPos aPos( rPos );
@@ -117,14 +116,13 @@ basegfx::B2ITuple TableLayouter::getCellSize( const CellPos& rPos  ) const
 
 
 
-bool TableLayouter::getCellArea( const CellPos& rPos, basegfx::B2IRectangle& rArea ) const
+bool TableLayouter::getCellArea( const CellRef& xCell, const CellPos& rPos, basegfx::B2IRectangle& rArea ) const
 {
     try
     {
-        CellRef xCell( getCell( rPos ) );
         if( xCell.is() && !xCell->isMerged() && isValid(rPos) )
         {
-            const basegfx::B2ITuple aCellSize( getCellSize( rPos ) );
+            const basegfx::B2ITuple aCellSize( getCellSize( xCell, rPos ) );
             const bool bRTL = (mxTable->getSdrTableObj()->GetWritingMode() == WritingMode_RL_TB);
 
             if( (rPos.mnCol < ((sal_Int32)maColumns.size()) && (rPos.mnRow < ((sal_Int32)maRows.size()) ) ) )
@@ -862,7 +860,7 @@ void TableLayouter::updateCells( Rectangle& rRectangle )
             if( xCell.is() )
             {
                 basegfx::B2IRectangle aCellArea;
-                getCellArea( aPos, aCellArea );
+                getCellArea( xCell, aPos, aCellArea );
 
                 Rectangle aCellRect;
                 aCellRect.Left() = aCellArea.getMinX();
diff --git a/svx/source/table/tablelayouter.hxx b/svx/source/table/tablelayouter.hxx
index ce2b634..f60fc3e 100644
--- a/svx/source/table/tablelayouter.hxx
+++ b/svx/source/table/tablelayouter.hxx
@@ -73,9 +73,7 @@ public:
 
     void UpdateBorderLayout();
 
-    basegfx::B2ITuple getCellSize( const CellPos& rPos ) const;
-    bool getCellArea( const CellRef& xCell, basegfx::B2IRectangle& rArea ) const;
-    bool getCellArea( const CellPos& rPos, basegfx::B2IRectangle& rArea ) const;
+    bool getCellArea( const CellRef& xCell, const CellPos& rPos, basegfx::B2IRectangle& rArea ) const;
 
     ::sal_Int32 getRowCount() const { return static_cast< ::sal_Int32 >( maRows.size() ); }
     ::sal_Int32 getColumnCount() const { return static_cast< ::sal_Int32 >( maColumns.size() ); }
@@ -103,6 +101,7 @@ public:
 
 private:
     CellRef getCell( const CellPos& rPos ) const;
+    basegfx::B2ITuple getCellSize( const CellRef& xCell, const CellPos& rPos ) const;
 
     void LayoutTableWidth( ::Rectangle& rArea, bool bFit );
     void LayoutTableHeight( ::Rectangle& rArea, bool bFit );
diff --git a/svx/source/table/viewcontactoftableobj.cxx b/svx/source/table/viewcontactoftableobj.cxx
index bc87338..08e2825 100644
--- a/svx/source/table/viewcontactoftableobj.cxx
+++ b/svx/source/table/viewcontactoftableobj.cxx
@@ -576,7 +576,7 @@ namespace sdr
 
                             if(xCurrentCell.is() && !xCurrentCell->isMerged())
                             {
-                                if(rTableLayouter.getCellArea(aCellPos, aCellArea))
+                                if(rTableLayouter.getCellArea(xCurrentCell, aCellPos, aCellArea))
                                 {
                                     // create cell transformation matrix
                                     basegfx::B2DHomMatrix aCellMatrix;


More information about the Libreoffice-commits mailing list