X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b0d7707bc4abc8f26f5ad0c4be8baa897658c330..c944775f72435d2c0493113e05445898ab8baf1b:/src/msw/dc.cpp?ds=sidebyside diff --git a/src/msw/dc.cpp b/src/msw/dc.cpp index 56748f7518..fa9c434fb4 100644 --- a/src/msw/dc.cpp +++ b/src/msw/dc.cpp @@ -1122,6 +1122,17 @@ void wxDC::DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,d rx2 += (int)(100.0 * abs(w) * cos(ea)); ry2 -= (int)(100.0 * abs(h) * m_signY * sin(ea)); + // Swap start and end positions if the end angle is less than the start angle. + if (ea < sa) { + int temp; + temp = rx2; + rx2 = rx1; + rx1 = temp; + temp = ry2; + ry2 = ry1; + ry1 = temp; + } + // draw pie with NULL_PEN first and then outline otherwise a line is // drawn from the start and end points to the centre HPEN hpenOld = (HPEN) ::SelectObject(GetHdc(), (HPEN) ::GetStockObject(NULL_PEN));