summaryrefslogtreecommitdiff
path: root/chart2/source
diff options
context:
space:
mode:
Diffstat (limited to 'chart2/source')
-rw-r--r--chart2/source/view/charttypes/PieChart.cxx25
1 files changed, 10 insertions, 15 deletions
diff --git a/chart2/source/view/charttypes/PieChart.cxx b/chart2/source/view/charttypes/PieChart.cxx
index 7bf2eaa2a89b..3b61cb9c46e3 100644
--- a/chart2/source/view/charttypes/PieChart.cxx
+++ b/chart2/source/view/charttypes/PieChart.cxx
@@ -386,14 +386,14 @@ void PieChart::createTextLabelShape(
// set the maximum text width to be used when text wrapping is enabled
double fTextMaximumFrameWidth = 0.8 * fPieRadius;
- if( nLabelPlacement == css::chart::DataLabelPlacement::OUTSIDE && m_aAvailableOuterRect.getWidth() )
+ if (nLabelPlacement == css::chart::DataLabelPlacement::OUTSIDE
+ && m_aAvailableOuterRect.getWidth())
{
- if (fAngleDegree < 67.5 || fAngleDegree >= 292.5)
- fTextMaximumFrameWidth = m_aAvailableOuterRect.getMaxX() - aPieLabelInfo.aFirstPosition.getX();
- else if (fAngleDegree < 112.5 || fAngleDegree >= 247.5)
- fTextMaximumFrameWidth = m_aAvailableOuterRect.getWidth();
+ if ((fAngleDegree >= 67.5 && fAngleDegree <= 112.5)
+ || (fAngleDegree >= 247.5 && fAngleDegree <= 292.5))
+ fTextMaximumFrameWidth = m_aAvailableOuterRect.getWidth() / 3.0;
else
- fTextMaximumFrameWidth = aPieLabelInfo.aFirstPosition.getX() - m_aAvailableOuterRect.getMinX();
+ fTextMaximumFrameWidth = 0.85 * (m_aAvailableOuterRect.getWidth() / 2.0 - fPieRadius);
}
sal_Int32 nTextMaximumFrameWidth = ceil(fTextMaximumFrameWidth);
@@ -424,17 +424,12 @@ void PieChart::createTextLabelShape(
{
if (m_aAvailableOuterRect.getWidth())
{
- if (fAngleDegree < 67.5 || fAngleDegree >= 292.5)
- fTextMaximumFrameWidth
- = 0.8
- * (m_aAvailableOuterRect.getMaxX() - aPieLabelInfo.aFirstPosition.getX());
- else if (fAngleDegree < 112.5 || fAngleDegree >= 247.5)
- fTextMaximumFrameWidth = 0.8 * m_aAvailableOuterRect.getWidth();
+ if ((fAngleDegree >= 67.5 && fAngleDegree <= 112.5)
+ || (fAngleDegree >= 247.5 && fAngleDegree <= 292.5))
+ fTextMaximumFrameWidth = m_aAvailableOuterRect.getWidth() / 3.0;
else
fTextMaximumFrameWidth
- = 0.8
- * (aPieLabelInfo.aFirstPosition.getX() - m_aAvailableOuterRect.getMinX());
-
+ = 0.85 * (m_aAvailableOuterRect.getWidth() / 2.0 - fPieRadius);
nTextMaximumFrameWidth = ceil(fTextMaximumFrameWidth);
}