[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