Kaydet (Commit) ed30996f authored tarafından Michael Meeks's avatar Michael Meeks

fdo#65502 - EmfFillPie fix.

Change-Id: I395ef5f5175b9a2d758f4023605b8e2d4dce859f
üst ee1726bf
......@@ -1342,18 +1342,19 @@ namespace cppcanvas
B2DPoint mappedCenter (Map (dx + dw/2, dy + dh/2));
B2DSize mappedSize( MapSize (dw/2, dh/2));
double endAngle = startAngle + sweepAngle;
float endAngle = startAngle + sweepAngle;
startAngle = fmod (startAngle, M_PI*2);
if (startAngle < 0)
startAngle += M_PI*2;
endAngle = fmod (endAngle, M_PI*2);
if (endAngle < 0)
endAngle += M_PI*2;
endAngle = fmod (endAngle, M_PI*2);
if (sweepAngle < 0) {
double tmp = startAngle;
startAngle = endAngle;
endAngle = tmp;
}
if (sweepAngle < 0)
std::swap (endAngle, startAngle);
SAL_INFO("cppcanvas.emf", "EMF+ angles: " << startAngle << "," << sweepAngle << " ---> " << startAngle << "," << endAngle);
SAL_INFO("cppcanvas.emf", "EMF+ adjusted angles: start " <<
(360.0*startAngle/M_PI) << ", end: " << (360.0*endAngle/M_PI));
B2DPolygon polygon = tools::createPolygonFromEllipseSegment (mappedCenter, mappedSize.getX (), mappedSize.getY (), startAngle, endAngle);
polygon.append (mappedCenter);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment