summaryrefslogtreecommitdiff
path: root/drawinglayer
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2018-08-04 10:37:17 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2018-08-04 20:51:27 +0200
commit8c48d69f06ddb3cb6c807a1e7db62dddb9778ded (patch)
tree8b6bf137be41ebe93746c4958ab9106bbf5cc339 /drawinglayer
parentc05fbde6c870b7e6bc2f9bf642dc7d76215a496f (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')
-rw-r--r--drawinglayer/source/attribute/lineattribute.cxx2
-rw-r--r--drawinglayer/source/primitive2d/polygonprimitive2d.cxx2
-rw-r--r--drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx2
-rw-r--r--drawinglayer/source/tools/emfphelperdata.cxx8
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",