[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - chart2/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Mon Nov 26 10:47:35 UTC 2018
chart2/source/view/charttypes/PieChart.cxx | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
New commits:
commit 46833de245efb53874fa28685038194cc5b430aa
Author: Tamas Bunth <tamas.bunth at collabora.co.uk>
AuthorDate: Mon Nov 26 07:19:41 2018 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Mon Nov 26 11:47:13 2018 +0100
Put text label outside of the pie if..
performLabelBestFitInnerPlacement fails.
Change-Id: Ic84e8b42e02da2023b22a9406c44d462170c5305
Reviewed-on: https://gerrit.libreoffice.org/64015
Tested-by: Jenkins
Reviewed-by: Tamás Bunth <btomi96 at gmail.com>
(cherry picked from commit 3339c730f8c9a6088a2e8b335185f1bf0b232216)
Reviewed-on: https://gerrit.libreoffice.org/64034
Reviewed-by: Andras Timar <andras.timar at collabora.com>
Tested-by: Andras Timar <andras.timar at collabora.com>
diff --git a/chart2/source/view/charttypes/PieChart.cxx b/chart2/source/view/charttypes/PieChart.cxx
index 2d1ebd9fc634..ae447c733a54 100644
--- a/chart2/source/view/charttypes/PieChart.cxx
+++ b/chart2/source/view/charttypes/PieChart.cxx
@@ -1595,7 +1595,18 @@ void PieChart::performLabelBestFit(ShapeParam& rShapeParam, PieLabelInfo const &
if( !performLabelBestFitInnerPlacement(rShapeParam, rPieLabelInfo) )
{
- // TODO
+ // If it does not fit inside, let's put it outside
+ PolarLabelPositionHelper aPolarPosHelper(m_pPosHelper.get(),m_nDimension,m_xLogicTarget,m_pShapeFactory);
+ auto eAlignment = LABEL_ALIGN_CENTER;
+ awt::Point aScreenPosition2D(
+ aPolarPosHelper.getLabelScreenPositionAndAlignmentForUnitCircleValues(eAlignment, css::chart::DataLabelPlacement::OUTSIDE
+ , rShapeParam.mfUnitCircleStartAngleDegree, rShapeParam.mfUnitCircleWidthAngleDegree
+ , rShapeParam.mfUnitCircleInnerRadius, rShapeParam.mfUnitCircleOuterRadius, rShapeParam.mfLogicZ+0.5, 0 ));
+ basegfx::B2IVector aTranslationVector = rPieLabelInfo.aFirstPosition - rPieLabelInfo.aOrigin;
+ aTranslationVector.setLength(150);
+ aScreenPosition2D.X += aTranslationVector.getX();
+ aScreenPosition2D.Y += aTranslationVector.getY();
+ rPieLabelInfo.xLabelGroupShape->setPosition(aScreenPosition2D);
}
}
More information about the Libreoffice-commits
mailing list