diff options
-rw-r--r-- | chart2/source/view/axes/VCartesianAxis.cxx | 15 | ||||
-rw-r--r-- | sw/qa/extras/layout/data/tdf108021.odt | bin | 14326 -> 14663 bytes | |||
-rw-r--r-- | sw/qa/extras/layout/layout.cxx | 2 |
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 Binary files differindex 39ef6df80d2f..a81fe9c9a40d 100644 --- a/sw/qa/extras/layout/data/tdf108021.odt +++ b/sw/qa/extras/layout/data/tdf108021.odt 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. } |