[ooo-build-commit] patches/dev300

Thorsten Behrens thorsten at kemper.freedesktop.org
Fri Oct 30 05:46:18 PDT 2009


 patches/dev300/apply                    |    1 
 patches/dev300/fit-list-to-size-ui.diff |   11 
 patches/dev300/fit-list-to-size.diff    |  866 +++++++++++++++++---------------
 3 files changed, 475 insertions(+), 403 deletions(-)

New commits:
commit cdfc645508d31ac36e4d551890ede184e9a2440d
Author: Thorsten Behrens <tbehrens at novell.com>
Date:   Fri Oct 30 13:41:19 2009 +0100

    Updated fit-list patches, fixed resize bug
    
    * patches/dev300/apply: lumped size.diff & size-ui.diff together
    * patches/dev300/fit-list-to-size-ui.diff: removed
    * patches/dev300/fit-list-to-size.diff: updated for m2, fixed copy
      ctor/assignment text attribute missing the autofit bit

diff --git a/patches/dev300/apply b/patches/dev300/apply
index cf66b7f..5cb80d7 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -2803,7 +2803,6 @@ sd-custom-show-fix.diff, n#355638, i#90145, thorsten
 # starts to overflow
 fit-list-to-size.diff, i#94086, thorsten
 
-fit-list-to-size-ui.diff, i#94086, thorsten
 fit-list-to-size-style-defaults.diff, i#94086, thorsten
 fit-list-to-size-popup.diff, i#94086, thorsten
 
diff --git a/patches/dev300/fit-list-to-size-ui.diff b/patches/dev300/fit-list-to-size-ui.diff
deleted file mode 100644
index 66af282..0000000
--- a/patches/dev300/fit-list-to-size-ui.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- svx/source/cui/textattr.cxx
-+++ svx/source/cui/textattr.cxx
-@@ -460,7 +460,7 @@ BOOL SvxTextAttrPage::FillItemSet( SfxItemSet& rAttrs)
-             default: ; //prevent warning
- 				DBG_ERROR( "svx::SvxTextAttrPage::FillItemSet(), unhandled state!" );
- 			case STATE_NOCHECK: eFTS = SDRTEXTFIT_NONE; break;
--			case STATE_CHECK: eFTS = SDRTEXTFIT_PROPORTIONAL; break;
-+			case STATE_CHECK: eFTS = SDRTEXTFIT_AUTOFIT; break;
- 		}
- 		rAttrs.Put( SdrTextFitToSizeTypeItem( eFTS ) );
- 	}
diff --git a/patches/dev300/fit-list-to-size.diff b/patches/dev300/fit-list-to-size.diff
index 9a04f56..7315c33 100644
--- a/patches/dev300/fit-list-to-size.diff
+++ b/patches/dev300/fit-list-to-size.diff
@@ -1,8 +1,47 @@
---- offapi/com/sun/star/drawing/TextFitToSizeType.idl.old	2009-04-02 10:51:28.000000000 +0000
-+++ offapi/com/sun/star/drawing/TextFitToSizeType.idl	2009-04-06 16:42:18.000000000 +0000
+Auto-fit Impress outliner text to available shape size
+
+From: Thorsten Behrens <thb at openoffice.org>
+
+
+---
+
+ offapi/com/sun/star/drawing/TextFitToSizeType.idl  |    7 +
+ qadevOOo/runner/util/ValueChanger.java             |    2 
+ sd/sdi/_drvwsh.sdi                                 |   12 --
+ svx/inc/svx/sdr/attribute/sdrtextattribute.hxx     |    3 
+ svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx |   41 ++++++
+ .../svx/sdr/primitive2d/svx_primitivetypes2d.hxx   |    1 
+ svx/inc/svx/sdtfsitm.hxx                           |   26 ++--
+ svx/inc/svx/svdotext.hxx                           |   16 ++
+ svx/source/cui/dbregisterednamesconfig.cxx         |    4 -
+ svx/source/cui/textattr.cxx                        |    3 
+ svx/source/editeng/editobj2.hxx                    |   10 +
+ svx/source/editeng/impedit3.cxx                    |   73 ++++++-----
+ svx/source/editeng/impedit4.cxx                    |    6 +
+ svx/source/outliner/outliner.cxx                   |   11 +-
+ svx/source/sdr/attribute/sdrtextattribute.cxx      |    5 +
+ svx/source/sdr/primitive2d/sdrattributecreator.cxx |    5 -
+ .../sdr/primitive2d/sdrdecompositiontools.cxx      |    5 +
+ svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx  |   49 +++++++
+ svx/source/svdraw/svdedxv.cxx                      |   10 +
+ svx/source/svdraw/svdfppt.cxx                      |   12 ++
+ svx/source/svdraw/svdotext.cxx                     |  117 +++++++++++++++--
+ svx/source/svdraw/svdotextdecomposition.cxx        |  134 ++++++++++++++++++++
+ svx/source/svdraw/svdotxat.cxx                     |    3 
+ svx/source/svdraw/svdotxed.cxx                     |   17 ++-
+ svx/source/svdraw/svdotxtr.cxx                     |    9 -
+ svx/source/svdraw/svdview.cxx                      |    3 
+ xmloff/source/draw/sdpropls.cxx                    |    4 -
+ 27 files changed, 472 insertions(+), 116 deletions(-)
+
+
+diff --git offapi/com/sun/star/drawing/TextFitToSizeType.idl offapi/com/sun/star/drawing/TextFitToSizeType.idl
+index ddf0809..9fd075d 100644
+--- offapi/com/sun/star/drawing/TextFitToSizeType.idl
++++ offapi/com/sun/star/drawing/TextFitToSizeType.idl
 @@ -63,9 +63,10 @@ published enum TextFitToSizeType
   
- 	//------------------------------------------------------------------------- 
+     //------------------------------------------------------------------------- 
  
 -	/** if the shape is scaled, the font attributes are scaled and hard set
 -		on the text */
@@ -14,9 +53,11 @@
   
  }; 
   
---- qadevOOo/runner/util/ValueChanger.java.old	2009-04-02 10:57:39.000000000 +0000
-+++ qadevOOo/runner/util/ValueChanger.java	2009-04-06 16:42:18.000000000 +0000
-@@ -389,7 +389,7 @@ public class ValueChanger {
+diff --git qadevOOo/runner/util/ValueChanger.java qadevOOo/runner/util/ValueChanger.java
+index b0cdebf..3e605ce 100644
+--- qadevOOo/runner/util/ValueChanger.java
++++ qadevOOo/runner/util/ValueChanger.java
+@@ -386,7 +386,7 @@ public class ValueChanger {
          com.sun.star.drawing.TextFitToSizeType TF1 = com.sun.star.drawing.TextFitToSizeType.ALLLINES;
          com.sun.star.drawing.TextFitToSizeType TF2 = com.sun.star.drawing.TextFitToSizeType.NONE;
          com.sun.star.drawing.TextFitToSizeType TF3 = com.sun.star.drawing.TextFitToSizeType.PROPORTIONAL;
@@ -25,8 +66,10 @@
          if (oldValue.equals(TF1)) newValue = TF2;
          if (oldValue.equals(TF2)) newValue = TF3;
          if (oldValue.equals(TF3)) newValue = TF4;
---- sd/sdi/_drvwsh.sdi.old	2009-04-02 10:45:43.000000000 +0000
-+++ sd/sdi/_drvwsh.sdi	2009-04-06 16:42:18.000000000 +0000
+diff --git sd/sdi/_drvwsh.sdi sd/sdi/_drvwsh.sdi
+index 27f7a05..a71ac04 100644
+--- sd/sdi/_drvwsh.sdi
++++ sd/sdi/_drvwsh.sdi
 @@ -28,18 +28,6 @@
   *
   ************************************************************************/
@@ -45,36 +88,40 @@
 -
  interface DrawView
  {
- 	SID_JUMPTOMARK // ole : no, status : ?
+     SID_JUMPTOMARK // ole : no, status : ?
+diff --git svx/inc/svx/sdr/attribute/sdrtextattribute.hxx svx/inc/svx/sdr/attribute/sdrtextattribute.hxx
+index aaba362..3deab0e 100644
 --- svx/inc/svx/sdr/attribute/sdrtextattribute.hxx
 +++ svx/inc/svx/sdr/attribute/sdrtextattribute.hxx
-@@ -65,6 +65,7 @@ namespace drawinglayer
- 			// bitfield
- 			unsigned								mbContour : 1;
- 			unsigned								mbFitToSize : 1;
+@@ -76,6 +76,7 @@ namespace drawinglayer
+             // bitfield
+             unsigned								mbContour : 1;
+             unsigned								mbFitToSize : 1;
 +			unsigned								mbAutoFit : 1;
- 			unsigned								mbHideContour : 1;
- 			unsigned								mbBlink : 1;
- 			unsigned								mbScroll : 1;
-@@ -81,6 +82,7 @@ namespace drawinglayer
- 				sal_Int32 aTextLowerDistance, 
- 				bool bContour, 
+             unsigned								mbHideContour : 1;
+             unsigned								mbBlink : 1;
+             unsigned								mbScroll : 1;
+@@ -95,6 +96,7 @@ namespace drawinglayer
+                 SdrTextVertAdjust aSdrTextVertAdjust,
+                 bool bContour, 
                  bool bFitToSize, 
 +                bool bAutoFit,
- 				bool bHideContour, 
+                 bool bHideContour, 
                  bool bBlink, 
- 				bool bScroll,
-@@ -93,6 +95,7 @@ namespace drawinglayer
+                 bool bScroll,
+@@ -114,6 +116,7 @@ namespace drawinglayer
              const OutlinerParaObject& getOutlinerParaObject() const { return maOutlinerParaObject; }
- 			bool isContour() const { return mbContour; }
- 			bool isFitToSize() const { return mbFitToSize; }
+             bool isContour() const { return mbContour; }
+             bool isFitToSize() const { return mbFitToSize; }
 +			bool isAutoFit() const { return mbAutoFit; }
- 			bool isHideContour() const { return mbHideContour; }
- 			bool isBlink() const { return mbBlink; }
- 			bool isScroll() const { return mbScroll; }
---- svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx.old	2009-04-02 11:03:37.000000000 +0000
-+++ svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx	2009-04-06 16:42:18.000000000 +0000
-@@ -265,6 +265,47 @@ namespace drawinglayer
+             bool isHideContour() const { return mbHideContour; }
+             bool isBlink() const { return mbBlink; }
+             bool isScroll() const { return mbScroll; }
+diff --git svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
+index b9f2751..842e70f 100644
+--- svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
++++ svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
+@@ -304,6 +304,47 @@ namespace drawinglayer
  
  //////////////////////////////////////////////////////////////////////////////
  
@@ -122,9 +169,11 @@
  #endif //INCLUDED_SDR_PRIMITIVE2D_SDRTEXTPRIMITIVE2D_HXX
  
  // eof
+diff --git svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx
+index 70dc15c..d95eec6 100644
 --- svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx
 +++ svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx
-@@ -52,6 +52,7 @@
+@@ -59,6 +59,7 @@
  #define PRIMITIVE2D_ID_OVERLAYROLLINGRECTANGLEPRIMITIVE (PRIMITIVE2D_ID_RANGE_SVX| 20)
  #define PRIMITIVE2D_ID_SDRCONTROLPRIMITIVE2D            (PRIMITIVE2D_ID_RANGE_SVX| 21)
  #define PRIMITIVE2D_ID_SDROLECONTENTPRIMITIVE2D         (PRIMITIVE2D_ID_RANGE_SVX| 22)
@@ -132,8 +181,10 @@
  
  //////////////////////////////////////////////////////////////////////////////
  
---- svx/inc/svx/sdtfsitm.hxx.old	2009-04-02 11:03:40.000000000 +0000
-+++ svx/inc/svx/sdtfsitm.hxx	2009-04-06 16:42:18.000000000 +0000
+diff --git svx/inc/svx/sdtfsitm.hxx svx/inc/svx/sdtfsitm.hxx
+index 4b00f89..8674686 100644
+--- svx/inc/svx/sdtfsitm.hxx
++++ svx/inc/svx/sdtfsitm.hxx
 @@ -34,19 +34,21 @@
  #include <svx/svddef.hxx>
  #include "svx/svxdllapi.h"
@@ -168,14 +219,16 @@
  
  //--------------------------------
  // class SdrTextFitToSizeTypeItem
+diff --git svx/inc/svx/svdotext.hxx svx/inc/svx/svdotext.hxx
+index 4744351..43cb6e7 100644
 --- svx/inc/svx/svdotext.hxx
 +++ svx/inc/svx/svdotext.hxx
-@@ -62,6 +62,7 @@ namespace drawinglayer { namespace primi
- 	class SdrContourTextPrimitive2D;
- 	class SdrPathTextPrimitive2D;
- 	class SdrBlockTextPrimitive2D;
+@@ -62,6 +62,7 @@ namespace drawinglayer { namespace primitive2d {
+     class SdrContourTextPrimitive2D;
+     class SdrPathTextPrimitive2D;
+     class SdrBlockTextPrimitive2D;
 +	class SdrAutoFitTextPrimitive2D;
- 	class SdrStretchTextPrimitive2D;
+     class SdrStretchTextPrimitive2D;
  }}
  
 @@ -259,6 +260,9 @@ protected:
@@ -194,40 +247,42 @@
                                         Fraction& 		aFitXKorreg ) const;
 +    void ImpAutoFitText( SdrOutliner& rOutliner ) const;
 +    static void ImpAutoFitText( SdrOutliner& rOutliner, const Size& rShapeSize, bool bIsVerticalWriting );
- 	SVX_DLLPRIVATE SdrObject* ImpConvertContainedTextToSdrPathObjs(bool bToPoly) const;
- 	SVX_DLLPRIVATE void ImpLinkAnmeldung();
- 	SVX_DLLPRIVATE void ImpLinkAbmeldung();
+     SVX_DLLPRIVATE SdrObject* ImpConvertContainedTextToSdrPathObjs(bool bToPoly) const;
+     SVX_DLLPRIVATE void ImpLinkAnmeldung();
+     SVX_DLLPRIVATE void ImpLinkAbmeldung();
 @@ -283,7 +289,7 @@ protected:
- 	SdrObject* ImpConvertMakeObj(const basegfx::B2DPolyPolygon& rPolyPolygon, sal_Bool bClosed, sal_Bool bBezier, sal_Bool bNoSetAttr = sal_False) const;
- 	SdrObject* ImpConvertAddText(SdrObject* pObj, FASTBOOL bBezier) const;
- 	void ImpSetTextStyleSheetListeners();
+     SdrObject* ImpConvertMakeObj(const basegfx::B2DPolyPolygon& rPolyPolygon, sal_Bool bClosed, sal_Bool bBezier, sal_Bool bNoSetAttr = sal_False) const;
+     SdrObject* ImpConvertAddText(SdrObject* pObj, FASTBOOL bBezier) const;
+     void ImpSetTextStyleSheetListeners();
 -	void ImpSetCharStretching(SdrOutliner& rOutliner, const Rectangle& rTextRect, const Rectangle& rAnchorRect, Fraction& rFitXKorreg) const;
 +    void ImpSetCharStretching(SdrOutliner& rOutliner, const Size& rTextSize, const Size& rShapeSize, Fraction& rFitXKorreg) const;
- 	void ImpJustifyRect(Rectangle& rRect) const;
- 	void ImpCheckShear();
- 	Rectangle ImpDragCalcRect(const SdrDragStat& rDrag) const;
+     void ImpJustifyRect(Rectangle& rRect) const;
+     void ImpCheckShear();
+     Rectangle ImpDragCalcRect(const SdrDragStat& rDrag) const;
 @@ -345,6 +351,10 @@ public:
- 	void NbcResizeTextAttributes(const Fraction& xFact, const Fraction& yFact);
- 	FASTBOOL IsTextFrame() const { return bTextFrame; }
- 	FASTBOOL IsOutlText() const { return bTextFrame && (eTextKind==OBJ_OUTLINETEXT || eTextKind==OBJ_TITLETEXT); }
+     void NbcResizeTextAttributes(const Fraction& xFact, const Fraction& yFact);
+     FASTBOOL IsTextFrame() const { return bTextFrame; }
+     FASTBOOL IsOutlText() const { return bTextFrame && (eTextKind==OBJ_OUTLINETEXT || eTextKind==OBJ_TITLETEXT); }
 +    /// returns true if the PPT autofit of text into shape bounds is enabled. implies IsFitToSize()==false!
 +	FASTBOOL IsAutoFit() const;
 +    /// returns true if the old feature for fitting shape content should into shape is enabled. implies IsAutoFit()==false!
 +	FASTBOOL IsFitToSize() const;
- 	SdrObjKind GetTextKind() const { return eTextKind; }
+     SdrObjKind GetTextKind() const { return eTextKind; }
  
- 	virtual bool HasText() const;
-@@ -590,6 +600,10 @@ public:
- 		drawinglayer::primitive2d::Primitive2DSequence& rTarget, 
- 		const drawinglayer::primitive2d::SdrBlockTextPrimitive2D& rSdrBlockTextPrimitive,
- 		const drawinglayer::geometry::ViewInformation2D& aViewInformation) const;
+     virtual bool HasText() const;
+@@ -587,6 +597,10 @@ public:
+         drawinglayer::primitive2d::Primitive2DSequence& rTarget, 
+         const drawinglayer::primitive2d::SdrBlockTextPrimitive2D& rSdrBlockTextPrimitive,
+         const drawinglayer::geometry::ViewInformation2D& aViewInformation) const;
 +	void impDecomposeAutoFitTextPrimitive(
 +		drawinglayer::primitive2d::Primitive2DSequence& rTarget, 
 +		const drawinglayer::primitive2d::SdrAutoFitTextPrimitive2D& rSdrAutofitTextPrimitive,
 +		const drawinglayer::geometry::ViewInformation2D& aViewInformation) const;
- 	void impDecomposeStretchTextPrimitive(
- 		drawinglayer::primitive2d::Primitive2DSequence& rTarget, 
- 		const drawinglayer::primitive2d::SdrStretchTextPrimitive2D& rSdrStretchTextPrimitive,
+     void impDecomposeStretchTextPrimitive(
+         drawinglayer::primitive2d::Primitive2DSequence& rTarget, 
+         const drawinglayer::primitive2d::SdrStretchTextPrimitive2D& rSdrStretchTextPrimitive,
+diff --git svx/source/cui/dbregisterednamesconfig.cxx svx/source/cui/dbregisterednamesconfig.cxx
+index d3646b7..c31448a 100644
 --- svx/source/cui/dbregisterednamesconfig.cxx
 +++ svx/source/cui/dbregisterednamesconfig.cxx
 @@ -163,7 +163,7 @@ namespace svx
@@ -238,7 +293,7 @@
 +                    	//DBG_UNHANDLED_EXCEPTION();
                      }
                  }
- 			}
+             }
 @@ -184,7 +184,7 @@ namespace svx
                      }
                      catch( const Exception& )
@@ -247,26 +302,32 @@
 +                    	//DBG_UNHANDLED_EXCEPTION();
                      }
                  }
- 			}
+             }
+diff --git svx/source/cui/textattr.cxx svx/source/cui/textattr.cxx
+index 0631465..9c97499 100644
 --- svx/source/cui/textattr.cxx
 +++ svx/source/cui/textattr.cxx
-@@ -460,7 +460,6 @@ BOOL SvxTextAttrPage::FillItemSet( SfxIt
+@@ -460,8 +460,7 @@ BOOL SvxTextAttrPage::FillItemSet( SfxItemSet& rAttrs)
              default: ; //prevent warning
- 				DBG_ERROR( "svx::SvxTextAttrPage::FillItemSet(), unhandled state!" );
- 			case STATE_NOCHECK: eFTS = SDRTEXTFIT_NONE; break;
+                 DBG_ERROR( "svx::SvxTextAttrPage::FillItemSet(), unhandled state!" );
+             case STATE_NOCHECK: eFTS = SDRTEXTFIT_NONE; break;
 -			//case STATE_CHECK: eFTS = SDRTEXTFIT_RESIZEATTR; break;
- 			case STATE_CHECK: eFTS = SDRTEXTFIT_PROPORTIONAL; break;
- 		}
- 		rAttrs.Put( SdrTextFitToSizeTypeItem( eFTS ) );
---- svx/source/editeng/editobj2.hxx.old	2009-04-02 11:03:02.000000000 +0000
-+++ svx/source/editeng/editobj2.hxx	2009-04-06 16:42:18.000000000 +0000
-@@ -115,12 +115,16 @@ class XParaPortionList : public  XBasePa
- 	ULONG 		nRefDevPtr;
- 	OutDevType	eRefDevType;
- 	MapMode		aRefMapMode;
+-			case STATE_CHECK: eFTS = SDRTEXTFIT_PROPORTIONAL; break;
++			case STATE_CHECK: eFTS = SDRTEXTFIT_AUTOFIT; break;
+         }
+         rAttrs.Put( SdrTextFitToSizeTypeItem( eFTS ) );
+     }
+diff --git svx/source/editeng/editobj2.hxx svx/source/editeng/editobj2.hxx
+index 9419b92..66b1937 100644
+--- svx/source/editeng/editobj2.hxx
++++ svx/source/editeng/editobj2.hxx
+@@ -115,12 +115,16 @@ class XParaPortionList : public  XBaseParaPortionList
+     ULONG 		nRefDevPtr;
+     OutDevType	eRefDevType;
+     MapMode		aRefMapMode;
 +	sal_uInt16	nStretchX;
 +	sal_uInt16	nStretchY;
- 	ULONG		nPaperWidth;
+     ULONG		nPaperWidth;
  
  
  public:
@@ -276,24 +337,26 @@
 +        aRefMapMode( pRefDev->GetMapMode() ),
 +        nStretchX(_nStretchX),
 +        nStretchY(_nStretchY)
- 				{
- 					nRefDevPtr = (ULONG)pRefDev; nPaperWidth = nPW;
- 					eRefDevType = pRefDev->GetOutDevType();
+                 {
+                     nRefDevPtr = (ULONG)pRefDev; nPaperWidth = nPW;
+                     eRefDevType = pRefDev->GetOutDevType();
 @@ -130,6 +134,8 @@ public:
- 	ULONG			GetPaperWidth() const 		{ return nPaperWidth; }
- 	OutDevType		GetRefDevType() const 		{ return eRefDevType; }
- 	const MapMode&	GetRefMapMode() const		{ return aRefMapMode; }
+     ULONG			GetPaperWidth() const 		{ return nPaperWidth; }
+     OutDevType		GetRefDevType() const 		{ return eRefDevType; }
+     const MapMode&	GetRefMapMode() const		{ return aRefMapMode; }
 +	sal_uInt16	GetStretchX() const         { return nStretchX; }
 +	sal_uInt16	GetStretchY() const         { return nStretchY; }
  };
  
  /* cl removed because not needed anymore since binfilter
---- svx/source/editeng/impedit3.cxx.old	2009-04-06 16:42:16.000000000 +0000
-+++ svx/source/editeng/impedit3.cxx	2009-04-06 16:42:18.000000000 +0000
-@@ -2665,38 +2665,46 @@ void ImpEditEngine::SeekCursor( ContentNode* pNode, sal_uInt16 nPos, SvxFont& rF
- 				aRealSz.Height() /= 100;
- 			}
- 			if ( nStretchX != 100 )
+diff --git svx/source/editeng/impedit3.cxx svx/source/editeng/impedit3.cxx
+index 39879b1..435721d 100644
+--- svx/source/editeng/impedit3.cxx
++++ svx/source/editeng/impedit3.cxx
+@@ -2677,38 +2677,46 @@ void ImpEditEngine::SeekCursor( ContentNode* pNode, sal_uInt16 nPos, SvxFont& rF
+                 aRealSz.Height() /= 100;
+             }
+             if ( nStretchX != 100 )
 -			{
 -				aRealSz.Width() *= nStretchX;
 -				aRealSz.Width() /= 100;
@@ -363,61 +426,65 @@
 +                    rFont.SetFixKerning( (short)nKerning );
 +                }
 +            }
- 		}
- 		if ( nRelWidth != 100 )
- 		{
-@@ -4085,20 +4085,25 @@ void ImpEditEngine::SetFlatMode( sal_Boo
+         }
+         if ( nRelWidth != 100 )
+         {
+@@ -4097,20 +4105,25 @@ void ImpEditEngine::SetFlatMode( sal_Bool bFlat )
  
  void ImpEditEngine::SetCharStretching( sal_uInt16 nX, sal_uInt16 nY )
  {
 +    bool bChanged(false);
- 	if ( !IsVertical() )
- 	{
+     if ( !IsVertical() )
+     {
 +        bChanged = nStretchX!=nX || nStretchY!=nY;
- 		nStretchX = nX;
- 		nStretchY = nY;
- 	}
- 	else
- 	{
+         nStretchX = nX;
+         nStretchY = nY;
+     }
+     else
+     {
 +        bChanged = nStretchX!=nY || nStretchY!=nX;
- 		nStretchX = nY;
- 		nStretchY = nX;
- 	}
+         nStretchX = nY;
+         nStretchY = nX;
+     }
  
 -	if ( aStatus.DoStretch() )
 +	if (bChanged && aStatus.DoStretch())
- 	{
- 		FormatFullDoc();
+     {
+         FormatFullDoc();
 +        // (potentially) need everything redrawn
 +        aInvalidRec=Rectangle(0,0,1000000,1000000);
- 		UpdateViews( GetActiveView() );
- 	}
+         UpdateViews( GetActiveView() );
+     }
  }
---- svx/source/editeng/impedit4.cxx.old	2009-04-02 11:03:02.000000000 +0000
-+++ svx/source/editeng/impedit4.cxx	2009-04-06 16:42:18.000000000 +0000
-@@ -1169,7 +1169,7 @@ EditTextObject*	ImpEditEngine::CreateBin
- 	// Schwelle rauf setzen, wenn Olli die Absaetze nicht mehr zerhackt!
- 	if ( bAllowBigObjects && bOnlyFullParagraphs && IsFormatted() && GetUpdateMode() && ( nTextPortions >= nBigObjectStart ) )
- 	{
+diff --git svx/source/editeng/impedit4.cxx svx/source/editeng/impedit4.cxx
+index 6df4518..9138cd1 100644
+--- svx/source/editeng/impedit4.cxx
++++ svx/source/editeng/impedit4.cxx
+@@ -1169,7 +1169,7 @@ EditTextObject*	ImpEditEngine::CreateBinTextObject( EditSelection aSel, SfxItemP
+     // Schwelle rauf setzen, wenn Olli die Absaetze nicht mehr zerhackt!
+     if ( bAllowBigObjects && bOnlyFullParagraphs && IsFormatted() && GetUpdateMode() && ( nTextPortions >= nBigObjectStart ) )
+     {
 -		XParaPortionList* pXList = new XParaPortionList( GetRefDevice(), aPaperSize.Width() );
 +		XParaPortionList* pXList = new XParaPortionList( GetRefDevice(), aPaperSize.Width(), nStretchX, nStretchY );
- 		pTxtObj->SetPortionInfo( pXList );
- 		for ( nNode = nStartNode; nNode <= nEndNode; nNode++  )
- 		{
-@@ -1260,7 +1260,9 @@ EditSelection ImpEditEngine::InsertBinTe
- 	XParaPortionList* pPortionInfo = rTextObject.GetPortionInfo();
+         pTxtObj->SetPortionInfo( pXList );
+         for ( nNode = nStartNode; nNode <= nEndNode; nNode++  )
+         {
+@@ -1260,7 +1260,9 @@ EditSelection ImpEditEngine::InsertBinTextObject( BinTextObject& rTextObject, Ed
+     XParaPortionList* pPortionInfo = rTextObject.GetPortionInfo();
  
- 	if ( pPortionInfo && ( (long)pPortionInfo->GetPaperWidth() == aPaperSize.Width() )
+     if ( pPortionInfo && ( (long)pPortionInfo->GetPaperWidth() == aPaperSize.Width() )
 -			&& ( pPortionInfo->GetRefMapMode() == GetRefDevice()->GetMapMode() ) )
 +         && ( pPortionInfo->GetRefMapMode() == GetRefDevice()->GetMapMode() ) 
 +         && ( pPortionInfo->GetStretchX() == nStretchX )
 +         && ( pPortionInfo->GetStretchY() == nStretchY ) )
- 	{
- 		if ( ( pPortionInfo->GetRefDevPtr() == (sal_uIntPtr)GetRefDevice() ) ||
- 			 ( ( pPortionInfo->GetRefDevType() == OUTDEV_VIRDEV ) &&
---- svx/source/outliner/outliner.cxx.old	2009-04-02 11:02:55.000000000 +0000
-+++ svx/source/outliner/outliner.cxx	2009-04-06 16:42:18.000000000 +0000
-@@ -922,7 +922,10 @@ Font Outliner::ImpCalcBulletFont( USHORT
+     {
+         if ( ( pPortionInfo->GetRefDevPtr() == (sal_uIntPtr)GetRefDevice() ) ||
+              ( ( pPortionInfo->GetRefDevType() == OUTDEV_VIRDEV ) &&
+diff --git svx/source/outliner/outliner.cxx svx/source/outliner/outliner.cxx
+index 3a9a55b..f739176 100644
+--- svx/source/outliner/outliner.cxx
++++ svx/source/outliner/outliner.cxx
+@@ -922,7 +922,10 @@ Font Outliner::ImpCalcBulletFont( USHORT nPara ) const
      }
  
      // #107508# Use original scale...
@@ -426,13 +493,13 @@
 +    const_cast<Outliner*>(this)->GetGlobalCharStretching(nStretchX, nStretchY);
 +    
 +	USHORT nScale = pFmt->GetBulletRelSize() * nStretchY / 100;
- 	ULONG nScaledLineHeight = aStdFont.GetSize().Height();
- 	nScaledLineHeight *= nScale*10;
- 	nScaledLineHeight /= 1000;
-@@ -965,6 +968,12 @@ void Outliner::PaintBullet( USHORT nPara
+     ULONG nScaledLineHeight = aStdFont.GetSize().Height();
+     nScaledLineHeight *= nScale*10;
+     nScaledLineHeight /= 1000;
+@@ -965,6 +968,12 @@ void Outliner::PaintBullet( USHORT nPara, const Point& rStartPos,
          BOOL bRightToLeftPara = pEditEngine->IsRightToLeft( nPara );
  
- 		Rectangle aBulletArea( ImpCalcBulletArea( nPara, TRUE, FALSE ) );
+         Rectangle aBulletArea( ImpCalcBulletArea( nPara, TRUE, FALSE ) );
 +        USHORT nStretchX, nStretchY;
 +        GetGlobalCharStretching(nStretchX, nStretchY);
 +        aBulletArea = Rectangle( Point(aBulletArea.Left()*nStretchX/100,
@@ -442,73 +509,97 @@
  
          Paragraph* pPara = pParaList->GetParagraph( nPara );
          const SvxNumberFormat* pFmt = GetNumberFormat( nPara );
---- svx/source/sdr/attribute/sdrtextattribute.cxx.old	2009-04-02 11:02:53.000000000 +0000
-+++ svx/source/sdr/attribute/sdrtextattribute.cxx	2009-04-06 16:42:18.000000000 +0000
-@@ -52,6 +52,7 @@ namespace drawinglayer
- 			sal_Int32 aTextLowerDistance, 
- 			bool bContour, 
- 			bool bFitToSize, 
+diff --git svx/source/sdr/attribute/sdrtextattribute.cxx svx/source/sdr/attribute/sdrtextattribute.cxx
+index 244946e..efd4e7f 100644
+--- svx/source/sdr/attribute/sdrtextattribute.cxx
++++ svx/source/sdr/attribute/sdrtextattribute.cxx
+@@ -61,6 +61,7 @@ namespace drawinglayer
+             SdrTextVertAdjust aSdrTextVertAdjust,
+             bool bContour, 
+             bool bFitToSize, 
 +			bool bAutoFit, 
- 			bool bHideContour, 
- 			bool bBlink, 
- 			bool bScroll,
-@@ -65,6 +66,7 @@ namespace drawinglayer
- 			maTextLowerDistance(aTextLowerDistance),
- 			mbContour(bContour),
- 			mbFitToSize(bFitToSize),
+             bool bHideContour, 
+             bool bBlink, 
+             bool bScroll,
+@@ -78,6 +79,7 @@ namespace drawinglayer
+             maSdrTextVertAdjust(aSdrTextVertAdjust),
+             mbContour(bContour),
+             mbFitToSize(bFitToSize),
 +			mbAutoFit(bAutoFit),
- 			mbHideContour(bHideContour),
- 			mbBlink(bBlink),
- 			mbScroll(bScroll),
-@@ -82,6 +84,7 @@ namespace drawinglayer
- 				&& getTextLowerDistance() == rCandidate.getTextLowerDistance()
- 				&& isContour() == rCandidate.isContour()
- 				&& isFitToSize() == rCandidate.isFitToSize()
+             mbHideContour(bHideContour),
+             mbBlink(bBlink),
+             mbScroll(bScroll),
+@@ -119,6 +121,7 @@ namespace drawinglayer
+             maSdrTextVertAdjust(rCandidate.getSdrTextVertAdjust()),
+             mbContour(rCandidate.isContour()),
+             mbFitToSize(rCandidate.isFitToSize()),
++			mbAutoFit(rCandidate.mbAutoFit),
+             mbHideContour(rCandidate.isHideContour()),
+             mbBlink(rCandidate.isBlink()),
+             mbScroll(rCandidate.isScroll()),
+@@ -159,6 +162,7 @@ namespace drawinglayer
+ 
+             mbContour = rCandidate.isContour();
+             mbFitToSize = rCandidate.isFitToSize();
++			mbAutoFit = rCandidate.isAutoFit();
+             mbHideContour = rCandidate.isHideContour();
+             mbBlink = rCandidate.isBlink();
+             mbScroll = rCandidate.isScroll();
+@@ -193,6 +197,7 @@ namespace drawinglayer
+ 
+                 && isContour() == rCandidate.isContour()
+                 && isFitToSize() == rCandidate.isFitToSize()
 +				&& isAutoFit() == rCandidate.isAutoFit()
- 				&& isHideContour() == rCandidate.isHideContour()
- 				&& isBlink() == rCandidate.isBlink()
- 				&& isScroll() == rCandidate.isScroll()
---- svx/source/sdr/primitive2d/sdrattributecreator.cxx.old	2009-04-02 11:02:54.000000000 +0000
-+++ svx/source/sdr/primitive2d/sdrattributecreator.cxx	2009-04-06 16:42:18.000000000 +0000
-@@ -521,7 +521,8 @@ namespace drawinglayer
- 				    rTextObj.GetTextRightDistance(),
- 				    rTextObj.GetTextLowerDistance(),
- 				    ((const SdrTextContourFrameItem&)rSet.Get(SDRATTR_TEXT_CONTOURFRAME)).GetValue(),
+                 && isHideContour() == rCandidate.isHideContour()
+                 && isBlink() == rCandidate.isBlink()
+                 && isScroll() == rCandidate.isScroll()
+diff --git svx/source/sdr/primitive2d/sdrattributecreator.cxx svx/source/sdr/primitive2d/sdrattributecreator.cxx
+index 0fad6dd..617c676 100644
+--- svx/source/sdr/primitive2d/sdrattributecreator.cxx
++++ svx/source/sdr/primitive2d/sdrattributecreator.cxx
+@@ -534,7 +534,8 @@ namespace drawinglayer
+                     rTextObj.GetTextHorizontalAdjust(rSet),
+                     rTextObj.GetTextVerticalAdjust(rSet),
+                     ((const SdrTextContourFrameItem&)rSet.Get(SDRATTR_TEXT_CONTOURFRAME)).GetValue(),
 -				    (SDRTEXTFIT_PROPORTIONAL == eFit || SDRTEXTFIT_ALLLINES == eFit),
 +                    rTextObj.IsFitToSize(),
 +                    rTextObj.IsAutoFit(),
- 				    ((const XFormTextHideFormItem&)rSet.Get(XATTR_FORMTXTHIDEFORM)).GetValue(),
- 				    SDRTEXTANI_BLINK == eAniKind, 
- 				    SDRTEXTANI_SCROLL == eAniKind || SDRTEXTANI_ALTERNATE == eAniKind || SDRTEXTANI_SLIDE == eAniKind,
-@@ -542,7 +543,7 @@ namespace drawinglayer
- 				const XGradient& rGradient = ((XFillFloatTransparenceItem*)pGradientItem)->GetGradientValue();
- 				const sal_uInt8 nStartLuminance(rGradient.GetStartColor().GetLuminance());
- 				const sal_uInt8 nEndLuminance(rGradient.GetEndColor().GetLuminance());
+                     ((const XFormTextHideFormItem&)rSet.Get(XATTR_FORMTXTHIDEFORM)).GetValue(),
+                     SDRTEXTANI_BLINK == eAniKind, 
+                     SDRTEXTANI_SCROLL == eAniKind || SDRTEXTANI_ALTERNATE == eAniKind || SDRTEXTANI_SLIDE == eAniKind,
+@@ -556,7 +557,7 @@ namespace drawinglayer
+                 const XGradient& rGradient = ((XFillFloatTransparenceItem*)pGradientItem)->GetGradientValue();
+                 const sal_uInt8 nStartLuminance(rGradient.GetStartColor().GetLuminance());
+                 const sal_uInt8 nEndLuminance(rGradient.GetEndColor().GetLuminance());
 -				const bool bCompletelyTransparent(0xff == nStartLuminance == nEndLuminance);
 +				const bool bCompletelyTransparent(0xff == nStartLuminance && 0xff == nEndLuminance);
  
- 				if(!bCompletelyTransparent)
- 				{
---- svx/source/sdr/primitive2d/sdrdecompositiontools.cxx.old	2009-04-02 11:02:54.000000000 +0000
-+++ svx/source/sdr/primitive2d/sdrdecompositiontools.cxx	2009-04-06 16:42:18.000000000 +0000
-@@ -269,6 +269,11 @@ namespace drawinglayer
- 					// streched text in range
- 					pNew = new SdrStretchTextPrimitive2D(rText.getSdrText(), rText.getOutlinerParaObject(), aAnchorTransform);
- 				}
+                 if(!bCompletelyTransparent)
+                 {
+diff --git svx/source/sdr/primitive2d/sdrdecompositiontools.cxx svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
+index 6204eba..925d37a 100644
+--- svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
++++ svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
+@@ -286,6 +286,11 @@ namespace drawinglayer
+                         aAnchorTransform,
+                         rText.isFixedCellHeight());
+                 }
 +				else if(rText.isAutoFit())
 +				{
 +					// isotrophically scaled text in range
 +					pNew = new SdrAutoFitTextPrimitive2D(&rText.getSdrText(), rText.getOutlinerParaObject(), aAnchorTransform, bWordWrap);
 +				}
- 				else // text in range
- 				{
- 					// build new primitive
---- svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx.old	2009-04-02 11:02:54.000000000 +0000
-+++ svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx	2009-04-06 16:42:18.000000000 +0000
-@@ -305,6 +305,55 @@ namespace drawinglayer
+                 else // text in range
+                 {
+                     // build new primitive
+diff --git svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
+index bd8547c..d96e835 100644
+--- svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
++++ svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
+@@ -442,6 +442,55 @@ namespace drawinglayer
  {
- 	namespace primitive2d
- 	{
+     namespace primitive2d
+     {
 +		Primitive2DSequence SdrAutoFitTextPrimitive2D::createLocalDecomposition(const geometry::ViewInformation2D& aViewInformation) const
 +		{
 +            Primitive2DSequence aRetval;
@@ -558,71 +649,75 @@
 +{
 +	namespace primitive2d
 +	{
- 		Primitive2DSequence SdrStretchTextPrimitive2D::createLocalDecomposition(const geometry::ViewInformation2D& aViewInformation) const
- 		{
+         Primitive2DSequence SdrStretchTextPrimitive2D::createLocalDecomposition(const geometry::ViewInformation2D& aViewInformation) const
+         {
              Primitive2DSequence aRetval;
---- svx/source/svdraw/svdedxv.cxx.old	2009-04-06 16:42:16.000000000 +0000
-+++ svx/source/svdraw/svdedxv.cxx	2009-04-06 16:42:18.000000000 +0000
-@@ -315,7 +315,7 @@ void SdrObjEditView::ImpPaintOutlinerVie
- 	{
- 		const SdrTextObj* pText = PTR_CAST(SdrTextObj,GetTextEditObject());
- 		bool bTextFrame(pText && pText->IsTextFrame());
+diff --git svx/source/svdraw/svdedxv.cxx svx/source/svdraw/svdedxv.cxx
+index c9f870b..f6c15b0 100644
+--- svx/source/svdraw/svdedxv.cxx
++++ svx/source/svdraw/svdedxv.cxx
+@@ -315,7 +315,7 @@ void SdrObjEditView::ImpPaintOutlinerView(OutlinerView& rOutlView, const Rectang
+     {
+         const SdrTextObj* pText = PTR_CAST(SdrTextObj,GetTextEditObject());
+         bool bTextFrame(pText && pText->IsTextFrame());
 -		bool bFitToSize(0 != (pTextEditOutliner->GetControlWord() & EE_CNTRL_STRETCHING));
 +		bool bFitToSize(pText && pText->IsFitToSize());
- 		bool bModifyMerk(pTextEditOutliner->IsModified()); // #43095#
- 		Rectangle aBlankRect(rOutlView.GetOutputArea());
- 		aBlankRect.Union(aMinTextEditArea);
-@@ -384,7 +384,7 @@ void SdrObjEditView::ImpInvalidateOutlin
- 	{
- 		const SdrTextObj* pText = PTR_CAST(SdrTextObj,GetTextEditObject());
- 		bool bTextFrame(pText && pText->IsTextFrame());
+         bool bModifyMerk(pTextEditOutliner->IsModified()); // #43095#
+         Rectangle aBlankRect(rOutlView.GetOutputArea());
+         aBlankRect.Union(aMinTextEditArea);
+@@ -384,7 +384,7 @@ void SdrObjEditView::ImpInvalidateOutlinerView(OutlinerView& rOutlView) const
+     {
+         const SdrTextObj* pText = PTR_CAST(SdrTextObj,GetTextEditObject());
+         bool bTextFrame(pText && pText->IsTextFrame());
 -		bool bFitToSize(0 != (pTextEditOutliner->GetControlWord() & EE_CNTRL_STRETCHING));
 +		bool bFitToSize(pText && pText->IsFitToSize());
  
- 		if(bTextFrame && !bFitToSize) 
- 		{
-@@ -692,8 +692,7 @@ sal_Bool SdrObjEditView::SdrBeginTextEdi
-     		if ( !pTextObj->IsContourTextFrame() )
- 			{
- 				// FitToSize erstmal nicht mit ContourFrame
+         if(bTextFrame && !bFitToSize) 
+         {
+@@ -650,8 +650,7 @@ sal_Bool SdrObjEditView::SdrBeginTextEdit(
+             if ( !pTextObj->IsContourTextFrame() )
+             {
+                 // FitToSize erstmal nicht mit ContourFrame
 -        		SdrFitToSizeType eFit = pTextObj->GetFitToSize();
 -        		if (eFit==SDRTEXTFIT_PROPORTIONAL || eFit==SDRTEXTFIT_ALLLINES)
 +        		if (pTextObj->IsFitToSize())
-         			aTextRect = aAnchorRect;
- 			}
+                     aTextRect = aAnchorRect;
+             }
  
-@@ -761,8 +760,7 @@ sal_Bool SdrObjEditView::SdrBeginTextEdi
- 				// #71519#
- 				if(!bExtraInvalidate)
- 				{
+@@ -719,8 +718,7 @@ sal_Bool SdrObjEditView::SdrBeginTextEdit(
+                 // #71519#
+                 if(!bExtraInvalidate)
+                 {
 -        			SdrFitToSizeType eFit = pTextObj->GetFitToSize();
 -					if(eFit == SDRTEXTFIT_PROPORTIONAL || eFit == SDRTEXTFIT_ALLLINES)
 +					if(pTextObj->IsFitToSize())
- 						bExtraInvalidate = sal_True;
- 				}
+                         bExtraInvalidate = sal_True;
+                 }
  
+diff --git svx/source/svdraw/svdfppt.cxx svx/source/svdraw/svdfppt.cxx
+index 8535262..380677c 100644
 --- svx/source/svdraw/svdfppt.cxx
 +++ svx/source/svdraw/svdfppt.cxx
-@@ -1113,6 +1113,7 @@ SdrObject* SdrEscherImport::ProcessObj(
- 				}
- 				aTextObj.SetDestinationInstance( (sal_uInt16)nDestinationInstance );
+@@ -1119,6 +1119,7 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
+                 }
+                 aTextObj.SetDestinationInstance( (sal_uInt16)nDestinationInstance );
  
 +                bool bAutoFit = false; // auto-scale text into shape box
- 				switch ( aTextObj.GetInstance() )
- 				{
- 					case TSS_TYPE_PAGETITLE :
-@@ -1120,7 +1121,7 @@ SdrObject* SdrEscherImport::ProcessObj(
- 					case TSS_TYPE_SUBTITLE : eTextKind = OBJ_TEXT; break;
- 					case TSS_TYPE_BODY :
- 					case TSS_TYPE_HALFBODY :
+                 switch ( aTextObj.GetInstance() )
+                 {
+                     case TSS_TYPE_PAGETITLE :
+@@ -1126,7 +1127,7 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
+                     case TSS_TYPE_SUBTITLE : eTextKind = OBJ_TEXT; break;
+                     case TSS_TYPE_BODY :
+                     case TSS_TYPE_HALFBODY :
 -					case TSS_TYPE_QUARTERBODY : eTextKind = OBJ_OUTLINETEXT; break;
 +					case TSS_TYPE_QUARTERBODY : eTextKind = OBJ_OUTLINETEXT; bAutoFit = true; break;
- 				}
- 				if ( aTextObj.GetDestinationInstance() != TSS_TYPE_TEXT_IN_SHAPE )
- 				{
-@@ -1175,6 +1176,15 @@ SdrObject* SdrEscherImport::ProcessObj(
- 				}
- 				pTObj->SetMergedItem( SvxFrameDirectionItem( bVerticalText ? FRMDIR_VERT_TOP_RIGHT : FRMDIR_HORI_LEFT_TOP, EE_PARA_WRITINGDIR ) );
+                 }
+                 if ( aTextObj.GetDestinationInstance() != TSS_TYPE_TEXT_IN_SHAPE )
+                 {
+@@ -1181,6 +1182,15 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
+                 }
+                 pTObj->SetMergedItem( SvxFrameDirectionItem( bVerticalText ? FRMDIR_VERT_TOP_RIGHT : FRMDIR_HORI_LEFT_TOP, EE_PARA_WRITINGDIR ) );
  
 +                if (bAutoFit)
 +                {
@@ -633,110 +728,100 @@
 +                    pTObj->SetMergedItem( SdrTextFitToSizeTypeItem(SDRTEXTFIT_AUTOFIT) );
 +                }
 +
- 			if ( !pTObj->ISA( SdrObjCustomShape ) )
- 			{
- 		 		pTObj->SetMergedItem( SdrTextAutoGrowWidthItem( bAutoGrowWidth ) );
---- svx/source/svdraw/svdotext.cxx.old	2009-04-02 11:03:00.000000000 +0000
-+++ svx/source/svdraw/svdotext.cxx	2009-04-06 16:42:18.000000000 +0000
-@@ -145,6 +145,7 @@ SdrTextObj::SdrTextObj()
+             if ( !pTObj->ISA( SdrObjCustomShape ) )
+             {
+                  pTObj->SetMergedItem( SdrTextAutoGrowWidthItem( bAutoGrowWidth ) );
+diff --git svx/source/svdraw/svdotext.cxx svx/source/svdraw/svdotext.cxx
+index 368ef8f..f92dba5 100644
+--- svx/source/svdraw/svdotext.cxx
++++ svx/source/svdraw/svdotext.cxx
+@@ -144,6 +144,7 @@ SdrTextObj::SdrTextObj()
  
- 	// #i25616#
- 	mbSupportTextIndentingOnLineWidthChange = sal_True;
+     // #i25616#
+     mbSupportTextIndentingOnLineWidthChange = sal_True;
 +    mbInDownScale = sal_False;
  }
  
  SdrTextObj::SdrTextObj(const Rectangle& rNewRect)
-@@ -170,6 +171,7 @@ SdrTextObj::SdrTextObj(const Rectangle&
+@@ -169,6 +170,7 @@ SdrTextObj::SdrTextObj(const Rectangle& rNewRect)
  
- 	// #111096#
- 	mbTextAnimationAllowed = sal_True;
+     // #111096#
+     mbTextAnimationAllowed = sal_True;
 +    mbInDownScale = sal_False;
  
- 	// #108784#
- 	maTextEditOffset = Point(0, 0);
-@@ -200,6 +202,7 @@ SdrTextObj::SdrTextObj(SdrObjKind eNewTe
+     // #108784#
+     maTextEditOffset = Point(0, 0);
+@@ -199,6 +201,7 @@ SdrTextObj::SdrTextObj(SdrObjKind eNewTextKind)
  
- 	// #111096#
- 	mbTextAnimationAllowed = sal_True;
+     // #111096#
+     mbTextAnimationAllowed = sal_True;
 +    mbInDownScale = sal_False;
  
- 	// #108784#
- 	maTextEditOffset = Point(0, 0);
-@@ -232,6 +235,7 @@ SdrTextObj::SdrTextObj(SdrObjKind eNewTe
+     // #108784#
+     maTextEditOffset = Point(0, 0);
+@@ -231,6 +234,7 @@ SdrTextObj::SdrTextObj(SdrObjKind eNewTextKind, const Rectangle& rNewRect)
  
- 	// #111096#
- 	mbTextAnimationAllowed = sal_True;
+     // #111096#
+     mbTextAnimationAllowed = sal_True;
 +    mbInDownScale = sal_False;
  
- 	// #108784#
- 	maTextEditOffset = Point(0, 0);
-@@ -266,6 +270,7 @@ SdrTextObj::SdrTextObj(SdrObjKind eNewTe
+     // #108784#
+     maTextEditOffset = Point(0, 0);
+@@ -265,6 +269,7 @@ SdrTextObj::SdrTextObj(SdrObjKind eNewTextKind, const Rectangle& rNewRect, SvStr
  
- 	// #111096#
- 	mbTextAnimationAllowed = sal_True;
+     // #111096#
+     mbTextAnimationAllowed = sal_True;
 +    mbInDownScale = sal_False;
  
- 	// #108784#
- 	maTextEditOffset = Point(0, 0);
-@@ -842,8 +847,7 @@ void SdrTextObj::TakeTextRect( SdrOutlin
- 	SdrTextAniKind      eAniKind=GetTextAniKind();
- 	SdrTextAniDirection eAniDirection=GetTextAniDirection();
+     // #108784#
+     maTextEditOffset = Point(0, 0);
+@@ -841,8 +846,7 @@ void SdrTextObj::TakeTextRect( SdrOutliner& rOutliner, Rectangle& rTextRect, FAS
+     SdrTextAniKind      eAniKind=GetTextAniKind();
+     SdrTextAniDirection eAniDirection=GetTextAniDirection();
  
 -	SdrFitToSizeType eFit=GetFitToSize();
 -	FASTBOOL bFitToSize=(eFit==SDRTEXTFIT_PROPORTIONAL || eFit==SDRTEXTFIT_ALLLINES);
 +    FASTBOOL bFitToSize(IsFitToSize());
- 	FASTBOOL bContourFrame=IsContourTextFrame();
+     FASTBOOL bContourFrame=IsContourTextFrame();
  
- 	FASTBOOL bFrame=IsTextFrame();
-@@ -1004,7 +1008,7 @@ OutlinerParaObject* SdrTextObj::GetEditO
- 	return pPara;
+     FASTBOOL bFrame=IsTextFrame();
+@@ -1003,7 +1007,7 @@ OutlinerParaObject* SdrTextObj::GetEditOutlinerParaObject() const
+     return pPara;
  }
  
 -void SdrTextObj::ImpSetCharStretching(SdrOutliner& rOutliner, const Rectangle& rTextRect, const Rectangle& rAnchorRect, Fraction& rFitXKorreg) const
 +void SdrTextObj::ImpSetCharStretching(SdrOutliner& rOutliner, const Size& rTextSize, const Size& rShapeSize, Fraction& rFitXKorreg) const
  {
- 	OutputDevice* pOut = rOutliner.GetRefDevice();
- 	BOOL bNoStretching(FALSE);
-@@ -1049,12 +1053,12 @@ void SdrTextObj::ImpSetCharStretching(Sd
- 	unsigned nLoopCount=0;
- 	FASTBOOL bNoMoreLoop=FALSE;
- 	long nXDiff0=0x7FFFFFFF;
+     OutputDevice* pOut = rOutliner.GetRefDevice();
+     BOOL bNoStretching(FALSE);
+@@ -1048,12 +1052,12 @@ void SdrTextObj::ImpSetCharStretching(SdrOutliner& rOutliner, const Rectangle& r
+     unsigned nLoopCount=0;
+     FASTBOOL bNoMoreLoop=FALSE;
+     long nXDiff0=0x7FFFFFFF;
 -	long nWantWdt=rAnchorRect.Right()-rAnchorRect.Left();
 -	long nIsWdt=rTextRect.Right()-rTextRect.Left();
 +	long nWantWdt=rShapeSize.Width();
 +	long nIsWdt=rTextSize.Width();
- 	if (nIsWdt==0) nIsWdt=1;
+     if (nIsWdt==0) nIsWdt=1;
  
 -	long nWantHgt=rAnchorRect.Bottom()-rAnchorRect.Top();
 -	long nIsHgt=rTextRect.Bottom()-rTextRect.Top();
 +	long nWantHgt=rShapeSize.Height();
 +	long nIsHgt=rTextSize.Height();
- 	if (nIsHgt==0) nIsHgt=1;
+     if (nIsHgt==0) nIsHgt=1;
  
- 	long nXTolPl=nWantWdt/100; // Toleranz +1%
-# FIXME: 2009-08-14: No CheckHit() method any longer --tml
-#
-# @@ -1143,8 +1147,7 @@ SdrObject* SdrTextObj::CheckHit(const Po
-#  
-#  	INT32 nMyTol=nTol;
-#  	FASTBOOL bFontwork=IsFontwork();
-# -	SdrFitToSizeType eFit=GetFitToSize();
-# -	FASTBOOL bFitToSize=(eFit==SDRTEXTFIT_PROPORTIONAL || eFit==SDRTEXTFIT_ALLLINES);
-# +    FASTBOOL bFitToSize(IsFitToSize());
-#  	Rectangle aR(aRect);
-#  	Rectangle aAnchor2(aR);
-#  	Rectangle aTextRect(aR);
-@@ -1377,8 +1380,7 @@ basegfx::B2DPolyPolygon SdrTextObj::Take
- 		Rectangle aR;
- 		TakeTextRect(rOutliner,aR,FALSE,&aAnchor2);
- 		rOutliner.Clear();
+     long nXTolPl=nWantWdt/100; // Toleranz +1%
+@@ -1281,8 +1285,7 @@ basegfx::B2DPolyPolygon SdrTextObj::TakeContour() const
+         Rectangle aR;
+         TakeTextRect(rOutliner,aR,FALSE,&aAnchor2);
+         rOutliner.Clear();
 -		SdrFitToSizeType eFit=GetFitToSize();
 -		FASTBOOL bFitToSize=(eFit==SDRTEXTFIT_PROPORTIONAL || eFit==SDRTEXTFIT_ALLLINES);
 +        FASTBOOL bFitToSize(IsFitToSize());
- 		if (bFitToSize) aR=aAnchor2;
- 		Polygon aPol(aR);
- 		if (aGeo.nDrehWink!=0) RotatePoly(aPol,aR.TopLeft(),aGeo.nSin,aGeo.nCos);
-@@ -1495,8 +1497,7 @@ void SdrTextObj::ImpSetupDrawOutlinerFor
+         if (bFitToSize) aR=aAnchor2;
+         Polygon aPol(aR);
+         if (aGeo.nDrehWink!=0) RotatePoly(aPol,aR.TopLeft(),aGeo.nSin,aGeo.nCos);
+@@ -1399,8 +1402,7 @@ void SdrTextObj::ImpSetupDrawOutlinerForPaint( FASTBOOL 		bContourFrame,
      if (!bContourFrame)
      {
          // FitToSize erstmal nicht mit ContourFrame
@@ -746,7 +831,7 @@
          {
              ULONG nStat=rOutliner.GetControlWord();
              nStat|=EE_CNTRL_STRETCHING|EE_CNTRL_AUTOPAGESIZE;
-@@ -1510,13 +1511,73 @@ void SdrTextObj::ImpSetupDrawOutlinerFor
+@@ -1414,13 +1416,73 @@ void SdrTextObj::ImpSetupDrawOutlinerForPaint( FASTBOOL 		bContourFrame,
      if (!bContourFrame)
      {
          // FitToSize erstmal nicht mit ContourFrame
@@ -823,8 +908,8 @@
  }
  
  void SdrTextObj::SetupOutlinerFormatting( SdrOutliner& rOutl, Rectangle& rPaintRect ) const
-@@ -2114,6 +2175,17 @@ bool SdrTextObj::IsTextAnimationAllowed(
- 	return mbTextAnimationAllowed;
+@@ -2018,6 +2080,17 @@ bool SdrTextObj::IsTextAnimationAllowed() const
+     return mbTextAnimationAllowed;
  }
  
 +FASTBOOL SdrTextObj::IsAutoFit() const
@@ -840,19 +925,19 @@
 +
  void SdrTextObj::SetTextAnimationAllowed(sal_Bool bNew)
  {
- 	if(mbTextAnimationAllowed != bNew)
-@@ -2131,13 +2203,21 @@ void SdrTextObj::onEditOutlinerStatusEve
- 	const bool bGrowY=(nStat & EE_STAT_TEXTHEIGHTCHANGED) !=0;
+     if(mbTextAnimationAllowed != bNew)
+@@ -2035,13 +2108,21 @@ void SdrTextObj::onEditOutlinerStatusEvent( EditStatus* pEditStatus )
+     const bool bGrowY=(nStat & EE_STAT_TEXTHEIGHTCHANGED) !=0;
      if(bTextFrame && (bGrowX || bGrowY))
- 	{
+     {
 -		const bool bAutoGrowHgt= bTextFrame && IsAutoGrowHeight();
 -		const bool bAutoGrowWdt= bTextFrame && IsAutoGrowWidth();
 -
 -	    if ((bGrowX && bAutoGrowWdt) || (bGrowY && bAutoGrowHgt))
 +	    if ((bGrowX && IsAutoGrowWidth()) || (bGrowY && IsAutoGrowHeight()))
- 		{
- 			AdjustTextFrameWidthAndHeight();
- 		}
+         {
+             AdjustTextFrameWidthAndHeight();
+         }
 +        else if (IsAutoFit() && !mbInDownScale)
 +        {
 +            OSL_ASSERT(pEdtOutl);
@@ -864,17 +949,17 @@
 +            ImpAutoFitText(*pEdtOutl);
 +            mbInDownScale = sal_False;
 +        }
- 	}
+     }
  }
  
+diff --git svx/source/svdraw/svdotextdecomposition.cxx svx/source/svdraw/svdotextdecomposition.cxx
+index de1f8dd..7142351 100644
 --- svx/source/svdraw/svdotextdecomposition.cxx
 +++ svx/source/svdraw/svdotextdecomposition.cxx
-@@ -956,6 +956,137 @@ bool SdrTextObj::impDecomposeStretchText
-     rOutliner.setVisualizedPage(0);
- 
+@@ -765,6 +765,140 @@ void SdrTextObj::impDecomposeContourTextPrimitive(
      rTarget = aConverter.getPrimitive2DSequence();
-+}
-+
+ }
+ 
 +void SdrTextObj::impDecomposeAutoFitTextPrimitive(
 +	drawinglayer::primitive2d::Primitive2DSequence& rTarget, 
 +	const drawinglayer::primitive2d::SdrAutoFitTextPrimitive2D& rSdrAutofitTextPrimitive,
@@ -932,6 +1017,9 @@
 +    rOutliner.SetText(*pOutlinerParaObject);
 +    ImpAutoFitText(rOutliner,aAnchorTextSize,bVerticalWritintg);
 +
++    // set visualizing page at Outliner; needed e.g. for PageNumberField decomposition
++    rOutliner.setVisualizedPage(GetSdrPageFromXDrawPage(aViewInformation.getVisualizedPage()));
++
 +	// now get back the layouted text size from outliner
 +	const Size aOutlinerTextSiz(rOutliner.GetPaperSize());
 +	const basegfx::B2DVector aOutlinerScale(aOutlinerTextSiz.Width(), aOutlinerTextSiz.Height());
@@ -1004,137 +1092,133 @@
 +    rOutliner.SetControlWord(nOriginalControlWord);
 +
 +	rTarget = aConverter.getPrimitive2DSequence();
- }
- 
++}
++
  void SdrTextObj::impDecomposeBlockTextPrimitive(
---- svx/source/svdraw/svdotxat.cxx.old	2009-04-02 11:03:00.000000000 +0000
-+++ svx/source/svdraw/svdotxat.cxx	2009-04-06 16:42:18.000000000 +0000
-@@ -82,8 +82,7 @@ FASTBOOL SdrTextObj::AdjustTextFrameWidt
+     drawinglayer::primitive2d::Primitive2DSequence& rTarget,
+     const drawinglayer::primitive2d::SdrBlockTextPrimitive2D& rSdrBlockTextPrimitive,
+diff --git svx/source/svdraw/svdotxat.cxx svx/source/svdraw/svdotxat.cxx
+index c7c9b5f..b5f48d7 100644
+--- svx/source/svdraw/svdotxat.cxx
++++ svx/source/svdraw/svdotxat.cxx
+@@ -82,8 +82,7 @@ FASTBOOL SdrTextObj::AdjustTextFrameWidthAndHeight(Rectangle& rR, FASTBOOL bHgt,
  {
- 	if (bTextFrame && pModel!=NULL && !rR.IsEmpty())
- 	{
+     if (bTextFrame && pModel!=NULL && !rR.IsEmpty())
+     {
 -		SdrFitToSizeType eFit=GetFitToSize();
 -		FASTBOOL bFitToSize=(eFit==SDRTEXTFIT_PROPORTIONAL || eFit==SDRTEXTFIT_ALLLINES);
 +        FASTBOOL bFitToSize(IsFitToSize());
- 		FASTBOOL bWdtGrow=bWdt && IsAutoGrowWidth();
- 		FASTBOOL bHgtGrow=bHgt && IsAutoGrowHeight();
- 		SdrTextAniKind eAniKind=GetTextAniKind();
---- svx/source/svdraw/svdotxed.cxx.old	2009-04-02 11:03:00.000000000 +0000
-+++ svx/source/svdraw/svdotxed.cxx	2009-04-06 16:42:18.000000000 +0000
-@@ -76,15 +76,17 @@ sal_Bool SdrTextObj::BegTextEdit(SdrOutl
- 	rOutl.Init( nOutlinerMode );
- 	rOutl.SetRefDevice( pModel->GetRefDevice() );
+         FASTBOOL bWdtGrow=bWdt && IsAutoGrowWidth();
+         FASTBOOL bHgtGrow=bHgt && IsAutoGrowHeight();
+         SdrTextAniKind eAniKind=GetTextAniKind();
+diff --git svx/source/svdraw/svdotxed.cxx svx/source/svdraw/svdotxed.cxx
+index edae0f8..ac9eb40 100644
+--- svx/source/svdraw/svdotxed.cxx
++++ svx/source/svdraw/svdotxed.cxx
+@@ -76,15 +76,17 @@ sal_Bool SdrTextObj::BegTextEdit(SdrOutliner& rOutl)
+     rOutl.Init( nOutlinerMode );
+     rOutl.SetRefDevice( pModel->GetRefDevice() );
  
 -	SdrFitToSizeType eFit=GetFitToSize();
 -	FASTBOOL bFitToSize=(eFit==SDRTEXTFIT_PROPORTIONAL || eFit==SDRTEXTFIT_ALLLINES);
 +    FASTBOOL bFitToSize(IsFitToSize());
- 	FASTBOOL bContourFrame=IsContourTextFrame();
- 	ImpSetTextEditParams();
+     FASTBOOL bContourFrame=IsContourTextFrame();
+     ImpSetTextEditParams();
  
- 	if (!bContourFrame) {
- 		ULONG nStat=rOutl.GetControlWord();
- 		nStat|=EE_CNTRL_AUTOPAGESIZE;
+     if (!bContourFrame) {
+         ULONG nStat=rOutl.GetControlWord();
+         nStat|=EE_CNTRL_AUTOPAGESIZE;
 -		if (bFitToSize) nStat|=EE_CNTRL_STRETCHING; else nStat&=~EE_CNTRL_STRETCHING;
 +		if (bFitToSize || IsAutoFit()) 
 +            nStat|=EE_CNTRL_STRETCHING; 
 +        else 
 +            nStat&=~EE_CNTRL_STRETCHING;
- 		rOutl.SetControlWord(nStat);
- 	}
+         rOutl.SetControlWord(nStat);
+     }
  
-@@ -122,8 +124,12 @@ sal_Bool SdrTextObj::BegTextEdit(SdrOutl
- 		TakeTextRect(rOutl, aTextRect, FALSE, 
- 			&aAnchorRect/* #97097# give TRUE here, not FALSE */);
- 		Fraction aFitXKorreg(1,1);
+@@ -122,7 +124,11 @@ sal_Bool SdrTextObj::BegTextEdit(SdrOutliner& rOutl)
+         TakeTextRect(rOutl, aTextRect, FALSE, 
+             &aAnchorRect/* #97097# give TRUE here, not FALSE */);
+         Fraction aFitXKorreg(1,1);
 -		ImpSetCharStretching(rOutl,aTextRect,aAnchorRect,aFitXKorreg);
 +		ImpSetCharStretching(rOutl,aTextRect.GetSize(),aAnchorRect.GetSize(),aFitXKorreg);
- 	}
++    }
 +    else if (IsAutoFit())
 +    {
 +        ImpAutoFitText(rOutl);
-+    }
+     }
  
- 	if(pOutlinerParaObject)
- 	{
-@@ -149,8 +155,7 @@ sal_Bool SdrTextObj::BegTextEdit(SdrOutl
+     if(pOutlinerParaObject)
+@@ -149,8 +155,7 @@ sal_Bool SdrTextObj::BegTextEdit(SdrOutliner& rOutl)
  
  void SdrTextObj::TakeTextEditArea(Size* pPaperMin, Size* pPaperMax, Rectangle* pViewInit, Rectangle* pViewMin) const
  {
 -	SdrFitToSizeType eFit=GetFitToSize();
 -	FASTBOOL bFitToSize=(eFit==SDRTEXTFIT_PROPORTIONAL || eFit==SDRTEXTFIT_ALLLINES);
 +    FASTBOOL bFitToSize(IsFitToSize());
- 	Size aPaperMin,aPaperMax;
- 	Rectangle aViewInit;
- 	TakeTextAnchorRect(aViewInit);
---- svx/source/svdraw/svdotxtr.cxx.old	2009-04-02 11:03:00.000000000 +0000
-+++ svx/source/svdraw/svdotxtr.cxx	2009-04-06 16:42:18.000000000 +0000
-@@ -83,9 +83,6 @@ void SdrTextObj::NbcSetSnapRect(const Re
- 		if (bTextFrame && (pModel==NULL || !pModel->IsPasteResize())) { // #51139#
- 			if (nTWdt0!=nTWdt1 && IsAutoGrowWidth() ) NbcSetMinTextFrameWidth(nTWdt1);
- 			if (nTHgt0!=nTHgt1 && IsAutoGrowHeight()) NbcSetMinTextFrameHeight(nTHgt1);
+     Size aPaperMin,aPaperMax;
+     Rectangle aViewInit;
+     TakeTextAnchorRect(aViewInit);
+diff --git svx/source/svdraw/svdotxtr.cxx svx/source/svdraw/svdotxtr.cxx
+index 2dbd2f3..e2bd85b 100644
+--- svx/source/svdraw/svdotxtr.cxx
++++ svx/source/svdraw/svdotxtr.cxx
+@@ -87,9 +87,6 @@ void SdrTextObj::NbcSetSnapRect(const Rectangle& rRect)
+         if (bTextFrame && (pModel==NULL || !pModel->IsPasteResize())) { // #51139#
+             if (nTWdt0!=nTWdt1 && IsAutoGrowWidth() ) NbcSetMinTextFrameWidth(nTWdt1);
+             if (nTHgt0!=nTHgt1 && IsAutoGrowHeight()) NbcSetMinTextFrameHeight(nTHgt1);
 -			if (GetFitToSize()==SDRTEXTFIT_RESIZEATTR) {
 -				NbcResizeTextAttributes(Fraction(nTWdt1,nTWdt0),Fraction(nTHgt1,nTHgt0));
 -			}
- 			NbcAdjustTextFrameWidthAndHeight();
- 		}
- 		ImpCheckShear();
-@@ -111,9 +108,6 @@ void SdrTextObj::NbcSetLogicRect(const R
- 	if (bTextFrame) {
- 		if (nTWdt0!=nTWdt1 && IsAutoGrowWidth() ) NbcSetMinTextFrameWidth(nTWdt1);
- 		if (nTHgt0!=nTHgt1 && IsAutoGrowHeight()) NbcSetMinTextFrameHeight(nTHgt1);
+             NbcAdjustTextFrameWidthAndHeight();
+         }
+         ImpCheckShear();
+@@ -115,9 +112,6 @@ void SdrTextObj::NbcSetLogicRect(const Rectangle& rRect)
+     if (bTextFrame) {
+         if (nTWdt0!=nTWdt1 && IsAutoGrowWidth() ) NbcSetMinTextFrameWidth(nTWdt1);
+         if (nTHgt0!=nTHgt1 && IsAutoGrowHeight()) NbcSetMinTextFrameHeight(nTHgt1);
 -		if (GetFitToSize()==SDRTEXTFIT_RESIZEATTR) {
 -			NbcResizeTextAttributes(Fraction(nTWdt1,nTWdt0),Fraction(nTHgt1,nTHgt0));
 -		}
- 		NbcAdjustTextFrameWidthAndHeight();
- 	}
- 	SetRectsDirty();
-@@ -227,9 +221,6 @@ void SdrTextObj::NbcResize(const Point&
- 	if (bTextFrame && (pModel==NULL || !pModel->IsPasteResize())) { // #51139#
- 		if (nTWdt0!=nTWdt1 && IsAutoGrowWidth() ) NbcSetMinTextFrameWidth(nTWdt1);
- 		if (nTHgt0!=nTHgt1 && IsAutoGrowHeight()) NbcSetMinTextFrameHeight(nTHgt1);
+         NbcAdjustTextFrameWidthAndHeight();
+     }
+     SetRectsDirty();
+@@ -231,9 +225,6 @@ void SdrTextObj::NbcResize(const Point& rRef, const Fraction& xFact, const Fract
+     if (bTextFrame && (pModel==NULL || !pModel->IsPasteResize())) { // #51139#
+         if (nTWdt0!=nTWdt1 && IsAutoGrowWidth() ) NbcSetMinTextFrameWidth(nTWdt1);
+         if (nTHgt0!=nTHgt1 && IsAutoGrowHeight()) NbcSetMinTextFrameHeight(nTHgt1);
 -		if (GetFitToSize()==SDRTEXTFIT_RESIZEATTR) {
 -			NbcResizeTextAttributes(Fraction(nTWdt1,nTWdt0),Fraction(nTHgt1,nTHgt0));
 -		}
- 		NbcAdjustTextFrameWidthAndHeight();
- 	}
- 	ImpCheckShear();
-# FIXME: 2009-08-14: No such file any longer, in fact no
-# ImpTextPortionHandler class any longer. --tml
-#
-# --- svx/source/svdraw/svdtxhdl.cxx.old	2009-04-02 11:03:00.000000000 +0000
-# +++ svx/source/svdraw/svdtxhdl.cxx	2009-04-06 16:42:18.000000000 +0000
-# @@ -85,8 +85,7 @@ void ImpTextPortionHandler::ConvertToPat
-#  
-#  	Rectangle aAnchorRect;
-#  	Rectangle aTextRect;
-# -	SdrFitToSizeType eFit=rTextObj.GetFitToSize();
-# -	FASTBOOL bFitToSize=(eFit==SDRTEXTFIT_PROPORTIONAL || eFit==SDRTEXTFIT_ALLLINES);
-# +    FASTBOOL bFitToSize(rTextObj.IsFitToSize());
-#  	// Bei TakeTextRect wird u.a. auch der Text in
-#  	// den Outliner gesteckt
-#  	rTextObj.TakeTextRect(rOutliner,aTextRect,FALSE,&aAnchorRect);
---- svx/source/svdraw/svdview.cxx.old	2009-04-02 11:03:00.000000000 +0000
-+++ svx/source/svdraw/svdview.cxx	2009-04-06 16:42:18.000000000 +0000
-@@ -504,8 +504,7 @@ SdrHitKind SdrView::PickAnything(const P
- 				Point aTemporaryTextRelativePosition(aLocalLogicPosition - aTextRect.TopLeft());
- 				
- 				// FitToSize berueksichtigen
+         NbcAdjustTextFrameWidthAndHeight();
+     }
+     ImpCheckShear();
+diff --git svx/source/svdraw/svdview.cxx svx/source/svdraw/svdview.cxx
+index d8e34e9..0005489 100644
+--- svx/source/svdraw/svdview.cxx
++++ svx/source/svdraw/svdview.cxx
+@@ -505,8 +505,7 @@ SdrHitKind SdrView::PickAnything(const Point& rLogicPos, SdrViewEvent& rVEvt) co
+                 Point aTemporaryTextRelativePosition(aLocalLogicPosition - aTextRect.TopLeft());
+                 
+                 // FitToSize berueksichtigen
 -				SdrFitToSizeType eFit=pTextObj->GetFitToSize();
 -				BOOL bFitToSize=(eFit==SDRTEXTFIT_PROPORTIONAL || eFit==SDRTEXTFIT_ALLLINES);
 +                BOOL bFitToSize(pTextObj->IsFitToSize());
- 				if (bFitToSize) {
- 					Fraction aX(aTextRect.GetWidth()-1,aAnchor.GetWidth()-1);
- 					Fraction aY(aTextRect.GetHeight()-1,aAnchor.GetHeight()-1);
---- xmloff/source/draw/sdpropls.cxx.old	2009-04-02 10:36:08.000000000 +0000
-+++ xmloff/source/draw/sdpropls.cxx	2009-04-06 16:42:18.000000000 +0000
-@@ -627,8 +627,8 @@ SvXMLEnumMapEntry __READONLY_DATA pXML_F
+                 if (bFitToSize) {
+                     Fraction aX(aTextRect.GetWidth()-1,aAnchor.GetWidth()-1);
+                     Fraction aY(aTextRect.GetHeight()-1,aAnchor.GetHeight()-1);
+diff --git xmloff/source/draw/sdpropls.cxx xmloff/source/draw/sdpropls.cxx
+index df652fd..0a92168 100644
+--- xmloff/source/draw/sdpropls.cxx
++++ xmloff/source/draw/sdpropls.cxx
+@@ -627,8 +627,8 @@ SvXMLEnumMapEntry __READONLY_DATA pXML_FitToSize_Enum[] =
  {
- 	{ XML_FALSE,		drawing::TextFitToSizeType_NONE },
- 	{ XML_TRUE, 		drawing::TextFitToSizeType_PROPORTIONAL },
+     { XML_FALSE,		drawing::TextFitToSizeType_NONE },
+     { XML_TRUE, 		drawing::TextFitToSizeType_PROPORTIONAL },
 -	{ XML_TRUE,	    	drawing::TextFitToSizeType_ALLLINES },
 -	{ XML_TRUE,		    drawing::TextFitToSizeType_RESIZEATTR },
 +	{ XML_ALL,	    	drawing::TextFitToSizeType_ALLLINES },
 +	{ XML_SHRINK_TO_FIT,drawing::TextFitToSizeType_AUTOFIT },
- 	{ XML_TOKEN_INVALID, 0 }
+     { XML_TOKEN_INVALID, 0 }
  };
  


More information about the ooo-build-commit mailing list