summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chart2/source/view/axes/VCartesianAxis.cxx15
-rw-r--r--sw/qa/extras/layout/data/tdf108021.odtbin14326 -> 14663 bytes
-rw-r--r--sw/qa/extras/layout/layout.cxx2
3 files changed, 16 insertions, 1 deletions
diff --git a/chart2/source/view/axes/VCartesianAxis.cxx b/chart2/source/view/axes/VCartesianAxis.cxx
index 42b767ae42a9..e058101524df 100644
--- a/chart2/source/view/axes/VCartesianAxis.cxx
+++ b/chart2/source/view/axes/VCartesianAxis.cxx
@@ -727,6 +727,21 @@ bool VCartesianAxis::createTextShapes(
nReduce = 1;
nLimitedSpaceForText -= nReduce;
}
+
+ // recalculate the nLimitedSpaceForText in case of 90 and 270 degree if the text break is true
+ if ( rAxisLabelProperties.fRotationAngleDegree == 90.0 || rAxisLabelProperties.fRotationAngleDegree == 270.0 )
+ {
+ if ( rAxisLabelProperties.m_aFontReferenceSize.Height - rAxisLabelProperties.m_aMaximumSpaceForLabels.Height > 2 * rAxisLabelProperties.m_aMaximumSpaceForLabels.Y )
+ {
+ const sal_Int32 nFullHeight = rAxisLabelProperties.m_aFontReferenceSize.Height;
+ sal_Int32 nMaxLabelsHeight = nFullHeight - ( rAxisLabelProperties.m_aMaximumSpaceForLabels.Height + rAxisLabelProperties.m_aMaximumSpaceForLabels.Y );
+ nLimitedSpaceForText = nMaxLabelsHeight;
+ }
+ else
+ {
+ nLimitedSpaceForText = -1;
+ }
+ }
}
// Stores an array of text label strings in case of a normal
diff --git a/sw/qa/extras/layout/data/tdf108021.odt b/sw/qa/extras/layout/data/tdf108021.odt
index 39ef6df80d2f..a81fe9c9a40d 100644
--- a/sw/qa/extras/layout/data/tdf108021.odt
+++ b/sw/qa/extras/layout/data/tdf108021.odt
Binary files differ
diff --git a/sw/qa/extras/layout/layout.cxx b/sw/qa/extras/layout/layout.cxx
index 79b55c80f191..99ca36673c71 100644
--- a/sw/qa/extras/layout/layout.cxx
+++ b/sw/qa/extras/layout/layout.cxx
@@ -2391,7 +2391,7 @@ void SwLayoutWriter::testTdf108021()
assertXPath(
pXmlDoc,
- "/metafile/push[1]/push[1]/push[1]/push[3]/push[1]/push[1]/push[1]/textarray[@length='17']",
+ "/metafile/push[1]/push[1]/push[1]/push[3]/push[1]/push[1]/push[1]/textarray[@length='22']",
8);
// This failed, if the textarray length of the first axis label not 17.
}