diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2018-08-04 10:37:17 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2018-08-04 20:51:27 +0200 |
commit | 8c48d69f06ddb3cb6c807a1e7db62dddb9778ded (patch) | |
tree | 8b6bf137be41ebe93746c4958ab9106bbf5cc339 /drawinglayer | |
parent | c05fbde6c870b7e6bc2f9bf642dc7d76215a496f (diff) |
Use more basegfx deg<->rad functions, instead of direct formulas
Also make the functions constexpr.
Due to slight changes in floating-point arithmetics (90.0 instead of
180.0, M_PI2 instead of M_PI resp.), results might differ in last
digits (usually 17th decimal digit). This has lead to need to tweak
char2dump's PieChartTest unit test.
Change-Id: I20323dd7dab27e4deb408ea4181e390cc05e7cd3
Reviewed-on: https://gerrit.libreoffice.org/58583
Tested-by: Jenkins
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'drawinglayer')
4 files changed, 7 insertions, 7 deletions
diff --git a/drawinglayer/source/attribute/lineattribute.cxx b/drawinglayer/source/attribute/lineattribute.cxx index 583f1a1adfba..8aee1dab9427 100644 --- a/drawinglayer/source/attribute/lineattribute.cxx +++ b/drawinglayer/source/attribute/lineattribute.cxx @@ -55,7 +55,7 @@ namespace drawinglayer mfWidth(0.0), meLineJoin(basegfx::B2DLineJoin::Round), meLineCap(css::drawing::LineCap_BUTT), - mfMiterMinimumAngle(15.0 * F_PI180) + mfMiterMinimumAngle(basegfx::deg2rad(15.0)) { } diff --git a/drawinglayer/source/primitive2d/polygonprimitive2d.cxx b/drawinglayer/source/primitive2d/polygonprimitive2d.cxx index 28bd5f2fe714..e296f397e01b 100644 --- a/drawinglayer/source/primitive2d/polygonprimitive2d.cxx +++ b/drawinglayer/source/primitive2d/polygonprimitive2d.cxx @@ -253,7 +253,7 @@ namespace drawinglayer fHalfLineWidth, aLineJoin, aLineCap, - 12.5 * F_PI180 /* default fMaxAllowedAngle*/ , + basegfx::deg2rad(12.5) /* default fMaxAllowedAngle*/ , 0.4 /* default fMaxPartOfEdge*/ , fMiterMinimumAngle)); } diff --git a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx index 80db8e37c861..87c688d64082 100644 --- a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx @@ -466,7 +466,7 @@ namespace drawinglayer { eJoin = SvtGraphicStroke::joinMiter; // ATM 15 degrees is assumed - fMiterLength /= rtl::math::sin(M_PI * (15.0 / 360.0)); + fMiterLength /= rtl::math::sin(basegfx::deg2rad(15.0)); break; } case basegfx::B2DLineJoin::Round : diff --git a/drawinglayer/source/tools/emfphelperdata.cxx b/drawinglayer/source/tools/emfphelperdata.cxx index 79b48c8bdf9b..ebbcc2f3f5a7 100644 --- a/drawinglayer/source/tools/emfphelperdata.cxx +++ b/drawinglayer/source/tools/emfphelperdata.cxx @@ -966,8 +966,8 @@ namespace emfplushelper float dx, dy, dw, dh; ReadRectangle(rMS, dx, dy, dw, dh, bool(flags & 0x4000)); SAL_INFO("drawinglayer", "EMF+\t RectData: " << dx << "," << dy << " " << dw << "x" << dh); - startAngle = 2 * M_PI*startAngle / 360; - sweepAngle = 2 * M_PI*sweepAngle / 360; + startAngle = basegfx::deg2rad(startAngle); + sweepAngle = basegfx::deg2rad(sweepAngle); ::basegfx::B2DPoint mappedCenter(Map(dx + dw / 2, dy + dh / 2)); ::basegfx::B2DSize mappedSize(MapSize(dw / 2, dh / 2)); float endAngle = startAngle + sweepAngle; @@ -991,7 +991,7 @@ namespace emfplushelper } SAL_INFO("drawinglayer", "EMF+\t adjusted angles: start " << - (360.0*startAngle / M_PI) << ", end: " << (360.0*endAngle / M_PI) << + basegfx::rad2deg(startAngle) << ", end: " << basegfx::rad2deg(endAngle) << " startAngle: " << startAngle << " sweepAngle: " << sweepAngle); ::basegfx::B2DPolygon polygon = basegfx::utils::createPolygonFromEllipseSegment( @@ -1619,7 +1619,7 @@ namespace emfplushelper ", post multiply: " << (flags & 0x2000)); // Skipping flags & 0x2000 // For rotation transformation there is no difference between post and pre multiply - maWorldTransform.rotate(eAngle * F_PI180); + maWorldTransform.rotate(basegfx::deg2rad(eAngle)); mappingChanged(); SAL_INFO("drawinglayer", |