[ooo-build-commit] Branch 'ooo/OOO310' - svx/source

Jan Holesovsky kendy at kemper.freedesktop.org
Mon Jul 27 18:03:13 PDT 2009


 svx/source/svdraw/svdotextdecomposition.cxx |   31 ++++++++++++++++++++++++----
 1 file changed, 27 insertions(+), 4 deletions(-)

New commits:
commit 2693c1ea81289feb4b9892aef7fc7031ef5b0a60
Author: Kurt Zenker <kz at openoffice.org>
Date:   Mon Jul 27 14:46:06 2009 +0000

    CWS-TOOLING: integrate CWS aw076
    2009-07-16 15:59:57 +0200 aw  r274058 : #i103454# added grow possibility for block text in the 'other' direction

diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index 4ca4e02..03120cd 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -767,17 +767,40 @@ bool SdrTextObj::impDecomposeBlockTextPrimitive(
     }
     else
     {
+        // check if block text is used (only one of them can be true)
+        const bool bHorizontalIsBlock(SDRTEXTHORZADJUST_BLOCK == eHAdj && !bVerticalWritintg);
+        const bool bVerticalIsBlock(SDRTEXTVERTADJUST_BLOCK == eVAdj && bVerticalWritintg);
+
         if((rSdrBlockTextPrimitive.getWordWrap() || IsTextFrame()) && !rSdrBlockTextPrimitive.getUnlimitedPage())
         {
-            rOutliner.SetMaxAutoPaperSize(aAnchorTextSize);
+            // #i103454# maximal paper size hor/ver needs to be limited to text
+            // frame size. If it's block text, still allow the 'other' direction
+            // to grow to get a correct real text size when using GetPaperSize(). 
+            // When just using aAnchorTextSize as maximum, GetPaperSize()
+            // would just return aAnchorTextSize again: this means, the wanted 
+            // 'measurement' of the real size of block text would not work
+            Size aMaxAutoPaperSize(aAnchorTextSize);
+
+            if(bHorizontalIsBlock)
+            {
+                // allow to grow vertical for horizontal blocks
+                aMaxAutoPaperSize.setHeight(1000000);
+            }
+            else if(bVerticalIsBlock)
+            {
+                // allow to grow horizontal for vertical blocks
+                aMaxAutoPaperSize.setWidth(1000000);
+            }
+            
+            rOutliner.SetMaxAutoPaperSize(aMaxAutoPaperSize);
         }
 
-        if(SDRTEXTHORZADJUST_BLOCK == eHAdj && !bVerticalWritintg)
+        // set minimal paper size hor/ver if needed
+        if(bHorizontalIsBlock)
         {
             rOutliner.SetMinAutoPaperSize(Size(nAnchorTextWidth, 0));
         }
-
-        if(SDRTEXTVERTADJUST_BLOCK == eVAdj && bVerticalWritintg)
+        else if(bVerticalIsBlock)
         {
             rOutliner.SetMinAutoPaperSize(Size(0, nAnchorTextHeight));
         }


More information about the ooo-build-commit mailing list