summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2012-12-07 21:14:50 -0500
committerKohei Yoshida <kohei.yoshida@gmail.com>2012-12-08 00:07:34 -0500
commitfc04a3a9702580902312f5e8d6f3abd52f108663 (patch)
treef0bf7e74b2a9769e1c6d0c77362007ed5d48e95d
parentba88d2330b828a3f6971b323ff99c4bf2d2420c3 (diff)
bnc#791952: Use "center" label placement for "Best fit" in pie charts.
It works better this way for Excel interoperability. In Excel, Best fit is slightly different than the center placement, but the two are pretty close in pie charts. Change-Id: I7f04a1babb04fd488d8cf90df247c294fa9d7b67
-rw-r--r--chart2/source/view/charttypes/PieChart.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/chart2/source/view/charttypes/PieChart.cxx b/chart2/source/view/charttypes/PieChart.cxx
index fff4e9872ad1..e8fc6892d89d 100644
--- a/chart2/source/view/charttypes/PieChart.cxx
+++ b/chart2/source/view/charttypes/PieChart.cxx
@@ -449,9 +449,15 @@ void PieChart::createShapes()
}
sal_Int32 nLabelPlacement = pSeries->getLabelPlacement( nPointIndex, m_xChartTypeModel, m_nDimension, m_pPosHelper->isSwapXAndY() );
+
+ // AVOID_OVERLAP is in fact "Best fit" in the UI.
bool bMovementAllowed = ( nLabelPlacement == ::com::sun::star::chart::DataLabelPlacement::AVOID_OVERLAP );
if( bMovementAllowed )
- nLabelPlacement = ::com::sun::star::chart::DataLabelPlacement::OUTSIDE;
+ // Use center for "Best fit" for now. In the future we
+ // may want to implement a real best fit algorithm.
+ // But center is good enough, and close to what Excel
+ // does.
+ nLabelPlacement = ::com::sun::star::chart::DataLabelPlacement::CENTER;
LabelAlignment eAlignment(LABEL_ALIGN_CENTER);
sal_Int32 nScreenValueOffsetInRadiusDirection = 0 ;